<<nobr>>
<div class="passage-container rylan">
<<narrative "Thalor invites you for some $thalorToHuman $humanIsMariel bonding to the tavern. The atmosphere is warm and inviting, with the sounds of goblin laughter and clinking mugs filling the air.">>
<<dialog "Thalor" "face" "I thought we could use some time together," "he says, his stern expression softening slightly" "Away from all the responsibilities.">>
<<narrative "A goblin waitress approaches your table with a warm smile, her eyes lighting up when she sees you.">>
<<dialog "Goblin Waitress" "face" "Welcome, my king!" "she says with enthusiasm" "It's such an honor to serve you tonight! And your companion too, of course.">>
<<narrative "You and Thalor exchange awkward glances. The conversation feels stilted, weighed down by the tension that has existed between you for so long.">>
<<dialog "Thalor" "faceworried" "So... how have things been?" "he asks, clearly struggling to find the right words">>
<<dialog "Rylan" "face" "They've been... interesting," "you reply" "A lot has changed since we last talked properly.">>
<<narrative "Just as the silence threatens to become uncomfortable, a familiar voice calls out from a nearby table.">>
<<dialog "f95" "face" "Oh! Brown-haired warrior who defeated me before!" "he exclaims, rising from his seat" "My bones still hurt from that battle! And $humanName! What a surprise to see you both here!">>
<<narrative "Effnain approaches your table with a wide grin, clearly excited to see familiar faces.">>
<<dialog "f95" "face" "Waitress! Bring drinks for these fine warriors!" "he calls out" "The best ale you have! They deserve nothing less!">>
<<dialog "Thalor" "faceworried" "That's very kind, but we didn't come here to-" "he tries to decline">>
<<dialog "f95" "face" "Nonsense! You're both heroes!" "he interrupts" "The least I can do is buy you drinks! Besides, it's not every day I get to share a table with the goblin king and his $thalorToHuman!">>
<<narrative "Thalor looks conflicted, but Effnain's enthusiasm is infectious. The goblin waitress returns with a tray, but instead of a few drinks, she's carrying an enormous number of mugs.">>
<<dialog "Thalor" "faceshocked" "Oh, we didn't order anything..." "he says, staring at the massive collection of mugs">>
<<dialog "Goblin Waitress" "face" "It's from other customers who wanted to thank their new king!" "she explains cheerfully" "Word spread quickly that you were here, and everyone wanted to show their appreciation!">>
<<dialog "Rylan" "faceworried" "That's nice, but how could we both clear all those mugs alone?" "you ask, feeling overwhelmed by the sheer number of drinks">>
<<dialog "Goblin Waitress" "face" "Oh? And here I was sure that it should be easy for such strong men to clear those mugs." "she says with a smile" "After all, you're both men, aren't you?">>
<<narrative "You feel your pride stung by her words. The other goblins in the tavern start gathering around, their eyes filled with anticipation and excitement.">>
<<dialog "Rylan" "faceconfident" "You're right," "you say, picking up the first mug">>
<<narrative "The goblins around you start cheering and clapping, their voices rising in excitement as they watch the scene unfold.">>
<<dialog "f95" "face" "That's the spirit!" "he cheers" "Let's see what you're made of!">>
<<narrative "Thalor looks at you with a mixture of concern and reluctant admiration, then picks up his own mug with a determined expression.">>
<<dialog "Thalor" "faceconfident" "Well, if we're doing this, we're doing it properly." "he says, raising his mug" "To new beginnings, $humanName.">>
<<narrative "The tavern erupts in cheers as you both take your first drinks, the goblins chanting and encouraging you both.">>
<<narrative "Hours pass as you and Thalor work through the massive collection of mugs. The alcohol begins to take its toll, your words becoming more slurred and your inhibitions lowering with each drink.">>
<<quickRoll "Drinking Resistance" "Rylan" 70 5 "SubmissionFetish" 2>>
<<if not _tempRollSuccess>>
<<narrative "The alcohol overwhelms your resistance. Your head spinning as you lose control.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<changeAttraction "Rylan" "Thalor" 1>>
<<changeAttraction "Thalor" "Rylan" 1>>
<<changeLust "Rylan" 4>>
<<else>>
<<narrative "Despite the alcohol, you manage to maintain some control, though you're definitely feeling the effects.">>
<</if>>
<<dialog "Thalor" "facewet" "You know what, $humanName?" "he says, his voice heavily slurred" "I think we should do this more often.">>
<<dialog "Rylan" "facewet" "I'd like that," "you reply, your words slurring together" "I think we both have a lot to learn about each other.">>
<<narrative "The tavern erupts in cheers as you both finish the last of the mugs. The goblins are clearly impressed by your performance, but both of you are now thoroughly drunk, your shirts stained with spilled ale and foam.">>
<<dialog "f95" "face" "Incredible! Both of you finished every single mug!" "he exclaims" "You've earned the respect of every goblin in this tavern!">>
<<dialog "Goblin Waitress" "face" "That was amazing to watch!" "she says, then shouts excitedly" "Show us your abs! Come on, you strong warriors! Let us see those muscles!">>
<<narrative "The goblins immediately pick up the chant, their voices rising in excitement as they demand to see your bodies.">>
<<dialog "Thalor" "facewet" "What the hell," "he slurs" "Let's give them a show!">>
<<dialog "Rylan" "facewet" "Yeah!" "you agree enthusiastically">>
<<narrative "As drunk as you both are, the goblins' demands seem perfectly reasonable. You and Thalor exchange glances, then with drunken grins, you both start pulling off your stained shirts.">>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/undress.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<center><img src="images/thalor/chapter7/Tavern/femboy/thalorundress.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/undress.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<center><img src="images/thalor/chapter7/Tavern/male/thalorundress.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<narrative "You both throw your shirts into the mass of cheering goblins, who erupt in even louder cheers as they catch the garments. The tavern is filled with the sound of goblin laughter and admiration as they admire your exposed torsos.">>
<<changeFetish "Rylan" "ExhibitionismFetish" 2>>
<<changeFetish "Thalor" "ExhibitionismFetish" 2>>
<<changeLust "Rylan" 5>>
<<changeLust "Thalor" 3>>
<<changeAffection "Rylan" "Thalor" 2>>
<<changeAttraction "Rylan" "Thalor" 4>>
<<changeAffection "Thalor" "Rylan" 2>>
<<changeAttraction "Thalor" "Rylan" 4>>
<<dialog "Goblin" "face" "Now that's what I call entertainment!" "a goblin cheers" "Look at those muscles!">>
<<narrative "As it gets late, you both decide it's time to go home.">>
<<continueBox "Ch7ThalorRylanTavernNeckKiss" "Continue" "Go Home...">>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/thalor/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 3000)>>
<<narrative "Suddenly, the tension becomes unbearable. You both feel that familiar tightening low in your bellies, that coil of pleasure ready to snap. Your bodies are trembling, slick with sweat from the desperate grinding.">>
<<thought "Thalor" "facewet" "I can feel the build-up... I'm about to lose control completely...">>
<<thought "Rylan" "facewet" "We're both so hard... I can feel his cock pulsing against mine through our soaked clothes... This feels incredible. I think we're both about to...">>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/15.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/15.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<narrative "The moment arrives - that sharp, overwhelming peak that makes your vision blur. You can't hold back any longer.">>
<<thought "Thalor" "facewet" "Oh gods... I'm cumming! I'm cumming hard... Fuck... this feels so good...">>
<<thought "Rylan" "facewet" "I'm going to cum... I'm going to fucking cum from grinding with $humanToThalor... Liora, I'm sorry... but I need this...">>
<<narrative "You both climax together, your bodies convulsing violently against each other. Thalor's cock erupts first, hot ropes of cum soaking through his pants, his body shuddering against yours. The sight and feel of him losing control triggers your own release instantly.">>
<<thought "Thalor" "facewet" "So much... I'm cumming so hard... I haven't felt this good in years...">>
<<thought "Rylan" "facewet" "Oh fuck! I'm cumming! I can feel him cumming against me and it's making me lose my mind!">>
<<narrative "Your own orgasm crashes over you like a tidal wave. Cum bursts from your cock, soaking through your clothes, mixing with Thalor's on both your pants. Your body shakes uncontrollably as wave after wave of pleasure wracks through you.">>
<<thought "Thalor" "facewet" "He's cumming too... Fuck, I can feel him twitching and shuddering... We came together...">>
<<thought "Rylan" "facewet" "I can't believe I just came from $humanToThalor... This is so wrong... but it felt so fucking good...">>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/orgasm.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/orgasm.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<narrative "You both ride out the orgasm together, your bodies fused together as wave after wave of pleasure crashes through you. Your cocks continue to pulse and twitch, still hard even after cumming, spilling more sticky warmth between your pressed bodies.">>
<<thought "Thalor" "facewet" "I'm still twitching... Still cumming... My cock won't stop... I've never cum this hard before...">>
<<thought "Rylan" "facewet" "My entire body is shaking... Every nerve is firing... I can feel his cum mixing with mine on our stomachs... Holy fuck...">>
<<narrative "The orgasm finally begins to subside after what feels like forever. Your bodies are slick with sweat and cum, your clothes soaked through. You're both breathing like you've been running for miles, your chests heaving against each other.">>
<<thought "Thalor" "faceworried" "What did we just do? Both of us came... together... I should be disgusted but I want more...">>
<<thought "Rylan" "faceembarrassed" "We actually did this... We both came together like this... On the street where anyone could have seen us... I should feel shame but I just feel... more need.">>
<<narrative "Slowly, reluctantly, you both pull back slightly. The street around you is silent, dark, giving you privacy for your moment of madness. Your breathing is still ragged, your faces flushed. You can feel the wet, sticky evidence of what just happened soaking through your clothes. The air between you is thick with the smell of sex and sweat and shame.">>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/3.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/3.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<dialog "Thalor" "faceworried" "I... I don't know what came over me..." "he says, his voice trembling slightly" "The alcohol and... I guess we just got carried away. Went a bit too far with the skinship.">>
<<dialog "Rylan" "faceembarrassed" "Yeah, we did..." "you reply, your voice still shaky" "It just... It happened. Emotions running high and all that.">>
<<thought "Thalor" "faceworried" "We're both downplaying it... But I don't regret it entirely. And I think he doesn't either...">>
<<dialog "Thalor" "face" "Look, despite all that... I did have fun, you know?" "he says awkwardly" "The drinking, I mean. Before things got... out of hand.">>
<<thought "Rylan" "faceembarrassed" "He's trying to salvage the evening... And honestly, the drinking part was actually nice. Spending time with him like that... I could do that again.">>
<<dialog "Rylan" "faceembarrassed" "Yeah, me too..." "you say" "Maybe we should do the drinking part again sometime? Just... keep things from getting quite so carried away.">>
<<thought "Thalor" "face" "He wants to spend time with me again... Just casual, drinking. That's... actually really nice.">>
<<dialog "Thalor" "face" "I'd like that." "he says with a small, relieved smile" "Same time next week? We can... try to keep things more normal.">>
<<dialog "Rylan" "faceembarrassed" "Sounds good." "you say, feeling a strange sense of relief and excitement" "Though I have to say, weird as it was... it wasn't all bad.">>
<<thought "Thalor" "faceworried" "Not all bad... He's right. It was... unexpected. But not entirely unpleasant.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "MuscleFetish" 0.3>>
<<changeFetish "Rylan" "GayValue" 1>>
<<changeFetish "Thalor" "GayValue" 0.8>>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<changeFetish "Thalor" "DominanceFetish" 0.4>>
<<changeLust "Rylan" -30>>
<<changeLust "Thalor" -30>>
<<changeAffection "Rylan" "Thalor" 3>>
<<changeAffection "Thalor" "Rylan" 3>>
<<changeAttraction "Rylan" "Thalor" 1.5>>
<<changeAttraction "Thalor" "Rylan" 1.2>>
<<quickSexTrack "kiss" "Rylan" "Thalor" 1>>
<<quickSexTrack "kiss" "Thalor" "Rylan" 1>>
<<quickSexTrack "orgasm" "Rylan" "Thalor" 1>>
<<quickSexTrack "orgasm" "Thalor" "Rylan" 1>>
<<set $thalorRylanTavernKissSeen = true>>
<<set $thalorRylanFirstKiss = true>>
<<set $rylanThalorGayEncounter = true>>
<<thought "Rylan" "faceembarrassed" "What just happened... Could I be developing feelings for $humanToThalor? This changes everything. Liora... I'm sorry Liora...">>
<<thought "Thalor" "faceworried" "I haven't felt this alive in years... But what does this mean? What about Mariel? What am I becoming?">>
<<if not $thalorRylanTavernCumLoveChoice>>
<<set $thalorRylanTavernCumLoveChoice = true>>
<<choiceBox "How do you feel about what just happened?" "Yes, I might have feelings" "Ch7ThalorRylanTavernLove" "Ch7ThalorRylanTavernCum=love" "No, this was a mistake" "Ch7ThalorRylanTavernMistake" "Ch7ThalorRylanTavernCum=mistake">>
<<else>>
<<if $timeOfDay === "evening" or $timeOfDay === "night">>
<<continueBox "NightActivitiesEnd" "Continue" "Return Home...">>
<<else>>
<<continueBox "MorningActivityChoicesNext" "Continue" "Return Home...">>
<</if>>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "thalorhscene.mp3">><<nobr>>
<div class="passage-container rylan">
<<playLoopingSounds "sounds/hsounds/thalor/moansoft.mp3" "sounds/hsounds/kiss.wav" 1>>
<<narrative "Then their lips touch, both opening their eyes again in surprise at the electric shock that passes between them.">>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/4a.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/4a.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<narrative "Thalor doesn't pull away. Instead, he presses deeper, his lips soft but firm against yours. The alcohol makes everything feel heightened, every sensation amplified.">>
<<thought "Thalor" "faceworried" "What am I doing? He's my $humanIsMariel... This can't be right. But his lips feel incredible against mine...">>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/5.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/5.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<narrative "The fog of alcohol starts lifting, but instead of stopping, the kiss becomes more deliberate. His mouth moves against yours, exploring, tasting.">>
<<thought "Rylan" "faceembarrassed" "This shouldn't be happening... $humanToThalor and me... We're both men, both drunk... I should think of Liora... But his mouth feels so good...">>
<<changeLust "Rylan" 3>>
<<changeLust "Thalor" 4>>
<<changeAttraction "Rylan" "Thalor" 0.1>>
<<narrative "You keep kissing, lips finding a rhythm together. His lips are surprisingly soft, warm against yours. You can taste the ale he's been drinking, and something else... something uniquely him.">>
<<thought "Rylan" "faceembarrassed" "I shouldn't... This is wrong on every level. He's my $humanToThalor. And Liora... I should pull away for Liora... But I can't...">>
<<quickRoll "Kiss Resistance" "Rylan" 80 8 "DominanceFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "You feel yourself becoming more assertive, your hands moving to explore Thalor's bare chest. Your fingers trace over his hard muscles, feeling the defined ridges of his abs and pecs.">>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeFetish "Rylan" "MuscleFetish" 0.15>>
<<changeLust "Rylan" 2>>
<<else>>
<<narrative "You maintain some control, keeping your hands at your sides even as your body screams for more contact.">>
<<thought "Rylan" "faceworried" "I need to stop this... I can't let myself get lost in this moment...">>
<</if>>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/6.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/6.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<thought "Rylan" "facewet" "I need to stop this... But his lips are so soft... I never imagined kissing a man would feel like this. His mouth is so... different from what I'm used to. Better maybe...">>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/7.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/7.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<narrative "The kiss becomes more urgent, desperate almost. You can feel Thalor's heart pounding in his chest against yours. His breathing quickens, becoming heavier, more labored.">>
<<thought "Thalor" "facewet" "I'm losing control... My cock is already rock hard. I need him... I've needed this for so long...">>
<<narrative "You become aware of a growing hardness pressing against your leg. Thalor's arousal is unmistakable, and you realize your own cock has hardened just as much. Both of you are fully turned on now, the heat between you impossible to ignore.">>
<<thought "Rylan" "facewet" "I can feel his bulge... He's so hard. I should pull away. I should think of Liora... But my own cock is throbbing now and I... I want this. I want him.">>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/8.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/8.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<narrative "Your hands roam over each other's bare chests, exploring desperately. The alcohol has worn off completely, leaving only pure, unchecked desire. Your fingers dig into his skin, leaving marks.">>
<<thought "Thalor" "facewet" "His skin is so soft and smooth under my hands... His fingers on my chest are driving me insane. I need more... I need all of him.">>
<<narrative "Then Thalor pulls your head in closer, his hand tangling in your hair, and his tongue slips past your lips. Hot and demanding, it explores your mouth with desperate urgency.">>
<<quickRoll "Tongue Resistance" "Thalor" 80 6 "DominanceFetish" 2>>
<<if not _tempRollSuccess>>
<<narrative "Thalor becomes completely dominant, taking control of the kiss with his powerful tongue. He dominates your mouth, claiming it as his. You can't help but moan, completely at his mercy.">>
<<changeFetish "Thalor" "DominanceFetish" 0.3>>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeLust "Rylan" 3>>
<<changeLust "Thalor" 4>>
<<else>>
<<narrative "Thalor hesitates slightly, his tongue gentle as he explores your mouth carefully, almost lovingly.">>
<<changeLust "Rylan" 2>>
<<changeLust "Thalor" 2>>
<</if>>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/9.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/9.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<thought "Thalor" "facewet" "I can't stop myself... His moans, his taste, his surrender... I'm addicted to this feeling already.">>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/10.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/10.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<narrative "His tongue explores your mouth with expertise, finding every sensitive spot. The taste of him is intoxicating - ale, salt, and something distinctly masculine and earthy. You both moan into the kiss, the sounds loud and desperate now.">>
<<thought "Thalor" "facewet" "The way he moans for me... I want to hear more. I want to make him lose his mind.">>
<<thought "Rylan" "facewet" "His tongue is so skilled... I never knew he could kiss like this. I'm moaning like a whore and I don't care... But Liora... I'm betraying Liora right now...">>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/11.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/11.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<narrative "You both exchange saliva freely, the kiss becoming filthier and more debauched. Saliva drips from the corners of your mouths, mixing as you kiss like animals. You can feel both of your arousals growing painfully hard now, your bodies grinding together desperately.">>
<<thought "Thalor" "facewet" "I can feel his hard cock pressing against mine through our clothes... I need more... I need to feel him naked against me.">>
<<quickRoll "Chest Exploration" "Rylan" 80 10 "MuscleFetish" 4>>
<<if not _tempRollSuccess>>
<<narrative "You completely lose control, your hands roving desperately over Thalor's muscular chest. Your nails dig into his skin, leaving red marks as you squeeze his hard pecs and trace every ridge of his abs. His muscles are like steel under your fingers.">>
<<changeFetish "Rylan" "MuscleFetish" 0.3>>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeLust "Rylan" 4>>
<<changeAttraction "Rylan" "Thalor" 0.15>>
<<else>>
<<narrative "You fight the urge to explore, though your body trembles with need. Your hands remain at his shoulders, gripping him for balance as the kiss overwhelms you.">>
<<changeLust "Rylan" 2>>
<</if>>
<<thought "Rylan" "facewet" "His muscles are incredible... So firm and well-defined. I've seen him shirtless before but never imagined touching him like this... His body is perfect... I hate how turned on I am by his physique...">>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/12.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/12.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<narrative "The passion reaches a fever pitch. You both start grinding against each other desperately, your hard erections rubbing together through your clothes. You can feel precum soaking through the fabric, both of you leaking already.">>
<<thought "Thalor" "facewet" "He's grinding against me... His cock feels so hot and hard against mine. I need to feel him skin to skin... I need him inside me or I need to be inside him... I don't care which anymore.">>
<<thought "Rylan" "facewet" "I'm getting so hard I'm dripping. This is wrong but I can't stop. Liora... I'm sorry Liora... But the friction, his hardness against mine... I'm going to cum like this if we keep grinding...">>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/13.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/13.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<narrative "The kiss becomes utterly filthy now. You're both moaning openly, uncaring who might hear. Thalor's hand slides down your back, gripping your ass and pulling you impossibly closer. Your bodies are fused together, desperate for more friction.">>
<<thought "Thalor" "facewet" "I need more... I need to feel him completely. His ass in my hands, his body against mine, his cock... I need to taste him, to own him completely.">>
<<thought "Rylan" "faceworried" "I should pull away... I should think of Liora and stop this madness... We're on the street, anyone could see us... But his hand on my ass, his hardness rubbing against me, the way he's dominating the kiss... I can't... I don't want to stop... I need this too much...">>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/14.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/14.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<narrative "Neither of you can stop now. The point of no return has long passed. You've both crossed lines that can never be uncrossed, and in this moment, neither of you care that you're on a public street. There's only heat, need, and the desperate grinding of hard bodies seeking release.">>
<<thought "Thalor" "facewet" "Anyone could walk by... See us like this... But I don't care... I need him too much to stop now...">>
<<changeLust "Rylan" 5>>
<<changeLust "Thalor" 5>>
<<changeAttraction "Rylan" "Thalor" 0.2>>
<<changeAttraction "Thalor" "Rylan" 0.2>>
<<continueBox "Ch7ThalorRylanTavernCum" "Continue" "The tension builds to breaking point...">>
</div>
<</nobr>>
<<pov "rylan" "thalorhscene.mp3">><<nobr>>
<div class="passage-container rylan">
<<thought "Rylan" "faceworried" "Yes, I might have feelings for him... But he is my $humanToThalor and I still have Liora and can't cheat on her. This is so complicated.">>
<<if not $rylanThalorLoveTavernVisited>>
<<if not $rylanThalorLove>>
<<set $rylanThalorLove = 1>>
<<else>>
<<set $rylanThalorLove += 1>><</if>>
<<if not $humanNameHaremMindset>>
<<set $humanNameHaremMindset = 1>>
<<else>>
<<set $humanNameHaremMindset += 1>><</if>>
<</if>>
<<soulBlessingAnimation "rylan" 1>>
<<if $timeOfDay === "evening" or $timeOfDay === "night">>
<<continueBox "NightActivitiesEnd" "Continue" "Return Home...">>
<<else>>
<<continueBox "MorningActivityChoicesNext" "Continue" "Return Home...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "thalorhscene.mp3">><<nobr>>
<div class="passage-container rylan">
<<thought "Rylan" "facesad" "This was a mistake. It shouldn't have happened and it won't happen again. I need to focus on what's right.">>
<<soulCorruptionAnimation "rylan" 1>>
<<if $timeOfDay === "evening" or $timeOfDay === "night">>
<<continueBox "NightActivitiesEnd" "Continue" "Return Home...">>
<<else>>
<<continueBox "MorningActivityChoicesNext" "Continue" "Return Home...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "thalorhscene.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<narrative "You both start heading home, still tipsy from the alcohol. You've cooled down a bit but it's still hard to walk straight. You realize you both forgot your shirts back at the tavern.">>
<<narrative "Thalor seems more drunk than you, clinging to your arm for support. He appears to be the type who gets affectionate when drunk.">>
<<dialog "Thalor" "facewet" "You're so good to me, $thalorCallsHuman," "he slurs, leaning heavily against you" "I'm sorry for being such a bad $thalorToHuman.">>
<<dialog "Rylan" "face" "It's okay," "you say gently" "I know you did what you had to do, and I'm proud of you.">>
<<narrative "Thalor suddenly hugs you from behind, his strong arms wrapping around your chest.">>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/1.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/1.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<narrative "He rubs his stubbled cheeks against yours from behind, the rough texture making you laugh.">>
<<dialog "Rylan" "facehappy" "Stop it, $humanToThalor," "you giggle" "That scratches!">>
<<dialog "Thalor" "facewet" "I love you so much, $thalorCallsHuman," "he whispers">>
<<narrative "He starts kissing your neck, his warm lips sending shivers down your spine.">>
<<dialog "Rylan" "faceembarrassed" "Stop it, $humanToThalor, you're drunk," "you protest, but your voice lacks conviction">>
<<narrative "You're still tipsy too and somehow reluctant to really pull away. Thalor keeps hugging you and moves up toward your face.">>
<<dialog "Rylan" "faceembarrassed" "No, not the mouth," "you say, turning your face away">>
<<narrative "But Thalor persists, kissing your cheeks and near your lips, his breath warm against your skin.">>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/2.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/2.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<dialog "Rylan" "faceembarrassed" "Gosh, stop..." "you say, looking into his eyes">>
<<narrative "But your thoughts are interrupted as you gaze at him. Thalor looks directly into your eyes with an intensity that makes your heart race.">>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/3.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/3.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<narrative "You close your eyes instinctively, feeling the moment draw closer.">>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/4.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/4.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<choiceBox "What do you do?" "Continue" "Ch7ThalorRylanTavernKiss" "Ch7ThalorRylanTavernNeckKiss=continue" "Try to resist" "Ch7ThalorRylanTavernResist" "Ch7ThalorRylanTavernNeckKiss=resist">>
</div>
<</nobr>>
<<pov "rylan" "thalorhscene.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "You try to pull back, but Thalor's grip is surprisingly strong. Your mind races as you attempt to resist the growing temptation.">>
<<set _musclePenalty = Math.ceil(($rylan_MuscleFetish || 0) * 0.1)>>
<<set _attractionPenalty = Math.ceil(($rylan_ThalorAttraction || 0) * 0.1)>>
<<set _affectionPenalty = Math.ceil(($rylan_ThalorAffection || 0) * 0.1)>>
<<set _gayPenalty = Math.ceil(($rylan_GayValue || 0) * 0.1)>>
<<set _submissionPenalty = Math.ceil(($rylan_SubmissionFetish || 0) * 0.1)>>
<<set _totalPenalty = _musclePenalty + _attractionPenalty + _affectionPenalty + _gayPenalty + _submissionPenalty>>
<<set _finalResist = 80 - _totalPenalty>>
<<set _finalResist = Math.max(5, Math.min(95, _finalResist))>>
<<set _resistRoll = Math.random() * 100>>
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin: 20px 0; text-align: center;">
<p style="color: #E6E6FA; margin: 5px 0; font-size: 0.9em;"><strong>Resistance Check:</strong></p>
<p style="color: #B0C4DE; margin: 5px 0; font-size: 0.8em;">Muscle: <<print _musclePenalty>> | Attraction: <<print _attractionPenalty>> | Affection: <<print _affectionPenalty>> | Gay: <<print _gayPenalty>> | Submission: <<print _submissionPenalty>></p>
<p style="color: #E6E6FA; margin: 5px 0; font-size: 0.9em;"><strong>Total Penalty: <<print _totalPenalty>> | Final Threshold: <<print Math.floor(_finalResist)>> | Roll: <<print Math.floor(_resistRoll)>></strong></p>
<p style="color: #FFB6C1; margin: 5px 0; font-size: 1em; font-weight: bold;"><<if _resistRoll > _finalResist>>❌ RESISTANCE FAILED<<else>>✅ RESISTANCE SUCCEEDED<</if>></p>
</div>
<<if _resistRoll > _finalResist>>
<<narrative "Your resistance crumbles under the weight of your growing attraction and submission. You can't fight the overwhelming desire any longer.">>
<<changeFetish "Rylan" "GayValue" 0.2>>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<changeAttraction "Rylan" "Thalor" 1>>
<<narrative "You close your eyes and let yourself go...">>
<<if $rylanFemboy>>
<center><img src="images/thalor/chapter7/Tavern/femboy/4.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/thalor/chapter7/Tavern/male/4.webp" style="width: 500px; height: auto; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<continueBox "Ch7ThalorRylanTavernKiss" "Continue" "Their lips touch...">>
<<else>>
<<narrative "You manage to pull back, breaking the moment. Thalor looks confused and hurt.">>
<<dialog "Rylan" "faceembarrassed" "I... I can't do this," "you say, stepping back" "This is wrong.">>
<<dialog "Thalor" "facesad" "I'm sorry," "he says, his voice filled with regret" "I don't know what came over me. You're right, this is wrong.">>
<<narrative "The moment passes, and you both walk home in awkward silence, the tension between you thicker than before.">>
<<changeAffection "Rylan" "Thalor" 1>>
<<changeAffection "Thalor" "Rylan" 1>>
<<if $timeOfDay === "evening" or $timeOfDay === "night">>
<<continueBox "NightActivitiesEnd" "Continue" "Return Home...">>
<<else>>
<<continueBox "MorningActivityChoicesNext" "Continue" "Return Home...">>
<</if>>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "thalorhscene.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.15), rgba(255, 140, 0, 0.2)); border: 2px solid rgba(255, 69, 0, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 69, 0, 0.3); margin-bottom: 30px;">
<h2 style="color: #FF4500; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Inviting Kahrrt 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">What's your goal for this evening?</p>
</div>
<center><img src="images/Kahrrt/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "You approach Kahrrt with the invitation. The older muscular goblin's eyes light up with playful mischief as he grins widely, clearly excited about the prospect of a fun evening together.">>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Small Talk Option -->
<div style="background: linear-gradient(145deg, rgba(100, 149, 237, 0.15), rgba(65, 105, 225, 0.2)); border: 2px solid rgba(100, 149, 237, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(100, 149, 237, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(100, 149, 237, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(100, 149, 237, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernKahrrtSmallTalk')">
<div style="font-size: 4em; margin-bottom: 15px;">💬</div>
<h4 style="color: #6495ED; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Playful Stories</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Share tales and enjoy his playful nature. A fun evening of laughter and goblin wisdom.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(100, 149, 237, 0.1); border-radius: 8px;">
<p style="color: #B0C4DE; margin: 0; font-size: 0.9em; font-weight: bold;">+ Affection & Attraction</p>
</div>
</div>
<!-- H-Content Option (Locked) -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(60, 60, 60, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.3;">🎭</div>
<h4 style="color: #A9A9A9; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">See His Playful Side</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">The tavern's lively atmosphere might bring out his mischievous side. Perhaps you can explore a more intimate connection together.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(105, 105, 105, 0.1); border-radius: 8px;">
<p style="color: #D3D3D3; margin: 0; font-size: 0.9em; font-weight: bold;">🔒 Coming in Future Update</p>
</div>
</div>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('GoblinTavernVisit')">
🔙 Back to Character Selection
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.15), rgba(255, 140, 0, 0.2)); border: 2px solid rgba(255, 69, 0, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 69, 0, 0.3); margin-bottom: 30px;">
<h2 style="color: #FF4500; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Inviting Kahrrt (Night) 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">What's your goal for this evening?</p>
</div>
<center><img src="images/Kahrrt/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "You approach Kahrrt with the invitation. The older muscular goblin's eyes light up with playful mischief as he grins widely, clearly excited about the prospect of a fun evening together.">>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Small Talk Option -->
<div style="background: linear-gradient(145deg, rgba(100, 149, 237, 0.15), rgba(65, 105, 225, 0.2)); border: 2px solid rgba(100, 149, 237, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(100, 149, 237, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(100, 149, 237, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(100, 149, 237, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernKahrrtSmallTalk')">
<div style="font-size: 4em; margin-bottom: 15px;">💬</div>
<h4 style="color: #6495ED; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Playful Stories</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Share tales and enjoy his playful nature. A fun evening of laughter and goblin wisdom.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(100, 149, 237, 0.1); border-radius: 8px;">
<p style="color: #B0C4DE; margin: 0; font-size: 0.9em; font-weight: bold;">+ Affection & Attraction</p>
</div>
</div>
<!-- H-Content Option (Locked) -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(60, 60, 60, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.3;">🎭</div>
<h4 style="color: #A9A9A9; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">See His Playful Side</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">The tavern's lively atmosphere might bring out his mischievous side. Perhaps you can explore a more intimate connection together.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(105, 105, 105, 0.1); border-radius: 8px;">
<p style="color: #D3D3D3; margin: 0; font-size: 0.9em; font-weight: bold;">🔒 Coming in Future Update</p>
</div>
</div>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('GoblinTavernVisitNight')">
🔙 Back to Character Selection
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.15), rgba(255, 140, 0, 0.2)); border: 2px solid rgba(255, 69, 0, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 69, 0, 0.3); margin-bottom: 30px;">
<h2 style="color: #FF4500; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Kahrrt at the Tavern 🍺</h2>
</div>
<center><img src="images/Kahrrt/face.webp" style="max-width: 250px; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); margin: 20px 0;"></center>
<<narrative "Kahrrt sits with the dignity of a king, his massive frame commanding respect even in the casual tavern setting. His eyes scan the room with the watchful gaze of a leader.">>
<<set _randomEvent = random(1, 6)>>
<<if _randomEvent === 1>>
<!-- Event 1: Kingly Wisdom -->
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.15), rgba(255, 140, 0, 0.2)); border: 2px solid rgba(255, 69, 0, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 69, 0, 0.3); margin-bottom: 30px;">
<h2 style="color: #FF4500; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Kingly Wisdom 🍺</h2>
</div>
<center><img src="images/Kahrrt/faceserious.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Kahrrt's expression grows thoughtful as he begins to share insights from his years of leadership, his voice carrying the weight of experience.">>
<<dialog "Kahrrt" "faceserious" "You know, $humanName, being a king isn't just about strength or power. It's about knowing when to be firm and when to be merciful." "he says with quiet authority" "I've learned that the best leaders are those who protect their people, even when it's difficult.">>
<<narrative "His words carry the wisdom of someone who has faced many challenges and made difficult decisions for the good of his people.">>
<<dialog "Kahrrt" "facesmile" "Sometimes the hardest choice is the right one. Like when I had to make rules that my people didn't like, but I knew would keep them safe." "he adds with a knowing look">>
<<narrative "You can see the burden of leadership in his eyes, but also the pride he takes in protecting those under his care.">>
<<changeAffection "Rylan" "Kahrrt" 1.5>>
<<changeAffection "Kahrrt" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Kahrrt" 1>>
<<changeAttraction "Kahrrt" "Rylan" 1>>
<<elseif _randomEvent === 2>>
<!-- Event 2: Father's Pride -->
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.15), rgba(255, 140, 0, 0.2)); border: 2px solid rgba(255, 69, 0, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 69, 0, 0.3); margin-bottom: 30px;">
<h2 style="color: #FF4500; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Father's Pride 🍺</h2>
</div>
<center><img src="images/Kahrrt/facehappy.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Kahrrt's stern demeanor softens noticeably as he begins to talk about his daughter, his eyes lighting up with paternal affection.">>
<<dialog "Kahrrt" "facehappy" "Viehzza is my greatest treasure, $humanName. She may be shy and think she's not beautiful, but she's the most precious thing in my life." "he says with genuine warmth" "I would do anything to protect her, to see her happy.">>
<<narrative "His love for his daughter is evident in every word, showing a softer side to the formidable goblin king.">>
<<dialog "Kahrrt" "facesmile" "She's so innocent, so pure. I want to shield her from all the ugliness in the world, but I also know she needs to grow and find her own path." "he adds with a mixture of pride and concern">>
<<narrative "His protective instincts are clearly strong, but you can see he's trying to balance protection with allowing her independence.">>
<<changeAffection "Rylan" "Kahrrt" 2>>
<<changeAffection "Kahrrt" "Rylan" 2>>
<<changeAttraction "Rylan" "Kahrrt" 1.5>>
<<changeAttraction "Kahrrt" "Rylan" 1.5>>
<<elseif _randomEvent === 3>>
<!-- Event 3: Battle Stories -->
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.15), rgba(255, 140, 0, 0.2)); border: 2px solid rgba(255, 69, 0, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 69, 0, 0.3); margin-bottom: 30px;">
<h2 style="color: #FF4500; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Battle Stories 🍺</h2>
</div>
<center><img src="images/Kahrrt/faceconfident.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Kahrrt's eyes gleam with the fire of a seasoned warrior as he begins to recount tales from his younger days, his voice growing more animated.">>
<<dialog "Kahrrt" "faceconfident" "Back in my prime, I could take on three orcs at once and still have energy for more! My axe was like an extension of my arm, and my enemies learned to fear the name Kahrrt!" "he says with obvious pride" "Those were the days when every battle was a chance to prove your worth.">>
<<narrative "His stories carry the excitement of someone who truly loved the thrill of combat and the respect it brought.">>
<<dialog "Kahrrt" "facesmirk" "Of course, now I'm more about wisdom than brute force, but don't think I've gone soft! I can still hold my own against anyone who dares challenge me." "he adds with a confident grin">>
<<narrative "His warrior spirit is still strong, even if his approach to leadership has evolved over the years.">>
<<changeAffection "Rylan" "Kahrrt" 1.5>>
<<changeAffection "Kahrrt" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Kahrrt" 1.5>>
<<changeAttraction "Kahrrt" "Rylan" 1.5>>
<<elseif _randomEvent === 4>>
<!-- Event 4: Unexpected Humor -->
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.15), rgba(255, 140, 0, 0.2)); border: 2px solid rgba(255, 69, 0, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 69, 0, 0.3); margin-bottom: 30px;">
<h2 style="color: #FF4500; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Unexpected Humor 🍺</h2>
</div>
<center><img src="images/Kahrrt/facelaugh.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Kahrrt's stern expression suddenly breaks into a hearty laugh, revealing a surprisingly playful side to the goblin king.">>
<<dialog "Kahrrt" "facelaugh" "You know what's funny, $humanName? I used to think humans were all uptight and serious, but you lot are actually quite entertaining!" "he chuckles" "Especially that Serin character - she's like a walking disaster, but somehow he makes everything more interesting.">>
<<narrative "His laughter is infectious, and you can see he genuinely enjoys the company of your group despite his initial reservations.">>
<<dialog "Kahrrt" "facesmirk" "I have to admit, I was wrong about you all. I thought you'd be trouble, but you've actually brought some much-needed excitement to our little corner of the world." "he adds with a knowing smile">>
<<narrative "His admission shows a willingness to change his mind and admit when he's been wrong, a sign of true wisdom.">>
<<changeAffection "Rylan" "Kahrrt" 2>>
<<changeAffection "Kahrrt" "Rylan" 2>>
<<changeAttraction "Rylan" "Kahrrt" 1.5>>
<<changeAttraction "Kahrrt" "Rylan" 1.5>>
<<elseif _randomEvent === 5>>
<!-- Event 5: Past Reflections -->
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.15), rgba(255, 140, 0, 0.2)); border: 2px solid rgba(255, 69, 0, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 69, 0, 0.3); margin-bottom: 30px;">
<h2 style="color: #FF4500; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Past Reflections 🍺</h2>
</div>
<center><img src="images/Kahrrt/facesad.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Kahrrt's expression grows more somber as he begins to reflect on his past, his voice carrying a note of melancholy.">>
<<dialog "Kahrrt" "facesad" "You know, $humanName, I used to be different. More reckless, more focused on glory and conquest." "he says quietly" "But becoming a father changed everything. Suddenly, protecting my people wasn't just about power - it was about responsibility.">>
<<narrative "His words reveal a depth of character that goes beyond the surface image of a fierce warrior king.">>
<<dialog "Kahrrt" "faceserious" "I've made mistakes, of course. Sometimes I've been too strict, sometimes too lenient. But I've always tried to do what's best for my people, even when they don't understand it." "he adds with quiet determination">>
<<narrative "His honesty about his imperfections shows a humility that's rare in someone of his position and power.">>
<<changeAffection "Rylan" "Kahrrt" 2.5>>
<<changeAffection "Kahrrt" "Rylan" 2.5>>
<<changeAttraction "Rylan" "Kahrrt" 2>>
<<changeAttraction "Kahrrt" "Rylan" 2>>
<<elseif _randomEvent === 6>>
<!-- Event 6: Protective Instincts -->
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.15), rgba(255, 140, 0, 0.2)); border: 2px solid rgba(255, 69, 0, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 69, 0, 0.3); margin-bottom: 30px;">
<h2 style="color: #FF4500; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Protective Instincts 🍺</h2>
</div>
<center><img src="images/Kahrrt/faceworried.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Kahrrt's expression grows more serious as he begins to discuss his concerns about the future and the safety of those he cares about.">>
<<dialog "Kahrrt" "faceworried" "I worry about what's coming, $humanName. The world is changing, and I want to make sure my people are ready for whatever challenges lie ahead." "he says with genuine concern" "I've seen too many good leaders fall because they weren't prepared for the unexpected.">>
<<narrative "His protective instincts are clearly strong, and you can see how much he cares about the well-being of those under his care.">>
<<dialog "Kahrrt" "faceserious" "That's why I'm glad you're here. You've proven yourself capable, and I trust you to help protect what matters most to me." "he adds with a meaningful look">>
<<narrative "His trust in you is evident, and you can see he values your strength and reliability as an ally.">>
<<changeAffection "Rylan" "Kahrrt" 2.5>>
<<changeAffection "Kahrrt" "Rylan" 2.5>>
<<changeAttraction "Rylan" "Kahrrt" 2>>
<<changeAttraction "Kahrrt" "Rylan" 2>>
<</if>>
<div style="text-align: center; margin-top: 40px;">
<<if $timeOfDay === "evening" or $timeOfDay === "night">>
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('NightActivitiesEnd')">
🔙 Back to Goals
</div>
<<else>>
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('MorningActivityChoicesNext')">
🔙 Back to Goals
</div>
<</if>>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(255, 192, 203, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 192, 203, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 192, 203, 0.3); margin-bottom: 30px;">
<h2 style="color: #FFC0CB; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Inviting Liora 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">What's your goal for this evening?</p>
</div>
<center><img src="images/liora/faceshortpink.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "You approach Liora with the invitation to join you at the tavern. She looks up at you with those big, innocent eyes, clearly curious but also a bit nervous about what this evening might bring.">>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Small Talk Option -->
<div style="background: linear-gradient(145deg, rgba(100, 149, 237, 0.15), rgba(65, 105, 225, 0.2)); border: 2px solid rgba(100, 149, 237, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(100, 149, 237, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(100, 149, 237, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(100, 149, 237, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernLioraSmallTalk')">
<div style="font-size: 4em; margin-bottom: 15px;">💬</div>
<h4 style="color: #6495ED; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Gentle Conversation</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Share stories and get to know each other better. A peaceful evening of bonding and building your relationship.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(100, 149, 237, 0.1); border-radius: 8px;">
<p style="color: #B0C4DE; margin: 0; font-size: 0.9em; font-weight: bold;">+ Affection & Attraction</p>
</div>
</div>
<!-- H-Content Option (Locked) -->
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.05), rgba(255, 20, 147, 0.08)); border: 2px solid rgba(255, 105, 180, 0.2); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 105, 180, 0.1); opacity: 0.6; cursor: not-allowed;">
<div style="font-size: 4em; margin-bottom: 15px;">🔒</div>
<h4 style="color: #FF69B4; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Help Her Relax</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">The tavern's warm atmosphere seems to be affecting her... (Coming in Future Update)</p>
</div>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('GoblinTavernVisit')">
🔙 Back to Character Selection
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(255, 192, 203, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 192, 203, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 192, 203, 0.3); margin-bottom: 30px;">
<h2 style="color: #FFC0CB; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Inviting Liora (Night) 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">What's your goal for this evening?</p>
</div>
<center><img src="images/liora/faceshortpink.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "You approach Liora with the invitation to join you at the tavern. She looks up at you with those big, innocent eyes, clearly curious but also a bit nervous about what this evening might bring.">>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Small Talk Option -->
<div style="background: linear-gradient(145deg, rgba(100, 149, 237, 0.15), rgba(65, 105, 225, 0.2)); border: 2px solid rgba(100, 149, 237, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(100, 149, 237, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(100, 149, 237, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(100, 149, 237, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernLioraSmallTalk')">
<div style="font-size: 4em; margin-bottom: 15px;">💬</div>
<h4 style="color: #6495ED; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Gentle Conversation</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Share stories and get to know each other better. A peaceful evening of bonding and building your relationship.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(100, 149, 237, 0.1); border-radius: 8px;">
<p style="color: #B0C4DE; margin: 0; font-size: 0.9em; font-weight: bold;">+ Affection & Attraction</p>
</div>
</div>
<!-- H-Content Option (Locked) -->
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.05), rgba(255, 20, 147, 0.08)); border: 2px solid rgba(255, 105, 180, 0.2); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 105, 180, 0.1); opacity: 0.6; cursor: not-allowed;">
<div style="font-size: 4em; margin-bottom: 15px;">🔒</div>
<h4 style="color: #FF69B4; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Help Her Relax</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">The tavern's warm atmosphere seems to be affecting her... (Coming in Future Update)</p>
</div>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('GoblinTavernVisitNight')">
🔙 Back to Character Selection
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<<set _randomEvent = random(1, 6)>>
<<if _randomEvent === 1>>
<!-- Event 1: Healing Discussion -->
<div style="background: linear-gradient(145deg, rgba(255, 192, 203, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 192, 203, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 192, 203, 0.3); margin-bottom: 30px;">
<h2 style="color: #FFC0CB; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Healing Wisdom 🍺</h2>
</div>
<center><img src="images/liora/facehappyshortpink.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "As you both settle into the cozy tavern booth, Liora's eyes light up when you ask about her healing studies. She seems much more comfortable talking about something she's passionate about.">>
<<dialog "Liora" "facehappyshortpink" "Oh! I... I love learning about healing magic. It's so wonderful how we can help people feel better." "she says with genuine enthusiasm" "The way energy flows through the body is just... it's like a beautiful dance!">>
<<narrative "She demonstrates some basic healing gestures with her hands, her movements graceful and practiced. You can see the passion in her eyes as she explains the different types of healing magic.">>
<<dialog "Liora" "faceshortpink" "I... I'm still learning, but I hope I can help lots of people someday. Maybe even you, if you ever get hurt..." "she says, blushing slightly" "I mean, not that I want you to get hurt!">>
<<narrative "She quickly corrects herself, her face turning pink. You both share a laugh, and you can see her becoming more relaxed in your company.">>
<<changeAffection "Rylan" "Liora" 1>>
<<changeAffection "Liora" "Rylan" 1>>
<<changeAttraction "Rylan" "Liora" 0.5>>
<<changeAttraction "Liora" "Rylan" 0.5>>
<</if>>
<<if _randomEvent === 2>>
<!-- Event 2: Shy Confession -->
<div style="background: linear-gradient(145deg, rgba(255, 192, 203, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 192, 203, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 192, 203, 0.3); margin-bottom: 30px;">
<h2 style="color: #FFC0CB; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Shy Moments 🍺</h2>
</div>
<center><img src="images/liora/faceembarrassedshortpink.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "The warm atmosphere of the tavern seems to be helping Liora open up. She fidgets with her drink, occasionally glancing at you with those big, innocent eyes.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I don't usually go to places like this. It's... it's nice, but I feel a bit out of place." "she admits quietly" "Everyone here seems so confident and... worldly.">>
<<narrative "You reassure her that she fits in perfectly, and she smiles gratefully. The way she looks at you shows how much she trusts and values your opinion.">>
<<dialog "Liora" "faceshortpink" "Thank you for bringing me here. I... I was worried you might think I'm too boring or... or too innocent for this kind of place." "she says, her voice barely above a whisper" "But I'm glad we're here together.">>
<<narrative "Her honesty is endearing, and you can see how much she trusts you. She seems to relax more in your company, knowing you'll always support her.">>
<<changeAffection "Rylan" "Liora" 1.5>>
<<changeAffection "Liora" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Liora" 1>>
<<changeAttraction "Liora" "Rylan" 1>>
<</if>>
<<if _randomEvent === 3>>
<!-- Event 3: Guild Stories -->
<div style="background: linear-gradient(145deg, rgba(255, 192, 203, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 192, 203, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 192, 203, 0.3); margin-bottom: 30px;">
<h2 style="color: #FFC0CB; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Guild Tales 🍺</h2>
</div>
<center><img src="images/liora/faceshortpink.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Liora becomes more animated as she shares stories about her time at the guild. Her eyes sparkle as she describes the other healers and the patients she's helped.">>
<<dialog "Liora" "facehappyshortpink" "There was this one time... oh, it was so funny! I was trying to heal a sprained ankle, but I got so nervous that I accidentally healed the wrong leg!" "she giggles" "The patient was so confused when their good leg started feeling better instead of the injured one!">>
<<narrative "Her laughter is infectious, and you find yourself smiling along with her. She has a way of making even her mistakes sound charming.">>
<<dialog "Liora" "faceshortpink" "I... I really like working with people. Everyone at the guild was so kind to me, even when I mess up. I hope I can make them proud someday." "she says with determination">>
<<narrative "Her dedication to helping others is admirable, and you can see why she's so well-liked at the guild. There's something pure and genuine about her that draws people in.">>
<<changeAffection "Rylan" "Liora" 1>>
<<changeAffection "Liora" "Rylan" 1>>
<<changeAttraction "Rylan" "Liora" 0.5>>
<<changeAttraction "Liora" "Rylan" 0.5>>
<</if>>
<<if _randomEvent === 4>>
<!-- Event 4: Party Memories -->
<div style="background: linear-gradient(145deg, rgba(255, 192, 203, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 192, 203, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 192, 203, 0.3); margin-bottom: 30px;">
<h2 style="color: #FFC0CB; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Shared Memories 🍺</h2>
</div>
<center><img src="images/liora/facehappyshortpink.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Liora's eyes light up as she reminisces about your recent adventures together. She seems to treasure these shared experiences more than you realized.">>
<<dialog "Liora" "facehappyshortpink" "I... I've been thinking about all the things we've done together lately. It's been so exciting, even when I was scared!" "she says with a warm smile" "I never thought I'd be brave enough to face monsters and dungeons, but... but having everyone there makes it easier.">>
<<narrative "She looks at you with genuine appreciation, and you can see how much the party's support means to her.">>
<<dialog "Liora" "faceshortpink" "I... I'm really glad we're all together. You especially... you always seem to know what to say to make me feel better when I'm nervous." "she admits shyly" "I hope... I hope we can keep having adventures like this with you by my side.">>
<<narrative "Her words carry a hint of something deeper, as if she's thinking about your future together. The way she looks at you shows how much she values your relationship and wants it to continue growing.">>
<<changeAffection "Rylan" "Liora" 1.5>>
<<changeAffection "Liora" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Liora" 1>>
<<changeAttraction "Liora" "Rylan" 1>>
<</if>>
<<if _randomEvent === 5>>
<!-- Event 5: Sweet Compliments -->
<div style="background: linear-gradient(145deg, rgba(255, 192, 203, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 192, 203, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 192, 203, 0.3); margin-bottom: 30px;">
<h2 style="color: #FFC0CB; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Sweet Words 🍺</h2>
</div>
<center><img src="images/liora/faceembarrassedshortpink.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "As the evening progresses, Liora seems to gather her courage. She looks at you with those big, innocent eyes and says something that catches you off guard.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I think you're really kind. You always seem to know what to say to make people feel better." "she says, her voice barely above a whisper" "I... I'm so lucky to have you as my boyfriend.">>
<<narrative "Her compliment is so genuine and heartfelt, and the way she looks at you shows how much she loves and appreciates you.">>
<<dialog "Liora" "faceshortpink" "I... I hope this doesn't sound weird, but... but I feel so safe and happy when I'm with you." "she admits, her face turning pink" "I love spending time like this, just the two of us.">>
<<narrative "Her words are touching, and you can see how much she treasures your relationship. There's something special about the way she expresses her love for you.">>
<<changeAffection "Rylan" "Liora" 2>>
<<changeAffection "Liora" "Rylan" 2>>
<<changeAttraction "Rylan" "Liora" 1.5>>
<<changeAttraction "Liora" "Rylan" 1.5>>
<</if>>
<<if _randomEvent === 6>>
<!-- Event 6: Playful Moment -->
<div style="background: linear-gradient(145deg, rgba(255, 192, 203, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 192, 203, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 192, 203, 0.3); margin-bottom: 30px;">
<h2 style="color: #FFC0CB; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Playful Liora 🍺</h2>
</div>
<center><img src="images/liora/facelaugh" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "To your surprise, Liora shows a more playful side as the evening goes on. She seems to be enjoying herself more than you expected, and her laughter is infectious.">>
<<dialog "Liora" "facelaughshortpink" "Oh my! I... I can't believe I'm actually having fun here! This is so different from what I usually do." "she giggles" "I feel like I'm doing something... something a bit naughty!">>
<<narrative "Her choice of words makes you both laugh, and you can see a spark of mischief in her eyes that you love about her.">>
<<dialog "Liora" "facehappyshortpink" "I... I think I like this side of me. Maybe... maybe I should try new things more often." "she says with a shy smile" "Especially if it means spending time with my wonderful boyfriend.">>
<<narrative "Her words are sweet and loving, and the way she looks at you shows how much she enjoys being in a relationship with you.">>
<<changeAffection "Rylan" "Liora" 1.5>>
<<changeAffection "Liora" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Liora" 1.5>>
<<changeAttraction "Liora" "Rylan" 1.5>>
<</if>>
<div style="text-align: center; margin-top: 40px;">
<<if $timeOfDay === "evening" or $timeOfDay === "night">>
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('NightActivitiesEnd')">
🔙 Back to Goals
</div>
<<else>>
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('MorningActivityChoicesNext')">
🔙 Back to Goals
</div>
<</if>>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(221, 160, 221, 0.15), rgba(186, 85, 211, 0.2)); border: 2px solid rgba(221, 160, 221, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(221, 160, 221, 0.3); margin-bottom: 30px;">
<h2 style="color: #DDA0DD; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Inviting Mariel 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">What's your goal for this evening?</p>
</div>
<center><img src="images/mariel/stage2/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "You approach Mariel with the invitation. She looks at you with warm, caring eyes, clearly touched that you'd want to spend time with her in such a unique setting.">>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Small Talk Option -->
<div style="background: linear-gradient(145deg, rgba(100, 149, 237, 0.15), rgba(65, 105, 225, 0.2)); border: 2px solid rgba(100, 149, 237, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(100, 149, 237, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(100, 149, 237, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(100, 149, 237, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernMarielSmallTalk')">
<div style="font-size: 4em; margin-bottom: 15px;">💬</div>
<h4 style="color: #6495ED; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Warm Conversation</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Share stories and enjoy her motherly warmth. A comforting evening of bonding and heartfelt conversation.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(100, 149, 237, 0.1); border-radius: 8px;">
<p style="color: #B0C4DE; margin: 0; font-size: 0.9em; font-weight: bold;">+ Affection & Attraction</p>
</div>
</div>
<!-- H-Content Option (Locked) -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(60, 60, 60, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.3;">🌹</div>
<h4 style="color: #A9A9A9; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Help Her Unwind</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">The tavern's intimate atmosphere might help her relax her guard. Perhaps you can explore a deeper connection together.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(105, 105, 105, 0.1); border-radius: 8px;">
<p style="color: #D3D3D3; margin: 0; font-size: 0.9em; font-weight: bold;">🔒 Coming in Future Update</p>
</div>
</div>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('GoblinTavernVisit')">
🔙 Back to Character Selection
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(221, 160, 221, 0.15), rgba(186, 85, 211, 0.2)); border: 2px solid rgba(221, 160, 221, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(221, 160, 221, 0.3); margin-bottom: 30px;">
<h2 style="color: #DDA0DD; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Inviting Mariel (Night) 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">What's your goal for this evening?</p>
</div>
<center><img src="images/mariel/stage2/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "You approach Mariel with the invitation. She looks at you with warm, caring eyes, clearly touched that you'd want to spend time with her in such a unique setting.">>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Small Talk Option -->
<div style="background: linear-gradient(145deg, rgba(100, 149, 237, 0.15), rgba(65, 105, 225, 0.2)); border: 2px solid rgba(100, 149, 237, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(100, 149, 237, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(100, 149, 237, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(100, 149, 237, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernMarielSmallTalk')">
<div style="font-size: 4em; margin-bottom: 15px;">💬</div>
<h4 style="color: #6495ED; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Warm Conversation</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Share stories and enjoy her motherly warmth. A comforting evening of bonding and heartfelt conversation.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(100, 149, 237, 0.1); border-radius: 8px;">
<p style="color: #B0C4DE; margin: 0; font-size: 0.9em; font-weight: bold;">+ Affection & Attraction</p>
</div>
</div>
<!-- H-Content Option (Locked) -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(60, 60, 60, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.3;">🌹</div>
<h4 style="color: #A9A9A9; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Help Her Unwind</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">The tavern's intimate atmosphere might help her relax her guard. Perhaps you can explore a deeper connection together.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(105, 105, 105, 0.1); border-radius: 8px;">
<p style="color: #D3D3D3; margin: 0; font-size: 0.9em; font-weight: bold;">🔒 Coming in Future Update</p>
</div>
</div>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('GoblinTavernVisitNight')">
🔙 Back to Character Selection
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<<set _randomEvent = random(1, 6)>>
<<if _randomEvent === 1>>
<!-- Event 1: Past Adventures -->
<div style="background: linear-gradient(145deg, rgba(221, 160, 221, 0.15), rgba(186, 85, 211, 0.2)); border: 2px solid rgba(221, 160, 221, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(221, 160, 221, 0.3); margin-bottom: 30px;">
<h2 style="color: #DDA0DD; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Tales of the Past 🍺</h2>
</div>
<center><img src="images/mariel/facesmile.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Mariel's eyes light up as she begins to share stories from her days as a priestess. There's a nostalgic warmth in her voice that draws you in.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facesmile" "Oh, sweetheart, you should have seen the temple in those days. It was so beautiful, filled with light and hope. I used to lead ceremonies that would bring tears to people's eyes." "she says with maternal pride" "Those were the days when I felt like I was truly making a difference in the world.">>
<<else>>
<<dialog "Mariel" "facesmile" "The temple was such a different place back then. I used to lead ceremonies that would bring tears to people's eyes. There was so much hope and light in those days." "she says wistfully" "I felt like I was truly making a difference in the world.">>
<</if>>
<<narrative "Her stories paint a picture of a woman who was once powerful and respected, someone who commanded attention and inspired others. There's something captivating about hearing about her past glory.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facehappy" "You know, dear, sometimes I miss those days. But then I look at you and everyone else, and I realize that what I have now is even more precious. $householdType is the greatest adventure of all." "she says with a warm smile">>
<<else>>
<<dialog "Mariel" "facehappy" "You know, sometimes I miss those days. But then I look at you and everyone else, and I realize that what I have now is even more precious. The people I care about are my greatest treasure." "she says with a warm smile">>
<</if>>
<<narrative "Her words carry a depth of feeling that touches your heart. There's something beautiful about how she values the present while cherishing the past.">>
<<changeAffection "Rylan" "Mariel" 1.5>>
<<changeAffection "Mariel" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Mariel" 1>>
<<changeAttraction "Mariel" "Rylan" 1>>
<<elseif _randomEvent === 2>>
<!-- Event 2: Motherly Concerns -->
<div style="background: linear-gradient(145deg, rgba(221, 160, 221, 0.15), rgba(186, 85, 211, 0.2)); border: 2px solid rgba(221, 160, 221, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(221, 160, 221, 0.3); margin-bottom: 30px;">
<h2 style="color: #DDA0DD; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Caring Words 🍺</h2>
</div>
<center><img src="images/mariel/stage2/faceworried.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Mariel's expression grows concerned as she looks at you with those caring eyes that seem to see right through to your soul.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceworried" "Sweetheart, I've been watching you lately, and I can't help but worry. You've been pushing yourself so hard with all this dungeon crawling. Are you getting enough rest? Eating properly?" "she asks with genuine concern" "I don't want you to burn yourself out, dear.">>
<<else>>
<<dialog "Mariel" "faceworried" "$humanName, I've been watching you lately, and I can't help but worry. You've been pushing yourself so hard with all this dungeon crawling. Are you getting enough rest? Eating properly?" "she asks with genuine concern" "I don't want you to burn yourself out.">>
<</if>>
<<narrative "Her concern is so genuine and heartfelt that it makes you feel cared for in a way that's both comforting and slightly overwhelming.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facesmile" "You know, honey, I may not be able to fight alongside you like I used to, but I can still take care of you in other ways. Let me know if you ever need anything, okay? That's what $householdType is for." "she says with maternal warmth">>
<<else>>
<<dialog "Mariel" "facesmile" "You know, I may not be able to fight alongside you like I used to, but I can still take care of you in other ways. Let me know if you ever need anything, okay? That's what friends are for." "she says with warm affection">>
<</if>>
<<narrative "Her words make you feel valued and protected. There's something special about someone who cares so deeply about your wellbeing.">>
<<changeAffection "Rylan" "Mariel" 2>>
<<changeAffection "Mariel" "Rylan" 2>>
<<changeAttraction "Rylan" "Mariel" 1.5>>
<<changeAttraction "Mariel" "Rylan" 1.5>>
<<elseif _randomEvent === 3>>
<!-- Event 3: Traveler's Wisdom -->
<div style="background: linear-gradient(145deg, rgba(221, 160, 221, 0.15), rgba(186, 85, 211, 0.2)); border: 2px solid rgba(221, 160, 221, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(221, 160, 221, 0.3); margin-bottom: 30px;">
<h2 style="color: #DDA0DD; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Traveler's Wisdom 🍺</h2>
</div>
<center><img src="images/mariel/stage2/faceconfident.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Mariel's eyes sparkle with the wisdom of someone who has traveled and adventured with many companions. She leans forward with interest as she shares her insights.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceconfident" "You know, dear, traveling with all of you has taught me so much about people. You can tell a lot about someone by how they treat their companions, how they handle danger, even how they care for each other in difficult times." "she says with knowing wisdom" "It's like reading their soul, sweetheart.">>
<<else>>
<<dialog "Mariel" "faceconfident" "You know, traveling with all of you has taught me so much about people. You can tell a lot about someone by how they treat their companions, how they handle danger, even how they care for each other in difficult times." "she says with knowing wisdom" "It's like reading their soul.">>
<</if>>
<<narrative "Her observations are surprisingly insightful, showing a depth of understanding about human nature that comes from years of experience.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facesmirk" "I've learned that the best people are often the ones who don't try to impress anyone. They're just... genuine. Like you, honey. You have such a good heart, and people can sense that about you." "she says with maternal pride">>
<<else>>
<<dialog "Mariel" "facesmirk" "I've learned that the best people are often the ones who don't try to impress anyone. They're just... genuine. Like you, $humanName. You have such a good heart, and people can sense that about you." "she says with warm affection">>
<</if>>
<<narrative "Her compliment makes you feel seen and appreciated in a way that's both flattering and deeply touching.">>
<<changeAffection "Rylan" "Mariel" 1>>
<<changeAffection "Mariel" "Rylan" 1>>
<<changeAttraction "Rylan" "Mariel" 0.5>>
<<changeAttraction "Mariel" "Rylan" 0.5>>
<<elseif _randomEvent === 4>>
<!-- Event 4: Regrets and Hopes -->
<div style="background: linear-gradient(145deg, rgba(221, 160, 221, 0.15), rgba(186, 85, 211, 0.2)); border: 2px solid rgba(221, 160, 221, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(221, 160, 221, 0.3); margin-bottom: 30px;">
<h2 style="color: #DDA0DD; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Heartfelt Confession 🍺</h2>
</div>
<center><img src="images/mariel/stage2/facesad.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Mariel's expression grows more serious as she opens up about her deeper feelings. There's a vulnerability in her eyes that you haven't seen before.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facesad" "Sometimes I wonder, sweetheart... did I make the right choices? Taking on this adventuring life, putting myself in danger... I gave up so much of the safety I used to have. Sometimes I miss the person I used to be." "she says quietly" "But then I look at you and everyone else, and I know I made the right choice.">>
<<else>>
<<dialog "Mariel" "facesad" "Sometimes I wonder, $humanName... did I make the right choices? Taking on this adventuring life, putting myself in danger... I gave up so much of the safety I used to have. Sometimes I miss the person I used to be." "she says quietly" "But then I look at you and everyone else, and I know I made the right choice.">>
<</if>>
<<narrative "Her honesty is touching, and you can see the weight of her past decisions in her eyes. It's rare to see her so vulnerable.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facesmile" "You know what, dear? I think the person I am now is better than the person I was then. Back then, I was powerful but lonely. Now I have people I love, people who love me back. That's worth more than any safe, comfortable life." "she says with growing confidence">>
<<else>>
<<dialog "Mariel" "facesmile" "You know what? I think the person I am now is better than the person I was then. Back then, I was powerful but lonely. Now I have people I love, people who love me back. That's worth more than any safe, comfortable life." "she says with growing confidence">>
<</if>>
<<narrative "Her words carry such conviction and warmth that you can't help but feel honored to be part of what she values most.">>
<<changeAffection "Rylan" "Mariel" 2.5>>
<<changeAffection "Mariel" "Rylan" 2.5>>
<<changeAttraction "Rylan" "Mariel" 2>>
<<changeAttraction "Mariel" "Rylan" 2>>
<<elseif _randomEvent === 5>>
<!-- Event 5: Playful Teasing -->
<div style="background: linear-gradient(145deg, rgba(221, 160, 221, 0.15), rgba(186, 85, 211, 0.2)); border: 2px solid rgba(221, 160, 221, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(221, 160, 221, 0.3); margin-bottom: 30px;">
<h2 style="color: #DDA0DD; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Gentle Teasing 🍺</h2>
</div>
<center><img src="images/mariel/facesmirk.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Mariel's eyes twinkle with mischief as she leans in closer, a playful smile dancing on her lips. There's something unexpectedly charming about her teasing side.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facesmirk" "You know, sweetheart, I've noticed how you've been looking at Liora lately. Don't think I haven't seen those little glances you think no one notices." "she teases gently" "A $marielToHuman always knows these things, dear.">>
<<else>>
<<dialog "Mariel" "facesmirk" "You know, I've noticed how you've been looking at Liora lately. Don't think I haven't seen those little glances you think no one notices." "she teases gently" "A woman always knows these things.">>
<</if>>
<<narrative "Her observation makes your cheeks flush with embarrassment, but there's something endearing about her gentle teasing.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facelaugh" "Oh, don't be embarrassed, honey! It's sweet, really. Young love is such a beautiful thing to watch unfold. I remember when Thalor and I were first getting to know each other..." "she says with a nostalgic smile" "The way he used to get flustered when I teased him was adorable.">>
<<else>>
<<dialog "Mariel" "facelaugh" "Oh, don't be embarrassed! It's sweet, really. Young love is such a beautiful thing to watch unfold. I remember when Thalor and I were first getting to know each other..." "she says with a nostalgic smile" "The way he used to get flustered when I teased him was adorable.">>
<</if>>
<<narrative "Her stories about her own romance are both charming and slightly embarrassing, but you can't help but be drawn in by her warmth and humor.">>
<<changeAffection "Rylan" "Mariel" 1.5>>
<<changeAffection "Mariel" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Mariel" 1>>
<<changeAttraction "Mariel" "Rylan" 1>>
<<elseif _randomEvent === 6>>
<!-- Event 6: Future Dreams -->
<div style="background: linear-gradient(145deg, rgba(221, 160, 221, 0.15), rgba(186, 85, 211, 0.2)); border: 2px solid rgba(221, 160, 221, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(221, 160, 221, 0.3); margin-bottom: 30px;">
<h2 style="color: #DDA0DD; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Dreams of Tomorrow 🍺</h2>
</div>
<center><img src="images/mariel/stage2/facehappy.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Mariel's face lights up with hope and excitement as she begins to share her dreams for the future. There's something infectious about her optimism.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facehappy" "You know what I dream about, sweetheart? I dream about our little group becoming stronger and closer, where everyone feels safe and supported. A place where our $householdType can grow and flourish together through all our adventures." "she says with shining eyes" "I want to create something beautiful with all of you, dear.">>
<<else>>
<<dialog "Mariel" "facehappy" "You know what I dream about? I dream about our little group becoming stronger and closer, where everyone feels safe and supported. A place where our little community can grow and flourish together through all our adventures." "she says with shining eyes" "I want to create something beautiful with all of you.">>
<</if>>
<<narrative "Her vision is so full of hope and warmth that you can't help but be inspired by her dreams. There's something magical about her optimism.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facesmile" "And you know what, honey? I want you to be part of that dream. You have such potential, such a good heart. I can see you becoming someone truly special, someone who makes a real difference in the world." "she says with maternal pride" "I believe in you, sweetheart.">>
<<else>>
<<dialog "Mariel" "facesmile" "And you know what? I want you to be part of that dream. You have such potential, such a good heart. I can see you becoming someone truly special, someone who makes a real difference in the world." "she says with warm affection" "I believe in you.">>
<</if>>
<<narrative "Her faith in you is so genuine and heartfelt that it fills you with determination and warmth. There's something powerful about having someone believe in you so completely.">>
<<changeAffection "Rylan" "Mariel" 2>>
<<changeAffection "Mariel" "Rylan" 2>>
<<changeAttraction "Rylan" "Mariel" 1.5>>
<<changeAttraction "Mariel" "Rylan" 1.5>>
<</if>>
<div style="text-align: center; margin-top: 40px;">
<<if $timeOfDay === "evening" or $timeOfDay === "night">>
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('NightActivitiesEnd')">
🔙 Back to Activities
</div>
<<else>>
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('MorningActivityChoicesNext')">
🔙 Back to Activities
</div>
<</if>>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.15), rgba(75, 0, 130, 0.2)); border: 2px solid rgba(138, 43, 226, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(138, 43, 226, 0.3); margin-bottom: 30px;">
<h2 style="color: #8A2BE2; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Inviting Nimeria 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">What's your goal for this evening?</p>
</div>
<center><img src="images/nimeria/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "You approach Nimeria with the invitation. Her mysterious eyes sparkle with curiosity as she tilts her head, clearly intrigued by what secrets the tavern might hold.">>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Small Talk Option -->
<div style="background: linear-gradient(145deg, rgba(100, 149, 237, 0.15), rgba(65, 105, 225, 0.2)); border: 2px solid rgba(100, 149, 237, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(100, 149, 237, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(100, 149, 237, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(100, 149, 237, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernNimeriaSmallTalk')">
<div style="font-size: 4em; margin-bottom: 15px;">💬</div>
<h4 style="color: #6495ED; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Mysterious Chat</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Share secrets and explore her mysterious nature. A fascinating evening of discovery and intrigue.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(100, 149, 237, 0.1); border-radius: 8px;">
<p style="color: #B0C4DE; margin: 0; font-size: 0.9em; font-weight: bold;">+ Affection & Attraction</p>
</div>
</div>
<!-- H-Content Option (Locked) -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(60, 60, 60, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.3;">🔮</div>
<h4 style="color: #A9A9A9; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Uncover Her Secrets</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">The tavern's intimate atmosphere might help her reveal hidden depths. Perhaps you can explore her true nature together.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(105, 105, 105, 0.1); border-radius: 8px;">
<p style="color: #D3D3D3; margin: 0; font-size: 0.9em; font-weight: bold;">🔒 Coming in Future Update</p>
</div>
</div>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('GoblinTavernVisit')">
🔙 Back to Character Selection
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.15), rgba(75, 0, 130, 0.2)); border: 2px solid rgba(138, 43, 226, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(138, 43, 226, 0.3); margin-bottom: 30px;">
<h2 style="color: #8A2BE2; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Inviting Nimeria (Night) 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">What's your goal for this evening?</p>
</div>
<center><img src="images/nimeria/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "You approach Nimeria with the invitation. Her mysterious eyes sparkle with curiosity as she tilts her head, clearly intrigued by what secrets the tavern might hold.">>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Small Talk Option -->
<div style="background: linear-gradient(145deg, rgba(100, 149, 237, 0.15), rgba(65, 105, 225, 0.2)); border: 2px solid rgba(100, 149, 237, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(100, 149, 237, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(100, 149, 237, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(100, 149, 237, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernNimeriaSmallTalk')">
<div style="font-size: 4em; margin-bottom: 15px;">💬</div>
<h4 style="color: #6495ED; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Mysterious Chat</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Share secrets and explore her mysterious nature. A fascinating evening of discovery and intrigue.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(100, 149, 237, 0.1); border-radius: 8px;">
<p style="color: #B0C4DE; margin: 0; font-size: 0.9em; font-weight: bold;">+ Affection & Attraction</p>
</div>
</div>
<!-- H-Content Option (Locked) -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(60, 60, 60, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.3;">🔮</div>
<h4 style="color: #A9A9A9; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Uncover Her Secrets</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">The tavern's intimate atmosphere might help her reveal hidden depths. Perhaps you can explore her true nature together.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(105, 105, 105, 0.1); border-radius: 8px;">
<p style="color: #D3D3D3; margin: 0; font-size: 0.9em; font-weight: bold;">🔒 Coming in Future Update</p>
</div>
</div>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('GoblinTavernVisitNight')">
🔙 Back to Character Selection
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.15), rgba(75, 0, 130, 0.2)); border: 2px solid rgba(138, 43, 226, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(138, 43, 226, 0.3); margin-bottom: 30px;">
<h2 style="color: #8A2BE2; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Nimeria at the Tavern 🍺</h2>
</div>
<center><img src="images/nimeria/face.webp" style="max-width: 250px; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); margin: 20px 0;"></center>
<<narrative "Nimeria sits with an air of mysterious elegance, her eyes sparkling with hidden knowledge and playful mischief. She seems to be studying everyone around her with an almost predatory interest.">>
<<set _randomEvent = random(1, 6)>>
<<if _randomEvent === 1>>
<!-- Event 1: Mysterious Whispers -->
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.15), rgba(75, 0, 130, 0.2)); border: 2px solid rgba(138, 43, 226, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(138, 43, 226, 0.3); margin-bottom: 30px;">
<h2 style="color: #8A2BE2; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Mysterious Whispers 🍺</h2>
</div>
<center><img src="images/nimeria/facesmirk.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Nimeria leans in closer, her voice dropping to a conspiratorial whisper as she shares something that seems both innocent and deeply intriguing.">>
<<dialog "Nimeria" "facesmirk" "You know, $humanName, I've been watching everyone here tonight. The way they interact, the little secrets they think they're hiding... It's all so fascinating, don't you think?" "she says with a knowing smile" "People are so much more interesting when they don't know they're being observed.">>
<<narrative "Her words carry an almost hypnotic quality, and you find yourself drawn into her mysterious world of observation.">>
<<dialog "Nimeria" "faceplayful" "I bet you're wondering what I've noticed about you, aren't you? The way you look at certain people, the things that make your heart race... I see everything, $humanName. Everything." "she adds with a playful wink">>
<<narrative "Her insight into your thoughts and feelings is both unsettling and strangely alluring, making you feel both exposed and intrigued.">>
<<changeAffection "Rylan" "Nimeria" 1.5>>
<<changeAffection "Nimeria" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Nimeria" 2>>
<<changeAttraction "Nimeria" "Rylan" 2>>
<<elseif _randomEvent === 2>>
<!-- Event 2: Innocent Facade -->
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.15), rgba(75, 0, 130, 0.2)); border: 2px solid rgba(138, 43, 226, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(138, 43, 226, 0.3); margin-bottom: 30px;">
<h2 style="color: #8A2BE2; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Innocent Facade 🍺</h2>
</div>
<center><img src="images/nimeria/facehappy.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Nimeria's expression shifts to one of pure innocence, her eyes wide with childlike wonder as she asks seemingly naive questions.">>
<<dialog "Nimeria" "facehappy" "Oh, $humanName, I'm so glad we're here together! I've never been to a tavern before - well, not like this, anyway." "she says with genuine excitement" "Everything is so new and exciting! The music, the people, the atmosphere... It's like a whole new world!">>
<<narrative "Her innocent enthusiasm is infectious, and you find yourself charmed by her seemingly genuine wonder at the simple pleasures around her.">>
<<dialog "Nimeria" "facesmile" "I love how everyone here seems so free, so happy. No one's worried about rules or what other people think - they're just being themselves. Don't you think that's beautiful?" "she adds with a dreamy sigh">>
<<narrative "Her words carry a deeper meaning that you can't quite place, but there's something undeniably attractive about her apparent innocence and joy.">>
<<changeAffection "Rylan" "Nimeria" 2>>
<<changeAffection "Nimeria" "Rylan" 2>>
<<changeAttraction "Rylan" "Nimeria" 1.5>>
<<changeAttraction "Nimeria" "Rylan" 1.5>>
<<elseif _randomEvent === 3>>
<!-- Event 3: Seductive Teasing -->
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.15), rgba(75, 0, 130, 0.2)); border: 2px solid rgba(138, 43, 226, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(138, 43, 226, 0.3); margin-bottom: 30px;">
<h2 style="color: #8A2BE2; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Seductive Teasing 🍺</h2>
</div>
<center><img src="images/nimeria/faceseductive.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Nimeria's demeanor shifts dramatically as she leans in closer, her voice taking on a sultry, teasing quality that makes your heart race.">>
<<dialog "Nimeria" "faceseductive" "You know, $humanName, I've been thinking about our little... encounters. You seem so conflicted, so torn between what you want and what you think you should want." "she purrs" "I find that so... intriguing.">>
<<narrative "Her words are like honey, sweet and intoxicating, drawing you deeper into her web of seduction and manipulation.">>
<<dialog "Nimeria" "facesmirk" "I wonder what would happen if you just... let go. Stopped fighting against your desires, stopped worrying about what others might think." "she continues with a knowing smile" "I bet you'd be surprised at how free you could feel.">>
<<narrative "Her suggestion is both tempting and dangerous, and you find yourself both drawn to and wary of her seductive influence.">>
<<changeAffection "Rylan" "Nimeria" 1.5>>
<<changeAffection "Nimeria" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Nimeria" 2.5>>
<<changeAttraction "Nimeria" "Rylan" 2.5>>
<<elseif _randomEvent === 4>>
<!-- Event 4: Philosophical Musings -->
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.15), rgba(75, 0, 130, 0.2)); border: 2px solid rgba(138, 43, 226, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(138, 43, 226, 0.3); margin-bottom: 30px;">
<h2 style="color: #8A2BE2; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Philosophical Musings 🍺</h2>
</div>
<center><img src="images/nimeria/facethinking.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Nimeria's expression grows more thoughtful as she begins to share deep philosophical insights, her voice carrying the weight of someone who has pondered life's greatest questions.">>
<<dialog "Nimeria" "facethinking" "You know, $humanName, I've been thinking about the nature of freedom and choice. What makes someone truly free? Is it the ability to do whatever you want, or the wisdom to know what you should want?" "she says with quiet contemplation" "I think true freedom comes from understanding yourself completely.">>
<<narrative "Her words carry a depth of wisdom that belies her youthful appearance, and you find yourself drawn into her philosophical musings.">>
<<dialog "Nimeria" "facesmile" "Sometimes I think people are trapped by their own expectations, their own fears of what others might think. But what if we could break free from all those chains? What if we could be truly, completely ourselves?" "she adds with growing enthusiasm">>
<<narrative "Her vision of freedom is both inspiring and slightly unsettling, and you can't help but be intrigued by her perspective on life and choice.">>
<<changeAffection "Rylan" "Nimeria" 2>>
<<changeAffection "Nimeria" "Rylan" 2>>
<<changeAttraction "Rylan" "Nimeria" 1.5>>
<<changeAttraction "Nimeria" "Rylan" 1.5>>
<<elseif _randomEvent === 5>>
<!-- Event 5: Playful Manipulation -->
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.15), rgba(75, 0, 130, 0.2)); border: 2px solid rgba(138, 43, 226, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(138, 43, 226, 0.3); margin-bottom: 30px;">
<h2 style="color: #8A2BE2; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Playful Manipulation 🍺</h2>
</div>
<center><img src="images/nimeria/faceplayful.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Nimeria's eyes sparkle with mischief as she begins to play a subtle game of manipulation, her words carefully chosen to influence your thoughts and feelings.">>
<<dialog "Nimeria" "faceplayful" "You know what's funny, $humanName? I can tell exactly what you're thinking right now. You're wondering if I'm being genuine or if I'm just playing with you, aren't you?" "she giggles" "The truth is, I'm doing both! I'm being genuine about wanting to play with you.">>
<<narrative "Her honesty about her manipulative nature is both refreshing and slightly alarming, and you find yourself both charmed and cautious around her.">>
<<dialog "Nimeria" "facesmirk" "I like you, $humanName. You're interesting, you're conflicted, and you have so much potential. I think we could have a lot of fun together, don't you?" "she adds with a playful wink">>
<<narrative "Her suggestion is both tempting and dangerous, and you can't help but be drawn to her playful yet manipulative charm.">>
<<changeAffection "Rylan" "Nimeria" 1.5>>
<<changeAffection "Nimeria" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Nimeria" 2>>
<<changeAttraction "Nimeria" "Rylan" 2>>
<<elseif _randomEvent === 6>>
<!-- Event 6: Hidden Depths -->
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.15), rgba(75, 0, 130, 0.2)); border: 2px solid rgba(138, 43, 226, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(138, 43, 226, 0.3); margin-bottom: 30px;">
<h2 style="color: #8A2BE2; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Hidden Depths 🍺</h2>
</div>
<center><img src="images/nimeria/faceserious.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Nimeria's playful facade drops for a moment, revealing a glimpse of the complex, calculating mind beneath her innocent exterior.">>
<<dialog "Nimeria" "faceserious" "You know, $humanName, I've been watching you for a while now. I can see the potential in you, the strength that you don't even realize you have." "she says with quiet intensity" "I think you could be so much more than you are right now.">>
<<narrative "Her words carry a weight that suggests she knows more about you than she's letting on, and you find yourself both intrigued and slightly unnerved by her insight.">>
<<dialog "Nimeria" "faceconfident" "I have plans, $humanName. Big plans. And I think you could be a part of them, if you're willing to take a chance on something new." "she adds with a mysterious smile">>
<<narrative "Her suggestion is both exciting and dangerous, and you can't help but be drawn to the promise of something greater, even if you're not entirely sure what it entails.">>
<<changeAffection "Rylan" "Nimeria" 2.5>>
<<changeAffection "Nimeria" "Rylan" 2.5>>
<<changeAttraction "Rylan" "Nimeria" 2>>
<<changeAttraction "Nimeria" "Rylan" 2>>
<</if>>
<div style="text-align: center; margin-top: 40px;">
<<if $timeOfDay === "evening" or $timeOfDay === "night">>
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('NightActivitiesEnd')">
🔙 Back to Goals
</div>
<<else>>
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('MorningActivityChoicesNext')">
🔙 Back to Goals
</div>
<</if>>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.15), rgba(255, 20, 147, 0.2)); border: 2px solid rgba(255, 105, 180, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 105, 180, 0.3); margin-bottom: 30px;">
<h2 style="color: #FF69B4; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Inviting Serin 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">What's your goal for this evening?</p>
</div>
<center><img src="images/serin/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "You approach Serin with the invitation. Her eyes light up with excitement as she grins at you, clearly intrigued by the idea of visiting the goblin tavern together.">>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Small Talk Option -->
<div style="background: linear-gradient(145deg, rgba(100, 149, 237, 0.15), rgba(65, 105, 225, 0.2)); border: 2px solid rgba(100, 149, 237, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(100, 149, 237, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(100, 149, 237, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(100, 149, 237, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernSerinSmallTalk')">
<div style="font-size: 4em; margin-bottom: 15px;">💬</div>
<h4 style="color: #6495ED; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Friendly Banter</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Share some playful teasing and get to know each other better. A fun evening of friendly competition and bonding.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(100, 149, 237, 0.1); border-radius: 8px;">
<p style="color: #B0C4DE; margin: 0; font-size: 0.9em; font-weight: bold;">+ Affection & Attraction</p>
</div>
</div>
<!-- H-Content Option (Locked) -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(60, 60, 60, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.3;">🏆</div>
<h4 style="color: #A9A9A9; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Challenge Her</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">The tavern's competitive atmosphere might bring out her playful side. See if you can match her energy and explore new dynamics together.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(105, 105, 105, 0.1); border-radius: 8px;">
<p style="color: #D3D3D3; margin: 0; font-size: 0.9em; font-weight: bold;">🔒 Coming in Future Update</p>
</div>
</div>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('GoblinTavernVisit')">
🔙 Back to Character Selection
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.15), rgba(255, 20, 147, 0.2)); border: 2px solid rgba(255, 105, 180, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 105, 180, 0.3); margin-bottom: 30px;">
<h2 style="color: #FF69B4; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Inviting Serin (Night) 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">What's your goal for this evening?</p>
</div>
<center><img src="images/serin/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "You approach Serin with the invitation. Her eyes light up with excitement as she grins at you, clearly intrigued by the idea of visiting the goblin tavern together.">>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Small Talk Option -->
<div style="background: linear-gradient(145deg, rgba(100, 149, 237, 0.15), rgba(65, 105, 225, 0.2)); border: 2px solid rgba(100, 149, 237, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(100, 149, 237, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(100, 149, 237, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(100, 149, 237, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernSerinSmallTalk')">
<div style="font-size: 4em; margin-bottom: 15px;">💬</div>
<h4 style="color: #6495ED; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Friendly Banter</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Share some playful teasing and get to know each other better. A fun evening of friendly competition and bonding.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(100, 149, 237, 0.1); border-radius: 8px;">
<p style="color: #B0C4DE; margin: 0; font-size: 0.9em; font-weight: bold;">+ Affection & Attraction</p>
</div>
</div>
<!-- H-Content Option (Locked) -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(60, 60, 60, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.3;">🏆</div>
<h4 style="color: #A9A9A9; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Challenge Her</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">The tavern's competitive atmosphere might bring out her playful side. See if you can match her energy and explore new dynamics together.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(105, 105, 105, 0.1); border-radius: 8px;">
<p style="color: #D3D3D3; margin: 0; font-size: 0.9em; font-weight: bold;">🔒 Coming in Future Update</p>
</div>
</div>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('GoblinTavernVisitNight')">
🔙 Back to Character Selection
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<<set _randomEvent = random(1, 6)>>
<<if _randomEvent === 1>>
<!-- Event 1: Athletic Pride -->
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.15), rgba(255, 20, 147, 0.2)); border: 2px solid rgba(255, 105, 180, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 105, 180, 0.3); margin-bottom: 30px;">
<h2 style="color: #FF69B4; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Training Talk 🍺</h2>
</div>
<center><img src="images/serin/faceconfident.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Serin flexes her bicep playfully as she talks about her training routine, clearly proud of her athletic achievements.">>
<<dialog "Serin" "faceconfident" "You know, I've been working on my upper body strength lately. Check this out!" "she says, flexing her arm" "Not bad, right? I could probably lift you if I wanted to.">>
<<narrative "Her confidence is infectious, and you can't help but admire her dedication to fitness. There's something attractive about her athletic pride.">>
<<dialog "Serin" "facesmirk" "I bet you're impressed, aren't you? Most guys can't keep up with my training intensity. But you... you're different. You actually appreciate the work that goes into this." "she says with a teasing wink">>
<<narrative "Her teasing tone has a playful edge to it, and you find yourself drawn to her confident energy. She seems to enjoy showing off for you specifically.">>
<<changeAffection "Rylan" "Serin" 1>>
<<changeAffection "Serin" "Rylan" 1>>
<<changeAttraction "Rylan" "Serin" 0.5>>
<<changeAttraction "Serin" "Rylan" 0.5>>
<<elseif _randomEvent === 2>>
<!-- Event 2: Teasing Banter -->
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.15), rgba(255, 20, 147, 0.2)); border: 2px solid rgba(255, 105, 180, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 105, 180, 0.3); margin-bottom: 30px;">
<h2 style="color: #FF69B4; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Playful Teasing 🍺</h2>
</div>
<center><img src="images/serin/faceteasing.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Serin's eyes sparkle with mischief as she leans in closer, clearly enjoying the opportunity to tease you in this relaxed setting.">>
<<dialog "Serin" "faceteasing" "You know, I've been thinking... you're way too easy to fluster. I bet I could make you blush just by looking at you a certain way." "she says with a wicked grin">>
<<narrative "Her teasing is playful but there's an underlying warmth to it. She seems to genuinely enjoy your reactions to her provocations.">>
<<dialog "Serin" "facesmirk" "What? No comeback? I thought you were supposed to be the clever one in our group. Come on, give me your best shot!" "she challenges, clearly enjoying the banter">>
<<narrative "There's something endearing about how she pushes you to engage with her teasing. It's like she wants to see more of your personality come out.">>
<<changeAffection "Rylan" "Serin" 1.5>>
<<changeAffection "Serin" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Serin" 1>>
<<changeAttraction "Serin" "Rylan" 1>>
<<elseif _randomEvent === 3>>
<!-- Event 3: Competitive Spirit -->
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.15), rgba(255, 20, 147, 0.2)); border: 2px solid rgba(255, 105, 180, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 105, 180, 0.3); margin-bottom: 30px;">
<h2 style="color: #FF69B4; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Challenge Accepted 🍺</h2>
</div>
<center><img src="images/serin/facehappy.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Serin's competitive nature comes out as she talks about various challenges and competitions, her eyes lighting up with excitement.">>
<<dialog "Serin" "facehappy" "You know what? I bet I could beat you in an arm wrestling match right now. Want to find out? I've been training extra hard lately." "she says with a confident smile">>
<<narrative "Her competitive spirit is both intimidating and attractive. There's something appealing about her determination and physical confidence.">>
<<dialog "Serin" "facesmirk" "What's the matter? Scared you'll lose to a girl? Don't worry, I'll go easy on you... maybe." "she teases, clearly enjoying the challenge">>
<<narrative "Her playful taunting has a flirty edge to it, and you find yourself drawn to her competitive energy. She seems to enjoy pushing your buttons.">>
<<changeAffection "Rylan" "Serin" 1>>
<<changeAffection "Serin" "Rylan" 1>>
<<changeAttraction "Rylan" "Serin" 0.5>>
<<changeAttraction "Serin" "Rylan" 0.5>>
<<elseif _randomEvent === 4>>
<!-- Event 4: Hidden Vulnerability -->
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.15), rgba(255, 20, 147, 0.2)); border: 2px solid rgba(255, 105, 180, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 105, 180, 0.3); margin-bottom: 30px;">
<h2 style="color: #FF69B4; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Soft Side 🍺</h2>
</div>
<center><img src="images/serin/faceembarrassed.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "For a moment, Serin's confident facade cracks, revealing a more vulnerable side that she rarely shows to others.">>
<<dialog "Serin" "faceembarrassed" "You know... sometimes I worry that people only like me because I'm strong. Like, what if they don't see the real me underneath all this?" "she admits quietly">>
<<narrative "Her honesty is touching, and you can see how much it means to her to share this with you. There's something special about her opening up.">>
<<dialog "Serin" "faceembarrassed" "I... I'm glad I can talk to you about this stuff. You always seem to understand me better than most people do." "she says with a shy smile">>
<<narrative "Her vulnerability makes her even more endearing, and you find yourself wanting to protect this softer side of her that she rarely shows.">>
<<changeAffection "Rylan" "Serin" 2>>
<<changeAffection "Serin" "Rylan" 2>>
<<changeAttraction "Rylan" "Serin" 1.5>>
<<changeAttraction "Serin" "Rylan" 1.5>>
<<elseif _randomEvent === 5>>
<!-- Event 5: Flirty Confidence -->
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.15), rgba(255, 20, 147, 0.2)); border: 2px solid rgba(255, 105, 180, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 105, 180, 0.3); margin-bottom: 30px;">
<h2 style="color: #FF69B4; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Bold Moves 🍺</h2>
</div>
<center><img src="images/serin/facesmirk.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Serin leans in closer with a confident smirk, clearly enjoying the opportunity to be more direct with her flirting in this relaxed setting.">>
<<dialog "Serin" "facesmirk" "You know what I like about you? You don't get intimidated by my strength. Most guys either try to show off or get all weird about it. But you... you just appreciate it for what it is." "she says with a knowing look">>
<<narrative "Her directness is refreshing, and there's something attractive about how confident she is in expressing her interest. She seems to know exactly what she wants.">>
<<dialog "Serin" "faceteasing" "I bet you're thinking about how impressive I am, aren't you? Admit it!" "she teases with a playful wink">>
<<narrative "Her teasing has a flirty edge that makes your heart race. She seems to enjoy making you flustered, and you find yourself drawn to her bold confidence.">>
<<changeAffection "Rylan" "Serin" 1.5>>
<<changeAffection "Serin" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Serin" 1.5>>
<<changeAttraction "Serin" "Rylan" 1.5>>
<<else>>
<!-- Event 6: Future Dreams -->
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.15), rgba(255, 20, 147, 0.2)); border: 2px solid rgba(255, 105, 180, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 105, 180, 0.3); margin-bottom: 30px;">
<h2 style="color: #FF69B4; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Future Plans 🍺</h2>
</div>
<center><img src="images/serin/facehappy.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Serin's eyes light up as she talks about her dreams and aspirations, showing a more thoughtful side of her personality.">>
<<dialog "Serin" "facehappy" "You know, I've been thinking about what I want to do after all this adventuring stuff is over. Maybe I'll open a training gym, or become a combat instructor. Something where I can help other people get stronger." "she says with enthusiasm">>
<<narrative "Her passion for helping others is endearing, and you can see how much she cares about making a difference in people's lives.">>
<<dialog "Serin" "facesmirk" "And of course, I'd want you there with me. I bet you'd make a great assistant instructor. You're pretty good at motivating people, you know." "she says with a teasing smile">>
<<narrative "Her inclusion of you in her future plans makes your heart skip a beat. There's something special about how she sees you as part of her long-term goals.">>
<<changeAffection "Rylan" "Serin" 2>>
<<changeAffection "Serin" "Rylan" 2>>
<<changeAttraction "Rylan" "Serin" 1>>
<<changeAttraction "Serin" "Rylan" 1>>
<</if>>
<div style="text-align: center; margin-top: 40px;">
<<if $timeOfDay === "evening" or $timeOfDay === "night">>
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('NightActivitiesEnd')">
🔙 Back to Goals
</div>
<<else>>
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('MorningActivityChoicesNext')">
🔙 Back to Goals
</div>
<</if>>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(240, 230, 140, 0.15), rgba(255, 215, 0, 0.2)); border: 2px solid rgba(240, 230, 140, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(240, 230, 140, 0.3); margin-bottom: 30px;">
<h2 style="color: #F0E68C; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Inviting Seryk 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">What's your goal for this evening?</p>
</div>
<center><img src="images/seryk/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "You approach Seryk with the invitation. His noble face lights up with a warm smile as he nods approvingly, clearly pleased that you'd want to share this experience with him.">>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Small Talk Option -->
<div style="background: linear-gradient(145deg, rgba(100, 149, 237, 0.15), rgba(65, 105, 225, 0.2)); border: 2px solid rgba(100, 149, 237, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(100, 149, 237, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(100, 149, 237, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(100, 149, 237, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernSerykSmallTalk')">
<div style="font-size: 4em; margin-bottom: 15px;">💬</div>
<h4 style="color: #6495ED; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Noble Conversation</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Share warrior stories and discuss honor. A dignified evening of bonding and mutual respect.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(100, 149, 237, 0.1); border-radius: 8px;">
<p style="color: #B0C4DE; margin: 0; font-size: 0.9em; font-weight: bold;">+ Affection & Attraction</p>
</div>
</div>
<!-- H-Content Option (Locked) -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(60, 60, 60, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.3;">⚔️</div>
<h4 style="color: #A9A9A9; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Test His Strength</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">The tavern's competitive atmosphere might bring out his warrior spirit. Perhaps you can explore a more physical connection together.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(105, 105, 105, 0.1); border-radius: 8px;">
<p style="color: #D3D3D3; margin: 0; font-size: 0.9em; font-weight: bold;">🔒 Coming in Future Update</p>
</div>
</div>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('GoblinTavernVisit')">
🔙 Back to Character Selection
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(240, 230, 140, 0.15), rgba(255, 215, 0, 0.2)); border: 2px solid rgba(240, 230, 140, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(240, 230, 140, 0.3); margin-bottom: 30px;">
<h2 style="color: #F0E68C; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Inviting Seryk (Night) 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">What's your goal for this evening?</p>
</div>
<center><img src="images/seryk/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "You approach Seryk with the invitation. His noble face lights up with a warm smile as he nods approvingly, clearly pleased that you'd want to share this experience with him.">>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Small Talk Option -->
<div style="background: linear-gradient(145deg, rgba(100, 149, 237, 0.15), rgba(65, 105, 225, 0.2)); border: 2px solid rgba(100, 149, 237, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(100, 149, 237, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(100, 149, 237, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(100, 149, 237, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernSerykSmallTalk')">
<div style="font-size: 4em; margin-bottom: 15px;">💬</div>
<h4 style="color: #6495ED; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Noble Conversation</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Share warrior stories and discuss honor. A dignified evening of bonding and mutual respect.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(100, 149, 237, 0.1); border-radius: 8px;">
<p style="color: #B0C4DE; margin: 0; font-size: 0.9em; font-weight: bold;">+ Affection & Attraction</p>
</div>
</div>
<!-- H-Content Option (Locked) -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(60, 60, 60, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.3;">⚔️</div>
<h4 style="color: #A9A9A9; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Test His Strength</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">The tavern's competitive atmosphere might bring out his warrior spirit. Perhaps you can explore a more physical connection together.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(105, 105, 105, 0.1); border-radius: 8px;">
<p style="color: #D3D3D3; margin: 0; font-size: 0.9em; font-weight: bold;">🔒 Coming in Future Update</p>
</div>
</div>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('GoblinTavernVisitNight')">
🔙 Back to Character Selection
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<<set _randomEvent = Math.floor(Math.random() * 6) + 1>>
<<if _randomEvent === 1>>
<!-- Event 1: Training Talk -->
<div style="background: linear-gradient(145deg, rgba(240, 230, 140, 0.15), rgba(255, 215, 0, 0.2)); border: 2px solid rgba(240, 230, 140, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(240, 230, 140, 0.3); margin-bottom: 30px;">
<h2 style="color: #F0E68C; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Training Talk 🍺</h2>
</div>
<center><img src="images/seryk/faceconfident.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Seryk's eyes light up with enthusiasm as he begins to share his passion for physical training and combat. His muscular frame seems to radiate confidence.">>
<<dialog "Seryk" "faceconfident" "You know, bro, there's nothing quite like the feeling after a good workout. Your muscles are tired but strong, your mind is clear, and you know you've pushed yourself to be better than yesterday." "he says with genuine enthusiasm" "That's what I love about training - every day is a chance to improve.">>
<<narrative "His passion for physical improvement is infectious, and you can see the dedication in his eyes as he speaks about his training philosophy.">>
<<dialog "Seryk" "facesmile" "I've been thinking about showing you some new techniques. You've got potential, bro - with the right training, you could really surprise people." "he adds with a friendly grin">>
<<narrative "His offer to help you improve shows his generous nature and genuine care for your development.">>
<<changeAffection "Rylan" "Seryk" 1.5>>
<<changeAffection "Seryk" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Seryk" 1.5>>
<<changeAttraction "Seryk" "Rylan" 1.5>>
<<elseif _randomEvent === 2>>
<!-- Event 2: Brotherly Bonding -->
<div style="background: linear-gradient(145deg, rgba(240, 230, 140, 0.15), rgba(255, 215, 0, 0.2)); border: 2px solid rgba(240, 230, 140, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(240, 230, 140, 0.3); margin-bottom: 30px;">
<h2 style="color: #F0E68C; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Brotherly Bonding 🍺</h2>
</div>
<center><img src="images/seryk/facehappy.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Seryk's expression softens as he opens up about the bond he feels with you. There's something warm and genuine in his eyes.">>
<<dialog "Seryk" "facehappy" "You know what, bro? I'm really glad we met. Having someone to train with, to fight alongside... it means more to me than you might realize." "he says with quiet sincerity" "I've always believed that the strongest bonds are forged through shared challenges.">>
<<narrative "His words carry a depth of feeling that shows how much he values your friendship and partnership.">>
<<dialog "Seryk" "facesmile" "I know I can count on you, and that's not something I take for granted. In this world, having someone you can trust completely... that's everything." "he adds with a warm smile">>
<<narrative "His trust and faith in you creates a powerful moment of connection between you both.">>
<<changeAffection "Rylan" "Seryk" 2.5>>
<<changeAffection "Seryk" "Rylan" 2.5>>
<<changeAttraction "Rylan" "Seryk" 2>>
<<changeAttraction "Seryk" "Rylan" 2>>
<<elseif _randomEvent === 3>>
<!-- Event 3: Past Reflections -->
<div style="background: linear-gradient(145deg, rgba(240, 230, 140, 0.15), rgba(255, 215, 0, 0.2)); border: 2px solid rgba(240, 230, 140, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(240, 230, 140, 0.3); margin-bottom: 30px;">
<h2 style="color: #F0E68C; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Past Reflections 🍺</h2>
</div>
<center><img src="images/seryk/facesad.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Seryk's usual confident demeanor shifts as he begins to share thoughts about his past. There's a vulnerability in his expression that's rarely seen.">>
<<dialog "Seryk" "facesad" "Sometimes I think about what it was like before all this, bro. When I was just a kid, before I had to grow up so fast." "he says quietly" "I miss the simplicity of those days, when the biggest worry was whether I'd get to play with friends.">>
<<narrative "His honesty about his difficult past shows a side of Seryk that's deeply human and relatable.">>
<<dialog "Seryk" "faceserious" "But you know what? I wouldn't change it. Those experiences made me who I am today. They taught me what really matters - loyalty, strength, justice. Protecting the people you care about." "he says with growing conviction">>
<<narrative "His resilience and positive outlook despite his hardships is both inspiring and touching.">>
<<changeAffection "Rylan" "Seryk" 2>>
<<changeAffection "Seryk" "Rylan" 2>>
<<changeAttraction "Rylan" "Seryk" 1.5>>
<<changeAttraction "Seryk" "Rylan" 1.5>>
<<elseif _randomEvent === 4>>
<!-- Event 4: Playful Teasing -->
<div style="background: linear-gradient(145deg, rgba(240, 230, 140, 0.15), rgba(255, 215, 0, 0.2)); border: 2px solid rgba(240, 230, 140, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(240, 230, 140, 0.3); margin-bottom: 30px;">
<h2 style="color: #F0E68C; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Playful Teasing 🍺</h2>
</div>
<center><img src="images/seryk/facesmirk.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Seryk's eyes sparkle with mischief as he leans in closer, a playful grin spreading across his face.">>
<<dialog "Seryk" "facesmirk" "You know, bro, I've been noticing something about you lately. You get this look in your eyes sometimes, like you're trying really hard not to stare." "he teases with a knowing smile" "Don't worry, I'm used to it. Can't blame people for appreciating the view.">>
<<narrative "His teasing has a flirty edge that makes your heart race. He seems to enjoy making you flustered.">>
<<dialog "Seryk" "facegrin" "I bet you're thinking about how lucky you are to have such a strong, handsome training partner, aren't you?" "he continues with a playful wink">>
<<narrative "His confidence and playful nature is both charming and slightly overwhelming, making you feel both attracted and flustered.">>
<<changeAffection "Rylan" "Seryk" 1.5>>
<<changeAffection "Seryk" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Seryk" 2>>
<<changeAttraction "Seryk" "Rylan" 2>>
<<elseif _randomEvent === 5>>
<!-- Event 5: Future Dreams -->
<div style="background: linear-gradient(145deg, rgba(240, 230, 140, 0.15), rgba(255, 215, 0, 0.2)); border: 2px solid rgba(240, 230, 140, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(240, 230, 140, 0.3); margin-bottom: 30px;">
<h2 style="color: #F0E68C; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Future Dreams 🍺</h2>
</div>
<center><img src="images/seryk/faceconfident.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Seryk's expression grows more serious as he shares his hopes for the future. There's a determination in his eyes that's inspiring.">>
<<dialog "Seryk" "faceconfident" "You know what I dream about, bro? I want to build something better than what we have now. A place where people don't have to live in fear, where strength is used to protect, not to dominate." "he says with quiet determination" "I want to be part of something that makes the world better.">>
<<narrative "His vision for the future is both noble and ambitious, showing the depth of his character beyond his physical strength.">>
<<dialog "Seryk" "facesmile" "And I want to do it with people I can trust, people who share those same values. People like you, bro." "he adds with a warm smile">>
<<narrative "His inclusion of you in his dreams creates a powerful sense of partnership and shared purpose.">>
<<changeAffection "Rylan" "Seryk" 2.5>>
<<changeAffection "Seryk" "Rylan" 2.5>>
<<changeAttraction "Rylan" "Seryk" 2>>
<<changeAttraction "Seryk" "Rylan" 2>>
<<elseif _randomEvent === 6>>
<!-- Event 6: Unexpected Vulnerability -->
<div style="background: linear-gradient(145deg, rgba(240, 230, 140, 0.15), rgba(255, 215, 0, 0.2)); border: 2px solid rgba(240, 230, 140, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(240, 230, 140, 0.3); margin-bottom: 30px;">
<h2 style="color: #F0E68C; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Unexpected Vulnerability 🍺</h2>
</div>
<center><img src="images/seryk/faceembarrassed.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Seryk's usual confidence seems to waver as he opens up about something personal. It's rare to see him so vulnerable.">>
<<dialog "Seryk" "faceembarrassed" "You know, bro, sometimes I worry that people only see the muscles, you know? That they don't see the person underneath." "he says quietly" "I want to be known for more than just being strong.">>
<<narrative "His vulnerability is touching, showing a depth of character that goes beyond his physical appearance.">>
<<dialog "Seryk" "facesad" "I want people to see that I care about them, that I'm loyal, that I have dreams and fears just like everyone else." "he continues with growing emotion" "I want to be more than just a warrior.">>
<<narrative "His honesty about wanting to be seen as a complete person rather than just a physical specimen is deeply moving.">>
<<changeAffection "Rylan" "Seryk" 2.5>>
<<changeAffection "Seryk" "Rylan" 2.5>>
<<changeAttraction "Rylan" "Seryk" 2.5>>
<<changeAttraction "Seryk" "Rylan" 2.5>>
<</if>>
<div style="text-align: center; margin-top: 40px;">
<<if $timeOfDay === "evening" or $timeOfDay === "night">>
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('NightActivitiesEnd')">
🔙 Back to Goals
</div>
<<else>>
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('MorningActivityChoicesNext')">
🔙 Back to Goals
</div>
<</if>>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 182, 193, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 182, 193, 0.3); margin-bottom: 30px;">
<h2 style="color: #FFB6C1; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Inviting Sora 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">What's your goal for this evening?</p>
</div>
<center><img src="images/sora/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "You approach Sora with the invitation. The fashion designer's eyes sparkle with creative excitement as she considers the unique setting, clearly intrigued by the artistic possibilities.">>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Small Talk Option -->
<div style="background: linear-gradient(145deg, rgba(100, 149, 237, 0.15), rgba(65, 105, 225, 0.2)); border: 2px solid rgba(100, 149, 237, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(100, 149, 237, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(100, 149, 237, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(100, 149, 237, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernSoraSmallTalk')">
<div style="font-size: 4em; margin-bottom: 15px;">💬</div>
<h4 style="color: #6495ED; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Creative Discussion</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Share ideas and discuss fashion. A inspiring evening of creative bonding and artistic exploration.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(100, 149, 237, 0.1); border-radius: 8px;">
<p style="color: #B0C4DE; margin: 0; font-size: 0.9em; font-weight: bold;">+ Affection & Attraction</p>
</div>
</div>
<!-- H-Content Option (Locked) -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(60, 60, 60, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.3;">🎨</div>
<h4 style="color: #A9A9A9; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Inspire Her Creativity</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">The tavern's unique atmosphere might spark his artistic passion. Perhaps you can explore a more intimate creative connection together.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(105, 105, 105, 0.1); border-radius: 8px;">
<p style="color: #D3D3D3; margin: 0; font-size: 0.9em; font-weight: bold;">🔒 Coming in Future Update</p>
</div>
</div>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('GoblinTavernVisit')">
🔙 Back to Character Selection
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 182, 193, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 182, 193, 0.3); margin-bottom: 30px;">
<h2 style="color: #FFB6C1; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Inviting Sora 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">What's your goal for this evening?</p>
</div>
<center><img src="images/sora/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "You approach Sora with the invitation. The fashion designer's eyes sparkle with creative excitement as she considers the unique setting, clearly intrigued by the artistic possibilities.">>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Small Talk Option -->
<div style="background: linear-gradient(145deg, rgba(100, 149, 237, 0.15), rgba(65, 105, 225, 0.2)); border: 2px solid rgba(100, 149, 237, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(100, 149, 237, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(100, 149, 237, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(100, 149, 237, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernSoraSmallTalk')">
<div style="font-size: 4em; margin-bottom: 15px;">💬</div>
<h4 style="color: #6495ED; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Creative Discussion</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Share ideas and discuss fashion. A inspiring evening of creative bonding and artistic exploration.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(100, 149, 237, 0.1); border-radius: 8px;">
<p style="color: #B0C4DE; margin: 0; font-size: 0.9em; font-weight: bold;">+ Affection & Attraction</p>
</div>
</div>
<!-- H-Content Option (Locked) -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(60, 60, 60, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.3;">🎨</div>
<h4 style="color: #A9A9A9; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Inspire Her Creativity</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">The tavern's unique atmosphere might spark his passion. Perhaps you can explore a more intimate connection together.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(105, 105, 105, 0.1); border-radius: 8px;">
<p style="color: #D3D3D3; margin: 0; font-size: 0.9em; font-weight: bold;">🔒 Coming in Future Update</p>
</div>
</div>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('GoblinTavernVisitNight')">
🔙 Back to Character Selection
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<<set _randomEvent = Math.floor(Math.random() * 6) + 1>>
<<if _randomEvent === 1>>
<!-- Event 1: Fashion Enthusiasm -->
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 182, 193, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 182, 193, 0.3); margin-bottom: 30px;">
<h2 style="color: #FFB6C1; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Fashion Enthusiasm 🍺</h2>
</div>
<center><img src="images/sora/facehappy.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Sora's eyes light up with excitement as he begins talking about his passion for fashion and design. His enthusiasm is infectious.">>
<<dialog "Sora" "facehappy" "Oh my gosh, you have to see what I'm working on next!" "he exclaims" "I've been designing this absolutely stunning collection that would make anyone look irresistible!">>
<<narrative "His passion for fashion is evident in every word, and you can see the creative spark in his eyes as he describes his designs.">>
<<dialog "Sora" "facesmirk" "I mean, who says dungeons have to be dark and dreary? We can be stylish AND powerful!" "he says with a theatrical flourish" "Fashion is about expressing yourself, showing the world who you really are!">>
<<narrative "His philosophy on fashion and self-expression is surprisingly deep, showing there's more to him than just his playful exterior.">>
<<changeAffection "Rylan" "Sora" 1.5>>
<<changeAffection "Sora" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Sora" 1.5>>
<<changeAttraction "Sora" "Rylan" 1.5>>
<<elseif _randomEvent === 2>>
<!-- Event 2: Playful Teasing -->
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 182, 193, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 182, 193, 0.3); margin-bottom: 30px;">
<h2 style="color: #FFB6C1; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Playful Teasing 🍺</h2>
</div>
<center><img src="images/sora/facesmirk.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Sora's eyes sparkle with mischief as he leans in closer, a playful grin spreading across his face.">>
<<dialog "Sora" "facesmirk" "You know, $humanName, I've been watching you," "he says with a knowing smile" "and I think you're trying way too hard to be serious all the time.">>
<<narrative "His teasing has a flirty edge that makes your heart race. He seems to enjoy making you flustered.">>
<<dialog "Sora" "faceplayful" "Come on, let loose a little! Life's too short to be so uptight all the time." "he teases with a playful wink" "I bet you'd look amazing in something a bit more... revealing.">>
<<narrative "His confidence and playful nature is both charming and slightly overwhelming, making you feel both attracted and flustered.">>
<<changeAffection "Rylan" "Sora" 1.5>>
<<changeAffection "Sora" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Sora" 2>>
<<changeAttraction "Sora" "Rylan" 2>>
<<elseif _randomEvent === 3>>
<!-- Event 3: Unexpected Vulnerability -->
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 182, 193, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 182, 193, 0.3); margin-bottom: 30px;">
<h2 style="color: #FFB6C1; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Unexpected Vulnerability 🍺</h2>
</div>
<center><img src="images/sora/faceembarrassed.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Sora's usual playful demeanor shifts as he opens up about something more personal. It's rare to see him so vulnerable.">>
<<dialog "Sora" "faceembarrassed" "You know, sometimes I worry that people only see the surface, you know? The playful, flirty catboy who's always joking around." "he says quietly" "But there's more to me than just that.">>
<<narrative "His vulnerability is touching, showing a depth of character that goes beyond his theatrical exterior.">>
<<dialog "Sora" "facesad" "I want people to see that I care about them, that I have dreams and fears just like everyone else." "he continues with growing emotion" "I want to be more than just the funny one.">>
<<narrative "His honesty about wanting to be seen as a complete person rather than just a caricature is deeply moving.">>
<<changeAffection "Rylan" "Sora" 2.5>>
<<changeAffection "Sora" "Rylan" 2.5>>
<<changeAttraction "Rylan" "Sora" 2>>
<<changeAttraction "Sora" "Rylan" 2>>
<<elseif _randomEvent === 4>>
<!-- Event 4: Creative Dreams -->
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 182, 193, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 182, 193, 0.3); margin-bottom: 30px;">
<h2 style="color: #FFB6C1; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Creative Dreams 🍺</h2>
</div>
<center><img src="images/sora/faceconfident.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Sora's expression grows more serious as he shares his hopes for the future. There's a determination in his eyes that's inspiring.">>
<<dialog "Sora" "faceconfident" "You know what I dream about, $humanName? I want to create something that changes the world." "he says with quiet determination" "Not through war or politics, but through beauty and creativity.">>
<<narrative "His vision for the future is both noble and ambitious, showing the depth of his character beyond his playful exterior.">>
<<dialog "Sora" "facesmile" "I want to make people feel confident, beautiful, and powerful through what they wear." "he adds with a warm smile" "And I want to do it with people I can trust, people who share those same values.">>
<<narrative "His inclusion of you in his dreams creates a powerful sense of partnership and shared purpose.">>
<<changeAffection "Rylan" "Sora" 2.5>>
<<changeAffection "Sora" "Rylan" 2.5>>
<<changeAttraction "Rylan" "Sora" 2>>
<<changeAttraction "Sora" "Rylan" 2>>
<<elseif _randomEvent === 5>>
<!-- Event 5: Flirty Confessions -->
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 182, 193, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 182, 193, 0.3); margin-bottom: 30px;">
<h2 style="color: #FFB6C1; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Flirty Confessions 🍺</h2>
</div>
<center><img src="images/sora/facewet.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Sora leans in closer with a mischievous glint in his eyes, his voice dropping to a sultry whisper.">>
<<dialog "Sora" "facewet" "You know what, $humanName? I've been thinking about you a lot lately." "he purrs" "There's something about you that just... draws me in. Maybe it's the way you try to act all serious when you're clearly not.">>
<<narrative "His flirty tone and the way he's looking at you makes your heart race. He seems to enjoy making you flustered.">>
<<dialog "Sora" "facesmirk" "I bet you're wondering what I'd look like in something really revealing, aren't you?" "he teases with a playful wink" "Or maybe you're thinking about what it would be like to... get to know me better?">>
<<narrative "His confidence and playful seduction is both charming and overwhelming, making you feel both attracted and completely flustered.">>
<<changeAffection "Rylan" "Sora" 2>>
<<changeAffection "Sora" "Rylan" 2>>
<<changeAttraction "Rylan" "Sora" 2.5>>
<<changeAttraction "Sora" "Rylan" 2.5>>
<<elseif _randomEvent === 6>>
<!-- Event 6: Theatrical Performance -->
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 182, 193, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 182, 193, 0.3); margin-bottom: 30px;">
<h2 style="color: #FFB6C1; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Theatrical Performance 🍺</h2>
</div>
<center><img src="images/sora/facelaugh.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Sora suddenly breaks into a dramatic performance, complete with exaggerated gestures and theatrical flair.">>
<<dialog "Sora" "facelaugh" "Oh, the tragedy!" "he exclaims dramatically" "Here I am, a poor, misunderstood catboy, forced to endure the hardships of this cruel world!">>
<<narrative "His performance is so over-the-top that you can't help but laugh. He seems to enjoy making you smile.">>
<<dialog "Sora" "faceplayful" "But wait! There's hope!" "he continues with a flourish" "For I have found kindred spirits who appreciate my... unique talents!">>
<<narrative "His theatrical nature is both entertaining and endearing, showing his playful spirit and desire to bring joy to others.">>
<<changeAffection "Rylan" "Sora" 1.5>>
<<changeAffection "Sora" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Sora" 1.5>>
<<changeAttraction "Sora" "Rylan" 1.5>>
<</if>>
<div style="text-align: center; margin-top: 40px;">
<<if $timeOfDay === "evening" or $timeOfDay === "night">>
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('NightActivitiesEnd')">
🔙 Back to Goals
</div>
<<else>>
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('MorningActivityChoicesNext')">
🔙 Back to Goals
</div>
<</if>>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(169, 169, 169, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); margin-bottom: 30px;">
<h2 style="color: #A9A9A9; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Inviting Thalor 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">What's your goal for this evening?</p>
</div>
<center><img src="images/thalor/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "You approach Thalor with the invitation. His stern expression softens slightly as he considers your offer, clearly surprised but not displeased by your gesture.">>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Small Talk Option -->
<div style="background: linear-gradient(145deg, rgba(100, 149, 237, 0.15), rgba(65, 105, 225, 0.2)); border: 2px solid rgba(100, 149, 237, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(100, 149, 237, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(100, 149, 237, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(100, 149, 237, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernThalorSmallTalk')">
<div style="font-size: 4em; margin-bottom: 15px;">💬</div>
<h4 style="color: #6495ED; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Guardian Wisdom</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Share stories and seek his guidance. A respectful evening of bonding and learning from his experience.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(100, 149, 237, 0.1); border-radius: 8px;">
<p style="color: #B0C4DE; margin: 0; font-size: 0.9em; font-weight: bold;">+ Affection & Attraction</p>
</div>
</div>
<!-- H-Content Option -->
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.15), rgba(255, 192, 203, 0.2)); border: 2px solid rgba(255, 182, 193, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 182, 193, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(255, 182, 193, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(255, 182, 193, 0.3)'"
onclick="SugarCube.Engine.play('Ch7ThalorRylanTavern')">
<div style="font-size: 4em; margin-bottom: 15px;">🍺</div>
<h4 style="color: #FFB6C1; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Drinking Challenge</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">The tavern's relaxed atmosphere might help him lower his defenses. Perhaps you can explore a more personal connection together.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(255, 182, 193, 0.1); border-radius: 8px;">
<p style="color: #FFB6C1; margin: 0; font-size: 0.9em; font-weight: bold;">+ Drinking & Bonding</p>
</div>
</div>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('GoblinTavernVisit')">
🔙 Back to Character Selection
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(169, 169, 169, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); margin-bottom: 30px;">
<h2 style="color: #A9A9A9; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Inviting Thalor (Night) 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">What's your goal for this evening?</p>
</div>
<center><img src="images/thalor/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "You approach Thalor with the invitation. His stern expression softens slightly as he considers your offer, clearly surprised but not displeased by your gesture.">>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Small Talk Option -->
<div style="background: linear-gradient(145deg, rgba(100, 149, 237, 0.15), rgba(65, 105, 225, 0.2)); border: 2px solid rgba(100, 149, 237, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(100, 149, 237, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(100, 149, 237, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(100, 149, 237, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernThalorSmallTalk')">
<div style="font-size: 4em; margin-bottom: 15px;">💬</div>
<h4 style="color: #6495ED; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Guardian Wisdom</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Share stories and seek his guidance. A respectful evening of bonding and learning from his experience.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(100, 149, 237, 0.1); border-radius: 8px;">
<p style="color: #B0C4DE; margin: 0; font-size: 0.9em; font-weight: bold;">+ Affection & Attraction</p>
</div>
</div>
<!-- H-Content Option -->
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.15), rgba(255, 192, 203, 0.2)); border: 2px solid rgba(255, 182, 193, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 182, 193, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(255, 182, 193, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(255, 182, 193, 0.3)'"
onclick="SugarCube.Engine.play('Ch7ThalorRylanTavern')">
<div style="font-size: 4em; margin-bottom: 15px;">🍺</div>
<h4 style="color: #FFB6C1; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Drinking Challenge</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">The tavern's relaxed atmosphere might help him lower his defenses. Perhaps you can explore a more personal connection together.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(255, 182, 193, 0.1); border-radius: 8px;">
<p style="color: #FFB6C1; margin: 0; font-size: 0.9em; font-weight: bold;">+ Drinking & Bonding</p>
</div>
</div>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('GoblinTavernVisitNight')">
🔙 Back to Character Selection
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<<set _randomEvent = Math.floor(Math.random() * 6) + 1>>
<<if _randomEvent === 1>>
<!-- Event 1: Battle Stories -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(169, 169, 169, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); margin-bottom: 30px;">
<h2 style="color: #A9A9A9; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Battle Stories 🍺</h2>
</div>
<center><img src="images/thalor/faceconfident.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "$humanToThalor's eyes light up as he begins to share tales from his warrior days. There's a certain pride in his voice as he recounts battles from the past.">>
<<dialog "Thalor" "faceconfident" "You know, $humanName, I've seen many battles in my time. But the ones that matter most aren't always the grandest victories. Sometimes it's the small moments - a comrade's hand when you're about to fall, a shared look of understanding before the charge." "he says with quiet pride" "Those are the memories that stay with you.">>
<<narrative "His stories carry weight and wisdom, showing a side of $humanToThalor that's more reflective than his usual stern demeanor.">>
<<dialog "Thalor" "faceserious" "The mark of a true warrior isn't just skill with a blade, but knowing when to fight and when to protect. I've learned that lesson the hard way." "he adds with a hint of regret">>
<<narrative "There's something deeply human about his vulnerability in this moment, showing the man behind the warrior.">>
<<changeAffection "Rylan" "Thalor" 1.5>>
<<changeAffection "Thalor" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Thalor" 1>>
<<changeAttraction "Thalor" "Rylan" 1>>
<<elseif _randomEvent === 2>>
<!-- Event 2: Fatherly Advice -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(169, 169, 169, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); margin-bottom: 30px;">
<h2 style="color: #A9A9A9; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Fatherly Wisdom 🍺</h2>
</div>
<center><img src="images/thalor/faceserious.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "$humanToThalor's expression grows more serious as he leans forward, his usual stern demeanor softened by genuine concern.">>
<<dialog "Thalor" "faceserious" "Listen, $humanName, I know I haven't always been the $thalorToHuman you deserved. I've been too focused on the past, too burdened by my own failures to give you the guidance you needed." "he says with rare vulnerability" "But I want you to know that I'm proud of the man you've become.">>
<<narrative "His words carry genuine emotion, showing a side of $thalorToHuman that's rarely seen - the caring $thalorToHuman beneath the stern exterior.">>
<<dialog "Thalor" "face" "You're leading us now, and that's not something I take lightly. You've grown into someone I can respect, someone I can follow. That means more to me than you might realize." "he says with quiet pride">>
<<narrative "The weight of his words and the emotion in his voice creates a powerful moment of connection between you.">>
<<changeAffection "Rylan" "Thalor" 2.5>>
<<changeAffection "Thalor" "Rylan" 2.5>>
<<changeAttraction "Rylan" "Thalor" 1.5>>
<<changeAttraction "Thalor" "Rylan" 1.5>>
<<elseif _randomEvent === 3>>
<!-- Event 3: Regret and Redemption -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(169, 169, 169, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); margin-bottom: 30px;">
<h2 style="color: #A9A9A9; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Heavy Burdens 🍺</h2>
</div>
<center><img src="images/thalor/facesad.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "$humanToThalor's usual stoic expression cracks slightly as he opens up about the weight he's been carrying. The tavern's atmosphere seems to make him more willing to share his deeper thoughts.">>
<<dialog "Thalor" "facesad" "There are decisions I've made that will haunt me until my dying day, $humanName. Choices that seemed necessary at the time, but cost me pieces of my soul." "he says quietly" "The hardest part isn't living with the consequences - it's knowing that others had to pay the price for my decisions.">>
<<narrative "His vulnerability is striking, showing the human cost of the warrior's path he's walked.">>
<<dialog "Thalor" "faceserious" "But I've learned that carrying guilt alone only makes it heavier. Having people around you who understand, who can share the burden... that's what makes the difference between surviving and truly living." "he says with growing conviction">>
<<narrative "His words carry a depth of experience and wisdom that comes from years of carrying heavy burdens.">>
<<changeAffection "Rylan" "Thalor" 2>>
<<changeAffection "Thalor" "Rylan" 2>>
<<changeAttraction "Rylan" "Thalor" 1.5>>
<<changeAttraction "Thalor" "Rylan" 1.5>>
<<elseif _randomEvent === 4>>
<!-- Event 4: Unexpected Humor -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(169, 169, 169, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); margin-bottom: 30px;">
<h2 style="color: #A9A9A9; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Unexpected Humor 🍺</h2>
</div>
<center><img src="images/thalor/facesmirk.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "To your surprise, $humanToThalor actually cracks a rare smile as he shares a surprisingly lighthearted story from his past.">>
<<dialog "Thalor" "facesmirk" "You know, $humanName, I once saw Gairos try to cook for the first time. The man could command lightning and slay dragons, but he nearly burned down our camp trying to make soup." "he says with genuine amusement" "Sometimes the greatest warriors have the most mundane weaknesses.">>
<<narrative "His rare display of humor is surprisingly charming, showing a more human side to the usually stern warrior.">>
<<dialog "Thalor" "face" "I suppose we all have our moments of... less than heroic behavior. Even the most legendary figures are still just people at the end of the day." "he adds with a chuckle">>
<<narrative "It's refreshing to see this lighter side of $humanToThalor, making him feel more approachable and human.">>
<<changeAffection "Rylan" "Thalor" 1.5>>
<<changeAffection "Thalor" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Thalor" 1>>
<<changeAttraction "Thalor" "Rylan" 1>>
<<elseif _randomEvent === 5>>
<!-- Event 5: Protective Instincts -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(169, 169, 169, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); margin-bottom: 30px;">
<h2 style="color: #A9A9A9; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Protective Instincts 🍺</h2>
</div>
<center><img src="images/thalor/faceconcerned.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "$humanToThalor's expression grows more serious as he shares his concerns about the dangers you all face together.">>
<<dialog "Thalor" "faceconcerned" "I worry about all of you, $humanName. This life we've chosen... it's not without its risks. I've seen too many good people fall to the darkness we're fighting against." "he says with genuine concern" "But I also know that you're stronger than I was at your age.">>
<<narrative "His protective instincts are clear, showing the depth of his care for the group.">>
<<dialog "Thalor" "faceserious" "Just remember - you don't have to carry every burden alone. That's what we're here for. That's what $householdType means." "he says with quiet determination">>
<<narrative "His words carry the weight of experience and the warmth of genuine care.">>
<<changeAffection "Rylan" "Thalor" 2>>
<<changeAffection "Thalor" "Rylan" 2>>
<<changeAttraction "Rylan" "Thalor" 1.5>>
<<changeAttraction "Thalor" "Rylan" 1.5>>
<<elseif _randomEvent === 6>>
<!-- Event 6: Future Hopes -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(169, 169, 169, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); margin-bottom: 30px;">
<h2 style="color: #A9A9A9; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Future Hopes 🍺</h2>
</div>
<center><img src="images/thalor/facesmile.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "$humanToThalor's expression softens as he shares his hopes for the future, showing a more optimistic side to his usually serious demeanor.">>
<<dialog "Thalor" "facesmile" "You know, $humanName, I used to think that my best days were behind me. That I'd already lived through the most important moments of my life." "he says with growing warmth" "But being here with all of you... I realize I was wrong.">>
<<narrative "His words carry a sense of renewal and hope that's surprisingly uplifting.">>
<<dialog "Thalor" "faceconfident" "I believe we can build something better than what came before. Not just fighting the darkness, but creating light. That's what I want to be part of - something worth fighting for." "he says with quiet determination">>
<<narrative "His vision for the future is both inspiring and deeply personal, showing his commitment to the group's shared goals.">>
<<changeAffection "Rylan" "Thalor" 2.5>>
<<changeAffection "Thalor" "Rylan" 2.5>>
<<changeAttraction "Rylan" "Thalor" 2>>
<<changeAttraction "Thalor" "Rylan" 2>>
<</if>>
<div style="text-align: center; margin-top: 40px;">
<<if $timeOfDay === "evening" or $timeOfDay === "night">>
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('NightActivitiesEnd')">
🔙 Back to Goals
</div>
<<else>>
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('MorningActivityChoicesNext')">
🔙 Back to Goals
</div>
<</if>>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(50, 205, 50, 0.15), rgba(34, 139, 34, 0.2)); border: 2px solid rgba(50, 205, 50, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(50, 205, 50, 0.3); margin-bottom: 30px;">
<h2 style="color: #32CD32; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Inviting Viehzza 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">What's your goal for this evening?</p>
</div>
<center><img src="images/Viehzza/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "You approach Viehzza with the invitation. The shy goblin girl's eyes widen with surprise and a hint of nervousness, but she seems touched by your gesture.">>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Small Talk Option -->
<div style="background: linear-gradient(145deg, rgba(100, 149, 237, 0.15), rgba(65, 105, 225, 0.2)); border: 2px solid rgba(100, 149, 237, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(100, 149, 237, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(100, 149, 237, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(100, 149, 237, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernViehzzaSmallTalk')">
<div style="font-size: 4em; margin-bottom: 15px;">💬</div>
<h4 style="color: #6495ED; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Gentle Encouragement</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Help her open up and share her thoughts. A tender evening of gentle bonding and building her confidence.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(100, 149, 237, 0.1); border-radius: 8px;">
<p style="color: #B0C4DE; margin: 0; font-size: 0.9em; font-weight: bold;">+ Affection & Attraction</p>
</div>
</div>
<!-- H-Content Option (Locked) -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(60, 60, 60, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.3;">🌸</div>
<h4 style="color: #A9A9A9; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Help Her Open Up</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">The tavern's warm atmosphere might help her overcome her shyness. Perhaps you can explore a deeper, more intimate connection together.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(105, 105, 105, 0.1); border-radius: 8px;">
<p style="color: #D3D3D3; margin: 0; font-size: 0.9em; font-weight: bold;">🔒 Coming in Future Update</p>
</div>
</div>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('GoblinTavernVisit')">
🔙 Back to Character Selection
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(50, 205, 50, 0.15), rgba(34, 139, 34, 0.2)); border: 2px solid rgba(50, 205, 50, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(50, 205, 50, 0.3); margin-bottom: 30px;">
<h2 style="color: #32CD32; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Inviting Viehzza (Night) 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">What's your goal for this evening?</p>
</div>
<center><img src="images/Viehzza/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "You approach Viehzza with the invitation. The shy goblin girl's eyes widen with surprise and a hint of nervousness, but she seems touched by your gesture.">>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Small Talk Option -->
<div style="background: linear-gradient(145deg, rgba(100, 149, 237, 0.15), rgba(65, 105, 225, 0.2)); border: 2px solid rgba(100, 149, 237, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(100, 149, 237, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(100, 149, 237, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(100, 149, 237, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernViehzzaSmallTalk')">
<div style="font-size: 4em; margin-bottom: 15px;">💬</div>
<h4 style="color: #6495ED; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Gentle Encouragement</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Help her open up and share her thoughts. A tender evening of gentle bonding and building her confidence.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(100, 149, 237, 0.1); border-radius: 8px;">
<p style="color: #B0C4DE; margin: 0; font-size: 0.9em; font-weight: bold;">+ Affection & Attraction</p>
</div>
</div>
<!-- H-Content Option (Locked) -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(60, 60, 60, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 15px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.3;">🌸</div>
<h4 style="color: #A9A9A9; margin: 10px 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Help Her Open Up</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">The tavern's warm atmosphere might help her overcome her shyness. Perhaps you can explore a deeper, more intimate connection together.</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(105, 105, 105, 0.1); border-radius: 8px;">
<p style="color: #D3D3D3; margin: 0; font-size: 0.9em; font-weight: bold;">🔒 Coming in Future Update</p>
</div>
</div>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('GoblinTavernVisitNight')">
🔙 Back to Character Selection
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(50, 205, 50, 0.15), rgba(34, 139, 34, 0.2)); border: 2px solid rgba(50, 205, 50, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(50, 205, 50, 0.3); margin-bottom: 30px;">
<h2 style="color: #32CD32; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Viehzza at the Tavern 🍺</h2>
</div>
<center><img src="images/Viehzza/face.webp" style="max-width: 250px; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); margin: 20px 0;"></center>
<<narrative "Viehzza fidgets nervously as you approach, her eyes darting around the tavern before settling on you with a mixture of shyness and curiosity.">>
<<set _randomEvent = random(1, 6)>>
<<if _randomEvent === 1>>
<!-- Event 1: Shy Introduction -->
<div style="background: linear-gradient(145deg, rgba(50, 205, 50, 0.15), rgba(34, 139, 34, 0.2)); border: 2px solid rgba(50, 205, 50, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(50, 205, 50, 0.3); margin-bottom: 30px;">
<h2 style="color: #32CD32; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Shy Introduction 🍺</h2>
</div>
<center><img src="images/Viehzza/faceembarrassed.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Viehzza's cheeks flush pink as she tries to make conversation, clearly unused to being in such a social setting.">>
<<dialog "Viehzza" "faceembarrassed" "I... I don't usually come to places like this. Father says it's not proper for a princess to be seen in taverns." "she stammers quietly" "But... but I wanted to see what it was like. Thank you for inviting me.">>
<<narrative "Her genuine gratitude is touching, and you can see she's trying her best to be brave despite her obvious discomfort.">>
<<dialog "Viehzza" "facesmile" "I... I hope I'm not being too much trouble. I know I'm not very good at talking to people. Father says I'm too quiet, but I just... I just don't know what to say sometimes.">>
<<narrative "Her honesty about her social anxiety makes you want to reassure her that she's doing fine.">>
<<changeAffection "Rylan" "Viehzza" 1.5>>
<<changeAffection "Viehzza" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Viehzza" 1>>
<<changeAttraction "Viehzza" "Rylan" 1>>
<<elseif _randomEvent === 2>>
<!-- Event 2: Self-Conscious Worries -->
<div style="background: linear-gradient(145deg, rgba(50, 205, 50, 0.15), rgba(34, 139, 34, 0.2)); border: 2px solid rgba(50, 205, 50, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(50, 205, 50, 0.3); margin-bottom: 30px;">
<h2 style="color: #32CD32; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Self-Conscious Worries 🍺</h2>
</div>
<center><img src="images/Viehzza/facesad.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Viehzza's expression grows troubled as she begins to share her insecurities, her voice barely above a whisper.">>
<<dialog "Viehzza" "facesad" "Sometimes I wonder if I'm really cut out to be a princess, $humanName. I'm not beautiful like the other girls, and I'm so... so awkward around people." "she says quietly" "Father says I'm perfect, but I think he's just being kind.">>
<<narrative "Her self-doubt is heartbreaking, and you can see how much she struggles with her self-image.">>
<<dialog "Viehzza" "faceworried" "I see how other goblin girls act - so confident and pretty and... and I just feel like I don't belong. Maybe I'm not meant to be around people at all.">>
<<narrative "Her vulnerability creates a powerful moment of connection, and you feel a strong urge to comfort her.">>
<<changeAffection "Rylan" "Viehzza" 2>>
<<changeAffection "Viehzza" "Rylan" 2>>
<<changeAttraction "Rylan" "Viehzza" 1.5>>
<<changeAttraction "Viehzza" "Rylan" 1.5>>
<<elseif _randomEvent === 3>>
<!-- Event 3: Traditional Values -->
<div style="background: linear-gradient(145deg, rgba(50, 205, 50, 0.15), rgba(34, 139, 34, 0.2)); border: 2px solid rgba(50, 205, 50, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(50, 205, 50, 0.3); margin-bottom: 30px;">
<h2 style="color: #32CD32; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Traditional Values 🍺</h2>
</div>
<center><img src="images/Viehzza/faceconfused.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Viehzza's expression becomes more serious as she begins to discuss her beliefs about proper behavior and relationships.">>
<<dialog "Viehzza" "faceconfused" "I... I don't understand why people are so interested in... in those kinds of things, $humanName. Such matters should only be between two people who truly love each other, and only after they're married." "she says with growing conviction" "And only between people of the same race, of course.">>
<<narrative "Her traditional views are clearly deeply ingrained, and she speaks with the certainty of someone who has been raised with very specific values.">>
<<dialog "Viehzza" "facesad" "I see how some people act in the taverns, and it makes me... it makes me uncomfortable. Why can't people just be proper and respectful? Why does everything have to be so... so crude?">>
<<narrative "Her genuine confusion about modern attitudes shows how sheltered she has been, and her desire for propriety is both endearing and somewhat naive.">>
<<changeAffection "Rylan" "Viehzza" 1.5>>
<<changeAffection "Viehzza" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Viehzza" 1>>
<<changeAttraction "Viehzza" "Rylan" 1>>
<<elseif _randomEvent === 4>>
<!-- Event 4: Father's Protection -->
<div style="background: linear-gradient(145deg, rgba(50, 205, 50, 0.15), rgba(34, 139, 34, 0.2)); border: 2px solid rgba(50, 205, 50, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(50, 205, 50, 0.3); margin-bottom: 30px;">
<h2 style="color: #32CD32; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Father's Protection 🍺</h2>
</div>
<center><img src="images/Viehzza/facehappy.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Viehzza's face lights up as she begins to talk about her father, her shyness momentarily forgotten in her affection for him.">>
<<dialog "Viehzza" "facehappy" "Father is so protective of me, sometimes I think it's a bit much. He says I'm his little princess and that no one is good enough for me." "she says with a small smile" "But I know he just wants what's best for me. He's always been there for me, even when I was just a little girl.">>
<<narrative "Her love for her father is evident in every word, and you can see how much his approval means to her.">>
<<dialog "Viehzza" "facesmile" "He says that when I do find someone special, they'll have to be someone truly worthy - someone who will treat me with respect and honor. Someone who understands that love is sacred and should be cherished.">>
<<narrative "Her idealistic view of love and relationships is both sweet and somewhat unrealistic, but her sincerity is undeniable.">>
<<changeAffection "Rylan" "Viehzza" 1.5>>
<<changeAffection "Viehzza" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Viehzza" 1>>
<<changeAttraction "Viehzza" "Rylan" 1>>
<<elseif _randomEvent === 5>>
<!-- Event 5: Unexpected Curiosity -->
<div style="background: linear-gradient(145deg, rgba(50, 205, 50, 0.15), rgba(34, 139, 34, 0.2)); border: 2px solid rgba(50, 205, 50, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(50, 205, 50, 0.3); margin-bottom: 30px;">
<h2 style="color: #32CD32; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Unexpected Curiosity 🍺</h2>
</div>
<center><img src="images/Viehzza/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Viehzza's eyes light up with genuine curiosity as she begins to ask questions about your world, her shyness momentarily forgotten.">>
<<dialog "Viehzza" "face" "I... I've always wondered what it's like in the human cities, $humanName. Father says the surface world is dangerous and full of wicked people, but... but I can't help but be curious." "she says with growing interest" "What's it like where you come from? Are there really cities made of stone that touch the sky?">>
<<narrative "Her innocent curiosity is endearing, and you can see how much she longs to experience more of the world.">>
<<dialog "Viehzza" "facesmile" "I know I probably sound silly, but I've always dreamed of seeing a real garden with flowers and trees. Father says our caves are beautiful, and they are, but... I want to see what else is out there.">>
<<narrative "Her desire to explore and learn about the world shows a side of her that's more adventurous than her usual shy demeanor suggests.">>
<<changeAffection "Rylan" "Viehzza" 2>>
<<changeAffection "Viehzza" "Rylan" 2>>
<<changeAttraction "Rylan" "Viehzza" 1.5>>
<<changeAttraction "Viehzza" "Rylan" 1.5>>
<<elseif _randomEvent === 6>>
<!-- Event 6: Embarrassed Confession -->
<div style="background: linear-gradient(145deg, rgba(50, 205, 50, 0.15), rgba(34, 139, 34, 0.2)); border: 2px solid rgba(50, 205, 50, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(50, 205, 50, 0.3); margin-bottom: 30px;">
<h2 style="color: #32CD32; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Embarrassed Confession 🍺</h2>
</div>
<center><img src="images/Viehzza/facepanicked.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Viehzza's face turns bright red as she struggles to get something off her chest, clearly embarrassed about what she wants to say.">>
<<dialog "Viehzza" "facepanicked" "I... I have to tell you something, $humanName, but please don't think badly of me!" "she blurts out, her voice shaking" "I... I've never been this close to a human before, and I... I don't know what to think!">>
<<narrative "Her confession is both sweet and revealing, showing how much this interaction means to her.">>
<<dialog "Viehzza" "faceembarrassed" "Father would be so angry if he knew I was talking to you like this, but... but you seem so different from what I expected. You're... you're actually kind and respectful, and that's... that's not what I was told humans were like.">>
<<narrative "Her honesty about her preconceptions and her growing realization that you're not what she expected creates a touching moment of connection.">>
<<changeAffection "Rylan" "Viehzza" 2.5>>
<<changeAffection "Viehzza" "Rylan" 2.5>>
<<changeAttraction "Rylan" "Viehzza" 2>>
<<changeAttraction "Viehzza" "Rylan" 2>>
<</if>>
<div style="text-align: center; margin-top: 40px;">
<<if $timeOfDay === "evening" or $timeOfDay === "night">>
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('NightActivitiesEnd')">
🔙 Back to Goals
</div>
<<else>>
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('MorningActivityChoicesNext')">
🔙 Back to Goals
</div>
<</if>>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(139, 69, 19, 0.15), rgba(160, 82, 45, 0.2)); border: 2px solid rgba(139, 69, 19, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(139, 69, 19, 0.3); margin-bottom: 30px;">
<h2 style="color: #D2691E; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Goblin Tavern 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">The warm glow of the tavern beckons you inside</p>
</div>
<center><img src="images/dungeonbuildings/goblintavern.webp" style="max-width: 500px; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); margin: 20px 0;"></center>
<<narrative "The goblin tavern is bustling with activity. Laughter and the clinking of mugs fill the air as you step inside. The warm, inviting atmosphere makes you want to share this experience with someone special.">>
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px; margin: 20px 0;">
<p style="color: #E6E6FA; font-style: italic; margin: 10px 0; line-height: 1.6; text-align: center; font-size: 1.1em;">Who would you like to invite to join you for a drink?</p>
</div>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Liora -->
<div style="background: linear-gradient(145deg, rgba(255, 192, 203, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 192, 203, 0.6); border-radius: 15px; padding: 20px; text-align: center; box-shadow: 0 6px 20px rgba(255, 192, 203, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(255, 192, 203, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(255, 192, 203, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernLioraGoals')">
<img src="images/liora/faceshortpink.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h4 style="color: #FFC0CB; margin: 10px 0 5px 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Liora</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Shy healer</p>
</div>
<!-- Serin -->
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.15), rgba(255, 20, 147, 0.2)); border: 2px solid rgba(255, 105, 180, 0.6); border-radius: 15px; padding: 20px; text-align: center; box-shadow: 0 6px 20px rgba(255, 105, 180, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(255, 105, 180, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(255, 105, 180, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernSerinGoals')">
<img src="images/serin/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h4 style="color: #FF69B4; margin: 10px 0 5px 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Serin</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Athletic tomboy</p>
</div>
<!-- Mariel -->
<div style="background: linear-gradient(145deg, rgba(221, 160, 221, 0.15), rgba(186, 85, 211, 0.2)); border: 2px solid rgba(221, 160, 221, 0.6); border-radius: 15px; padding: 20px; text-align: center; box-shadow: 0 6px 20px rgba(221, 160, 221, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(221, 160, 221, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(221, 160, 221, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernMarielGoals')">
<img src="images/mariel/stage2/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h4 style="color: #DDA0DD; margin: 10px 0 5px 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Mariel</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Warm mother figure</p>
</div>
<!-- Seryk -->
<div style="background: linear-gradient(145deg, rgba(240, 230, 140, 0.15), rgba(255, 215, 0, 0.2)); border: 2px solid rgba(240, 230, 140, 0.6); border-radius: 15px; padding: 20px; text-align: center; box-shadow: 0 6px 20px rgba(240, 230, 140, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(240, 230, 140, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(240, 230, 140, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernSerykGoals')">
<img src="images/seryk/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h4 style="color: #F0E68C; margin: 10px 0 5px 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Seryk</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Noble demon warrior</p>
</div>
<!-- Nimeria -->
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.15), rgba(75, 0, 130, 0.2)); border: 2px solid rgba(138, 43, 226, 0.6); border-radius: 15px; padding: 20px; text-align: center; box-shadow: 0 6px 20px rgba(138, 43, 226, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(138, 43, 226, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(138, 43, 226, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernNimeriaGoals')">
<img src="images/nimeria/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h4 style="color: #8A2BE2; margin: 10px 0 5px 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Nimeria</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mysterious demon girl</p>
</div>
<!-- Thalor -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(169, 169, 169, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 15px; padding: 20px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(105, 105, 105, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(105, 105, 105, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernThalorGoals')">
<img src="images/thalor/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h4 style="color: #A9A9A9; margin: 10px 0 5px 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Thalor</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Stern guardian</p>
</div>
<!-- Kahrrt -->
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.15), rgba(255, 140, 0, 0.2)); border: 2px solid rgba(255, 69, 0, 0.6); border-radius: 15px; padding: 20px; text-align: center; box-shadow: 0 6px 20px rgba(255, 69, 0, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(255, 69, 0, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(255, 69, 0, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernKahrrtGoals')">
<img src="images/Kahrrt/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h4 style="color: #FF4500; margin: 10px 0 5px 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Kahrrt</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Older muscular goblin</p>
</div>
<!-- Viehzza -->
<div style="background: linear-gradient(145deg, rgba(50, 205, 50, 0.15), rgba(34, 139, 34, 0.2)); border: 2px solid rgba(50, 205, 50, 0.6); border-radius: 15px; padding: 20px; text-align: center; box-shadow: 0 6px 20px rgba(50, 205, 50, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(50, 205, 50, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(50, 205, 50, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernViehzzaGoals')">
<img src="images/Viehzza/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h4 style="color: #32CD32; margin: 10px 0 5px 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Viehzza</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Shy goblin girl</p>
</div>
<!-- Sora (conditional) -->
<<if $soraJoinedFamily>>
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 182, 193, 0.6); border-radius: 15px; padding: 20px; text-align: center; box-shadow: 0 6px 20px rgba(255, 182, 193, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(255, 182, 193, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(255, 182, 193, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernSoraGoals')">
<img src="images/sora/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h4 style="color: #FFB6C1; margin: 10px 0 5px 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Sora</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Fashion designer</p>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('DungeonCityChoices')">
🔙 Back to Dungeon City
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<nobr>>
<<silently>>
<<getChapter0Events>>
<<getChapter1Events>>
<<getChapter2Events>>
<<getChapter3Events>>
<<getChapter4Events>>
<<getChapter5Events>>
<<getChapter6Events>>
<<getChapter7Events>>
<<getChapter8Events>>
<<getChapter9Events>>
<<getChapter10Events>>
<<getEventRegistry>>
<</silently>>
<div class="calendar-container">
<div class="calendar-header">
<h2>📅 Event Calendar</h2>
<div class="current-time">
<<print $monthNames[$gameMonth - 1]>> <<print $gameDay>>, <<print $gameYear>> -
<<switch $timeOfDay>>
<<case "morning">>🌅 Morning
<<case "noon">>🌞 Noon
<<case "afternoon">>☀️ Afternoon
<<case "evening">>🌆 Evening
<<case "night">>🌙 Night
<<case "midnight">>🌚 Midnight
<</switch>>
</div>
</div>
<div class="calendar-content">
<<set _currentDate = $gameMonth + "-" + $gameDay>>
<<set _currentDateTime = _currentDate + "-" + $timeOfDay>>
<<set _allEvents = []>>
<<if window.Chapter6Events>>
<<for _eventKey, _eventData range window.Chapter6Events>>
<<set _allEvents.push({ key: _eventKey, data: _eventData, chapter: 6, parsed: _eventKey.split("-") })>>
<</for>>
<</if>>
<<if window.Chapter7Events>>
<<for _eventKey, _eventData range window.Chapter7Events>>
<<set _allEvents.push({ key: _eventKey, data: _eventData, chapter: 7, parsed: _eventKey.split("-") })>>
<</for>>
<</if>>
<<if window.Chapter0Events>>
<<for _eventKey, _eventData range window.Chapter0Events>>
<<set _allEvents.push({ key: _eventKey, data: _eventData, chapter: 0, parsed: _eventKey.split("-") })>>
<</for>>
<</if>>
<<if window.Chapter1Events>>
<<for _eventKey, _eventData range window.Chapter1Events>>
<<set _allEvents.push({ key: _eventKey, data: _eventData, chapter: 1, parsed: _eventKey.split("-") })>>
<</for>>
<</if>>
<<if window.Chapter2Events>>
<<for _eventKey, _eventData range window.Chapter2Events>>
<<set _allEvents.push({ key: _eventKey, data: _eventData, chapter: 2, parsed: _eventKey.split("-") })>>
<</for>>
<</if>>
<<if window.Chapter3Events>>
<<for _eventKey, _eventData range window.Chapter3Events>>
<<set _allEvents.push({ key: _eventKey, data: _eventData, chapter: 3, parsed: _eventKey.split("-") })>>
<</for>>
<</if>>
<<if window.Chapter4Events>>
<<for _eventKey, _eventData range window.Chapter4Events>>
<<set _allEvents.push({ key: _eventKey, data: _eventData, chapter: 4, parsed: _eventKey.split("-") })>>
<</for>>
<</if>>
<<if window.Chapter5Events>>
<<for _eventKey, _eventData range window.Chapter5Events>>
<<set _allEvents.push({ key: _eventKey, data: _eventData, chapter: 5, parsed: _eventKey.split("-") })>>
<</for>>
<</if>>
<<if window.Chapter8Events>>
<<for _eventKey, _eventData range window.Chapter8Events>>
<<set _allEvents.push({ key: _eventKey, data: _eventData, chapter: 8, parsed: _eventKey.split("-") })>>
<</for>>
<</if>>
<<if window.Chapter9Events>>
<<for _eventKey, _eventData range window.Chapter9Events>>
<<set _allEvents.push({ key: _eventKey, data: _eventData, chapter: 9, parsed: _eventKey.split("-") })>>
<</for>>
<</if>>
<<if window.Chapter10Events>>
<<for _eventKey, _eventData range window.Chapter10Events>>
<<set _allEvents.push({ key: _eventKey, data: _eventData, chapter: 10, parsed: _eventKey.split("-") })>>
<</for>>
<</if>>
<<script>>
// Sort events by date and time
if (State.variables._allEvents && State.variables._allEvents.length > 0) {
State.variables._allEvents.sort(function(a, b) {
const aDate = new Date(2024, parseInt(a.parsed[0]) - 1, parseInt(a.parsed[1]));
const bDate = new Date(2024, parseInt(b.parsed[0]) - 1, parseInt(b.parsed[1]));
if (aDate.getTime() === bDate.getTime()) {
const timeOrder = { morning: 0, noon: 1, afternoon: 2, evening: 3, night: 4, midnight: 5 };
return (timeOrder[a.parsed[2]] || 0) - (timeOrder[b.parsed[2]] || 0);
}
return aDate.getTime() - bDate.getTime();
});
}
<</script>>
<div class="calendar-events">
<<if _allEvents.length > 0>>
<<for _event range _allEvents>>
<<set _eventDate = _event.parsed[0] + "-" + _event.parsed[1]>>
<<set _eventDateTime = _eventDate + "-" + _event.parsed[2]>>
<<set _isPast = false>>
<<set _isCurrent = false>>
<<set _isFuture = false>>
<<set _timeOrder = ["morning", "noon", "afternoon", "evening", "night", "midnight"]>>
<<if _eventDate < _currentDate>>
<<set _isPast = true>>
<<elseif _eventDate === _currentDate>>
<<set _eventTimeIndex = _timeOrder.indexOf(_event.parsed[2])>>
<<set _currentTimeIndex = _timeOrder.indexOf($timeOfDay)>>
<<if _eventTimeIndex < _currentTimeIndex>>
<<set _isPast = true>>
<<elseif _eventTimeIndex === _currentTimeIndex>>
<<set _isCurrent = true>>
<<else>>
<<set _isFuture = true>>
<</if>>
<<else>>
<<set _isFuture = true>>
<</if>>
<div class="calendar-event <<if _isPast>>past-event<</if>><<if _isCurrent>>current-event<</if>><<if _isFuture>>future-event<</if>>">
<div class="event-date">
<div class="event-month"><<print $monthNames[parseInt(_event.parsed[0]) - 1]>></div>
<div class="event-day"><<print _event.parsed[1]>></div>
<div class="event-time">
<<switch _event.parsed[2]>>
<<case "morning">>🌅 Morning
<<case "noon">>🌞 Noon
<<case "afternoon">>☀️ Afternoon
<<case "evening">>🌆 Evening
<<case "night">>🌙 Night
<<case "midnight">>🌚 Midnight
<</switch>>
</div>
</div>
<div class="event-content">
<div class="event-title"><<print _event.data.description>></div>
<div class="event-details">
<span class="event-priority">Priority: <<print _event.data.priority>></span>
<span class="event-chapter">Chapter <<print _event.chapter>></span>
</div>
<<if _isCurrent>>
<div class="event-status current">🟢 Happening Now</div>
<<elseif _isPast>>
<div class="event-status past">🔴 Past Event</div>
<<else>>
<div class="event-status future">🔵 Upcoming</div>
<</if>>
</div>
</div>
<</for>>
<<else>>
<div class="no-events">
<div class="no-events-icon">📅</div>
<div class="no-events-text">No events scheduled</div>
</div>
<</if>>
</div>
</div>
<div class="calendar-legend">
<div class="legend-item">
<div class="legend-color current"></div>
<span>Current Event</span>
</div>
<div class="legend-item">
<div class="legend-color past"></div>
<span>Past Event</span>
</div>
<div class="legend-item">
<div class="legend-color future"></div>
<span>Upcoming Event</span>
</div>
</div>
<div class="calendar-footer">
<<link "← Back">>
<<run Engine.backward()>>
<</link>>
</div>
</div>
<style>
.calendar-container {
background: linear-gradient(135deg, rgba(20, 20, 30, 0.95), rgba(30, 30, 45, 0.98));
border: 2px solid rgba(255, 193, 7, 0.3);
border-radius: 15px;
padding: 25px;
margin: 20px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
backdrop-filter: blur(10px);
min-height: 600px;
}
.calendar-header {
text-align: center;
margin-bottom: 30px;
border-bottom: 2px solid rgba(255, 193, 7, 0.3);
padding-bottom: 20px;
}
.calendar-header h2 {
color: #FFC107;
font-size: 2.2em;
margin: 0 0 10px 0;
text-shadow: 0 0 10px rgba(255, 193, 7, 0.5);
font-weight: bold;
}
.current-time {
color: #E0E0E0;
font-size: 1.1em;
font-weight: 500;
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}
.calendar-events {
display: flex;
flex-direction: column;
gap: 15px;
margin-bottom: 30px;
}
.calendar-event {
background: linear-gradient(135deg, rgba(40, 40, 55, 0.8), rgba(50, 50, 70, 0.9));
border: 2px solid rgba(100, 100, 120, 0.3);
border-radius: 12px;
padding: 20px;
display: flex;
gap: 20px;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}
.calendar-event::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 100%;
background: rgba(100, 100, 120, 0.5);
transition: all 0.3s ease;
}
.calendar-event:hover {
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
border-color: rgba(150, 150, 170, 0.5);
}
.calendar-event:hover::before {
width: 6px;
background: rgba(150, 150, 170, 0.8);
}
/* Past Event Styling */
.past-event {
opacity: 0.6;
background: linear-gradient(135deg, rgba(60, 60, 60, 0.8), rgba(70, 70, 70, 0.9));
border-color: rgba(120, 120, 120, 0.3);
}
.past-event::before {
background: rgba(120, 120, 120, 0.5);
}
.past-event:hover {
opacity: 0.8;
border-color: rgba(140, 140, 140, 0.5);
}
/* Current Event Styling */
.current-event {
background: linear-gradient(135deg, rgba(76, 175, 80, 0.2), rgba(139, 195, 74, 0.3));
border-color: rgba(76, 175, 80, 0.6);
box-shadow: 0 0 20px rgba(76, 175, 80, 0.3);
animation: currentPulse 2s infinite ease-in-out;
}
.current-event::before {
background: linear-gradient(180deg, #4CAF50, #8BC34A);
box-shadow: 0 0 10px rgba(76, 175, 80, 0.5);
}
@keyframes currentPulse {
0%, 100% { box-shadow: 0 0 20px rgba(76, 175, 80, 0.3); }
50% { box-shadow: 0 0 30px rgba(76, 175, 80, 0.5); }
}
/* Future Event Styling */
.future-event {
background: linear-gradient(135deg, rgba(33, 150, 243, 0.2), rgba(63, 81, 181, 0.3));
border-color: rgba(33, 150, 243, 0.6);
}
.future-event::before {
background: linear-gradient(180deg, #2196F3, #3F51B5);
}
.future-event:hover {
border-color: rgba(33, 150, 243, 0.8);
box-shadow: 0 8px 25px rgba(33, 150, 243, 0.2);
}
.event-date {
display: flex;
flex-direction: column;
align-items: center;
min-width: 80px;
padding: 10px;
background: rgba(0, 0, 0, 0.2);
border-radius: 8px;
border: 1px solid rgba(255, 255, 255, 0.1);
}
.event-month {
font-size: 0.8em;
color: #FFC107;
font-weight: bold;
text-transform: uppercase;
letter-spacing: 1px;
}
.event-day {
font-size: 1.8em;
color: #FFFFFF;
font-weight: bold;
line-height: 1;
margin: 2px 0;
}
.event-time {
font-size: 0.7em;
color: #B0B0B0;
text-transform: capitalize;
}
.event-content {
flex: 1;
display: flex;
flex-direction: column;
gap: 8px;
}
.event-title {
color: #FFFFFF;
font-size: 1.1em;
font-weight: 600;
line-height: 1.3;
}
.event-details {
display: flex;
gap: 15px;
font-size: 0.9em;
}
.event-priority {
color: #FFC107;
background: rgba(255, 193, 7, 0.2);
padding: 2px 8px;
border-radius: 12px;
border: 1px solid rgba(255, 193, 7, 0.3);
}
.event-chapter {
color: #81C784;
background: rgba(129, 199, 132, 0.2);
padding: 2px 8px;
border-radius: 12px;
border: 1px solid rgba(129, 199, 132, 0.3);
}
.event-status {
font-size: 0.85em;
font-weight: 600;
padding: 4px 12px;
border-radius: 15px;
display: inline-block;
width: fit-content;
}
.event-status.current {
background: rgba(76, 175, 80, 0.3);
color: #4CAF50;
border: 1px solid rgba(76, 175, 80, 0.5);
}
.event-status.past {
background: rgba(158, 158, 158, 0.3);
color: #9E9E9E;
border: 1px solid rgba(158, 158, 158, 0.5);
}
.event-status.future {
background: rgba(33, 150, 243, 0.3);
color: #2196F3;
border: 1px solid rgba(33, 150, 243, 0.5);
}
.no-events {
text-align: center;
padding: 60px 20px;
color: #B0B0B0;
}
.no-events-icon {
font-size: 4em;
margin-bottom: 20px;
opacity: 0.5;
}
.no-events-text {
font-size: 1.2em;
font-weight: 500;
}
.calendar-legend {
display: flex;
justify-content: center;
gap: 30px;
margin-bottom: 25px;
padding: 15px;
background: rgba(0, 0, 0, 0.2);
border-radius: 10px;
border: 1px solid rgba(255, 255, 255, 0.1);
}
.legend-item {
display: flex;
align-items: center;
gap: 8px;
color: #E0E0E0;
font-size: 0.9em;
}
.legend-color {
width: 16px;
height: 16px;
border-radius: 50%;
border: 2px solid rgba(255, 255, 255, 0.3);
}
.legend-color.current {
background: #4CAF50;
box-shadow: 0 0 8px rgba(76, 175, 80, 0.5);
}
.legend-color.past {
background: #9E9E9E;
}
.legend-color.future {
background: #2196F3;
}
.calendar-footer {
text-align: center;
padding-top: 20px;
border-top: 1px solid rgba(255, 193, 7, 0.3);
}
.calendar-footer a {
color: #FFC107;
text-decoration: none;
font-weight: 600;
padding: 10px 20px;
background: rgba(255, 193, 7, 0.2);
border: 1px solid rgba(255, 193, 7, 0.4);
border-radius: 8px;
transition: all 0.3s ease;
display: inline-block;
}
.calendar-footer a:hover {
background: rgba(255, 193, 7, 0.3);
border-color: rgba(255, 193, 7, 0.6);
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(255, 193, 7, 0.3);
}
</style>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "evening">>
<div class="passage-container rylan">
<<narrative "The delicious aroma of $marielToHuman's cooking filled the house as they entered. She was already in the kitchen, somehow having anticipated their return.">>
<<dialog "Mariel" "facesmile" "Welcome home, dears!" "she called out cheerfully, her warm smile brightening as she saw their excited faces" "I had a feeling you'd succeed, so I prepared a little celebration dinner.">>
<<changeAffection "Mariel" "Rylan" 2>>
<<changeAffection "Rylan" "Mariel" 2>>
<<changeCombatStat "Rylan" "confidence" 2>>
<<narrative "As they gathered around the table, the conversation naturally turned to their experience at the guild.">>
<<dialog "Liora" "faceshortpink" "Elena mentioned something interesting about a resonance system...">>
<<dialog "Mariel" "face" "Oh?" "$marielToHuman paused, a thoughtful expression crossing her face" "That sounds interesting... I think I get what Elena meant. Something like that happened during our travels with $thalorToHuman too. I was able to sync my holy power with his body, to strengthen him.">>
<<narrative "She set down her spoon, eyes twinkling.">>
<<dialog "Mariel" "face" "Maybe I should join your party too, hihi? But you most likely don't want an old lady in your group." "She waved off her own suggestion with a laugh, but then brightened" "Wait, I have an idea! We have so many empty bedrooms - the house was previously an inn but nowadays it's just used as a house. Why don't you move in here properly, Liora? And Serin too, of course!">>
<<narrative "$marielToHuman gestured around the spacious home.">>
<<dialog "Mariel" "face" "We have a bath too. I'm always worried about you both, especially with Liora spending so much time here anyway...">>
<<changeAffection "Serin" "Mariel" 3>>
<<changeAffection "Liora" "Mariel" 3>>
<<changeAffection "Mariel" "Serin" 2>>
<<changeAffection "Mariel" "Liora" 2>>
<<dialog "Liora" "faceembarrassed" "That would be wonderful! We could spend so much more time together..." "She took his hand, her happiness evident">>
<<narrative "Serin tried to hide her complex emotions behind a casual shrug.">>
<<dialog "Serin" "face" "That's... actually not a bad idea. Easier to coordinate training schedules." "Though her tone was light, there was something wistful in her eyes">>
<<changeAffection "Serin" "Liora" 1>>
<<changeAffection "Liora" "Serin" 1>>
<<dialog "Mariel" "face" "Nonsense! It would be wonderful to have you here. The house is too quiet sometimes, and it would ease my mind knowing you're safe.">>
<<changeLust "Rylan" 2>>
<<changeLust "Serin" 1>>
<<changeLust "Liora" 1>>
<<narrative "The evening grew late as they continued talking and enjoying the meal. The warmth of family atmosphere and close proximity to his companions stirred something in $humanName, while the girls seemed to share in the comfortable intimacy of the moment.">>
<<narrative "Finally, $marielToHuman stood up.">>
<<dialog "Mariel" "face" "It's much too late for you two to head home now. Why don't you stay the night? We can talk more about the living arrangements tomorrow.">>
<<changeCombatStat "Rylan" "combatExperience" 1>>
<<changeCombatStat "Serin" "combatExperience" 1>>
<<changeCombatStat "Liora" "combatExperience" 1>>
<<changeFetish "Rylan" "FeetFetish" 0.1>>
<<changeFetish "Serin" "DominanceFetish" 0.2>>
<<changeCombatStat "Rylan" "willpower" 0.1>>
<<changeCombatStat "Serin" "technique" 0.1>>
<<continueBox "NightActivities" "Continue" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "morning">>
<div class="passage-container rylan">
<<narrative "The memory fades like mist in morning light.">>
<<narrative "Back in the kitchen. The scent of breakfast still lingers, but the air feels heavier now.">>
<<narrative "Mariel's hands have stopped shaking. She looks at $humanName with a gentle smile that doesn't quite reach her eyes.">>
<<dialog "Rylan" "face" "$humanToMariel... I'm sorry, I shouldn't have asked about-">>
<<dialog "Mariel" "face" "It's alright, sweetheart." "Her voice is soft, almost fragile" "Some memories... they need to be remembered. Even the painful ones.">>
<<narrative "She reaches across the table, her hand finding $humanName's.">>
<<dialog "Mariel" "face" "I was about to tell you why I-">>
<<narrative "A sharp knock at the door cuts through the moment.">>
<<changeAffection "Rylan" "Mariel" 1>>
<<changeAffection "Mariel" "Rylan" 1>>
<<continueBox "SerinLioraIntro" "Continue" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "morning">>
<<set $configUnlocked = true>>
<<set $metRylan = true>>
<<set $metMariel = true>>
<<set $metThalor = true>>
<div class="passage-container rylan">
<<narrative "$humanName makes the way down the wooden stairs, stretching as the scent of herbs, fresh bread, and roasted vegetables drifts up from the kitchen like a warm welcome. A stomach growls on cue.">>
<center><img src="images/thalor/kitchentable.webp" alt="Kitchen Table Scene" width="400"></center>
<<narrative "Thalor is already at the table, arms crossed like a stone sentinel, sipping tea with the grim patience of a man used to long, silent watches. The legendary sword he used to slay the Demon King hangs mounted on the wall behind him - a reminder of past glories, now more ceremonial than practical.">>
<<dialog "Thalor" "face" "Morning.">>
<<dialog "Rylan" "face" "Morning, $humanToThalor." "$humanName replies, sliding into the usual seat though Thalor's presence always makes it feel slightly too small">>
<<narrative "Mariel turns from the stove, her golden curls catching the morning light, a worn apron covering her dress. She sets a steaming plate in front before anyone can ask.">>
<<dialog "Mariel" "face" "Eat while it's hot, $humanName.">>
<center><img src="images/mariel/kitchen.webp" alt="Mariel's Kitchen" width="400"></center>
<<dialog "Rylan" "face" "Thanks, $humanToMariel," "$humanName mumbles, already picking up the fork">>
<<narrative "Thalor raises a brow as he eyes the sheer volume of food on the plate.">>
<<dialog "Thalor" "face" "He's trying to pass the exam, not fatten up for the butcher's pen.">>
<<dialog "Mariel" "face" "He needs his strength, Thalor.">>
<<dialog "Thalor" "face" "Strength?" "Thalor scoffs, stabbing a piece of bread like it personally offended his warrior's code" "$humanName needs discipline. And fewer cinnamon rolls. Have you seen how many he sneaks when you're not looking?">>
<<narrative "Mariel's golden curls catch the sunlight as she turns, one eyebrow raised in that dangerous way that makes even veteran warriors reconsider their life choices.">>
<<dialog "Mariel" "face" "Oh? And I suppose you weren't the one who demolished an entire tray of honey cakes last week?">>
<<dialog "Thalor" "face" "That's that's different! I was maintaining my energy reserves!">>
<<dialog "Mariel" "face" "He's a growing boy." "Mariel sets down another plate, this one piled with fresh pastries that make $humanName's mouth water">>
<<dialog "Thalor" "face" "He's a pampered noodle.">>
<<dialog "Mariel" "face" "A strong noodle." "She counters with a sweet smile that somehow makes it worse">>
<<dialog "Thalor" "face" "That's not a thing, Mariel!" "Thalor throws his hands up, nearly knocking over his teacup" "You can't just add 'strong' to 'noodle' and make it better! Next you'll be calling him a 'mighty marshmallow' or a 'warrior of wobbliness'!">>
<<narrative "$humanName chews silently, watching the verbal sparring match with the same reverence reserved for watching high-level duels. Except with more breakfast involved. And possibly more dangerous.">>
<<dialog "Thalor" "face" "He failed the exam last year because he's soft. You spoil him too much...">>
<<narrative "The kitchen goes quiet. Deathly quiet.">>
<center><img src="images/mariel/kitchenangry.webp" alt="Mariel's Kitchen Anger" width="400"></center>
<<narrative "Slowly very slowly Mariel's smile stretches wider. Not warmer. Just wider. The kind of smile that makes hardened criminals confess their sins and run straight to the nearest temple.">>
<<changeAffection "Mariel" "Thalor" -5>>
<<changeCombatStat "Thalor" "confidence" -2>>
<<changeAttraction "Mariel" "Thalor" -2>>
<<dialog "Mariel" "faceangry" "I'm sorry, darling." "Her voice drips with honeyed venom" "What exactly did you say about my $humanIsMariel?">>
<<narrative "Thalor's teacup freezes mid-sip. His eyes dart from Mariel to $humanName to the door, calculating escape routes like the tactical expert he is. Too late, he realizes he just triggered a boss-level encounter without proper preparation.">>
<<dialog "Thalor" "face" "I uh nothing, my beloved treasure. Just noting $humanName's... potential. Yes. Limitless potential. Like a... like a strong noodle!" "Thalor coughs into his fist, desperately trying to erase the past thirty seconds from existence">>
<<narrative "Mariel gives him a long look, the kind that suggests she's deciding between forgiveness and where to hide the body.">>
<<dialog "Thalor" "face" "Anyway!" "Thalor practically leaps from his chair" "Would you look at the time! I have a job.">>
<<dialog "Rylan" "face" "A mission?" "$humanName looks up">>
<<narrative "Thalor is already at the entryway, grabbing his gear and strapping on his well-worn battle sword - deliberately choosing the practical weapon over the legendary blade that slew the Demon King.">>
<<dialog "Thalor" "face" "B-Rank escort. Just a few days. The guild wants someone reliable.">>
<<dialog "Mariel" "face" "You just got back, Thalor.">>
<<dialog "Thalor" "face" "I know, I know." "Thalor's voice is breezy, his hands moving fast" "I'll be back before the week is out. Promise.">>
<<narrative "Mariel walks over, adjusting Thalor's collar with practiced care.">>
<<dialog "Mariel" "face" "Be careful.">>
<<dialog "Thalor" "face" "I always am." "Thalor kisses her cheek clearly his escape move and pivots toward $humanName" "Don't waste today, $thalorCallsHuman. Train harder than yesterday. And stop expecting Mariel to carry you through life.">>
<<narrative "Then he's gone. Thalor, master of dramatic exits.">>
<<narrative "The door clicks shut.">>
<<narrative "$humanName continues eating in silence, mind already wandering.">>
<<narrative "If $humanName were a hero like Thalor…fame would come. A castle. Luxury. Maybe even a throne with an engraved name.">>
<<narrative "And Liora would be right there beside him as his queen. The thought brings a warm smile to his face - her gentle wisdom helping him rule justly, her healing magic blessing their kingdom.">>
<<narrative "$humanName grins, already imagining their future together. A royal hall where Liora's kindness would make even the most cynical nobles melt. Maybe they'd have adventures too, ruling side by side, protecting their people together.">>
<<narrative "A piece of bread catches in $humanName's throat.">>
<<narrative "Mariel sits across now, hands folded, eyes fixed on the window. Her expression unreadable. Her smile, gone.">>
<<dialog "Rylan" "face" "What was it like? Fighting the Demon King?" "$humanName clears the throat">>
<<narrative "Mariel doesn't blink.">>
<<narrative "She doesn't answer right away.">>
<<narrative "Then $humanName notices: her shoulders have gone stiff. Her jaw tightens. One hand grips the teacup too tightly.">>
<<narrative "When Mariel finally speaks, her voice is quiet. Measured.">>
<<dialog "Mariel" "facesad" "There was...">>
<<continueBox "MarielMemory" "Continue" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<<set _eventRoll = random(1, 100)>>
<<set _baseThreshold = 35>>
<<set _rylanLustMod = Math.floor($rylan_Lust / 20) * -5>>
<<set _rylanCorruptionMod = Math.floor($rylan_corruption / 20) * -10>>
<<set _rylanFinalThreshold = _baseThreshold + _rylanLustMod + _rylanCorruptionMod>>
<div class="passage-container rylan">
<<if _eventRoll <= 25>>
<center><img src="images/serin/poses/flexingarms.webp" style="max-width: 400px;"></center>
<<dialog "Serin" "face" "Not bad! Though your form could use some work...">>
<<narrative "Serin demonstrates the proper stance, her muscles gleaming with post-battle sweat. The afternoon heat has made her leather training gear cling to her athletic form.">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.2>>
<<set _rylanMusBonus = ($rylan_naturalTendencies ?? []).includes("muscle") ? 1.5 : 1>>
<<changeFetish "Rylan" "MuscleFetish" _baseGain * _rylanMusBonus>>
<<changeLust "Rylan" 2>>
<<narrative "The demonstration proves quite... distracting.">>
<</if>>
<<changeCombatStat "Rylan" "technique" 0.1>>
<<narrative "⚔️ $humanName's technique increased by 0.1!">>
<<elseif _eventRoll <= 50>>
<center><img src="images/liora/poses/bendingdown.webp" style="max-width: 400px;"></center>
<<dialog "Liora" "faceshortpink" "Let me check for any injuries...">>
<<narrative "Liora kneels beside $humanName, her healing magic warm and soothing as she tends to any scratches or bruises.">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.1>>
<<changeLust "Rylan" 1>>
<<narrative "Her gentle touch sends an unexpected warmth through $humanName's body.">>
<</if>>
<<changeCombatStat "Rylan" "vitality" 0.1>>
<<narrative "❤️ $humanName's vitality increased by 0.1!">>
<<elseif _eventRoll <= 75>>
<center><img src="images/serin/poses/stretch.webp" style="max-width: 400px;"></center>
<<dialog "Serin" "face" "Always stretch after a fight! Prevents muscle strain.">>
<<narrative "Serin leads the group through some post-battle stretches, her own movements fluid and practiced.">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.2>>
<<set _rylanSmellBonus = ($rylan_naturalTendencies ?? []).includes("smell") ? 1.5 : 1>>
<<changeFetish "Rylan" "SmellFetish" _baseGain * _rylanSmellBonus>>
<<changeLust "Rylan" 2>>
<<narrative "The close proximity makes the scent of her post-battle exertion impossible to ignore.">>
<</if>>
<<changeCombatStat "Rylan" "agility" 0.1>>
<<narrative "🏃 $humanName's agility increased by 0.1!">>
<<else>>
<center><img src="images/serin/poses/fightingstance.webp" style="max-width: 400px;"></center>
<<dialog "Serin" "face" "Let's go over what worked and what didn't in that fight.">>
<<narrative "Serin demonstrates some of the enemy's moves and how to counter them effectively.">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.1>>
<<set _rylanMusBonus = ($rylan_naturalTendencies ?? []).includes("muscle") ? 1.5 : 1>>
<<changeFetish "Rylan" "MuscleFetish" _baseGain * _rylanMusBonus>>
<<changeLust "Rylan" 1>>
<<narrative "Her athletic prowess is particularly evident during the demonstrations.">>
<</if>>
<<changeCombatStat "Rylan" "perception" 0.1>>
<<narrative "👁️ $humanName's perception increased by 0.1!">>
<</if>>
<<continueBox "ForestHunt" "Continue" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $currentFace = $currentMarielFace>>
<<set $timeOfDay = "memory">>
<div class="passage-container mariel">
<<dialog "Gairos" "portraitpast" "The barrier around him grows stronger! His spell nears completion!" "Gairos's voice was desperate as he watched the swirling energies around the Demon King intensify">>
<<narrative "The Demon King remained on his throne, his eyes now blazing with fury and grief over his fallen wives.">>
<<dialog "Azgorth" "faceserious" "You could have been my allies in this, Gairos. We could have rebuilt this world together. But you chose to murder my beloved brides.">>
<<dialog "Gairos" "portraitpast" "Never! They were demons, abominations! And now I know how to weaken your barrier, monster!">>
<center><img src="images/gairos/gairosback.webp" alt="Gairos" width="400"></center>
<<narrative "Gairos raised both hands, magical energy crackling between his fingers. A javelin of pure lightning began forming in his right hand, while his left started weaving a massive fireball. The heroes expected both spells to target the Demon King.">>
<<narrative "But the fireball wasn't aimed at Azgorth.">>
<<narrative "It was aimed at the children cowering behind the throne.">>
<<dialog "Mariel" "temple" "Gairos, no!" "Mariel screamed in horror as she realized his intent">>
<<dialog "Azgorth" "faceserious" "YOU DARE?!" "The Demon King's voice shook the very foundations of the castle, his composure finally shattered">>
<<dialog "Verdalis" "portraitpast" "Those are children! Innocents!">>
<<dialog "Gairos" "portraitpast" "They're his weakness! The only way to break his concentration!">>
<<narrative "The lightning javelin struck the barrier around the throne just as the massive fireball flew toward the huddled children. The three young demons, an eldest boy, a middle child, and the youngest-could only watch in terror as death approached.">>
<<narrative "But the loyal maids who had served the family faithfully threw themselves in front of their charges without hesitation. Their bodies took the full force of Gairos's magical flames, their screams of agony echoing through the throne room as they burned.">>
<<dialog "Female NPC" "face" "My lord... protect... the children..." "The head maid's final words were barely a whisper as she collapsed, her body shielding the youngest demon child">>
<<narrative "The screams both from the dying maids and the traumatized children shattered something fundamental in Mariel's heart. Tears streamed down her face as she watched innocents die for the sake of tactical advantage.">>
<<narrative "And it worked. The barrier around the Demon King flickered and weakened dramatically, his concentration broken by fury and grief as he watched his faithful servants sacrifice themselves for his children.">>
<<dialog "Azgorth" "faceserious" "My children... my loyal servants... GAIROS!" "The Demon King's voice was raw with anguish and rage" "You call yourself a hero? You murder innocents to achieve your goals? You are no different from the corrupt kings you claim to serve!">>
<<dialog "Gairos" "portraitpast" "Victory requires sacrifice! Now finish him while his defenses are down!">>
<<dialog "Thalor" "portraitpast" "This... this isn't right. Those were children, Gairos.">>
<<dialog "Verdalis" "portraitpast" "The forest spirits weep. They scream of innocence defiled.">>
<<narrative "But with his barrier weakened, Azgorth was vulnerable. The heroes pressed their attack, though Mariel's heart was no longer in the fight.">>
<<narrative "The Demon King rose from his throne, his spell broken, his massive frame radiating power and grief.">>
<<dialog "Azgorth" "faceserious" "If this is what heroes do... if this is what justice looks like... then perhaps the world deserves to burn after all.">>
<<narrative "He fought like a man possessed, his bare hands crushing stone, his very presence warping reality around him. But without his wives to support him, without his defensive barrier, he was outnumbered.">>
<<dialog "Azgorth" "faceserious" "Tell me, heroes... when you return to your kingdoms... will you tell them how you won? Will you speak of the children you terrorized? The servants you murdered?">>
<<dialog "Gairos" "portraitpast" "We'll tell them we saved the world from a demon tyrant!">>
<<dialog "Azgorth" "faceserious" "And in fifty years, when your kings have started ten new wars, sold a thousand more children into slavery, burned a hundred more villages... will you still believe you were heroes?">>
<<narrative "Gairos's final lightning bolt pierced the Demon King's chest, but Azgorth remained standing for a moment longer, his ancient eyes fixed on his children.">>
<<dialog "Azgorth" "faceserious" "My little ones... I'm sorry... I couldn't protect you... I couldn't give you the better world I promised...">>
<<narrative "He collapsed against his obsidian throne, his beautiful purple skin growing pale, his green hair falling across his face. The lightning had found its mark, straight through his heart.">>
<<narrative "The spell he had been channeling died with him, its true purpose forever unknown. Had it really been a healing magic? Or had his words been lies to the end?">>
<<dialog "Gairos" "portraitpast" "It's finished. The Demon King is dead. The world is safe.">>
<<narrative "But as Mariel looked around the throne room, at the beautiful wives lying motionless, at the burned servants, at the three terrified children huddled behind the throne, she wondered if the world was truly any safer at all.">>
<<narrative "The battle was over.">>
<<narrative "But the real horror was just beginning.">>
<<continueBox "TheOnesWithoutName" "Continue" "">>
</div>
<</nobr>>
<<pov "mariel" "demonkingfight.mp3">><<nobr>>
<<set $currentFace = $currentMarielFace>>
<<set $timeOfDay = "night">>
<div class="passage-container mariel">
<center><img src="images/landscapes/rylanhome.webp" alt="House at night" width="400"></center>
<<narrative "*End of Chapter 0*">>
<<narrative "*The story continues...*">>
<div id="chapter1-link" style="display: none; text-align: center; margin-top: 20px;">
<<choiceBox "Begin Chapter 1" "Begin Chapter 1" "ChapterOneStart" "ChapterOneStart=true">>
</div>
<div id="loading-dots" style="text-align: center; margin-top: 20px;">
<span style="font-style: italic;">Please wait</span><span id="dots">.</span>
</div>
<<script>>
setTimeout(function() {
$("#loading-dots").fadeOut(500, function() {
$("#chapter1-link").fadeIn(1000);
});
}, 5000);
var dotCount = 1;
var dotInterval = setInterval(function() {
var dots = "";
for (var i = 0; i < (dotCount % 4); i++) {
dots += ".";
}
if (dots === "") dots = ".";
$("#dots").text(dots);
dotCount++;
}, 500);
setTimeout(function() {
clearInterval(dotInterval);
}, 5000);
<</script>>
</div>
<</nobr>>
<<pov "mariel" "theoneswithoutname.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<div class="passage-container rylan">
<<narrative "Consciousness returns slowly, accompanied by the gentle touch of healing magic. $humanName opens his eyes to find himself back in the clearing where the party had last rested, Liora's hands glowing with restorative energy while Serin keeps watch.">>
<<dialog "Liora" "faceshortpink" "Thank goodness you're awake..." "Relief floods Liora's voice" "We had to retreat... I'm sorry, but I used most of my magic just keeping everyone stable.">>
<<dialog "Serin" "face" "Hey, no shame in a tactical retreat." "Serin's tone is deliberately light, but there's concern in her eyes" "Though next time, maybe we should be a bit more careful about what fights we pick, hm?">>
<<if $currentEnemies.includes("goblin")>>
<<narrative "The memory of failing against another goblin weighs heavily on $humanName's mind.">>
<<changeCombatStat "Rylan" "confidence" -2>>
<<narrative "💔 $humanName's confidence takes an extra hit...">>
<<elseif $currentEnemies.includes("specialSlime")>>
<<narrative "The strange, shimmering slime had proven far more dangerous than expected.">>
<<changeCombatStat "Rylan" "corruption" 1>>
<<narrative "🌑 The defeat leaves a lingering corruption...">>
<</if>>
<div class="loss-notification" style="background: rgba(255, 0, 0, 0.1); border: 1px solid #ff4444; padding: 10px; margin: 10px 0; border-radius: 5px; color: #ff4444;">
<p style="margin: 0;">Lost Items: 💰 <<print Math.floor(State.variables.gold / 2)>> gold</p>
</div>
<<if $serin_RylanAffection > 50>>
<<narrative "Serin places a reassuring hand on $humanName's shoulder.">>
<<dialog "Serin" "face" "We all have our off days. What matters is getting back up, right?">>
<<narrative "💗 The support helps restore some confidence...">>
<<changeCombatStat "Rylan" "confidence" 1>>
<<else>>
<<narrative "Serin maintains her usual teasing demeanor, but there's a hint of worry in her voice.">>
<</if>>
<<if $liora_RylanAffection > 50>>
<<dialog "Liora" "faceshortpink" "Please don't be too hard on yourself..." "Liora's gentle words carry genuine care" "We're all still learning.">>
<<narrative "💗 Her kindness eases the sting of defeat...">>
<<changeCombatStat "Rylan" "confidence" 1>>
<<else>>
<<narrative "Liora focuses on her healing, her concern evident in her careful attention.">>
<</if>>
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<<set _springRoll = random(1, 100)>>
<<set _baseThreshold = 35>>
<<set _rylanLustMod = Math.floor($rylan_Lust / 20) * -5>>
<<set _rylanCorruptionMod = Math.floor($rylan_corruption / 20) * -10>>
<<set _rylanFinalThreshold = _baseThreshold + _rylanLustMod + _rylanCorruptionMod>>
<<if $dungeonMap[$currentNode].branches.length === 0>>
<<set _nodeTypes = ["battle", "battle", "battle", "battle", "battle", "rest"]>>
<<set _nextBranch1 = _nodeTypes[random(0, _nodeTypes.length - 1)]>>
<<set _nextBranch2 = _nodeTypes[random(0, _nodeTypes.length - 1)]>>
<<set _newNode1 = `node${Object.keys($dungeonMap).length}`>>
<<set _newNode2 = `node${Object.keys($dungeonMap).length + 1}`>>
<<set $dungeonMap[_newNode1] = { type: _nextBranch1, description: _nextBranch1 === "battle" ? "Rustling Leaves" : _nextBranch1 === "rest" ? "Peaceful Clearing" : "Mystery Path", branches: [], visited: false }>>
<<set $dungeonMap[_newNode2] = { type: _nextBranch2, description: _nextBranch2 === "battle" ? "Moving Shadows" : _nextBranch2 === "rest" ? "Sunlit Glade" : "Strange Sounds", branches: [], visited: false }>>
<<set $dungeonMap[$currentNode].branches = [_newNode1, _newNode2]>>
<</if>>
<div class="passage-container rylan">
<<if $eventChoice === "dip">>
<<narrative "The group agreed to take turns, with Serin volunteering to keep watch first. The hot spring was screened by rocks and foliage, offering some privacy.">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.2>>
<<set _serinVoyBonus = ($serin_naturalTendencies ?? []).includes("voyeurism") ? 1.5 : 1>>
<<changeFetish "Serin" "VoyeurismFetish" _baseGain * _serinVoyBonus>>
<<narrative "From her vantage point, Serin found her gaze occasionally drifting toward the spring, though she tried to maintain her focus on watching for threats.">>
<<changeLust "Serin" 3>>
<</if>>
<<narrative "The warm water worked wonders on tired muscles, and the mineral-rich spring seemed to have mild healing properties.">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.1>>
<<set _lioraVoyBonus = ($liora_naturalTendencies ?? []).includes("voyeurism") ? 1.5 : 1>>
<<changeFetish "Liora" "VoyeurismFetish" _baseGain * _lioraVoyBonus>>
<<narrative "Liora couldn't help but notice how the water droplets traced paths down $humanName's shoulders when it was his turn.">>
<<changeLust "Liora" 2>>
<</if>>
<<set $tempStatBoost = true>>
<<set $statBoostDuration = 5>>
<<elseif $eventChoice === "rest">>
<<narrative "The group settled near the spring, enjoying the warm, mineral-rich air while staying dressed. The steam created a peaceful atmosphere.">>
<<dialog "Serin" "face" "The heat's still nice even from here," "Serin noted, stretching her legs out" "Though I bet the water would be better...">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.1>>
<<set _rylanVoyBonus = ($rylan_naturalTendencies ?? []).includes("voyeurism") ? 1.5 : 1>>
<<changeFetish "Rylan" "VoyeurismFetish" _baseGain * _rylanVoyBonus>>
<<narrative "$humanName found himself distracted by the way the humid air made Serin's leather armor cling to her athletic form.">>
<<changeLust "Rylan" 2>>
<</if>>
<<if $rylan_Lust < 0>><<set $rylan_Lust = 0>><</if>>
<<set $tempStatBoost = true>>
<<set $statBoostDuration = 3>>
<<else>>
<<dialog "Rylan" "face" "We should keep moving," "$humanName decided, though the spring looked inviting" "The exam comes first.">>
<<dialog "Serin" "face" "All work and no play..." "Serin sighed, but nodded in agreement">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.1>>
<<set _serinDomBonus = ($serin_naturalTendencies ?? []).includes("dominance") ? 1.5 : 1>>
<<changeFetish "Serin" "DominanceFetish" _baseGain * _serinDomBonus>>
<<narrative "Something about his serious dedication made Serin want to tease him more.">>
<<changeLust "Serin" 1>>
<</if>>
<<changeCombatStat "Rylan" "confidence" 1>>
<</if>>
<<continueBox "ForestHunt" "Continue Exploring" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<<if !$quests>> <<set $quests = { active: {}, completed: {}, failed: {} }>> <</if>> <<set $timeOfDay = "afternoon">> <<set $currentNode = "start">> <<set $visitedNodes = []>> <<if !$slimesDefeated>> <<set $slimesDefeated = 0>> <</if>> <<set $mapGenerated = false>> <<set $currentLocation = "Forest">> <<if !$rylan_combatStats>> <<set $rylan_combatStats = { maxHealth: 100, currentHealth: 100, maxStamina: 100, currentStamina: 100, maxFocus: 50, currentFocus: 50, physicalPower: 10, agility: 8, willpower: 6, technique: 7, perception: 6 }>> <</if>> <<if !$serin_combatStats>> <<set $serin_combatStats = { maxHealth: 90, currentHealth: 90, maxStamina: 120, currentStamina: 120, maxFocus: 60, currentFocus: 60, physicalPower: 8, agility: 12, willpower: 7, technique: 9, perception: 8 }>> <</if>> <<if !$liora_combatStats>> <<set $liora_combatStats = { maxHealth: 80, currentHealth: 80, maxStamina: 80, currentStamina: 80, maxFocus: 100, currentFocus: 100, physicalPower: 6, agility: 7, willpower: 12, technique: 8, perception: 9 }>> <</if>> <<if !$seryk_combatStats>> <<set $seryk_combatStats = { maxHealth: 150, currentHealth: 150, maxStamina: 150, currentStamina: 150, maxFocus: 70, currentFocus: 70, physicalPower: 15, agility: 10, willpower: 8, technique: 9, perception: 7 }>> <</if>> <<set _baseRoll = random(1, 100)>> <<set _baseThreshold = 35>> <<set _rylanLustMod = Math.floor($rylan_Lust / 20) * -5>> <<set _rylanCorruptionMod = Math.floor($rylan_corruption / 20) * -10>> <<set _rylanFinalThreshold = _baseThreshold + _rylanLustMod + _rylanCorruptionMod>> <<if !$mapGenerated>> <<set $dungeonMap = {}>> <<set $dungeonMap.start = { type: "start", description: "Forest Entrance", branches: [], visited: false }>> <<set _nodeTypes = ["battle", "battle", "battle", "battle", "battle", "battle", "rest"]>> <<set _firstBranch1 = _nodeTypes[random(0, _nodeTypes.length - 1)]>> <<set _firstBranch2 = _nodeTypes[random(0, _nodeTypes.length - 1)]>> <<set $dungeonMap.node1 = { type: _firstBranch1, description: _firstBranch1 === "battle" ? "Rustling Leaves" : _firstBranch1 === "rest" ? "Peaceful Clearing" : _firstBranch1 === "gather" ? "Herb Patch" : "Mystery Path", branches: [], visited: false }>> <<set $dungeonMap.node2 = { type: _firstBranch2, description: _firstBranch2 === "battle" ? "Moving Shadows" : _firstBranch2 === "rest" ? "Sunlit Glade" : _firstBranch2 === "gather" ? "Hidden Grove" : "Strange Sounds", branches: [], visited: false }>> <<set $dungeonMap.start.branches = ["node1", "node2"]>> <<set $mapGenerated = true>> <</if>>
<div class="passage-container rylan">
<<dialog "Serin" "face" "Perfect timing," "Serin noted, adjusting her leather armor straps" "Slimes are more active in the afternoon heat.">>
<<dialog "Liora" "faceshortpink" "They also tend to be... um... more liquid?" "Liora added helpfully, though she didn't sound entirely sure if that was useful information">>
<div id="dungeon-view" style="position: relative; width: 800px; height: 400px; background: url('images/landscapes/forestofbeginning.webp') repeat-x; background-size: auto 100%; overflow: hidden; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.2); margin: 20px auto;">
<div id="party-container" style="position: absolute; left: 100px; top: 250px; display: flex; gap: 20px;">
<img src="images/chibi-models/rylangoing.webp" class="chibi-model" style="width: 64px; height: 64px; image-rendering: pixelated;">
<img src="images/chibi-models/seringoing.webp" class="chibi-model" style="width: 64px; height: 64px; image-rendering: pixelated;">
<img src="images/chibi-models/lioragoing.webp" class="chibi-model" style="width: 64px; height: 64px; image-rendering: pixelated;">
</div>
</div>
<<script>> $(document).ready(function() { $('#dungeon-view').css('opacity', 0).animate({opacity: 1}, 300); if (!State.variables.quests?.completed?.slimeHunt) { setTimeout(function() { const partyContainer = $('#party-container'); const dungeonView = $('#dungeon-view'); const viewWidth = dungeonView.width(); partyContainer.animate({ left: viewWidth - 200 }, 2000, 'linear', function() { dungeonView.fadeOut(300, function() { const eventTypes = ["battle", "battle", "battle", "battle", "battle", "battle", "rest"]; const randomEvent = eventTypes[Math.floor(Math.random() * eventTypes.length)]; Engine.play("ForestNode_" + randomEvent); }); }); dungeonView.animate({ 'background-position-x': '-=800px' }, 2000, 'linear'); }, 300); } }); <</script>>
<<if $quests.completed.slimeHunt>>
<<dialog "Serin" "face" "Well, looks like we've cleared out enough of those slimes.">>
<<dialog "Liora" "faceshortpink" "We should head back to report our success...">>
<<continueBox "ReportExamresults" "Report Exam Results" "">>
<</if>>
<style>
.dungeon-map {
background: rgba(255, 255, 255, 0.9);
border: 2px solid #654321;
padding: 15px;
margin: 10px 0;
border-radius: 5px;
}
.map-node {
margin: 5px 0;
padding: 5px;
font-family: monospace;
}
.map-node.current {
background: #e6ffe6;
border: 1px solid #006600;
}
.map-node.visited {
color: #666;
}
.map-branch {
margin-left: 20px;
color: #666;
}
.chibi-model {
image-rendering: pixelated;
transform-origin: bottom center;
filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.3));
object-fit: contain;
animation: walk 0.3s infinite;
}
@keyframes walk {
0%, 100% { transform: translateY(0) scaleY(1); }
50% { transform: translateY(-3px) scaleY(0.95); }
}
.chibi-model:nth-child(2) {
animation-delay: 0.2s;
}
.chibi-model:nth-child(3) {
animation-delay: 0.4s;
}
#dungeon-view {
image-rendering: pixelated;
background-position: 0 0;
}
.stat-change {
position: fixed;
right: 20px;
background: rgba(0, 0, 0, 0.8);
color: white;
padding: 10px;
border-radius: 5px;
animation: fadeInOut 3s ease-in-out;
z-index: 1000;
}
@keyframes fadeInOut {
0% { opacity: 0; transform: translateY(20px); }
10% { opacity: 1; transform: translateY(0); }
90% { opacity: 1; transform: translateY(0); }
100% { opacity: 0; transform: translateY(-20px); }
}
</style>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<div class="passage-container rylan">
<<dialog "Rylan" "face" "I think I should conserve my energy for real threats." "$humanName sheathes his weapon respectfully.">>
<<dialog "Serin" "face" "Your call. Can't say I don't understand the caution." "Serin shrugs, though there's a hint of disappointment in her eyes. She begins her own training routine, working through complex forms alone.">>
<center><img src="images/serin/poses/flexingarms.webp" style="max-width: 400px;"></center>
<<dialog "Liora" "faceshortpink" "Perhaps it's wise to stay fresh for whatever we might encounter." "Liora offers supportively, though her gaze keeps drifting to Serin's solo practice.">>
<<if random(1, 100) <= _rylanFinalThreshold>><<set _baseGain = 0.1>><<set _rylanMuscleBonus = ($rylan_naturalTendencies ?? []).includes("muscleFetish") ? 1.5 : 1>><<changeFetish "Rylan" "MuscleFetish" _baseGain * _rylanMuscleBonus>>
<<narrative "Watching Serin train alone allows $humanName to appreciate the pure athleticism of her form.">>
<<changeLust "Rylan" 2>><</if>>
<<if random(1, 100) <= _baseThreshold>><<set _baseGain = 0.2>><<set _lioraVoyBonus = ($liora_naturalTendencies ?? []).includes("voyeurism") ? 1.5 : 1>><<changeFetish "Liora" "VoyeurismFetish" _baseGain * _lioraVoyBonus>>
<<narrative "Liora finds herself captivated by Serin's graceful movements, each technique flowing seamlessly into the next.">>
<<changeLust "Liora" 2>><</if>>
<<changeCombatStat "Rylan" "willpower" 0.2>> <<changeCombatStat "Rylan" "confidence" 1>>
<<narrative "🎯 Willpower increased by 0.2!">>
<<set $serinTrainingDeclineChoice = "continueExploring">>
<<continueBox "ForestHunt" "Continue Exploring" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<div class="passage-container rylan">
<<dialog "Rylan" "face" "I'll watch and learn." "$humanName settles beside Liora on a fallen log.">>
<<dialog "Serin" "face" "Smart choice. Sometimes observation teaches more than participation." "Serin nods approvingly. She begins an intricate training sequence, her movements flowing like water.">>
<center><img src="images/serin/poses/flexingarms.webp" style="max-width: 400px;"></center>
<<dialog "Liora" "faceshortpink" "She's incredible, isn't she?" "Liora's voice carries genuine admiration as Serin demonstrates a complex combination attack.">>
<<if random(1, 100) <= _rylanFinalThreshold>><<set _baseGain = 0.3>><<set _rylanMuscleBonus = ($rylan_naturalTendencies ?? []).includes("muscleFetish") ? 1.5 : 1>><<changeFetish "Rylan" "MuscleFetish" _baseGain * _rylanMuscleBonus>>
<<narrative "The afternoon light highlights every contour of Serin's athletic form as she moves through her routine.">>
<<changeLust "Rylan" 3>><</if>>
<<if random(1, 100) <= _baseThreshold>><<set _baseGain = 0.3>><<set _lioraVoyBonus = ($liora_naturalTendencies ?? []).includes("voyeurism") ? 1.5 : 1>><<changeFetish "Liora" "VoyeurismFetish" _baseGain * _lioraVoyBonus>>
<<narrative "There's an almost hypnotic quality to watching such skilled movement. Liora's healing magic flickers slightly with her distraction.">>
<<changeLust "Liora" 3>><</if>>
<<set _serinLioraAllowed = ($serin_LesbianValue > 0 && $liora_LesbianValue > 0)>> <<set _serinLioraAttraction = ($serin_LioraAttraction > 20 && $liora_SerinAttraction > 20)>>
<<if _serinLioraAllowed && _serinLioraAttraction>>
<<if random(1, 100) <= _baseThreshold>>
<<narrative "As the training session continues, Serin occasionally glances toward Liora, her movements becoming slightly more deliberate and graceful.">>
<<changeLust "Serin" 2>>
<<changeLust "Liora" 2>>
<<changeAttraction "Serin" "Liora" 0.2>>
<<changeAttraction "Liora" "Serin" 0.2>>
<</if>>
<</if>>
<<dialog "Serin" "face" "Learn anything useful?" "As Serin's training winds down, she approaches the pair, barely winded despite the intense workout.">>
<<dialog "Rylan" "face" "Your technique is... impressive." "$humanName manages, trying to keep his voice steady.">>
<<dialog "Liora" "faceshortpink" "The way you move through those forms... it's almost like magic." "Liora's cheeks carry a faint flush.">>
<<changeCombatStat "Rylan" "technique" 0.2>> <<changeCombatStat "Rylan" "perception" 0.2>> <<changeCombatStat "Rylan" "confidence" 1>> <<changeAttraction "Rylan" "Serin" 0.3>> <<changeAttraction "Liora" "Serin" 0.3>>
<<narrative "🎯 Technique increased by 0.2!">>
<<narrative "👁️ Perception increased by 0.2!">>
<<set $serinTrainingWatchChoice = "continueExploring">>
<<continueBox "ForestHunt" "Continue Exploring" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<div class="passage-container rylan">
<center><img src="images/enemies/slime.webp" alt="Forest Slimes" width="600"></center>
<<set $combatContext = "chapter0ForestHunt">><<set _encounterRoll = random(1, 100)>> <<set _baseRoll = random(1, 100)>> <<set _baseThreshold = 35>> <<set $currentHealth = $maxHealth>>
<<if _encounterRoll <= 100>>
<<set $numSlimes = random(1, 3)>> <<set $currentEnemies = []>> <<for _i = 0; _i < $numSlimes; _i++>> <<set _slimeId = "slime" + _i>> <<set $currentEnemies.push(_slimeId)>> <<set State.variables[_slimeId + "_combatStats"] = { maxHealth: 10, currentHealth: 10, maxStamina: 100, currentStamina: 100, maxFocus: 50, currentFocus: 50, physicalPower: 8, agility: 5, willpower: 5, technique: 5, perception: 4 }>> <</for>>
<<narrative "The party encounters <<if $numSlimes === 1>> a forest slime <<else>> a group of $numSlimes forest slimes <</if>>!">>
<<script>>
$(document).one(':combatVictory', function() {
if (State.variables.quests && State.variables.quests.active.slimeHunt) {
window.QuestSystem.updateQuest('slimeHunt', 'slimeKills', State.variables.numSlimes);
State.variables.slimesDefeated += State.variables.numSlimes;
}
});
<</script>>
<<choiceBox "How do you handle the slimes?" "Begin Battle" "Combat" "ForestNode_battle=battle">>
<style>
.combat-container {
background: rgba(0, 0, 0, 0.8);
padding: 20px;
border-radius: 10px;
margin: 20px 0;
}
.combat-status-area, .enemy-status-area {
display: flex;
justify-content: space-around;
margin-bottom: 20px;
}
.character-status, .enemy-status {
background: rgba(255, 255, 255, 0.1);
padding: 10px;
border-radius: 5px;
min-width: 200px;
}
.stat-bar {
background: rgba(0, 0, 0, 0.3);
height: 20px;
border-radius: 10px;
margin: 5px 0;
overflow: hidden;
}
.health-bar { background: linear-gradient(90deg, #ff4444, #ff6b6b); }
.stamina-bar { background: linear-gradient(90deg, #4CAF50, #81C784); }
.focus-bar { background: linear-gradient(90deg, #2196F3, #64B5F6); }
.combat-action-area {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 10px;
padding: 20px;
background: rgba(255, 255, 255, 0.05);
border-radius: 5px;
}
.action-button {
background: rgba(255, 255, 255, 0.1);
padding: 10px;
border-radius: 5px;
text-align: center;
cursor: pointer;
transition: background 0.3s;
}
.action-button:hover {
background: rgba(255, 255, 255, 0.2);
}
.turn-indicator {
grid-column: 1/-1;
text-align: center;
font-size: 1.2em;
margin-bottom: 10px;
color: #fff;
}
.status-effects {
margin-top: 5px;
font-size: 0.9em;
color: #ccc;
}
.stat-drops {
margin: 20px 0;
padding: 15px;
background: rgba(0, 0, 0, 0.3);
border-radius: 8px;
}
.stat-drops h3 {
color: #4CAF50;
margin-bottom: 10px;
}
.stat-drop-item {
margin: 8px 0;
padding: 8px;
background: rgba(255, 255, 255, 0.1);
border-radius: 5px;
color: #90CAF9;
text-shadow: 0 0 3px rgba(144, 202, 249, 0.5);
}
</style>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "battle/normal.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<<set _eventRoll = random(1, 100)>> <<set _baseRoll = random(1, 100)>> <<set _baseThreshold = 35>>
<div class="passage-container rylan">
<<if _eventRoll <= 20>>
<<narrative "A familiar sound makes $humanName's heart skip a beat - the rattling of crude armor and the distinctive snorting of a goblin. It's smaller than the one from the exam, but still...">>
<<dialog "Serin" "face" "Well, well..." "Serin's teasing grin appears as she notices $humanName's tension" "Here's your chance for redemption, hero.">>
<<set _rylanLustMod = Math.floor($rylan_Lust / 20) * -5>> <<set _rylanCorruptionMod = Math.floor($rylan_corruption / 20) * -10>> <<set _rylanConfidenceMod = Math.floor($rylan_Confidence / 10) * 2>> <<set _rylanFinalThreshold = _baseThreshold + _rylanLustMod + _rylanCorruptionMod + _rylanConfidenceMod>>
<<choiceBox "How do you handle the goblin?" "Face the goblin head-on" "ForestNode_goblinBattle" "ForestNode_goblinBattle=confront" "Try to sneak around it" "ForestNode_goblinSneakAttempt" "ForestNode_goblinSneakAttempt=sneak" "Suggest finding another route" "ForestNode_goblinRetreat" "ForestNode_goblinRetreat=retreat">>
<<elseif _eventRoll <= 40>>
<<narrative "The party discovers a small hot spring, steam rising gently from its surface.">>
<<dialog "Liora" "faceshortpink" "Oh! A natural hot spring... the water likely has healing properties.">>
<<for _char range ["Rylan", "Serin", "Liora"]>> <<set _charLustMod = Math.floor(State.variables[_char.toLowerCase() + "_Lust"] / 20) * -5>> <<set _charCorruptionMod = Math.floor(State.variables[_char.toLowerCase() + "_corruption"] / 20) * -10>> <<set _charFinalThreshold = _baseThreshold + _charLustMod + _charCorruptionMod>> <<if random(1, 100) <= _charFinalThreshold>> <<set _baseGain = 0.2>> <<if _char === "Rylan">> The thought of the others potentially using the spring makes $humanName's cheeks warm. <<changeLust "Rylan" 2>> <<changeFetish "Rylan" "VoyeurismFetish" _baseGain>> <<elseif _char === "Serin">> Serin stretches deliberately, making a show of how the heat has affected her. <<set $serin_Lust += 2>><<trackLust "Serin" 2>> <<set $serin_ExhibitionismFetish += _baseGain>><<trackFetish "Serin" "Exhibitionism" _baseGain>> <<else>> Liora fidgets with her robes, torn between propriety and the spring's appeal. <<set $liora_Lust += 2>><<trackLust "Liora" 2>> <</if>> <</if>> <</for>>
<<choiceBox "What do you do at the hot spring?" "Take a quick rest by the spring" "ForestHunt" "ForestHunt=rest" "Continue on" "ForestHunt" "ForestHunt=continue">>
<<elseif _eventRoll <= 60>>
<<narrative "The party finds a clearing perfect for some quick combat practice.">>
<<dialog "Serin" "face" "Come on, $humanName! Let's see if you've improved!" "Serin calls out, already taking a fighting stance">>
<<for _char range ["Rylan", "Serin", "Liora"]>> <<set _charLustMod = Math.floor(State.variables[_char.toLowerCase() + "_Lust"] / 20) * -5>> <<set _charCorruptionMod = Math.floor(State.variables[_char.toLowerCase() + "_corruption"] / 20) * -10>> <<set _charFinalThreshold = _baseThreshold + _charLustMod + _charCorruptionMod>> <<if random(1, 100) <= _charFinalThreshold>> <<set _baseGain = 0.2>> <<if _char === "Rylan">>
The close combat training with Serin feels... different than usual.
<<set $rylan_Lust += 2>><<trackLust "Rylan" 2>> <<set $rylan_MuscleFetish += _baseGain>><<trackFetish "Rylan" "Muscle" _baseGain>> <<elseif _char === "Serin">>
Serin seems to enjoy the physical contact more than strictly necessary.
<<set $serin_Lust += 2>><<trackLust "Serin" 2>> <<set $serin_DominanceFetish += _baseGain>><<trackFetish "Serin" "Dominance" _baseGain>> <<else>>
Liora watches the sparring with unusual intensity.
<<set $liora_Lust += 2>><<trackLust "Liora" 2>><<set $liora_VoyeurismFetish += _baseGain>><<trackFetish "Liora" "Voyeurism" _baseGain>><</if>><</if>><</for>>
<<choiceBox "Do you accept Serin's training challenge?" "Accept Serin's challenge" "ForestNode_trainingWithSerin" "ForestNode_trainingWithSerin=accept" "Politely decline" "ForestHunt" "ForestHunt=decline">>
<<else>>
<<narrative "The group stumbles into what appears to be a slime breeding ground, the air thick with an oddly sweet scent.">>
<<for _char range ["Rylan", "Serin", "Liora"]>> <<set _charLustMod = Math.floor(State.variables[_char.toLowerCase() + "_Lust"] / 20) * -5>> <<set _charCorruptionMod = Math.floor(State.variables[_char.toLowerCase() + "_corruption"] / 20) * -10>> <<set _charFinalThreshold = _baseThreshold + _charLustMod + _charCorruptionMod>> <<if random(1, 100) <= _charFinalThreshold>> <<set _baseGain = 0.2>> <<if _char === "Rylan">> The sweet scent seems to be affecting $humanName strangely. <<set $rylan_Lust += 3>><<trackLust "Rylan" 3>> <<set $rylan_SmellFetish += _baseGain>><<trackFetish "Rylan" "Smell" _baseGain>> <<elseif _char === "Serin">> Serin's breathing becomes slightly heavier in the thick air. <<set $serin_Lust += 3>><<trackLust "Serin" 3>> <<set $serin_SmellFetish += _baseGain>><<trackFetish "Serin" "Smell" _baseGain>> <<else>>
Liora's face flushes as she tries to focus through the strange atmosphere. <<set $liora_Lust += 3>><<trackLust "Liora" 3>> <<set $liora_SmellFetish += _baseGain>><<trackFetish "Liora" "Smell" _baseGain>> <</if>><</if>><</for>>
<<choiceBox "What do you do?" "Fight through the slimes" "ForestNode_battle" "ForestNode_battle=fight" "Try to escape" "ForestHunt" "ForestHunt=escape">>
<</if>>
<<if $rylan_Lust >= 50>> $humanName's movements are becoming noticeably distracted. <</if>> <<if $serin_Lust >= 50>> There's an unusual intensity to Serin's actions. <</if>> <<if $liora_Lust >= 50>> Liora seems to be having trouble maintaining her usual composure. <</if>>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<<set _baseRoll = random(1, 100)>> <<set _baseThreshold = 35>> <<set _rylanLustMod = Math.floor($rylan_Lust / 20) * -5>> <<set _rylanCorruptionMod = Math.floor($rylan_corruption / 20) * -10>> <<set _rylanConfidenceMod = Math.floor($rylan_Confidence / 10) * 2>> <<set _rylanFinalThreshold = _baseThreshold + _rylanLustMod + _rylanCorruptionMod + _rylanConfidenceMod>>
<div class="passage-container rylan">
<<narrative "Serin takes a fighting stance, her movements fluid and confident. Her teasing grin only makes $humanName more determined to prove himself.">>
<<dialog "Serin" "face" "Don't worry, I'll go easy on you... maybe.">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set $rylan_combatStats.technique += 0.2>><<trackCombatStat "Rylan" "technique" 0.2>><<set $rylan_Confidence += 1>><<trackOther "Rylan" "confidence" 1>><<set $rylan_affection["Serin"] += 1>><<trackAffection "Rylan" "Serin" 1>>
<<narrative "The training session goes surprisingly well. $humanName manages to keep up with Serin's quick movements, even landing a few solid hits.">>
<<dialog "Serin" "face" "Not bad at all!" "Serin's praise feels genuine for once" "Keep that up and you might actually impress me someday.">>
<<else>> <<set $rylan_combatStats.technique += 0.1>><<trackCombatStat "Rylan" "technique" 0.1>> <<set $rylan_Confidence -= 1>><<trackOther "Rylan" "confidence" -1>>
<<narrative "Despite his best efforts, $humanName struggles to match Serin's speed and precision. She seems to be everywhere at once, easily dodging his attacks while landing her own.">>
<<dialog "Serin" "face" "Still too slow!" "She taunts, though there's a hint of encouragement in her voice" "But at least you're trying. That's something, right?">>
<</if>>
<<if $rylan_MuscleFetish > 0>>
<<narrative "The close combat training highlights Serin's athletic form, her muscles flexing with each movement. $humanName finds it... distracting.">>
<<set $rylan_Lust += 2>><<trackLust "Rylan" 2>> <<set $rylan_MuscleFetish += 0.2>><<trackFetish "Rylan" "Muscle" 0.2>>
<</if>>
<<if $serin_DominanceFetish > 0>>
<<narrative "There's an extra intensity to Serin's grapples and holds, lingering just a moment longer than necessary.">>
<<set $serin_Lust += 2>><<trackLust "Serin" 2>> <<set $serin_DominanceFetish += 0.2>><<trackFetish "Serin" "Dominance" 0.2>>
<</if>>
<<if $liora_VoyeurismFetish > 0>>
<<narrative "Liora watches the sparring intently, her cheeks slightly flushed as she follows their movements.">>
<<set $liora_Lust += 2>><<trackLust "Liora" 2>> <<set $liora_VoyeurismFetish += 0.2>><<trackFetish "Liora" "Voyeurism" 0.2>>
<</if>>
<<continueBox "ForestHunt" "Continue Hunting" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $timeOfDay = "afternoon">>
<<set _eventRoll = random(1, 100)>> <<set _baseThreshold = 35>> <<set _rylanLustMod = Math.floor($rylan_Lust / 20) * -5>> <<set _rylanCorruptionMod = Math.floor($rylan_corruption / 20) * -10>> <<set _rylanFinalThreshold = _baseThreshold + _rylanLustMod + _rylanCorruptionMod>>
<<set _serinLioraAllowed = ($serin_LesbianValue > 0 && $liora_LesbianValue > 0)>> <<set _serinLioraIntimate = ($serin_LesbianValue > 30 && $liora_LesbianValue > 30)>> <<set _serinLioraAttraction = ($serin_LioraAttraction > 20 && $liora_SerinAttraction > 20)>> <<set _lustOverride = ($serin_Lust > 50 && $liora_Lust > 50)>>
<div class="passage-container rylan">
<<narrative "The party manages to gather some common healing herbs. The careful, precise movements required help refine their technique.">>
<center><img src="images/liora/poses/bendingdown.webp" style="max-width: 400px;"></center>
<<narrative "Liora's eyes light up at the sight, and she quickly kneels to examine the plants. Her hands hover over the plants with practiced care.">>
<<dialog "Liora" "faceshortpink" "Oh! These herbs could be very useful for healing potions..." "And look, there are some rare varieties mixed in!">>
<center><img src="images/serin/poses/stretch.webp" style="max-width: 400px;"></center>
<<narrative "Serin stretches, scanning the surroundings.">>
<<dialog "Serin" "face" "Just remember to keep your guard up while gathering. Monsters love to ambush distracted adventurers.">>
<<if _serinLioraAllowed && (_serinLioraAttraction || _lustOverride)>> <<if random(1, 100) <= _baseThreshold>> <<set _baseGain = 0.1>> Serin's gaze lingers on Liora's graceful movements as she works, a slight smile playing at her lips. <<changeLust "Serin" 1>> <<changeAttraction "Serin" "Liora" 0.1>> <</if>> <</if>>
<<if _serinLioraAllowed && (_serinLioraAttraction || _lustOverride)>>
<<if random(1, 100) <= _baseThreshold>>
<<set _baseGain = 0.1>>
Liora's cheeks color slightly as she feels Serin's attention, her movements becoming more deliberate.
<<changeLust "Liora" 1>>
<<changeAttraction "Liora" "Serin" 0.1>>
<</if>>
<</if>>
<<if _serinLioraIntimate && _serinLioraAttraction>>
<<if random(1, 100) <= _baseThreshold>>
Serin moves closer to help, her hand brushing against Liora's as they work. The touch lingers a moment longer than necessary.
<<changeLust "Serin" 2>>
<<changeLust "Liora" 2>>
<<changeAttraction "Serin" "Liora" 0.2>>
<<changeAttraction "Liora" "Serin" 0.2>>
<</if>>
<</if>>
<<set _gatherRoll = random(1, 100)>>
<<if _gatherRoll <= 70>>
<<set $herbs += random(2, 4)>>
<<set $rareHerbs += random(1, 2)>>
<<combatStatChange "technique" 0.2>>
<<changeCombatStat "Rylan" "confidence" 1>>
🌿 Gathered $herbs common herbs!
✨ Found $rareHerbs rare herbs!
🎯 Technique increased by 0.2!
<<elseif _gatherRoll <= 90>>
<<set $herbs += random(3, 5)>>
<<set $rareHerbs += random(2, 4)>>
<<combatStatChange "agility" 0.2>>
<<combatStatChange "technique" 0.1>>
🏃 Agility increased by 0.2!
⚔️ Technique increased by 0.1!
<<else>>
<<set $herbs += random(4, 6)>>
<<set $rareHerbs += random(2, 3)>>
<<set $specialItems += 1>>
<<combatStatChange "willpower" 0.2>>
<<combatStatChange "technique" 0.2>>
<<combatStatChange "perception" 0.2>>
<<changeCombatStat "Rylan" "confidence" 1>>
🧠 Willpower increased by 0.2!
⚔️ Technique increased by 0.2!
🌿 Gathered $herbs common herbs!
✨ Found $rareHerbs rare herbs!
🌟 Discovered a special item!
👁️ Perception increased by 0.2!
<</if>>
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $timeOfDay = "afternoon">>
<<set _eventRoll = random(1, 100)>> <<set _baseThreshold = 35>> <<set _rylanLustMod = Math.floor($rylan_Lust / 20) * -5>> <<set _rylanCorruptionMod = Math.floor($rylan_corruption / 20) * -10>> <<set _rylanFinalThreshold = _baseThreshold + _rylanLustMod + _rylanCorruptionMod>>
<<set _serinLioraAllowed = ($serin_LesbianValue > 0 && $liora_LesbianValue > 0)>> <<set _serinLioraIntimate = ($serin_LesbianValue > 30 && $liora_LesbianValue > 30)>> <<set _serinLioraAttraction = ($serin_LioraAttraction > 20 && $liora_SerinAttraction > 20)>> <<set _lustOverride = ($serin_Lust > 50 && $liora_Lust > 50)>>
<div class="passage-container rylan">
<<narrative "The party manages to gather some common healing herbs. The careful, precise movements required help refine their technique.">>
<center><img src="images/liora/poses/bendingdown.webp" style="max-width: 400px;"></center>
<<narrative "Liora's eyes light up at the sight, and she quickly kneels to examine the plants. Her hands hover over the plants with practiced care.">>
<<dialog "Liora" "faceshortpink" "Oh! These herbs could be very useful for healing potions..." "And look, there are some rare varieties mixed in!">>
<<narrative "Serin stretches, scanning the surroundings.">>
<<dialog "Serin" "face" "Just remember to keep your guard up while gathering. Monsters love to ambush distracted adventurers.">>
<<if _serinLioraAllowed && (_serinLioraAttraction || _lustOverride)>> <<if random(1, 100) <= _baseThreshold>> <<set _baseGain = 0.1>> Serin's gaze lingers on Liora's graceful movements as she works, a slight smile playing at her lips. <<changeLust "Serin" 1>> <<changeAttraction "Serin" "Liora" 0.1>> <</if>> <</if>>
<<if _serinLioraAllowed && (_serinLioraAttraction || _lustOverride)>>
<<if random(1, 100) <= _baseThreshold>>
<<set _baseGain = 0.1>>
Liora's cheeks color slightly as she feels Serin's attention, her movements becoming more deliberate.
<<changeLust "Liora" 1>>
<<changeAttraction "Liora" "Serin" 0.1>>
<</if>>
<</if>>
<<if _serinLioraIntimate && _serinLioraAttraction>>
<<if random(1, 100) <= _baseThreshold>>
Serin moves closer to help, her hand brushing against Liora's as they work. The touch lingers a moment longer than necessary.
<<changeLust "Serin" 2>>
<<changeLust "Liora" 2>>
<<changeAttraction "Serin" "Liora" 0.2>>
<<changeAttraction "Liora" "Serin" 0.2>>
<</if>>
<</if>>
<<set _gatherRoll = random(1, 100)>>
<<if _gatherRoll <= 70>>
<<set $herbs += random(2, 4)>>
<<set $rareHerbs += random(1, 2)>>
<<combatStatChange "technique" 0.2>>
<<changeCombatStat "Rylan" "confidence" 1>>
🌿 Gathered $herbs common herbs!
✨ Found $rareHerbs rare herbs!
🎯 Technique increased by 0.2!
<<elseif _gatherRoll <= 90>>
<<set $herbs += random(3, 5)>>
<<set $rareHerbs += random(2, 4)>>
<<combatStatChange "agility" 0.2>>
<<combatStatChange "technique" 0.1>>
🏃 Agility increased by 0.2!
⚔️ Technique increased by 0.1!
<<else>>
<<set $herbs += random(4, 6)>>
<<set $rareHerbs += random(2, 3)>>
<<set $specialItems += 1>>
<<combatStatChange "willpower" 0.2>>
<<combatStatChange "technique" 0.2>>
<<combatStatChange "perception" 0.2>>
<<changeCombatStat "Rylan" "confidence" 1>>
🧠 Willpower increased by 0.2!
⚔️ Technique increased by 0.2!
🌿 Gathered $herbs common herbs!
✨ Found $rareHerbs rare herbs!
🌟 Discovered a special item!
👁️ Perception increased by 0.2!
<</if>>
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<<set $currentEnemies = ["goblin"]>>
<<set State.variables.goblin_combatStats = {
maxHealth: 120,
currentHealth: 120,
maxStamina: 150,
currentStamina: 150,
maxFocus: 80,
currentFocus: 80,
physicalPower: 15,
agility: 12,
willpower: 8,
technique: 10,
perception: 7
}>>
<div class="passage-container rylan">
<<narrative "The forest's peaceful atmosphere shatters as crude laughter echoes through the trees. A band of goblins emerges from the shadows, their weapons glinting dully in the filtered light. Their leader, larger and better equipped than the others, grins maliciously as he spots the party.">>
<center><img src="images/serin/poses/flexingarms.webp" style="max-width: 400px;"></center>
<<dialog "Serin" "face" "Five of them, including a hobgoblin leader." "Serin's expression hardens as she assesses the threat, her body shifting into a combat stance. Her voice is low and serious, all playfulness gone" "These aren't your typical forest rabble - they're organized. Watch the big one, he'll be trouble.">>
<<dialog "Liora" "faceshortpink" "Their weapons are poisoned..." "Liora's hands begin to glow with defensive magic as she takes up a protected position. Her experienced eye catches the telltale sheen on their blades" "We need to be extra careful. One scratch could be dangerous.">>
<<narrative "The hobgoblin leader steps forward, brandishing a notched but well-maintained sword. His grin reveals yellowed fangs as he barks orders to his underlings in their guttural language. The smaller goblins begin to spread out, trying to flank the party.">>
<<choiceBox "How do you handle the goblin threat?" "Stand and fight" "ForestNode_goblinFight" "ForestNode_goblinFight=fight" "Try to divide them" "ForestNode_goblinTactical" "ForestNode_goblinTactical=tactical" "Attempt to intimidate" "ForestNode_goblinIntimidate" "ForestNode_goblinIntimidate=intimidate">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<div class="passage-container rylan">
<center><img src="images/serin/poses/kicking.webp" style="max-width: 400px;"></center>
<<narrative "$humanName steps forward to meet the challenge, weapon raised. The hobgoblin's grin widens, clearly pleased by the direct approach. His underlings tighten their grips on their weapons, ready to support their leader.">>
<<dialog "Serin" "face" "I'll handle the small ones - you focus on the leader!" "Serin moves to flank, her movements precise and predatory" "Don't let them surround you!" "She launches into action, her kicks and strikes keeping the lesser goblins at bay">>
<<dialog "Liora" "faceshortpink" "Watch for their poison!" "Liora's magic pulses, creating protective barriers where she can" "I'll try to keep you shielded!">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.2>> <<set _serinDomBonus = ($serin_naturalTendencies ?? []).includes("dominance") ? 1.5 : 1>> <<changeFetish "Serin" "DominanceFetish" _baseGain * _serinDomBonus>>
<<narrative "Even in the heat of battle, Serin's powerful movements and commanding presence draw attention. Her fluid grace in combat is mesmerizing, each strike precise and devastating.">>
<<changeLust "Rylan" 1>> <<changeLust "Serin" 1>> <</if>>
<<narrative "The battle is fierce but controlled. $humanName's training shows in every movement, each strike and parry executed with growing confidence. The hobgoblin proves to be a challenging opponent, but the practice with Serin has prepared him well.">>
<<dialog "Serin" "face" "Now that's how you handle a real fight!" "Serin wipes her brow, flexing her arms with satisfaction" "You've definitely improved. That hobgoblin wasn't expecting such resistance." "She kicks one of the fallen weapons away">>
<<dialog "Liora" "faceshortpink" "Let me make sure none of their poison got through..." "Liora checks everyone for injuries, her healing magic ready" "Her magic soothes away cuts and bruises, neutralizing any toxins that might have entered their systems">>
<<combatStatChange "physicalPower" 0.3>> <<combatStatChange "technique" 0.2>> <<set $rylan_Confidence += 3>> <<set $rylan_combatExperience += 2>>
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<div class="passage-container rylan">
<center><img src="images/serin/poses/stretch.webp" style="max-width: 400px;"></center>
<<narrative "$humanName signals for a tactical approach, using the terrain to their advantage. The forest's natural obstacles can be used to break up the goblin formation and deal with them in smaller groups.">>
<<dialog "Serin" "face" "Smart thinking! Use the trees to split them up." "Serin's eyes light up with approval" "Their coordination is their strength - take that away, and they're just common thugs." "She moves to a flanking position, ready to exploit any openings">>
<<dialog "Liora" "faceshortpink" "I can use the trees to channel healing more effectively this way..." "Liora positions herself carefully, her magic ready" "Her tactical support proves invaluable as the battle unfolds">>
<<narrative "The strategy works perfectly. The goblins' attempts to maintain formation are thwarted by the terrain, forcing them to split up. This allows the party to pick them off one by one, negating their numerical advantage.">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.1>>
<<narrative "The coordinated movement brings moments of close contact as the party maintains their tactical positions. Each brush past Serin or Liora adds an unexpected layer of awareness to the combat dance.">>
<<set $rylan_Lust += 1>> <</if>>
<<dialog "Serin" "face" "That was brilliant! Using the terrain to break their formation..." "Serin looks genuinely impressed" "This is exactly what I've been trying to teach you in training. Brains over brawn!" "She demonstrates one of the moves they used">>
<<dialog "Liora" "faceshortpink" "That was very well executed... you're learning to think like a true adventurer." "Liora checks everyone for injuries, though there are surprisingly few thanks to the tactical approach">>
<<combatStatChange "technique" 0.4>> <<combatStatChange "agility" 0.2>> <<set $rylan_Confidence += 3>> <<set $rylan_combatExperience += 2>>
<<narrative "⚔️ Technique increased by 0.4!<br>🏃 Agility increased by 0.2!<br>✨ Combat Experience gained!">>
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<div class="passage-container rylan">
<center><img src="images/serin/poses/flexingarms.webp" style="max-width: 400px;"></center>
<<narrative "$humanName steps forward confidently, channeling all his training and presence into an intimidating stance. The hobgoblin pauses, clearly not expecting such a show of force from what they assumed would be easy prey.">>
<<dialog "Serin" "face" "That's right - we're not your typical forest wanderers." "Serin picks up on the strategy immediately, flexing her impressive muscles as she moves to flank" "Want to rethink your life choices?" "Her predatory grin matches the hobgoblin's earlier expression">>
<<dialog "Liora" "faceshortpink" "We can do this the easy way..." "Liora adds to the effect, her healing magic creating an impressive display of light and power" "Her normally gentle voice carries an edge of steel">>
<<narrative "The lesser goblins start to shift nervously, their earlier confidence wavering. The hobgoblin leader glances between his increasingly uncertain followers and the clearly capable party before him.">>
<<if random(1, 100) <= _rylanFinalThreshold>> <<set _baseGain = 0.2>> <<set _serinDomBonus = ($serin_naturalTendencies ?? []).includes("dominance") ? 1.5 : 1>> <<changeFetish "Serin" "DominanceFetish" _baseGain * _serinDomBonus>>
<<narrative "Serin's display of confident power is captivating, her dominant presence adding an unexpected layer of intensity to the moment.">>
<<changeLust "Rylan" 1>> <<changeLust "Serin" 1>> <</if>>
<<narrative "After a tense moment, the hobgoblin barks a command and his band begins to retreat, trying to maintain some dignity in their withdrawal. They disappear back into the forest, though their grumbling can be heard for some time.">>
<<dialog "Serin" "face" "Well played! Sometimes the best fight is the one you don't have to have." "Serin relaxes her stance, nodding approvingly" "Though I have to admit, part of me was hoping they'd try something. You looked ready to teach them a serious lesson." "She grins broadly">>
<<dialog "Liora" "faceshortpink" "That was well handled. Avoiding unnecessary bloodshed while maintaining strength..." "Liora lets her magic fade, looking relieved" "That's the mark of true wisdom." "She smiles warmly">>
<<combatStatChange "willpower" 0.3>> <<combatStatChange "technique" 0.2>> <<set $rylan_Confidence += 2>> <<set $rylan_combatExperience += 1>>
<<narrative "🎯 Willpower increased by 0.3!<br>⚔️ Technique increased by 0.2!<br>✨ Combat Experience gained!">>
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<<set _eventRoll = random(1, 100)>> <<set _baseThreshold = 35>> <<set _rylanLustMod = Math.floor($rylan_Lust / 20) * -5>> <<set _rylanFinalThreshold = _baseThreshold + _rylanLustMod>>
<div class="passage-container rylan">
<<narrative "The goblin band breaks formation, their earlier confidence shattered. The hobgoblin leader barks orders in their guttural language, organizing a fighting retreat. Their movements are still dangerous - cornered creatures often fight the hardest.">>
<center><img src="images/serin/poses/flexingarms.webp" style="max-width: 400px;"></center>
<<dialog "Serin" "face" "Don't let your guard down yet..." "Serin maintains combat readiness, her muscles tensed for any sudden moves. Her eyes track their movement with predatory focus." "Sometimes retreat is just bait for a counter-attack.">>
<<dialog "Liora" "faceshortpink" "They're still dangerous... perhaps more so now that they're desperate." "Liora's magic remains active, creating a subtle barrier between the party and the retreating goblins. Her experienced gaze notes details about their behavior." "Watch for thrown weapons or last-minute charges.">>
<<choiceBox "How do you handle the retreating goblins?" "Let them retreat" "ForestNode_letRetreat" "ForestNode_goblinRetreat=let" "Press the advantage" "ForestNode_pressAdvantage" "ForestNode_goblinRetreat=press" "Cover the retreat" "ForestNode_coverRetreat" "ForestNode_goblinRetreat=cover">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<div class="passage-container rylan">
<center><img src="images/serin/poses/stretch.webp" style="max-width: 400px;"></center>
<<narrative "The party maintains their defensive posture but allows the goblins to withdraw. It's a calculated decision - forcing a cornered enemy to fight could lead to unnecessary risks and injuries.">>
<<dialog "Serin" "face" "Smart choice. No need to risk injury when we've already won the tactical advantage." "Serin keeps her guard up but nods approvingly. Her stance remains ready but relaxed." "They'll think twice before causing trouble in this area again.">>
<<if random(1, 100) <= _rylanFinalThreshold>><<set _baseGain = 0.1>>
<<narrative "The tense situation highlights Serin's professional demeanor, her confident control of the situation adding an unexpected layer of appeal to her commanding presence.">>
<<changeLust "Rylan" 1>><</if>>
<<dialog "Liora" "faceshortpink" "That was well handled... showing strength without unnecessary violence." "Liora maintains her protective magic until the goblins are well out of range. She smiles warmly." "Sometimes mercy can be its own victory.">>
<<narrative "The goblins disappear into the forest, their retreat hasty but orderly enough to suggest they've learned a valuable lesson about challenging well-prepared adventurers.">>
<<changeCombatStat "Rylan" "willpower" 0.3>> <<changeCombatStat "Rylan" "technique" 0.1>> <<changeCombatStat "Rylan" "confidence" 2>> <<changeCombatStat "Rylan" "combatExperience" 1>>
🎯 Willpower increased by 0.3!
⚔️ Technique increased by 0.1!
✨ Combat Experience gained!
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<div class="passage-container rylan">
<center><img src="images/serin/poses/kicking.webp" style="max-width: 400px;"></center>
<<narrative "The party moves to press their advantage, not willing to let the goblins potentially regroup and cause trouble later. Their coordinated advance forces the goblins to retreat in disarray, dropping supplies and weapons in their haste.">>
<<dialog "Serin" "face" "That's right - show them what happens when they pick the wrong targets!" "Serin's movements are precise and intimidating, her athletic form radiating controlled power. She kicks aside a dropped weapon." "Make sure they remember this lesson!">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.2>> <<set _serinDomBonus = ($serin_naturalTendencies ?? []).includes("dominance") ? 1.5 : 1>> <<changeFetish "Serin" "DominanceFetish" _baseGain * _serinDomBonus>>
<<narrative "Serin's dominant display of power is captivating, her confident pursuit of the retreating enemy adding an intense energy to the moment.">>
<<changeLust "Rylan" 1>> <<changeLust "Serin" 1>> <</if>>
<<dialog "Liora" "faceshortpink" "Be careful... but yes, they need to learn this area is well protected." "Liora moves with the group, her magic ready for any desperate counter-attacks. Her normally gentle demeanor carries a hint of steel.">>
<<narrative "The goblins flee in complete disorder, leaving behind their supplies and any thought of maintaining their territory. The message is clear - this part of the forest is no longer their hunting ground.">>
<<changeCombatStat "Rylan" "physicalPower" 0.3>> <<changeCombatStat "Rylan" "technique" 0.2>> <<changeCombatStat "Rylan" "confidence" 3>> <<changeCombatStat "Rylan" "combatExperience" 2>>
💪 Physical Power increased by 0.3!
⚔️ Technique increased by 0.2!
✨ Combat Experience gained!
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<div class="passage-container rylan">
<center><img src="images/serin/poses/flexingarms.webp" style="max-width: 400px;"></center>
<<narrative "The party takes up defensive positions, ensuring the goblins can retreat without feeling too threatened. It's a professional approach - maintaining pressure while avoiding the risks of desperate last stands.">>
<<dialog "Serin" "face" "Good thinking. Keep them moving but don't make them feel trapped." "Serin positions herself with tactical precision, her presence both threatening and controlled. Her stance is perfectly balanced between aggression and restraint." "A clean withdrawal means less chance of nasty surprises.">>
<<if random(1, 100) <= _rylanFinalThreshold>> <<set _baseGain = 0.1>>
<<narrative "The controlled situation showcases Serin's professional expertise, her balanced approach between strength and restraint creating an impressive display of martial discipline.">>
<<changeLust "Rylan" 1>> <</if>>
<<dialog "Liora" "faceshortpink" "This way we can control their withdrawal..." "Liora's magic creates a subtle barrier, guiding the goblins' retreat path. Her magic pulses softly, herding rather than threatening." "Less chance of accidents or desperate measures.">>
<<narrative "The goblins take the opportunity to withdraw in good order, maintaining enough dignity to make future encounters less likely to be driven by revenge. It's a professional resolution to a potentially dangerous situation.">>
<<changeCombatStat "Rylan" "technique" 0.3>> <<changeCombatStat "Rylan" "willpower" 0.2>> <<changeCombatStat "Rylan" "confidence" 2>> <<changeCombatStat "Rylan" "combatExperience" 1>>
✨ Combat Experience gained!
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<<set _eventRoll = random(1, 100)>> <<set _baseThreshold = 35>> <<set _rylanLustMod = Math.floor($rylan_Lust / 20) * -5>> <<set _rylanCorruptionMod = Math.floor($rylan_corruption / 20) * -10>> <<set _rylanFinalThreshold = _baseThreshold + _rylanLustMod + _rylanCorruptionMod>>
<div class="passage-container rylan">
<center><img src="images/serin/poses/stretch.webp" style="max-width: 400px;"></center>
<<dialog "Serin" "face" "Now you're thinking like a proper adventurer." "Serin's eyes light up at the tactical approach. She moves with practiced stealth, her athletic form fluid and silent." "Follow my lead, and watch your footing.">>
<<dialog "Liora" "faceshortpink" "I can mask our presence somewhat..." "Liora nods in agreement, her magic dimming to avoid detection. Her hands weave subtle patterns in the air." "But we'll need to be careful with timing.">>
<<set _sneakRoll = random(1, 100)>><<if _sneakRoll <= ($rylan_combatStats.agility * 5)>>
<<narrative "The party manages to circle around the goblin band undetected. Their careful movement and Liora's magic keep them hidden as they find a better position.">>
<<if random(1, 100) <= _rylanFinalThreshold>> <<set _baseGain = 0.2>> <<set _rylanMusBonus = ($rylan_naturalTendencies ?? []).includes("muscle") ? 1.5 : 1>> <<changeFetish "Rylan" "MuscleFetish" _baseGain * _rylanMusBonus>> <<changeLust "Rylan" 1>>
<<narrative "The close coordination required brings an unexpected awareness of Serin's athletic grace.">>
<</if>>
<<choiceBox "What do you do now that you're in position?" "Take them by surprise" "ForestNode_goblinAmbush" "ForestNode_goblinSneakAttempt=ambush" "Slip away quietly" "ForestNode_goblinEvade" "ForestNode_goblinSneakAttempt=evade">>
<<else>>
<<narrative "A loose stone shifts under someone's foot, the small sound seeming impossibly loud in the tense silence. The goblin leader's ears twitch, and he barks a warning to his band.">>
<<dialog "Serin" "face" "So much for stealth!" "Serin shifts smoothly into a combat stance." "Plan B it is!">>
<<choiceBox "The goblins have spotted you!" "Stand and fight" "ForestNode_goblinFight" "ForestNode_goblinSneakAttempt=fight">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<div class="passage-container rylan">
<center><img src="images/serin/poses/kicking.webp" style="max-width: 400px;"></center>
<<narrative "The party has maneuvered into perfect position. The goblins remain unaware, their attention focused in the wrong direction. Serin's predatory grin shows she knows exactly how vulnerable they are.">>
<<dialog "Serin" "face" "Perfect setup..." "She whispers, muscles coiled like a spring." "On my mark...">>
<<narrative "The ambush is devastatingly effective. The goblins barely have time to realize what's happening before Serin's kicks send their leader stumbling into his own troops. $humanName's follow-up strikes and Liora's precisely timed magic complete the rout.">>
<<if random(1, 100) <= _rylanFinalThreshold>> <<set _baseGain = 0.2>> <<set _serinDomBonus = ($serin_naturalTendencies ?? []).includes("dominance") ? 1.5 : 1>> <<changeFetish "Serin" "DominanceFetish" _baseGain * _serinDomBonus>>
<<narrative "Serin's display of controlled power and precision is particularly impressive from this angle.">>
<<changeLust "Rylan" 1>> <<changeLust "Serin" 1>> <</if>>
<<changeCombatStat "Rylan" "technique" 0.3>> <<changeCombatStat "Rylan" "agility" 0.2>> <<changeCombatStat "Rylan" "confidence" 3>> <<changeCombatStat "Rylan" "combatExperience" 2>>
🎯 Technique increased by 0.3!
🏃 Agility increased by 0.2!
✨ Combat Experience gained!
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<div class="passage-container rylan">
<center><img src="images/serin/poses/stretch.webp" style="max-width: 400px;"></center>
<<narrative "With the goblins' position known and their own presence still hidden, the party has the perfect opportunity to slip away undetected. Serin leads the careful withdrawal, each step placed with expert precision.">>
<<dialog "Serin" "face" "Sometimes the best victory is the one where no blood is shed," "She whispers, though her tone suggests she might have preferred the more direct approach." "Still, good call on avoiding unnecessary risk.">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.1>>
<<narrative "The close coordination required for silent movement creates several moments of careful physical awareness.">>
<<changeLust "Rylan" 1>><</if>>
<<changeCombatStat "Rylan" "agility" 0.3>> <<changeCombatStat "Rylan" "perception" 0.2>> <<changeCombatStat "Rylan" "confidence" 2>> <<changeCombatStat "Rylan" "combatExperience" 1>>
🏃 Agility increased by 0.3!
👁️ Perception increased by 0.2!
✨ Combat Experience gained!
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<div class="passage-container rylan">
<<set _eventRoll = random(1, 100)>> <<set _baseThreshold = 35>> <<set _rylanLustMod = Math.floor($rylan_Lust / 20) * -5>> <<set _rylanCorruptionMod = Math.floor($rylan_corruption / 20) * -10>> <<set _rylanFinalThreshold = _baseThreshold + _rylanLustMod + _rylanCorruptionMod>>
<<set _serinLioraAllowed = ($serin_LesbianValue > 0 && $liora_LesbianValue > 0)>> <<set _serinLioraIntimate = ($serin_LesbianValue > 30 && $liora_LesbianValue > 30)>> <<set _serinLioraAttraction = ($serin_LioraAttraction > 20 && $liora_SerinAttraction > 20)>> <<set _lustOverride = ($serin_Lust > 50 && $liora_Lust > 50)>>
<center><img src="images/liora/poses/bendingdown.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Hot Spring"></center>
<<narrative "The party discovers a secluded hot spring, steam rising gently from its crystal-clear waters. The natural pool is surrounded by smooth rocks and lush vegetation, creating a peaceful sanctuary in the forest.">>
<<dialog "Liora" "faceshortpink" "Oh! A natural hot spring... these waters often have healing properties." "She kneels to test the temperature, her expression brightening." "It's perfect! The minerals could help restore our energy.">>
<<dialog "Serin" "face" "A quick soak would do wonders for tired muscles..." "She glances around, assessing the area's defensibility." "The spot seems secure enough. We could take turns keeping watch.">>
<<choiceBox "What do you do at the hot spring?" "Take a relaxing soak" "ForestNode_hotspring_soak" "ForestNode_hotspring=soak" "Rest nearby" "ForestNode_hotspring_rest" "ForestNode_hotspring=rest" "Continue on" "ForestNode_hotspring_leave" "ForestNode_hotspring=leave">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<div class="passage-container rylan">
<center><img src="images/serin/poses/stretch.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin Stretching"></center>
<<narrative "The group agrees to take turns, with Serin volunteering for first watch. The hot spring is naturally screened by rocks and foliage, offering privacy while maintaining security.">>
<<if random(1, 100) <= _rylanFinalThreshold>> <<set _baseGain = 0.2>> <<set _serinVoyBonus = ($serin_naturalTendencies ?? []).includes("voyeurism") ? 1.5 : 1>> <<changeFetish "Serin" "VoyeurismFetish" _baseGain * _serinVoyBonus>>
<<narrative "From her vantage point, Serin finds her gaze occasionally drawn to the spring, though she maintains her focus on watching for threats.">>
<<changeLust "Serin" 3>> <</if>>
<<narrative "The warm water works wonders on tired muscles, and the mineral-rich spring seems to have mild healing properties. The party takes turns enjoying the rejuvenating effects while maintaining vigilant watch rotations.">>
<<if random(1, 100) <= _rylanFinalThreshold>> <<set _baseGain = 0.1>> <<set _lioraVoyBonus = ($liora_naturalTendencies ?? []).includes("voyeurism") ? 1.5 : 1>> <<changeFetish "Liora" "VoyeurismFetish" _baseGain * _lioraVoyBonus>>
<<narrative "During her turn to rest, Liora can't help but notice how the water highlights certain features of her companions.">>
<<changeLust "Liora" 2>><</if>>
<<set $tempStatBoost = true>> <<set $statBoostDuration = 5>> <<changeCombatStat "Rylan" "vitality" 0.3>> <<changeCombatStat "Rylan" "willpower" 0.2>> <<changeCombatStat "Rylan" "confidence" 2>>
<<narrative "❤️ Vitality increased by 0.3!<br>🎯 Willpower increased by 0.2!<br>✨ Temporary stat boost gained!">>
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<div class="passage-container rylan">
<center><img src="images/serin/poses/stretch.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin Stretching"></center>
<<narrative "The group settles near the spring, enjoying the warm, mineral-rich air while staying alert and ready. The steam creates a peaceful atmosphere that helps ease tension without lowering guards.">>
<<dialog "Serin" "face" "The heat's still nice even from here," "She notes, stretching her legs." "Though I bet the water would be better...">>
<<if random(1, 100) <= _rylanFinalThreshold>> <<set _baseGain = 0.1>> <<set _rylanVoyBonus = ($rylan_naturalTendencies ?? []).includes("voyeurism") ? 1.5 : 1>> <<changeFetish "Rylan" "VoyeurismFetish" _baseGain * _rylanVoyBonus>>
<<narrative "The humid air makes Serin's leather armor cling in distracting ways.">>
<<changeLust "Rylan" 2>> <</if>>
<<set $tempStatBoost = true>> <<set $statBoostDuration = 3>> <<changeCombatStat "Rylan" "vitality" 0.2>> <<changeCombatStat "Rylan" "perception" 0.1>> <<changeCombatStat "Rylan" "confidence" 1>>
<<narrative "❤️ Vitality increased by 0.2!<br>👁️ Perception increased by 0.1!<br>✨ Temporary stat boost gained!">>
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<div class="passage-container rylan">
<center><img src="images/serin/poses/stretch.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin Stretching"></center>
<<dialog "Rylan" "face" "We should keep moving," "$humanName decides, though the spring looks inviting." "The exam comes first.">>
<<dialog "Serin" "face" "All work and no play..." "She adjusts her equipment, ready to move on." "Though I have to admire the dedication.">>
<<if random(1, 100) <= _rylanFinalThreshold>> <<set _baseGain = 0.1>> <<set _serinDomBonus = ($serin_naturalTendencies ?? []).includes("dominance") ? 1.5 : 1>> <<changeFetish "Serin" "DominanceFetish" _baseGain * _serinDomBonus>>
<<narrative "Something about his serious dedication makes Serin want to tease him more.">>
<<changeLust "Serin" 1>> <</if>>
<<changeCombatStat "Rylan" "confidence" 1>> <<changeCombatStat "Rylan" "willpower" 0.2>>
<<narrative "🎯 Willpower increased by 0.2!">>
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<<set _chanceOfDiscovery = random(1, 100)>>
<div class="passage-container rylan">
<<narrative "Liora excuses herself to \"meditate,\" her voice shaky with barely-contained need. She retreats to a quiet spot, her magic crackling with uncontrolled energy.">>
<<if _chanceOfDiscovery <= 30>><<if _serinLioraAllowed && $serin_LesbianValue > 20>><<if $serin_DominanceFetish > 30 && $serin_Lust >= 70>>
<<narrative "Serin's athletic form emerges from the shadows, her usual playful demeanor replaced by raw dominance. Her eyes lock onto Liora's vulnerable state.">>
<<changeLust "Serin" 10>><<changeFetish "Serin" "DominanceFetish" 0.3>>
<<set $lioraReleaseChoice = "submitToSerin">>
<<choiceBox "Serin has discovered Liora!" "Submit to Serin" "ForestNode_serinDominatesLiora" "lioraReleaseChoice=submitToSerin">>
<<else>>
<<narrative "Serin, concerned about Liora's strange behavior, follows - only to find a very different kind of meditation.">>
<<changeLust "Serin" 10>>
<<changeAttraction "Serin" "Liora" 0.5>>
<<changeCombatStat "Serin" "lesbianValue" 0.3>>
<</if>><<else>>
<<narrative "$humanName, worried about her state, accidentally witnesses her private moment.">>
<<changeLust "Rylan" 10>>
<</if>><</if>><<changeLust "Liora" -90>>
<<set $lioraReleaseChoice = "returnToCamp">>
<<continueBox "ForestNode_rest" "Return to Camp" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set _eventRoll = random(1, 100)>> <<set _baseRoll = random(1, 100)>> <<set _baseThreshold = 35>> <<set _serinLioraAllowed = ($serin_LesbianValue > 0 && $liora_LesbianValue > 0)>> <<set _serinLioraIntimate = ($serin_LesbianValue > 30 && $liora_LesbianValue > 30)>> <<set _serinLioraAttraction = ($serin_LioraAttraction > 20 && $liora_SerinAttraction > 20)>> <<set _lustOverride = ($serin_Lust > 50 && $liora_Lust > 50)>> <<set _rylanHighLust = $rylan_Lust >= 90>> <<set _serinHighLust = $serin_Lust >= 90>> <<set _lioraHighLust = $liora_Lust >= 90>>
<div class="passage-container rylan">
<<narrative "The party finds a relatively safe spot to catch their breath. A small clearing surrounded by ancient trees provides natural shelter, while the gentle rustling of leaves and soft forest sounds create a calming atmosphere.">>
<<dialog "Serin" "face" "Good spot. Those old trees will keep us hidden, and there's only two main approaches to watch." "Serin surveys the area with practiced eyes. She rolls her shoulders, working out the tension from recent fights.">>
<<if _serinLioraAllowed && (_serinLioraAttraction || _lustOverride)>><<if random(1, 100) <= _baseThreshold>>
<<narrative "Liora's gaze follows the fluid movement of Serin's shoulders, her healing magic flickering slightly with her distraction.">>
<<changeLust "Liora" 1>><<changeAttraction "Liora" "Serin" 0.1>><</if>><</if>>
<center><img src="images/liora/poses/healingbreasts.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora healing"></center>
<<dialog "Liora" "faceshortpink" "Please, let me tend to everyone while we rest..." "Liora settles gracefully on a fallen log, her hands already glowing with gentle healing magic.">>
<<for _char range ["Rylan", "Serin", "Liora"]>><<set _stats = State.variables[_char.toLowerCase() + "_combatStats"]>><<set _stats.currentHealth = Math.min(_stats.maxHealth, _stats.currentHealth + Math.floor(_stats.maxHealth * 0.3))>><<set _stats.currentStamina = Math.min(_stats.maxStamina, _stats.currentStamina + Math.floor(_stats.maxStamina * 0.3))>><</for>><<if _eventRoll <= 30>>
<<narrative "Serin takes advantage of the break to do some quick exercises, her athletic form moving with practiced grace. She flows through a series of combat stances, each movement precise and controlled despite her apparent fatigue.">>
<<dialog "Serin" "face" "Can't let our guard down just because we're resting." "She transitions into a complex kick sequence" "Want to join me, $humanName? Nothing better than active recovery.">>
<<if _serinLioraAllowed && (_serinLioraAttraction || _lustOverride)>><<if random(1, 100) <= _baseThreshold>>
Liora's healing magic wavers slightly as she watches Serin's graceful movements, her professional demeanor briefly slipping.<<set $liora_Lust += 2>><<trackLust "Liora" 2>><<set $liora_SerinAttraction += 0.2>><<trackAttraction "Liora" "Serin" 0.2>><</if>><</if>><<if _serinLioraIntimate && _serinLioraAttraction>><<if random(1, 100) <= _baseThreshold>>
During a pause in her routine, Serin catches Liora's lingering gaze, a knowing smile playing at her lips.
<<set $serin_Lust += 2>><<trackLust "Serin" 2>><<set $liora_Lust += 2>><<trackLust "Liora" 2>><<set $serin_LioraAttraction += 0.2>><<trackAttraction "Serin" "Liora" 0.2>><<set $liora_SerinAttraction += 0.2>><<trackAttraction "Liora" "Serin" 0.2>><</if>><</if>><<if random(1, 100) <= _baseThreshold>><<set _baseGain = 0.2>>
$humanName finds his gaze drawn to the way Serin's muscles flex with each movement, her form a perfect blend of power and grace.<<set $rylan_Lust += 2>><<trackLust "Rylan" 2>><<set $rylan_MuscleFetish += _baseGain>><<trackFetish "Rylan" "Muscle" _baseGain>><</if>><<set $rylan_combatStats.technique += 0.1>><<trackCombatStat "Rylan" "technique" 0.1>><<set $rylan_Confidence += 1>><<trackOther "Rylan" "confidence" 1>>
🎯 Technique increased by 0.1!
<<elseif _eventRoll <= 60>><center><img src="images/liora/poses/healingbreasts.webp" style="max-width: 400px;"></center>
<<narrative "Liora takes the opportunity to practice her healing magic, the soft glow illuminating her gentle features. She guides $humanName through some basic healing techniques, her hands occasionally brushing against his as she demonstrates proper energy flow.">>
<<dialog "Liora" "faceshortpink" "Feel how the magic resonates differently with each type of injury?" "Her voice is soft but enthusiastic" "Understanding this can help you use healing items more effectively...">>
<<if _serinLioraAllowed && (_serinLioraAttraction || _lustOverride)>><<if random(1, 100) <= _baseThreshold>>
Serin watches the healing demonstration with unusual focus, her usual restlessness momentarily forgotten.<<set $serin_Lust += 2>><<trackLust "Serin" 2>><<set $serin_LioraAttraction += 0.2>><<trackAttraction "Serin" "Liora" 0.2>><</if>><</if>><<if _serinLioraIntimate && _serinLioraAttraction>><<if random(1, 100) <= _baseThreshold>>
When it's Serin's turn for healing, the warrior's usual bravado softens under Liora's gentle touch.
<<set $serin_Lust += 2>><<trackLust "Serin" 2>><<set $liora_Lust += 2>><<trackLust "Liora" 2>><<set $serin_LioraAttraction += 0.2>><<trackAttraction "Serin" "Liora" 0.2>><<set $liora_SerinAttraction += 0.2>><<trackAttraction "Liora" "Serin" 0.2>><</if>><</if>><center><img src="images/serin/poses/stretch.webp" style="max-width: 400px;"></center>
<<narrative "Serin watches from her guard position, occasionally rolling her shoulders as Liora's healing magic eases their battle fatigue.">>
<<dialog "Serin" "face" "I'll never understand all that magical theory, but I can't argue with the results." "She comments with a shrug">>
<<if random(1, 100) <= _baseThreshold>><<set _baseGain = 0.2>>
The warmth of Liora's magic seems to linger on $humanName's skin, her close proximity making it hard to focus on the lesson.
<<set $rylan_Lust += 2>><<trackLust "Rylan" 2>><</if>><<set $rylan_combatStats.willpower += 0.2>><<trackCombatStat "Rylan" "willpower" 0.2>><<set $rylan_Confidence += 1>><<trackOther "Rylan" "confidence" 1>>
🎯 Willpower increased by 0.2!
<<else>>
The party takes the opportunity to catch their breath properly. The afternoon heat has made everyone a bit sweaty from the earlier fights, creating a strangely intimate atmosphere in their shared rest.
<center><img src="images/serin/poses/stretch.webp" style="max-width: 400px;"></center>
<<narrative "Serin pulls out a waterskin, taking a long drink before passing it around. She wipes her brow, her skin glistening with a fine sheen of sweat.">>
<<dialog "Serin" "face" "Stay hydrated, everyone. Heat exhaustion's as dangerous as any monster." "She passes the waterskin around">>
<<if _serinLioraAllowed && (_serinLioraAttraction || _lustOverride)>><<if random(1, 100) <= _baseThreshold>>
<<narrative "Liora's cheeks flush deeper than the heat would explain as she watches Serin cool off.">>
<<set $liora_Lust += 2>><<trackLust "Liora" 2>> <<set $liora_SerinAttraction += 0.2>><<trackAttraction "Liora" "Serin" 0.2>> <</if>> <</if>>
<<narrative "Liora accepts the waterskin with a grateful nod, her face flushed from exertion.">>
<<dialog "Liora" "faceshortpink" "The forest air is so thick today..." "She takes a long drink from the waterskin">>
<<if _serinLioraIntimate && _serinLioraAttraction>>
<<if random(1, 100) <= _baseThreshold>>
The shared waterskin creates moments of indirect intimacy between Serin and Liora, their gazes meeting with unspoken intensity.
<<set $serin_Lust += 3>><<trackLust "Serin" 3>> <<set $liora_Lust += 3>><<trackLust "Liora" 3>> <<set $serin_LioraAttraction += 0.3>><<trackAttraction "Serin" "Liora" 0.3>> <<set $liora_SerinAttraction += 0.3>><<trackAttraction "Liora" "Serin" 0.3>> <</if>> <</if>>
<<for _char range ["Rylan", "Serin", "Liora"]>>
<<set _charLustMod = Math.floor(State.variables[_char.toLowerCase() + "_Lust"] / 20) * -5>>
<<set _charCorruptionMod = Math.floor(State.variables[_char.toLowerCase() + "_corruption"] / 20) * -10>>
<<set _charFinalThreshold = _baseThreshold + _charLustMod + _charCorruptionMod>>
<<if random(1, 100) <= _charFinalThreshold>>
<<set _baseGain = 0.1>><<if _char === "Rylan">>
$humanName notices the faint scent of Serin's exertion mixing with Liora's herbal fragrance, creating an unexpectedly distracting combination.
<<set $rylan_Lust += 1>><<trackLust "Rylan" 1>> <<set $rylan_SmellFetish += _baseGain>><<trackFetish "Rylan" "Smell" _baseGain>> <<elseif _char === "Serin">>
Serin finds herself oddly aware of the others' presence in the warm air, their shared exertion creating an almost palpable tension.
<<set $serin_Lust += 1>><<trackLust "Serin" 1>><<set $serin_SmellFetish += _baseGain>><<trackFetish "Serin" "Smell" _baseGain>><<else>>
Liora tries not to focus on the intimate atmosphere of the shared rest, but the close proximity makes it difficult.
<<set $liora_Lust += 1>><<trackLust "Liora" 1>><<set $liora_SmellFetish += _baseGain>><<trackFetish "Liora" "Smell" _baseGain>><</if>><</if>><</for>>
<<set $rylan_combatStats.stamina += 0.1>><<trackCombatStat "Rylan" "stamina" 0.1>><<set $rylan_Confidence += 1>><<trackOther "Rylan" "confidence" 1>>
⚡ Stamina increased by 0.1!
<</if>>
<<if $rylan_combatStats.currentHealth < ($rylan_combatStats.maxHealth * 0.5)>>
<<dialog "Serin" "face" "You're looking pretty rough there, $humanName. Take it easy for a moment." "Serin's usual teasing tone carries a note of genuine concern">>
<<dialog "Liora" "faceshortpink" "Please let me check those wounds...">>
<<elseif $serin_combatStats.currentHealth < ($serin_combatStats.maxHealth * 0.5)>>
<<dialog "Liora" "faceshortpink" "Serin... please let me check those wounds..." "Liora's hands already glow with healing magic">>
<<dialog "Serin" "face" "Just a scratch, but if you insist...">>
<<elseif $liora_combatStats.currentHealth < ($liora_combatStats.maxHealth * 0.5)>>
<<dialog "Serin" "face" "Hey, Liora, you've been pushing yourself too hard. Rest up." "Serin moves closer protectively">>
<<dialog "Liora" "faceshortpink" "I'm fine... others need the healing more...">>
<</if>>
<<if _rylanHighLust>>
<<narrative "The heat and exhaustion make it nearly impossible for $humanName to focus, his body burning with need. Every small movement or scent threatens to push him over the edge.">>
<div style="text-align: center; margin-top: 20px;">
<<set $restChoice = "rylanRelease">>
<<choiceBox "You need some privacy!" "Find a private moment" "ForestNode_rylanRelease" "restChoice=rylanRelease">>
</div>
<<elseif $rylan_Lust >= 50>>
<<narrative "Despite the rest, $humanName finds it increasingly difficult to maintain composure, the presence of his companions creating an almost unbearable tension.">>
<</if>>
<<if _serinHighLust>>
<<narrative "Serin's usual confident demeanor cracks slightly, her breathing heavy and movements tense with barely-contained need. She keeps glancing toward the denser part of the forest.">>
<<set $restChoice = "serinRelease">>
<<choiceBox "Serin needs privacy!" "Serin excuses herself" "ForestNode_serinRelease" "restChoice=serinRelease">>
<<elseif $serin_Lust >= 50>>
<<narrative "Serin shifts restlessly, her movements carrying an unusual tension despite the peaceful moment.">>
<</if>>
<<if _lioraHighLust>>
<<narrative "Liora's magic flickers erratically as she struggles to maintain focus, her face deeply flushed and breathing uneven. She seems to be having trouble sitting still.">>
<<set $restChoice = "lioraRelease">>
<<choiceBox "Liora needs privacy!" "Liora needs space" "ForestNode_lioraRelease" "restChoice=lioraRelease">>
<<elseif $liora_Lust >= 50>>
<<narrative "Liora's cheeks remain flushed, her healing magic wavering slightly with her distraction.">>
<</if>>
<<set $restChoice = "continueExploring">>
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set _chanceOfDiscovery = random(1, 100)>>
<div class="passage-container rylan">
<<narrative "Unable to resist any longer, $humanName quietly excuses himself to \"scout the perimeter.\" Finding a secluded spot behind thick foliage, he finally gives in to his overwhelming need.">>
<<if _chanceOfDiscovery <= 30>><<if $serin_Lust > $liora_Lust>><<if $serin_DominanceFetish > 30 && $serin_Lust >= 70>>
<<narrative "A twig snaps - Serin stands at the edge of the clearing, her usual teasing replaced by raw hunger. Her athletic form radiates dominant energy as she approaches.">>
<<changeLust "Serin" 10>> <<changeFetish "Serin" "DominanceFetish" 0.3>>
<div style="text-align: center; margin: 20px 0;">
<<set $rylanReleaseChoice = "submitToSerin">>
<<choiceBox "Serin has discovered you!" "Submit to Serin" "ForestNode_serinDominates" "rylanReleaseChoice=submitToSerin">>
</div>
<<else>>
<<narrative "A twig snaps - Serin stands frozen at the edge of the clearing, her own tension momentarily forgotten as she takes in the scene.">>
<<changeLust "Serin" 10>> <<changeFetish "Serin" "VoyeurismFetish" 0.3>> <</if>><<else>>
<<narrative "A soft gasp reveals Liora's presence - she had come to gather herbs, only to stumble upon a very different scene.">>
<<changeLust "Liora" 10>> <<changeFetish "Liora" "VoyeurismFetish" 0.3>> <</if>> <</if>>
<<changeLust "Rylan" -90>>
<<set $rylanReleaseChoice = "returnToCamp">>
<<continueBox "ForestNode_rest" "Return to Camp" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "afternoon">>
<<set _chanceOfDiscovery = random(1, 100)>>
<div class="passage-container rylan">
<<narrative "Serin mutters something about \"checking the perimeter\" and disappears into the denser part of the forest. Her usual grace is compromised by urgency.">>
<<if _chanceOfDiscovery <= 30>><<if _serinLioraAllowed && $liora_LesbianValue > 20>><<if $liora_DominanceFetish > 30 && $liora_Lust >= 90>>
<<narrative "Liora's normally gentle presence shifts dramatically. Her magic crackles with barely contained need as she approaches Serin.">>
<<changeLust "Liora" 10>><<changeFetish "Liora" "DominanceFetish" 0.3>>
<<set $serinReleaseChoice = "submitToLiora">>
<<choiceBox "Liora has discovered Serin!" "Submit to Liora" "ForestNode_lioraDominates" "serinReleaseChoice=submitToLiora">>
<<else>>
<<narrative "Liora, who had followed to ensure Serin's safety, finds herself rooted to the spot, unable to look away.">>
<<changeLust "Liora" 10>><<changeAttraction "Liora" "Serin" 0.5>><<changeCombatStat "Liora" "lesbianValue" 0.3>>
<</if>><<else>>
<<narrative "$humanName, checking the area's security, accidentally stumbles upon the scene.">>
<<changeLust "Rylan" 10>>
<</if>><</if>><<changeLust "Serin" -90>>
<<set $serinReleaseChoice = "returnToCamp">>
<<continueBox "ForestNode_rest" "Return to Camp" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<if not $rylan_Lust>><<set $rylan_Lust = 0>><</if>><<if not $rylan_corruption>><<set $rylan_corruption = 0>><</if>><<if not $rylan_MuscleFetish>><<set $rylan_MuscleFetish = 0>><</if>><<if not $rylan_DominanceFetish>><<set $rylan_DominanceFetish = 0>><</if>><<if not $liora_VoyeurismFetish>><<set $liora_VoyeurismFetish = 0>><</if>><<if not $rylan_Confidence>><<set $rylan_Confidence = 0>><</if>><<if not $rylan_SerinAffection>><<set $rylan_SerinAffection = 0>><</if>><<if not $serin_RylanAffection>><<set $serin_RylanAffection = 0>><</if>><<if not $rylan_SerinAttraction>><<set $rylan_SerinAttraction = 0>><</if>><<if not $liora_SerinAttraction>><<set $liora_SerinAttraction = 0>><</if>><<if not $serin_LioraAttraction>><<set $serin_LioraAttraction = 0>><</if>><<if not $liora_Lust>><<set $liora_Lust = 0>><</if>><<if not $serin_Lust>><<set $serin_Lust = 0>><</if>><<if not $serin_LesbianValue>><<set $serin_LesbianValue = 0>><</if>><<if not $liora_LesbianValue>><<set $liora_LesbianValue = 0>><</if>><<set _eventRoll = random(1, 100)>><<set _baseThreshold = 35>><<set _rylanLustMod = Math.floor($rylan_Lust / 20) * -5>><<set _rylanCorruptionMod = Math.floor($rylan_corruption / 20) * -10>><<set _rylanFinalThreshold = _baseThreshold + _rylanLustMod + _rylanCorruptionMod>>
<div class="passage-container rylan">
<<narrative "The party finds a small training circle - likely left by previous adventurers. Serin's eyes light up at the opportunity for some practice.">>
<center><img src="images/serin/poses/fightingstance.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin in fighting stance"></center>
<<dialog "Serin" "face" "Perfect! We've got time for some quick drills." "Serin cracks her knuckles, already moving into the circle." "Nothing better than staying sharp while we're out here.">>
<<dialog "Liora" "faceshortpink" "Training in the field... it's different from the guild grounds, isn't it?">>
<<set $serinTrainingChoice = "accept">>
<<choiceBox "Serin wants to train!" "Accept her challenge" "ForestNode_serinTraining_accept" "serinTrainingChoice=accept" "Decline politely" "ForestNode_serinTraining_decline" "serinTrainingChoice=decline" "Watch her train" "ForestNode_serinTraining_watch" "serinTrainingChoice=watch">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<div class="passage-container rylan">
<center><img src="images/serin/poses/fightingstance.webp" style="max-width: 400px;"></center>
<<dialog "Rylan" "face" "Alright, let's see what you've got." "$humanName steps into the circle, drawing his sword.">>
<<dialog "Serin" "face" "That's the spirit! Just remember - this is training, not a death match." "Serin grins wickedly. She assumes a combat stance, her muscles tensing with anticipation.">>
<<if random(1, 100) <= _rylanFinalThreshold>><<set _baseGain = 0.2>><<set _rylanMuscleBonus = ($rylan_naturalTendencies ?? []).includes("muscleFetish") ? 1.5 : 1>><<changeFetish "Rylan" "MuscleFetish" _baseGain * _rylanMuscleBonus>>
<<narrative "The way her muscles coil beneath her skin as she prepares to strike is... distracting.">>
<<changeLust "Rylan" 3>><</if>>
<<narrative "The sparring session is intense but educational. Serin's technique is flawless, each movement flowing into the next with practiced precision. She doesn't go easy, but her strikes are controlled and instructive.">>
<<dialog "Serin" "face" "Watch your footwork! You're telegraphing your attacks!" "She ducks under $humanName's swing and taps his ribs with her practice blade." "Better, but keep your guard up!">>
<<if random(1, 100) <= _rylanFinalThreshold>><<set _baseGain = 0.1>><<set _rylanDomBonus = ($rylan_naturalTendencies ?? []).includes("dominance") ? 1.5 : 1>><<changeFetish "Rylan" "DominanceFetish" _baseGain * _rylanDomBonus>>
<<narrative "Her commanding tone sends an unexpected thrill through him.">>
<<changeLust "Rylan" 2>><</if>>
<<dialog "Liora" "faceshortpink" "The way you both move... it's like a dance, almost." "From the sidelines, Liora watches with growing interest. Her voice carries a note of admiration.">>
<<if random(1, 100) <= _baseThreshold>><<set _baseGain = 0.2>><<set _lioraVoyBonus = ($liora_naturalTendencies ?? []).includes("voyeurism") ? 1.5 : 1>><<changeFetish "Liora" "VoyeurismFetish" _baseGain * _lioraVoyBonus>>
<<narrative "There's something mesmerizing about watching the two warriors in action.">>
<<changeLust "Liora" 2>><</if>>
<<changeCombatStat "Rylan" "technique" 0.3>> <<changeCombatStat "Rylan" "agility" 0.2>> <<changeCombatStat "Rylan" "confidence" 2>> <<changeAffection "Rylan" "Serin" 1>> <<changeAffection "Serin" "Rylan" 1>>
<<narrative "🎯 Technique increased by 0.3!">>
<<narrative "🏃 Agility increased by 0.2!">>
<<set $serinTrainingAcceptChoice = "continueExploring">>
<<continueBox "ForestHunt" "Continue Exploring" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set _eventRoll = random(1, 100)>> <<set _baseThreshold = 35>> <<set _rylanLustMod = Math.floor($rylan_Lust / 20) * -5>> <<set _rylanCorruptionMod = Math.floor($rylan_corruption / 20) * -10>> <<set _rylanFinalThreshold = _baseThreshold + _rylanLustMod + _rylanCorruptionMod>>
<div class="passage-container rylan">
<<narrative "The party discovers an ancient shrine hidden among the trees. Vines have grown over most of the stone structure, but the faint glow of residual holy magic still emanates from within.">>
<center><img src="images/liora/poses/healingbreasts.webp" style="max-width: 400px;"></center>
<<dialog "Liora" "faceshortpink" "This place... it's old, but still blessed. The magic here feels... pure." "Liora approaches the shrine with obvious reverence, her healing magic resonating with the sacred energy">>
<<dialog "Serin" "face" "Looks like it's been here for centuries. Wonder who built it out here in the middle of nowhere." "Serin examines the structure with a more practical eye">>
<<if random(1, 100) <= _rylanFinalThreshold>> <<set _baseGain = 0.1>> <<set _rylanVoyBonus = ($rylan_naturalTendencies ?? []).includes("voyeurism") ? 1.5 : 1>> <<changeFetish "Rylan" "VoyeurismFetish" _baseGain * _rylanVoyBonus>> <<narrative "The way the soft shrine light illuminates Liora's gentle features as she prays creates an almost ethereal scene.">> <<changeLust "Rylan" 2>> <</if>>
<<choiceBox "What do you do at the shrine?" "Pray at the shrine" "ForestNode_shrine_pray" "shrineChoice=pray" "Examine the structure" "ForestNode_shrine_examine" "shrineChoice=examine" "Rest in the sacred space" "ForestNode_shrine_rest" "shrineChoice=rest">>
</div>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<center><img src="images/liora/poses/healingbreasts.webp" style="max-width: 400px;"></center>
<<narrative "The party kneels before the ancient altar, each offering their own silent prayers. The sacred energy seems to respond to their sincere devotion, washing over them with gentle warmth.">>
<<dialog "Liora" "faceshortpink" "We ask for protection on our journey and wisdom to face what lies ahead..." "Liora leads the prayer, her voice soft but clear. Her healing magic intertwines with the shrine's holy energy, creating a beautiful display of light">>
<<if random(1, 100) <= _rylanFinalThreshold>> <<set _baseGain = 0.1>> <<set _rylanVoyBonus = ($rylan_naturalTendencies ?? []).includes("voyeurism") ? 1.5 : 1>> <<changeFetish "Rylan" "VoyeurismFetish" _baseGain * _rylanVoyBonus>> <<narrative "The sacred light seems to make Liora almost glow, her pious expression both innocent and strangely captivating.">> <<changeLust "Rylan" 2>> <</if>>
<<dialog "Serin" "face" "Not really my thing, but... I can feel something here. Something good." "Serin, though less religious than her companions, bows her head respectfully">>
<<if random(1, 100) <= _baseThreshold>> <<set _baseGain = 0.1>> <<set _serinExhBonus = ($serin_naturalTendencies ?? []).includes("exhibitionism") ? 1.5 : 1>> <<changeFetish "Serin" "ExhibitionismFetish" _baseGain * _serinExhBonus>> <<narrative "There's something oddly exciting about being watched by the ancient shrine as she pays her respects.">> <<changeLust "Serin" 1>> <</if>>
<<narrative "The blessing takes hold, filling each party member with renewed purpose and vitality. The shrine's magic seems to recognize their sincere hearts and good intentions.">>
<<changeCombatStat "Rylan" "willpower" 0.3>> <<changeCombatStat "Rylan" "focus" 0.2>> <<changeCombatStat "Rylan" "confidence" 2>> <<changeCombatStat "Rylan" "blessing" 1>> <<changeCombatStat "Serin" "blessing" 1>> <<changeCombatStat "Liora" "blessing" 1>>
🎯 Willpower increased by 0.3!
👁️ Focus increased by 0.2!
✨ Divine blessing received!
<<continueBox "ForestHunt" "Continue exploring" "">>
</div>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<center><img src="images/serin/poses/stretch.webp" style="max-width: 400px;"></center>
<<narrative "The party carefully examines the ancient shrine, searching for clues about its origins and purpose. The stonework is incredibly detailed, with intricate carvings depicting scenes of healing and protection.">>
<<dialog "Serin" "face" "The craftsmanship is incredible. This took serious skill to build." "Serin runs her hands over the weathered stone, her touch surprisingly gentle">>
<<if random(1, 100) <= _rylanFinalThreshold>> <<set _baseGain = 0.1>> <<set _rylanVoyBonus = ($rylan_naturalTendencies ?? []).includes("voyeurism") ? 1.5 : 1>> <<changeFetish "Rylan" "VoyeurismFetish" _baseGain * _rylanVoyBonus>> <<narrative "Watching Serin's careful, almost reverent examination of the shrine reveals a softer side to her personality.">> <<changeLust "Rylan" 1>> <</if>>
<<dialog "Liora" "faceshortpink" "These runes... they speak of healing and renewal. This was a place where injured travelers could find sanctuary." "Liora's magical knowledge proves invaluable in interpreting the shrine's symbols">>
<<narrative "Hidden within a carved alcove, the party discovers a small cache of blessed items left by previous visitors - perhaps as offerings, or emergency supplies for those in need.">>
<<set $herbs += 3>> <<set $blessedWater += 1>> <<changeCombatStat "Rylan" "perception" 0.2>> <<changeCombatStat "Rylan" "confidence" 1>>
👁️ Perception increased by 0.2!
🌿 Found herbs and blessed water!
<<continueBox "ForestHunt" "Continue exploring" "">>
</div>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<center><img src="images/liora/poses/healingbreasts.webp" style="max-width: 400px;"></center>
<<narrative "The party settles within the shrine's protective aura, feeling the stress and tension of their journey begin to fade. The sacred space seems to actively repel negative influences, creating a bubble of peace in the dangerous forest.">>
<<dialog "Liora" "faceshortpink" "The energy here... it's amazing. I can channel so much more healing than usual." "Liora's healing magic is enhanced by the shrine's power, allowing her to provide more effective treatment for their accumulated fatigue and minor injuries">>
<<if random(1, 100) <= _rylanFinalThreshold>> <<set _baseGain = 0.2>> <<set _rylanVoyBonus = ($rylan_naturalTendencies ?? []).includes("voyeurism") ? 1.5 : 1>> <<changeFetish "Rylan" "VoyeurismFetish" _baseGain * _rylanVoyBonus>> <<narrative "The enhanced healing magic makes Liora's already impressive abilities even more mesmerizing to watch.">> <<changeLust "Rylan" 2>> <</if>>
<<dialog "Serin" "face" "This place has good vibes. Even my gear feels lighter here." "Serin takes advantage of the secure environment to properly tend to her equipment, the sacred atmosphere somehow making even maintenance feel like a respectful ritual">>
<<if random(1, 100) <= _baseThreshold>> <<set _baseGain = 0.1>> <<set _serinExhBonus = ($serin_naturalTendencies ?? []).includes("exhibitionism") ? 1.5 : 1>> <<changeFetish "Serin" "ExhibitionismFetish" _baseGain * _serinExhBonus>> <<narrative "The sense of being in a sacred space while tending to her gear in front of the others adds an unexpected thrill.">> <<changeLust "Serin" 1>> <</if>>
<<set _serinLioraAllowed = ($serin_LesbianValue > 0 && $liora_LesbianValue > 0)>> <<set _serinLioraAttraction = ($serin_LioraAttraction > 20 && $liora_SerinAttraction > 20)>>
<<if _serinLioraAllowed && _serinLioraAttraction>>
<<if random(1, 100) <= _baseThreshold>>
<<narrative "The peaceful atmosphere seems to lower usual barriers, allowing for more intimate moments of connection between party members.">>
<<changeLust "Serin" 2>>
<<changeLust "Liora" 2>>
<<changeAffection "Serin" "Liora" 0.2>>
<<changeAttraction "Liora" "Serin" 0.2>>
<</if>>
<</if>>
<<for _char range ["Rylan", "Serin", "Liora"]>> <<set _stats = State.variables[_char.toLowerCase() + "_combatStats"]>> <<set _stats.currentHealth = _stats.maxHealth>> <<set _stats.currentStamina = _stats.maxStamina>> <<set _stats.currentFocus = _stats.maxFocus>> <</for>> <<changeCombatStat "Rylan" "vitality" 0.2>> <<changeCombatStat "Rylan" "willpower" 0.2>> <<changeCombatStat "Rylan" "confidence" 2>>
❤️ Vitality increased by 0.2!
🎯 Willpower increased by 0.2!
💚 Fully restored!
<<continueBox "ForestHunt" "Continue exploring" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set _eventRoll = random(1, 100)>>
<<set _baseThreshold = 35>>
<<set _rylanLustMod = Math.floor($rylan_Lust / 20) * -5>>
<<set _rylanCorruptionMod = Math.floor($rylan_corruption / 20) * -10>>
<<set _rylanFinalThreshold = _baseThreshold + _rylanLustMod + _rylanCorruptionMod>>
<div class="passage-container rylan">
<<narrative "The party finds a small clearing perfect for a quick training session.">>
<center><img src="images/serin/poses/fightingstance.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin Fighting Stance"></center>
<<dialog "Serin" "face" "This is a perfect spot to practice! Come on, $humanName, show me what you've got!">>
<<narrative "Serin takes a fighting stance, her athletic form radiating confidence.">>
<<set $trainingChoice = "sparring">>
<<choiceBox "What do you want to do?" "Accept the challenge" "ForestNode_sparring" "ForestNode_training=sparring" "Watch and learn" "ForestNode_observing" "ForestNode_training=observing" "Suggest group practice" "ForestNode_groupTraining" "ForestNode_training=group">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<set _sparRoll = random(1, 100)>>
<<if _sparRoll <= ($rylan_combatStats.technique * 5)>>
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<p style="color: #F5DEB3; font-style: italic; margin: 10px 0; line-height: 1.6;">$humanName manages to hold his own against Serin's quick attacks, even landing a few solid counters.</p>
<div style="clear: left;"></div>
</div>
<center><img src="images/serin/poses/flexingarms.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin Flexing Arms"></center>
<<narrative "Serin grins, wiping sweat from her brow.">>
<<dialog "Serin" "face" "Not bad at all!" "She wipes sweat from her brow" "You're getting better!">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.2>>
<<set _rylanMusBonus = ($rylan_naturalTendencies ?? []).includes("muscle") ? 1.5 : 1>>
<<changeFetish "Rylan" "MuscleFetish" _baseGain * _rylanMusBonus>>
<<changeLust "Rylan" 2>>
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<p style="color: #F5DEB3; font-style: italic; margin: 10px 0; line-height: 1.6;">The close combat training leaves $humanName very aware of Serin's athletic form.</p>
<div style="clear: left;"></div>
</div>
<</if>>
<<changeCombatStat "Rylan" "technique" 0.1>>
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<p style="color: #F5DEB3; font-style: italic; margin: 10px 0; line-height: 1.6;">⚔️ $humanName's technique increased by 0.1!</p>
<p style="color: #F5DEB3; font-style: italic; margin: 10px 0; line-height: 1.6;">💝 Serin → $humanName: +2</p>
<div style="clear: left;"></div>
</div>
<<else>>
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<p style="color: #F5DEB3; font-style: italic; margin: 10px 0; line-height: 1.6;">Serin proves too quick, easily outmaneuvering $humanName's attacks.</p>
<div style="clear: left;"></div>
</div>
<center><img src="images/serin/poses/kicking.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin Kicking"></center>
<<narrative "She demonstrates the proper stance, her body glistening with exertion.">>
<<dialog "Serin" "face" "Keep your guard up!" "She demonstrates the proper stance">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.2>>
<<set _rylanSmellBonus = ($rylan_naturalTendencies ?? []).includes("smell") ? 1.5 : 1>>
<<changeFetish "Rylan" "SmellFetish" _baseGain * _rylanSmellBonus>>
<<changeLust "Rylan" 2>>
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<p style="color: #F5DEB3; font-style: italic; margin: 10px 0; line-height: 1.6;">The scent of Serin's sweat proves... distracting.</p>
<div style="clear: left;"></div>
</div>
<</if>>
<<changeCombatStat "Rylan" "physicalPower" 0.1>>
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<p style="color: #F5DEB3; font-style: italic; margin: 10px 0; line-height: 1.6;">💪 $humanName's physical power increased by 0.1!</p>
<div style="clear: left;"></div>
</div>
<</if>>
<div style="text-align: center; margin: 40px 0;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.95), rgba(35, 35, 40, 0.98)); border: 3px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 25px; min-width: 280px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #6B6B6B, #4A4A4A, #2C2C2C);"></div>
<h4 style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Continue</h4>
<div style="background: rgba(100, 100, 100, 0.15); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin: 0 0 20px 0;">
<p style="color: #E6E6FA; margin: 0; font-size: 0.95em; font-weight: bold;">Continue Forest Hunt</p>
<p style="color: #E6E6FA; margin: 5px 0 0 0; font-size: 0.9em;">Return to the forest to continue your hunt.</p></div>
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 8px; padding: 12px; display: inline-block; min-width: 200px;">[[Continue Forest Hunt|ForestHunt]]</div></div></div>
</div></div>
<</nobr>><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<center><img src="images/serin/poses/stretch.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin Stretch"></center>
<<narrative "Serin demonstrates various combat techniques, her movements precise and powerful.">>
<<dialog "Liora" "faceshortpink" "She makes it look so easy..." "Liora murmurs, equally captivated by the display.">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.2>>
<<set _rylanMusBonus = ($rylan_naturalTendencies ?? []).includes("muscle") ? 1.5 : 1>>
<<changeFetish "Rylan" "MuscleFetish" _baseGain * _rylanMusBonus>>
<<changeLust "Rylan" 2>>
<<narrative "Watching Serin's muscles flex with each movement proves quite... educational.">>
<</if>>
<<changeCombatStat "Rylan" "technique" 0.1>>
<<narrative "⚔️ $humanName's technique increased by 0.1!">>
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<center><img src="images/serin/poses/stretch.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin Stretch"></center>
<<narrative "The group forms a small circle, with Serin leading them through various exercises and stretches.">>
<<dialog "Serin" "face" "Everyone together now! Stretch those muscles!">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.2>>
<<set _rylanSmellBonus = ($rylan_naturalTendencies ?? []).includes("smell") ? 1.5 : 1>>
<<changeFetish "Rylan" "SmellFetish" _baseGain * _rylanSmellBonus>>
<<changeLust "Rylan" 2>>
<<narrative "The close proximity and shared exertion creates an... interesting atmosphere.">>
<</if>>
<<changeCombatStat "Rylan" "agility" 0.1>>
<<changeCombatStat "Serin" "agility" 0.1>>
<<changeCombatStat "Liora" "agility" 0.1>>
<<narrative "🏃 Everyone's agility increased by 0.1!">>
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set _eventRoll = random(1, 100)>>
<<set _baseThreshold = 35>>
<<set _rylanLustMod = Math.floor($rylan_Lust / 20) * -5>>
<<set _rylanCorruptionMod = Math.floor($rylan_corruption / 20) * -10>>
<<set _rylanFinalThreshold = _baseThreshold + _rylanLustMod + _rylanCorruptionMod>>
<div class="passage-container rylan">
<<narrative "The party makes their way through a particularly treacherous section of the forest, where gnarled roots create natural hazards beneath the leaf litter.">>
<center><img src="images/liora/poses/bendingdown.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Bending Down"></center>
<<narrative "Liora pauses to examine some interesting plants along the path, her attention focused on a particularly unusual specimen. As she steps forward for a closer look, her foot catches on a hidden root.">>
<center><img src="images/liora/poses/tripped.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Tripped"></center>
<<narrative "Time seems to slow as she loses her balance, a small gasp escaping her lips as she begins to fall forward. Her healing staff starts to slip from her grasp.">>
<<choiceBox "Liora is falling! What will you do?" "Try to catch her" "ForestNode_catchLiora" "trippingChoice=catch" "Let Serin handle it" "ForestNode_serinHelps" "trippingChoice=serin" "Call out a warning" "ForestNode_warnLiora" "trippingChoice=warn">>
</div>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<<set _catchRoll = random(1, 100)>>
<<if _catchRoll <= ($rylan_combatStats.agility * 5)>>
<<narrative "With reflexes honed by combat training, $humanName lunges forward. His arms wrap securely around Liora's waist, while his other hand catches her staff before it can clatter to the ground.">>
<center><img src="images/liora/poses/bendingdown.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Bending Down"></center>
<<narrative "For a moment, they're frozen in an almost dance-like pose, Liora's back pressed against his chest, her warmth evident through her robes. Her breath comes in quick, startled gasps.">>
<<dialog "Liora" "faceshortpink" "Th-thank you..." "Her voice is barely above a whisper, cheeks flushed pink" "That could have been... quite unfortunate.">>
<center><img src="images/serin/poses/flexingarms.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin Flexing Arms"></center>
<<dialog "Serin" "face" "Nice catch, hero. Those reflexes are definitely improving.">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.2>>
<<changeLust "Rylan" 2>>
<<narrative "The intimate contact sends an unexpected warmth through $humanName's body, Liora's subtle scent of herbs and magic lingering even after they separate.">>
<</if>>
<<changeCombatStat "Rylan" "agility" 0.2>>
<<changeCombatStat "Rylan" "confidence" 2>>
<<narrative "🏃 Agility increased by 0.2!">>
<<else>>
<<narrative "$humanName moves quickly to help, but misjudges either his timing or footing. Instead of a heroic save, they both end up tumbling to the ground, landing in an awkward tangle of robes and limbs.">>
<center><img src="images/serin/poses/flexingarms.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin Flexing Arms"></center>
<<dialog "Serin" "face" "My heroes..." "Serin's amused voice comes from above as she offers both hands to help them up" "Though maybe we should work on your grappling technique during training.">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.1>>
<<changeLust "Rylan" 3>>
<<narrative "The compromising position and Liora's soft form pressed against him leaves $humanName thoroughly flustered.">>
<<changeLust "Liora" 2>>
<<narrative "Liora's face turns a deep shade of red as they scramble to separate.">>
<</if>>
<<changeCombatStat "Rylan" "agility" 0.1>>
<<changeCombatStat "Rylan" "confidence" -1>>
<<narrative "🏃 Agility increased by 0.1!">>
<</if>>
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<center><img src="images/serin/poses/flexingarms.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin Flexing Arms"></center>
<<narrative "Before $humanName can react, Serin moves with impressive speed. Her athletic form blurs into action as she catches Liora with one arm while snatching the falling staff with her other hand.">>
<<dialog "Serin" "face" "Careful there!" "She steadies Liora with practiced ease" "These old roots can be tricky. Maybe we should work on your footwork during training too?">>
<center><img src="images/liora/poses/bendingdown.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Bending Down"></center>
<<dialog "Liora" "faceshortpink" "Thank you, Serin... I should have been more careful.">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.2>>
<<set _rylanMusBonus = ($rylan_naturalTendencies ?? []).includes("muscle") ? 1.5 : 1>>
<<changeFetish "Rylan" "MuscleFetish" _baseGain * _rylanMusBonus>>
<<changeLust "Rylan" 1>>
<<narrative "The casual display of Serin's strength and agility catches $humanName's attention, her muscles flexing smoothly with the rescue.">>
<</if>>
<<changeCombatStat "Rylan" "confidence" -1>>
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<<dialog "Rylan" "face" "Liora, watch out! Root!">>
<<narrative "The warning comes just in time. Liora's eyes widen as she processes the shout, her body instinctively freezing mid-step. She manages to catch herself, teetering for a moment before regaining her balance with surprising grace.">>
<center><img src="images/liora/poses/bendingdown.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Bending Down"></center>
<<dialog "Liora" "faceshortpink" "Oh!" "She steadies herself, clutching her staff close" "Thank you, $humanName... that could have been quite embarrassing.">>
<center><img src="images/serin/poses/flexingarms.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin Flexing Arms"></center>
<<dialog "Serin" "face" "Good catch - with words instead of hands. Sometimes that's the smarter play.">>
<<changeCombatStat "Rylan" "technique" 0.2>>
<<changeCombatStat "Rylan" "perception" 0.1>>
<<changeCombatStat "Rylan" "confidence" 1>>
<<narrative "🎯 Technique increased by 0.2!">>
<<narrative "👁️ Perception increased by 0.1!">>
<<continueBox "ForestHunt" "Continue Forest Hunt" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set _restRoll = random(1, 100)>>
<<set _baseThreshold = 35>>
<<set _rylanLustMod = Math.floor($rylan_Lust / 20) * -5>>
<<set _rylanCorruptionMod = Math.floor($rylan_corruption / 20) * -10>>
<<set _rylanFinalThreshold = _baseThreshold + _rylanLustMod + _rylanCorruptionMod>>
<div class="passage-container rylan">
<<if $restChoice === "nap">>
<<narrative "The soft moss and gentle stream sounds made for a perfect resting spot. $humanName found a comfortable position against a tree trunk, his eyes growing heavy in the warm afternoon air.">>
<<dialog "Serin" "face" "I'll keep watch," "Serin offered, settling into a crouch nearby" "Can't have you getting ambushed in your sleep.">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.1>>
<<set _serinProtBonus = ($serin_naturalTendencies ?? []).includes("protective") ? 1.5 : 1>>
<<changeFetish "Serin" "ProtectiveFetish" _baseGain * _serinProtBonus>>
<<narrative "Serin found herself watching $humanName's peaceful sleeping face, a warm feeling spreading in her chest.">>
<<changeLust "Serin" 2>>
<</if>>
<<elseif $restChoice === "practice">>
<<narrative "$humanName took advantage of the break to practice some sword forms, the afternoon light glinting off his blade as he moved through the stances.">>
<<dialog "Serin" "face" "Your form's improving," "Serin observed, occasionally calling out corrections" "Just remember to keep your guard up on the follow-through.">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.1>>
<<set _lioraVoyBonus = ($liora_naturalTendencies ?? []).includes("voyeurism") ? 1.5 : 1>>
<<changeFetish "Liora" "VoyeurismFetish" _baseGain * _lioraVoyBonus>>
<<narrative "Liora found herself mesmerized by the practice session, her cheeks coloring slightly.">>
<<changeLust "Liora" 2>>
<</if>>
<<changeCombatStat "Rylan" "confidence" 1>>
<<else>>
<<narrative "The group settled into easy conversation, sharing stories and observations about their journey so far.">>
<<dialog "Liora" "faceshortpink" "I've been meaning to ask..." "Liora started, then hesitated" "How did you choose the shortsword over other weapons?">>
<<narrative "$humanName explained about learning from his previous mistake with the broadsword, earning understanding nods from his companions.">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.1>>
<<set _serinDomBonus = ($serin_naturalTendencies ?? []).includes("dominance") ? 1.5 : 1>>
<<changeFetish "Serin" "DominanceFetish" _baseGain * _serinDomBonus>>
<<narrative "Serin felt a pleasant warmth at his honesty about past failures.">>
<<changeLust "Serin" 1>>
<</if>>
<<changeAffection "Serin" "Rylan" 1>>
<<changeAffection "Liora" "Rylan" 1>>
<</if>>
<<continueBox "ForestHunt" "Continue Exploring" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<set _baseRylanVoiceRoll = random(1, 100)>><<set _baseLioraSubmissiveRoll = random(1, 100)>><<set _baseSerinDominanceRoll = random(1, 100)>><<set _rylanBaseThreshold = 35>><<set _rylanLustMod = Math.floor($rylan_Lust / 20) * -5>><<set _rylanCorruptionMod = Math.floor($rylan_corruption / 20) * -10>><<set _rylanFinalThreshold = _rylanBaseThreshold + _rylanLustMod + _rylanCorruptionMod>>
<div class="passage-container rylan">
<<narrative "The guild's main hall buzzed with morning activity, adventurers of all ranks gathering around the mission boards or lounging at the scattered tables. As they entered, $humanName couldn't help but notice the subtle shift in atmosphere - the way conversations dropped to whispers, the sideways glances, the poorly hidden smirks.">>
<<if random(1, 100) <= _rylanFinalThreshold>><<changeCombatStat "Rylan" "confidence" -1>>
<<narrative "The familiar feeling of shame crept up $humanName's spine, making his shoulders tense involuntarily.">>
<</if>>
<<dialog "Serin" "face" "Just ignore them," "Serin muttered, her usual playful tone replaced by something harder as she caught fragments of the whispered conversations. Her hand twitched near her dagger, a protective gesture that didn't go unnoticed">>
<<dialog "Male NPC" "face" "Isn't that the guy who ran from a goblin?">>
<<dialog "Female NPC" "face" "Yeah, and didn't he try to use his father's sword?">>
<<dialog "Male NPC" "face" "Heard he couldn't even lift it with both hands...">>
<<if random(1, 100) <= 35>><<changeAffection "Serin" "Rylan" 1>><<changeAttraction "Serin" "Rylan" 1>>
<<narrative "Serin's emerald eyes flashed dangerously as she caught one particularly loud whisperer's gaze, her fingers drumming a warning rhythm on her dagger hilt. The man quickly found something interesting to look at on the ceiling.">>
<</if>>
<<narrative "Liora moved closer to $humanName, her presence offering silent support. The whispers seemed to bounce off the walls, each one a reminder of that humiliating day - the weight of Thalor's broadsword dragging him down, his arms trembling just trying to hold it upright, the goblin's mocking laughter before he turned and fled...">>
<<if random(1, 100) <= 35>><<changeAffection "Liora" "Rylan" 1>><<changeAttraction "Liora" "Rylan" 1>>
<<narrative "Liora's hand brushed against $humanName's arm, a gentle reminder that not everyone saw him through the lens of that one failure. Her touch carried a warmth that seemed to push back against the cold whispers.">>
<</if>>
<<narrative "Behind the polished oak counter, a familiar face brightened at their approach.">>
<<dialog "Elena" "face" "Well, if it isn't my favorite troublemakers!" "Elena's warm voice carried over the general chatter. Her long ginger hair fell in elegant curls, with a portion tied back in a loose braid. Her cream and brown Victorian dress with its ruffled white blouse and corset-style vest gave her a professional yet approachable appearance" "Let me guess - someone's here for a retry?">>
<center><img src="images/elenor/portrait.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Elena Reception"></center>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.1>><<set _rylanVoiceBonus = ($rylan_naturalTendencies ?? []).includes("voice") ? 1.5 : 1>><<changeFetish "Rylan" "VoiceFetish" _baseGain * _rylanVoiceBonus>>
<<narrative "Elena's melodic voice sent an unexpected shiver down $humanName's spine.">>
<<changeLust "Rylan" 2>><</if>>
<<dialog "Serin" "face" "Elena! Looking radiant as always~" "Serin leaned on the counter with practiced ease">>
<<dialog "Serin" "face" "And yes, our dear $humanName is ready to show everyone what he's really capable of this time.">>
<<dialog "Elena" "face" "Ah yes, the 'ankle-biting goblin incident'," "Elena's eyes twinkled with suppressed mirth">>
<<dialog "Elena" "face" "I believe that particular mission report mentioned something about, and I quote, 'tactical retreat while screaming'?">>
<<narrative "$humanName felt his face heat up.">>
<<dialog "Rylan" "face" "That goblin was unusually aggressive!">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.1>><<set _serinDomBonus = ($serin_naturalTendencies ?? []).includes("dominance") ? 1.5 : 1>><<changeFetish "Serin" "DominanceFetish" _baseGain * _serinDomBonus>>
<<narrative "Serin felt a pleasant warmth watching him get flustered.">>
<<changeLust "Serin" 2>><</if>>
<<dialog "Elena" "face" "And the part about hiding behind Liora while Serin had to finish it off?">>
<<narrative "Liora interjected, her sudden defense making everyone turn to look at her. She immediately shrank back, a blush coloring her cheeks.">>
<<dialog "Liora" "faceshortpink" "He's trained really hard since then!">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.1>><<set _lioraSubBonus = ($liora_naturalTendencies ?? []).includes("submission") ? 1.5 : 1>><<changeFetish "Liora" "SubmissionFetish" _baseGain * _lioraSubBonus>>
<<narrative "The sudden attention made Liora's heart race unexpectedly.">>
<<changeLust "Liora" 2>><</if>>
<center><img src="images/liora/blushing.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora"></center>
<<narrative "Elena's expression softened. She glanced around the hall.">>
<<dialog "Elena" "face" "Well, the standard exam is to eliminate five slimes. Usually, we'd want you to team up with other examinees - safety in numbers and all that.">>
<<dialog "Elena" "face" "Though I notice most of the usual candidates are... suddenly very interested in the mission board.">>
<<narrative "Several would-be party members quickly looked away, suddenly fascinated by various notices on the wall.">>
<<narrative "Serin straightened up, her tone shifting from playful to professional.">>
<<dialog "Serin" "face" "Actually, what if Liora and I went with him? I know it's not standard, but I'm already E-rank, and we've trained together for months.">>
<<dialog "Elena" "face" "Normally we want examinees to work with other examinees, to test their teamwork with strangers...">>
<<narrative "Serin leaned in closer, lowering her voice.">>
<<dialog "Serin" "face" "Come on, Elena, you've seen my solo mission records. And you know how dangerous it can be for Liora and me to take missions alone.">>
<<if random(1, 100) <= 35>>
<<set _baseGain = 0.1>><<set _serinProtBonus = ($serin_naturalTendencies ?? []).includes("protective") ? 1.5 : 1>><<changeFetish "Serin" "ProtectiveFetish" _baseGain * _serinProtBonus>>
<<narrative "The thought of Liora in danger made Serin's protective instincts flare.">>
<<changeLust "Serin" 2>><</if>>
<<narrative "Elena studied them for a long moment, her eyes moving from Serin's determined stance to Liora's hopeful expression to $humanName's nervous but resolute face.">>
<<dialog "Elena" "face" "You know what? You're right." "She pulled out an official form and began writing">>
<<dialog "Elena" "face" "If he passes, you three should consider forming a proper party. You've got a good dynamic, and frankly," "she glanced at Serin with a knowing smile">>
<<dialog "Elena" "face" "it would make me feel better knowing you're not taking on those 'easy solo missions' that somehow always end up involving angry bears.">>
<<dialog "Serin" "face" "That was ONE time!">>
<<narrative "Elena finished writing and handed over the mission scroll. Her expression turned serious.">>
<<dialog "Elena" "face" "Three times, actually. I do the paperwork, remember? Five slimes, standard size, in the western forest. And $humanName?">>
<<dialog "Elena" "face" "Try not to hide behind anyone this time.">>
<<if random(1, 100) <= 25>>
<<narrative "The shared laughter that followed seemed to ease some of the tension, though $humanName couldn't help but notice how Serin's hand lingered protectively near Liora's back, or how Liora's eyes kept darting to him with a mix of concern and something else.">>
<<changeLust "Rylan" 2>><<changeLust "Liora" 2>><</if>>
<<dialog "Serin" "face" "Don't worry, Elena! We'll make sure he faces the slimes head-on this time, even if I have to push him myself!">>
<<dialog "Rylan" "face" "That's... not actually reassuring.">>
<<dialog "Liora" "faceshortpink" "Um... at least I brought extra... bandages?">>
<<narrative "Elena watched them head toward the equipment stand, shaking her head with a fond smile. She murmured to herself, already starting on the paperwork for what promised to be an interesting mission report.">>
<<dialog "Elena" "face" "Those three...">>
<center><img src="images/elenor/reception.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Elena Portrait"></center>
<<continueBox "MissionPrep" "Guild Mission" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "Four warriors stood against the tide of darkness.">>
<<narrative "<b>Thalor</b>, the warrior - strong and more disciplined than any knight in the realm. Driven by honor, justice, and a sword that would not waver. He knew no mercy for the wicked.">>
<<narrative "<b>Mariel</b>, the priestess - young and radiant, chosen by the gods to wield divine magic. Her heart beat with compassion, and it would one day belong to Thalor.">>
<<narrative "<b>Verdalis</b>, a dryad from the sacred forests, ageless and wise. She communed with the spirits of the land, seeking balance even in war.">>
<<narrative "<b>Master Gairos</b>, the archmage - weathered by time and master of ancient arcane forces. Once their teacher, he now stood as their leader. Calculating. Ruthless when needed.">>
<<narrative "Together, they stormed the obsidian fortress of the Demon King.">>
<<continueBox "Victory" "Heroes' Tale" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<changeAffection "Rylan" "Liora" 3>><<changeAttraction "Rylan" "Liora" 2>><<changeAffection "Liora" "Rylan" 3>><<changeAttraction "Liora" "Rylan" 2>><<changeCombatStat "Rylan" "confidence" 2>><<changeCombatStat "Liora" "confidence" 2>>
<div class="passage-container rylan">
<<narrative "As you finally decide to retire for the night, your thoughts keep drifting to one person. Liora, your girlfriend. The whole evening you've been thinking about her, about how happy you are together and how much she means to you.">>
<<narrative "Before you can talk yourself out of it, you find yourself walking quietly down the hallway toward her room. The house is silent, moonlight filtering through the windows casting long shadows on the floor.">>
<<narrative "You knock softly on her door, just barely audible.">>
<<dialog "Liora" "faceshortpink" "$humanName?" "comes her gentle voice from within, surprised but pleased">>
<<dialog "Rylan" "face" "Liora... I'm sorry to bother you so late. I just... I couldn't sleep. Could we talk for a moment?">>
<<narrative "There's a rustling sound, and after a few moments, the door opens to reveal Liora in her nightgown, her long ash-blonde hair loose around her shoulders. Her blue eyes look up at you with love and concern.">>
<<dialog "Liora" "faceembarrassed" "Of course, my love," "she whispers, glancing back into her room">>
<<dialog "Liora" "faceembarrassed" "Perhaps... would you like to take a walk? The night air might help clear your mind.">>
<<narrative "You nod gratefully, and she quickly throws on a light cloak over her nightgown. Together, you quietly make your way through the house and out into the moonlit garden behind your home.">>
<<narrative "The night is peaceful, crickets chirping softly in the distance. Stars twinkle overhead, and the moon casts everything in a gentle silver glow. You walk hand in hand along the familiar garden path, enjoying the comfortable intimacy you've shared for months now.">>
<<narrative "Liora says softly, her fingers intertwining with yours.">>
<<dialog "Liora" "faceshortpink" "You seem troubled tonight,">>
<<dialog "Liora" "faceshortpink" "You should be celebrating after passing your exam today... what's weighing on your mind?">>
<<narrative "You stop walking and turn to face her, pulling her gently into your arms. This feels so natural now, so right.">>
<<dialog "Rylan" "face" "It's not really trouble... it's more like excitement mixed with nerves. Tomorrow we start our real adventure together, as a team, as partners in everything.">>
<<narrative "Her eyes soften, and even in the moonlight, you can see the warm smile that lights up her face.">>
<<dialog "Rylan" "face" "I just wanted to tell you how grateful I am to have you by my side. How much I love you, and how excited I am for our future together.">>
<<narrative "she whispers, her voice filled with emotion.">>
<<dialog "Liora" "facesmile" "Oh, $humanName...">>
<<dialog "Liora" "facesmile" "You always know exactly what to say to make my heart flutter.">>
<<narrative "She reaches up to cup your cheek with her free hand, her touch gentle and loving.">>
<<dialog "Liora" "faceshortpink" "I love you too. So much. And tomorrow... tomorrow we'll show everyone just how strong we are together.">>
<<narrative "Without hesitation, you lean down and she rises up to meet you in a tender kiss. It's soft and sweet, filled with all the love and promise of your relationship.">>
<center><img src="images/liora/poses/hugrylan.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Hug Rylan"></center>
<<narrative "When you part, you rest your foreheads together, both smiling in the moonlight.">>
<<narrative "you whisper.">>
<<dialog "Rylan" "face" "I don't know what I did to deserve you,">>
<<narrative "she replies simply.">>
<<dialog "Liora" "facesmile" "You loved me,">>
<<dialog "Liora" "facesmile" "And you let me love you back.">>
<<narrative "You hold each other there in the moonlit garden, both grateful for the love you've found together. The fears about tomorrow's challenges seem smaller when you're in each other's arms.">>
<<narrative "Liora eventually whispers, though she makes no move to step away from your embrace.">>
<<dialog "Liora" "faceshortpink" "We should probably head back inside,">>
<<narrative "you agree, but you tighten your arms around her instead.">>
<<dialog "Rylan" "face" "Probably,">>
<<dialog "Rylan" "face" "Just... one more moment.">>
<<narrative "She laughs softly and snuggles closer to you, content to stay in your arms for as long as you want.">>
<<narrative "Finally, reluctantly, you both head back inside. At her door, she turns to face you one more time.">>
<<narrative "she says softly, rising up to give you one more gentle kiss.">>
<<dialog "Liora" "facesmile" "Goodnight, my love,">>
<<narrative "you reply.">>
<<dialog "Rylan" "face" "Goodnight, beautiful,">>
<<dialog "Rylan" "face" "Sweet dreams.">>
<<narrative "As you head back to your own room, you feel content and loved. Tomorrow's adventures seem much more manageable with Liora's love giving you strength.">>
<<narrative "You fall asleep with a smile on your face, dreaming of the bright future you and Liora are building together.">>
<<continueBox "SerinHeartbreak" "Romantic Night" "Continue the story">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<div class="passage-container rylan">
<<dialog "Rylan" "face" "Would you... would you like me to do this again sometime? I mean, if you're sore again?">>
<<dialog "Mariel" "face" "I... yes, I think I would like that. But perhaps we should keep it between us." "She considers this for a moment, and I can see her weighing the appropriateness against how good it felt">>
<<changeAffection "Rylan" "Mariel" 2>><<changeAffection "Mariel" "Rylan" 1>><<changeAttraction "Rylan" "Mariel" 1>><<changeAttraction "Mariel" "Rylan" 1>>
<<dialog "Rylan" "face" "Of course. It's just... taking care of family, right?">>
<<dialog "Mariel" "face" "Right," "she agrees, though something in her voice suggests she's not entirely convinced it's that simple" "Just... family.">>
<<narrative "The way she says it makes me think she's starting to feel the same confusion I am about the nature of our relationship.">>
<<dialog "Mariel" "facesmile" "You have such skilled hands for someone so young," "she says softly" "I felt things tonight that I haven't felt in... well, in a very long time.">>
<<dialog "Rylan" "face" "I'm glad I could help.">>
<<dialog "Mariel" "face" "More than help. You made me feel... appreciated. Cared for. It's a wonderful feeling.">>
<<narrative "The intimate conversation has created a new understanding between us - we both enjoyed this more than we probably should have.">>
<<dialog "Mariel" "facesmile" "Sweet dreams, dear. And thank you for a lovely evening.">>
<<continueBox "NightActivities" "Evening Activities" "">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<<set _backRoll = random(1, 100)>><<set _backThreshold = 65>><<set _lustMod = Math.floor($rylan_Lust / 20) * -10>><<set _finalBackThreshold = _backThreshold + _lustMod>>
<div class="passage-container mariel">
<<dialog "Rylan" "face" "Your back probably needs attention too, with all the work you do.">>
<<dialog "Mariel" "face" "That's true. The lifting and bending does take its toll.">>
<<narrative "She lies down on her stomach, and I position myself beside her on the bed. The nightgown is thin enough that I can see the outline of her figure beneath, which makes me slightly nervous for reasons I don't fully understand.">>
<<dialog "Rylan" "face" "Is this okay?">>
<<dialog "Mariel" "face" "Yes, that's fine. Just... be gentle.">>
<<set $rylan_MassagedMariel = true>><<set $rylan_MassagedMarielBack = true>>
<<narrative "I begin working on her lower back, and immediately notice how the massage feels different from the shoulders. More intimate somehow, even though it's still perfectly innocent.">>
<<if _backRoll <= _finalBackThreshold>><<changeLust "Rylan" 3>><<changeAttraction "Rylan" "Mariel" 1>><<changeAffection "Mariel" "Rylan" 1>>
<<narrative "As I work, I become increasingly aware of her breathing, the way her body relaxes under my touch, the trust she's showing. The nightgown shifts slightly as she moves, and I catch glimpses of skin that make my heart race.">>
<<narrative "she murmurs, and something about the way she says it makes me feel warm all over.">>
<<dialog "Mariel" "facewet" "That feels so good,">>
<center><img src="images/mariel/nightactivities/1/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel BackMassage"></center>
<<narrative "I find myself taking longer than necessary, enjoying the intimate nature of caring for her this way. It's confusing - these feelings aren't what I expected to have.">>
<<else>><<changeAffection "Rylan" "Mariel" 1>>
<<narrative "I focus on just helping her feel better, though I can't help but notice how different this feels from a simple shoulder massage.">>
<</if>>
<<narrative "she says softly.">>
<<dialog "Mariel" "face" "You have such caring hands,">>
<<dialog "Mariel" "face" "I feel so much better already.">>
<<set _intimateRoll = random(1, 100)>><<if _intimateRoll <= 30>><<changeLust "Rylan" 2>><<changeLust "Mariel" 1>>
<<narrative "As I work on a particularly tense spot, she lets out a soft sound that's almost a moan. We both freeze for a moment, the intimate nature of the sound hanging in the air between us.">>
<<narrative "she says, her voice slightly breathless.">>
<<dialog "Mariel" "faceembarrassed" "Sorry, that just... that felt really good,">>
<<dialog "Rylan" "face" "It's... it's okay. I'm glad it's helping.">>
<<narrative "But the moment has changed something between us, made us both more aware of the situation we're in.">>
<<else>>
<<narrative "The massage continues peacefully, though I'm definitely more conscious of the intimacy than when we started.">>
<</if>>
<<narrative "she says, sitting up carefully.">>
<<dialog "Mariel" "facesmile" "I think that's enough for tonight,">>
<<dialog "Mariel" "facesmile" "Thank you so much. That was exactly what I needed.">>
<<choiceBox "Massage Complete" "Ask if she'd like you to do this again sometime" "MarielAgainSometime" "MarielBack=again" "Say goodnight and leave" "MarielLeave" "MarielBack=leave">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<<pov "mariel">>
<<set $timeOfDay = "morning">>
<<changeAffection "Mariel" "Thalor" -5>>
<<changeAttraction "Mariel" "Thalor" -5>>
<div class="passage-container mariel">
<center><img src="images/mariel/lookingoutwindow.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel"></center>
<div id="thoughtsContainer"></div>
<<choiceBox "Chapter Transition" "Begin Chapter 1" "BeginChapter1" "MarielBackToPresent=begin">>
</div>
<style>
#thoughtsContainer p {
margin: 25px 0;
text-align: center;
font-style: italic;
}
</style>
<<script>>
$(document).ready(function() {
const thoughts = [
'*What happened that day...*',
'*It didn\'t just destroy me.*',
'*It destroyed him too.*',
'*He barely speaks anymore...*',
'*When was the last time he looked me in the eyes?*',
'*When was the last time he held me?*',
'*He travels constantly now. Always finding reasons to be away.*',
'*Someone who doesn\'t carry the same memories...*',
'*Someone who doesn\'t remind him of what we did.*',
'*We were heroes once...*',
'*But what kind of heroes murder children?*',
'*Neither of us deserves happiness after what we allowed to happen.*',
'*At least he still has that innocence...*',
'*At least someone in this house still believes in heroes.*',
'*Protecting what innocence remains...*',
'*That\'s the only redemption I have left.*'
];
const thoughtsContainer = document.getElementById('thoughtsContainer');
let currentThought = 0;
function showNextThought() {
if (currentThought < thoughts.length) {
const thoughtElement = document.createElement('p');
thoughtElement.innerHTML = thoughts[currentThought];
thoughtElement.style.opacity = '0';
thoughtElement.style.transform = 'translateY(20px)';
thoughtElement.style.transition = 'opacity 1.2s ease-in-out, transform 1.2s ease-in-out';
thoughtsContainer.appendChild(thoughtElement);
setTimeout(function() {
thoughtElement.style.opacity = '1';
thoughtElement.style.transform = 'translateY(0)';
}, 50);
currentThought++;
setTimeout(showNextThought, 2000);
}
}
showNextThought();
});
<</script>>
<</nobr>>
<<pov "mariel" "theoneswithoutname.mp3">><<nobr>>
<<set _nostalgiaRoll = random(1, 100)>><<set _nostalgiaThreshold = 65>><<set _attractionMod = Math.floor($rylan_MarielAttraction / 10) * -5>><<set _finalThreshold = _nostalgiaThreshold + _attractionMod>>
<div class="passage-container rylan">
<<dialog "Rylan" "face" "Tell me about when you were younger. What was it like?">>
<<narrative "Her expression softens, and she seems relieved to have safer ground to talk about.">>
<<dialog "Mariel" "face" "Oh, that feels like a lifetime ago. I was... different then.">>
<<narrative "She draws her knees up slightly, the movement causing her nightgown to shift in ways that make me struggle to focus on her words.">>
<<narrative "She laughs softly, a sound that seems almost melancholy.">>
<<dialog "Mariel" "facesmile" "I was a priestess, you know. So focused on my duties, on being pure and righteous. I thought I had everything figured out.">>
<<dialog "Mariel" "facesmile" "I was so naive.">>
<<if _nostalgiaRoll <= _finalThreshold>><<changeFetish "Rylan" "SmellFetish" 0.1>><<changeAttraction "Rylan" "Mariel" 1>><<changeAttraction "Mariel" "Rylan" 1>><<changeLust "Rylan" 2>>
<<narrative "As she speaks, she absently adjusts her position, moving closer to me on the bed. The intimate gesture seems unconscious, but it brings more of her scent my way - that intoxicating blend of lavender and something uniquely her.">>
<<narrative "Her voice takes on a wistful quality, and I notice her eyes growing distant.">>
<<dialog "Mariel" "face" "I thought I understood love, desire, passion... but I'd never really experienced any of it. Not until I met your father.">>
<<dialog "Mariel" "facesmile" "He showed me there was more to life than rigid rules and expectations. That sometimes... sometimes you have to follow your heart, even when it leads you somewhere complicated.">>
<<narrative "The way she looks at me when she says this makes my stomach flutter. There's something in her eyes that suggests she's not just talking about the past.">>
<<else>><<changeAffection "Rylan" "Mariel" 1>>
<<narrative "She shares some pleasant memories of her youth, keeping the conversation light and appropriate, though I can sense there's more she's not saying.">>
<</if>>
<<dialog "Mariel" "face" "But enough about me,">>
<<narrative "she says, seeming to shake herself from the reverie.">>
<<dialog "Mariel" "face" "What about you? These confusing feelings you mentioned...">>
<<narrative "The way she says it, with genuine concern but also a hint of something else, makes my heart race.">>
<<choiceBox "Intimate Conversation" "Tell her about your attraction to women" "MarielWomenTalk" "MarielDecline=women" "Admit you're confused about family feelings" "MarielConfusion" "MarielDecline=confusion" "Say you should go to sleep" "MarielLeave" "MarielDecline=sleep">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<div class="passage-container mariel">
<<dialog "Rylan" "face" "You deserve to be taken care of. You give so much of yourself to everyone else.">>
<<narrative "Her eyes well up slightly, and I can see the words have touched her deeply.">>
<<dialog "Mariel" "faceembarrassed" "I... thank you. Sometimes I forget that I matter too.">>
<<changeAffection "Rylan" "Mariel" 3>><<changeAffection "Mariel" "Rylan" 3>><<changeAttraction "Mariel" "Rylan" 1>>
<<dialog "Mariel" "facesmile" "You have such a kind heart, $humanName. The way you see people, the way you care... it's special.">>
<<dialog "Rylan" "face" "You're special. You make everyone around you better just by being yourself.">>
<<narrative "She reaches out and cups my cheek gently.">>
<<dialog "Mariel" "face" "When did you become so wise? So caring?">>
<<narrative "The touch is tender and intimate in a way that makes my breath catch. There's something in her eyes - gratitude mixed with something else I can't quite identify.">>
<<dialog "Mariel" "facesmile" "I'm going to remember this night for a long time,">>
<<narrative "she says softly.">>
<<dialog "Mariel" "facesmile" "And I hope... I hope we can have more moments like this.">>
<<dialog "Rylan" "face" "So do I.">>
<<dialog "Mariel" "facesmile" "Sweet dreams, my dear boy. Thank you for reminding me that I'm worth caring for.">>
<<continueBox "NightActivities" "Evening Activities" "">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<div class="passage-container mariel">
<<dialog "Rylan" "face" "I... I actually enjoyed helping you. It felt good to be able to take care of you for once.">>
<<narrative "Her expression softens, and I see something warm in her eyes.">>
<<dialog "Mariel" "facesmile" "That's very sweet of you to say. It means a lot to know you think of me that way.">>
<<changeAffection "Rylan" "Mariel" 2>><<changeAffection "Mariel" "Rylan" 2>><<changeAttraction "Mariel" "Rylan" 1>>
<<dialog "Mariel" "face" "You have such gentle hands, and such a caring heart,">>
<<narrative "she says softly.">>
<<dialog "Mariel" "face" "Any woman would be lucky to have someone like you looking after her.">>
<<narrative "The way she says \"any woman\" makes me wonder if she's thinking of something specific, but I'm not sure.">>
<<dialog "Rylan" "face" "I just want you to feel appreciated. You do so much for everyone else.">>
<<dialog "Mariel" "face" "And now I know how good it feels to be taken care of.">>
<<narrative "She reaches out and touches my hand briefly.">>
<<dialog "Mariel" "face" "Thank you for tonight. For everything.">>
<<narrative "The touch sends a small thrill through me, and I realize our relationship has shifted slightly. There's something different between us now - warmer, more intimate.">>
<<dialog "Mariel" "facesmile" "Sweet dreams, dear. And... perhaps we could do this again sometime, if you'd like.">>
<<dialog "Rylan" "face" "I'd like that.">>
<<continueBox "NightActivities" "Evening Activities" "">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<div class="passage-container mariel">
<<dialog "Rylan" "face" "I'm really glad I could help you feel better. You work so hard for all of us.">>
<<narrative "Her expression grows tender, and she reaches out to touch my hand briefly.">>
<<dialog "Mariel" "facesmile" "You have such a caring heart, $humanName. What you did tonight... it means more than you know.">>
<<changeAffection "Rylan" "Mariel" 2>><<changeAffection "Mariel" "Rylan" 2>><<changeAttraction "Mariel" "Rylan" 1>>
<<narrative "The touch sends a small thrill through me, especially knowing my hands still carry her scent from the massage.">>
<<dialog "Mariel" "face" "You were so... thorough. So attentive to every detail.">>
<<narrative "There's something in the way she says it that makes me wonder if she noticed more than she let on.">>
<<dialog "Mariel" "face" "I felt completely taken care of.">>
<<dialog "Rylan" "face" "You deserve to be taken care of.">>
<<dialog "Mariel" "facesmile" "And you certainly know how to make a woman feel special,">>
<<narrative "she says softly, then seems to catch herself.">>
<<dialog "Mariel" "facesmile" "I mean... you'll make someone very lucky someday.">>
<<narrative "The slight stumble in her words makes my heart race. Is she thinking of herself when she says that?">>
<<dialog "Mariel" "face" "Perhaps... perhaps we could do this again when I'm feeling tense. Would you mind?">>
<<dialog "Rylan" "face" "Not at all. Anytime you need it.">>
<<dialog "Mariel" "facesmile" "Sweet dreams, dear. And thank you for such... personal attention.">>
<<narrative "As I leave her room, I can't shake the feeling that something has definitely changed between us tonight.">>
<<continueBox "NightActivities" "Evening Activities" "">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<div class="passage-container mariel">
<<dialog "Rylan" "face" "I think... I think I should probably go to bed. This is getting too complicated.">>
<<narrative "I can see relief and disappointment warring in her expression.">>
<<dialog "Mariel" "face" "You're probably right, sweetheart. Sometimes the wise thing is the hardest thing.">>
<<changeAffection "Rylan" "Mariel" 1>><<changeAffection "Mariel" "Rylan" 1>>
<<narrative "I stand up from the edge of her bed, and she watches me with those emerald eyes that seem to hold secrets I'm not ready to understand. The candlelight catches the golden highlights in her hair, and for a moment I'm struck by how beautiful she looks - and how wrong it feels to notice.">>
<<dialog "Mariel" "face" "Thank you for talking with me,">>
<<narrative "she says softly.">>
<<dialog "Mariel" "face" "These conversations... they mean more to me than you know.">>
<<narrative "As I head toward the door, I glance back to see her watching me with an expression I can't quite read. There's tenderness there, but also something else - a yearning that mirrors what I feel but can't name.">>
<<dialog "Rylan" "face" "Goodnight, $marielToHuman.">>
<<dialog "Mariel" "facesmile" "Goodnight, my dear boy. Sweet dreams.">>
<<narrative "I close the door softly behind me and make my way back to my room, my mind swirling with confusion about the feelings I'm developing and the way she looked at me tonight. The conversation has left me more unsettled than before, but also strangely exhilarated.">>
<<narrative "Sleep comes slowly, my dreams filled with lavender scents, soft whispers, and the forbidden warmth of embraces that feel like more than they should.">>
<<continueBox "NightActivities" "Evening Activities" "">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<div class="passage-container mariel">
<<set _smellRoll = random(1, 100)>><<set _smellThreshold = 70>><<set _smellMod = Math.floor($rylan_SmellFetish / 10) * -10>><<set _finalSmellThreshold = _smellThreshold + _smellMod>><<set _lustRoll = random(1, 100)>><<set _lustThreshold = 80>><<set _lustMod = Math.floor($rylan_Lust / 15) * -10>><<set _finalLustThreshold = _lustThreshold + _lustMod>>
<<dialog "Rylan" "face" "You mentioned your legs and feet hurt from standing all day. Maybe I should start there?">>
<<narrative "She hesitates, looking uncertain.">>
<<dialog "Mariel" "face" "Oh, I... I don't know about that. That seems a bit...">>
<<dialog "Rylan" "face" "It's just a massage. You're always on your feet cooking and cleaning. It makes sense that they'd be sore.">>
<<narrative "After a moment, she nods reluctantly.">>
<<dialog "Mariel" "face" "I suppose that's true. But just... just my calves and feet, alright? Nothing higher.">>
<<set $rylan_MassagedMariel = true>><<set $rylan_MassagedMarielLegs = true>><<set $rylan_MassagedMarielFeet = true>><<changeAffection "Rylan" "Mariel" 1>><<changeAffection "Mariel" "Rylan" 1>><<changeCombatStat "Rylan" "confidence" 1>>
<<narrative "She shifts to lie on her stomach, her nightgown riding up slightly to reveal her bare legs. I position myself at the foot of the bed and gently begin massaging her calves through the thin fabric.">>
<<dialog "Mariel" "face" "Oh... that actually does feel nice,">>
<<narrative "she admits, some of the tension leaving her voice.">>
<<narrative "As I work on her legs, I gradually move down to her feet. The moment I touch them, I'm hit with an unexpected scent - not unpleasant exactly, but definitely... noticeable. The smell of someone who's been on their feet all day.">>
<<if _smellRoll <= _finalSmellThreshold>><<changeFetish "Rylan" "SmellFetish" 0.2>><<changeLust "Rylan" 3>>
<<narrative "At first, my instinct is to pull back. It's not what I expected, and it's definitely not pleasant in the traditional sense. But as I continue massaging, something strange happens. The scent becomes... less offensive. Maybe I'm just getting used to it, or maybe there's something else going on.">>
<<narrative "I find myself breathing a little deeper, and the smell that initially made me want to stop doesn't seem so bad anymore. In fact, there's something oddly intimate about it - proof of her hard work, her dedication to our family.">>
<<else>><<changeFetish "Rylan" "SmellFetish" 0.1>>
<<narrative "The scent is noticeable but I try to focus on just helping her relax, though I can't help but notice how it affects me in ways I don't quite understand.">>
<</if>>
<center><img src="images/mariel/nightactivities/1/footmassage.webp" alt="Mariel Footmassage" width="400"></center>
<<dialog "Mariel" "face" "You don't have to do that if it's unpleasant,">>
<<narrative "she says softly, clearly aware of the situation.">>
<<dialog "Rylan" "face" "It's fine. I want to help you feel better.">>
<<if _lustRoll <= _finalLustThreshold>><<changeLust "Rylan" 2>><<changeFetish "Rylan" "FeetFetish" 0.1>><<changeCombatStat "Rylan" "basicExperience" 1>>
<<narrative "As I continue massaging her feet, I become increasingly aware of the intimate nature of what I'm doing. The scent, the soft skin under my hands, the quiet sounds of contentment she makes - it all combines to create feelings I didn't expect to have during what was supposed to be an innocent massage.">>
<</if>><<changeLust "Mariel" 2>>
<<narrative "After several minutes, I realize I've completely forgotten about the initial smell. My hands are covered with the scent now, and I find myself faced with a choice.">>
<<dialog "Mariel" "facesmile" "That feels wonderful, dear. You have gentle hands.">>
<<narrative "I look down at my hands, now carrying her scent, and feel a strange urge wash over me.">>
<<choiceBox "What will you do?" "Discretely smell your hands" "MarielSmellHands" "MarielLegsHands=smellHands" "Try to smell her feet while she's not looking" "MarielSmellFeet" "MarielLegsFeet=smellFeet" "Wonder what's wrong with you for having these thoughts" "MarielWhatWrong" "MarielLegsWonder=wonder">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<div class="passage-container mariel">
<<dialog "Rylan" "face" "Really, it's just a massage. You work so hard taking care of everyone. Let someone take care of you for once.">>
<<narrative "She considers this for a moment, clearly torn between wanting the relief and feeling uncertain about the appropriateness.">>
<<dialog "Mariel" "face" "I... I suppose it would be nice. My shoulders have been so tense lately.">>
<<dialog "Rylan" "face" "Then it's settled. Where would be most comfortable for you?">>
<<dialog "Mariel" "face" "Well, I suppose... here on the bed would be easiest. But just the shoulders and back, alright?">>
<<narrative "She seems to be trying to convince herself as much as me.">>
<<changeAffection "Rylan" "Mariel" 2>><<changeAffection "Mariel" "Rylan" 2>><<changeAttraction "Rylan" "Mariel" 1>><<changeLust "Rylan" 2>><<changeCombatStat "Rylan" "confidence" 1>>
<<dialog "Rylan" "face" "Of course. Just to help you relax.">>
<<narrative "She adjusts her position on the bed, sitting with her back to me. The trust she's showing by letting me do this makes my heart race slightly.">>
<<dialog "Mariel" "face" "I can't believe I'm doing this. It's been so long since anyone...">>
<<narrative "She trails off, then shakes her head.">>
<<dialog "Mariel" "face" "Just... be gentle, alright?">>
<<narrative "There's something vulnerable about the way she says it that makes me want to take extra care of her.">>
<<dialog "Rylan" "face" "I will. Where should I start?">>
<<narrative "She thinks for a moment.">>
<<dialog "Mariel" "face" "My shoulders are the worst. But honestly, everything aches these days. My back, my legs from standing so much, even my feet.">>
<<narrative "I realize I get to choose where to focus my attention. This could be just an innocent massage to help her feel better... but there's something about the intimate setting that makes my heart beat a little faster.">>
<<choiceBox "What will you do?" "Start with her shoulders" "MarielShoulders" "MarielMassageOffer=shoulders" "Offer to massage her legs and feet" "MarielLegs" "MarielMassageOffer=legs" "Ask to massage her back" "MarielBack" "MarielMassageOffer=back">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<div class="passage-container mariel">
<<narrative "The room fades.">>
<<narrative "Mariel doesn't speak.">>
<<narrative "She simply remembers.">>
<<narrative "The air had been thick with blood and smoke. Not the kind that rises from a single fire-but the kind that clings to the lungs, born of magic and death. The Demon King's throne room had collapsed into a smoldering silence, broken only by the distant echoes of dying spells and the crackle of what once was a palace.">>
<<narrative "Azgorth was dead.">>
<<narrative "The once-feared Demon King lay slumped against the blackened marble steps, his obsidian crown shattered, his throat opened by a silver blade still embedded in the stone beside him. His eyes-those ancient, burning things-were now dull. Empty.">>
<<narrative "Beside him lay his wives:">>
<<narrative "Oriss, the First Bride, known for weaving illusions so real they drove men mad. Her hair, like flowing crimson, pooled around her motionless body.">>
<<narrative "Nirith, the Crimson Tempest, her claws still twitching faintly in death.">>
<<narrative "Nyssin, the Silent Witch, her eyes open, her mouth sealed forever in whatever curse she'd been preparing.">>
<<narrative "Their beauty remained, even in death. Terrible and haunting.">>
<<narrative "And in the far corner of the shattered throne room, three children huddled together-alive.">>
<<narrative "Their eyes were wide. Too wide. Staring at everything and nothing.">>
<<narrative "A maid-burned, bloody, but breathing-lay shielding them, her body curled protectively around the youngest. The other two stood, trembling, barely able to hold each other up.">>
<<narrative "One of the surviving maids looked up at the approaching figures. Her voice was shaking, her plea barely a whisper:">>
<<dialog "Female NPC" "face" "Please... at least spare the children... They're unarmed. They don't even know what they are.">>
<<narrative "Behind her, Master Gairos stood tall, his once-regal robes torn and charred. His eyes held no pity. Only calculation.">>
<<dialog "Thalor" "face" "It has to be done. You know what will happen if we leave them. You know what they will become.">>
<<dialog "Mariel" "face" "Please stop... They're just children...">>
<<narrative "The eldest of the demon-kin-still but a child-stepped in front of the younger two, his arms outspread. His chest rose and fell with stifled sobs. Even then, he tried to be a shield.">>
<<narrative "The maid at Mariel's feet reached up with a bloody hand and gripped her robes.">>
<<dialog "Female NPC" "face" "Please...">>
<<narrative "And then-">>
<<narrative "Thalor's voice, low but unwavering, broke the tension like steel through silence:">>
<<dialog "Thalor" "face" "Master Gairos... please go outside. Take Mariel with you.">>
<<narrative "Mariel turned sharply, eyes wide in protest.">>
<<dialog "Mariel" "face" "Thalor, you can't-!">>
<center><img src="images/thalor/throneroom.webp" alt="Thalor throne" style="max-width: 400px; margin: 20px 0;"></center>
<<narrative "But he was already walking forward, unsheathing his sword with a slow, deliberate sound. The same sword that now leans beside the kitchen wall.">>
<<narrative "The torchlight flickered across his face. And for a moment, Mariel saw not the man she loved, but a soldier.">>
<<narrative "A warrior prepared to carry the burden she could not.">>
<<narrative "Everything after that is a blur.">>
<<narrative "Just light.">>
<<narrative "Steel.">>
<<narrative "Screams cut short.">>
<<narrative "And silence that never truly left her...">>
<<continueBox "BackToKitchen" "Continue" "">>
</div>
<</nobr>>
<<pov "mariel" "echoesofashes.mp3">><<nobr>>
<div class="passage-container mariel">
<<dialog "Rylan" "face" "It was my pleasure. Really.">>
<<narrative "Her smile grows warmer, and I can see the gratitude in her eyes.">>
<<dialog "Mariel" "facesmile" "You have such a generous heart, $humanName. I'm so lucky to have you in my life.">>
<<changeAffection "Rylan" "Mariel" 2>><<changeAffection "Mariel" "Rylan" 3>><<changeAttraction "Mariel" "Rylan" 1>><<changeCombatStat "Rylan" "confidence" 1>>
<<narrative "The way she says it makes something flutter in my chest. There's a warmth in her voice that goes beyond simple gratitude.">>
<<dialog "Mariel" "face" "You know, I feel so much better now. Both physically and... emotionally.">>
<<narrative "She pauses, studying my face.">>
<<dialog "Mariel" "face" "It's been a long time since someone cared for me like that.">>
<<dialog "Rylan" "face" "You deserve to be cared for.">>
<<dialog "Mariel" "faceembarrassed" "Sometimes I wonder... what it would be like to have someone who always puts me first.">>
<<narrative "She seems to catch herself, blinking as if surprised by her own words.">>
<<dialog "Mariel" "faceembarrassed" "I'm sorry, I don't know why I said that.">>
<<dialog "Rylan" "face" "You don't have to apologize. Everyone needs that sometimes.">>
<<dialog "Mariel" "face" "You're very wise for someone so young.">>
<<narrative "She reaches out and briefly touches my hand.">>
<<dialog "Mariel" "face" "And very... attentive. I noticed how careful you were with me tonight.">>
<<narrative "The touch sends a thrill through me. There's something in her eyes that makes me wonder if she's thinking of more than just the massage.">>
<<dialog "Mariel" "facesmile" "Thank you, dear. For everything. I think I'll sleep much better now.">>
<<dialog "Rylan" "face" "I'm glad I could help.">>
<<narrative "As I head toward the door, I feel a strange sense of satisfaction. Something has definitely changed between us tonight, and I'm not sure what it means, but I know I liked being able to take care of her.">>
<<dialog "Mariel" "face" "Sweet dreams, $humanName. And... thank you for making me feel special.">>
<<continueBox "NightActivities" "Return to Night Activities" "">>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<div class="passage-container mariel">
<<narrative "I settle onto the edge of her bed, keeping a respectful distance. The situation feels strange - being in her room so late - but not inappropriate. She's like family, after all.">>
<<dialog "Mariel" "face" "You know," "she says softly, closing her book and setting it aside," "I'm really proud of what you accomplished today. You've grown so much since you first came to us.">>
<<changeAffection "Rylan" "Mariel" 1>>
<<changeAffection "Mariel" "Rylan" 2>>
<<changeCombatStat "Rylan" "confidence" 1>>
<<narrative "Her words make me feel warm inside. There's something special about having her approval, her recognition of my growth.">>
<<dialog "Rylan" "faceembarrassed" "I guess I just can't stop thinking about everything. Today, the future, what comes next...">>
<<dialog "Mariel" "face" "That's perfectly natural. Big changes can be overwhelming.">>
<<narrative "She shifts slightly, and I notice she looks tired. The candlelight catches her face in a way that makes her seem more beautiful than usual.">>
<<dialog "Mariel" "face" "I've been having trouble sleeping too, actually.">>
<<dialog "Rylan" "face" "Really? Why?">>
<<dialog "Mariel" "face" "Oh, just aches and pains. Being on my feet all day in the kitchen, you know. These old bones aren't what they used to be.">>
<<narrative "She rubs her shoulder with a wince, and something about the vulnerable gesture tugs at my heart.">>
<<narrative "I feel a surge of concern for her. She does so much for our household, always taking care of everyone else.">>
<<dialog "Rylan" "face" "That's not fair. You do so much for all of us.">>
<<dialog "Mariel" "facesmile" "It's what I choose to do, dear. But I appreciate the sentiment.">>
<<narrative "She smiles at me in a way that makes my chest feel tight.">>
<<dialog "Mariel" "facesmile" "It means more than you know to hear you say that.">>
<<changeAffection "Mariel" "Rylan" 2>>
<<changeLust "Rylan" 1>>
<<narrative "An idea occurs to me.">>
<<dialog "Rylan" "face" "Would... would it help if I gave you a massage? I mean, just to help you relax. You deserve to be taken care of for once.">>
<<dialog "Mariel" "faceembarrassed" "Oh, that's very sweet of you to offer, but... I don't know if that's appropriate.">>
<<dialog "Rylan" "face" "It's just to help you feel better. Nothing weird about it. Just... returning the favor for all you do for us.">>
<<choiceBox "Massage Offer" "Insist it's just to help her relax" "MarielMassageOffer" "MarielNightTalk=insist" "Say you understand if she's not comfortable" "MarielLeave" "MarielNightTalk=understand">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<set $nightVisitedTonightCh0.push("Mariel")>><<changeAffection "Rylan" "Mariel" 1>><<changeAffection "Mariel" "Rylan" 1>><<changeLust "Rylan" 2>>
<<nobr>>
<div class="passage-container mariel">
<<narrative "I quietly make my way through the dimly lit hallway toward $marielToHuman's room. The old floorboards creak softly under my feet as I approach her door.">>
<<narrative "A warm, golden light seeps out from beneath the door frame, and I can hear the soft rustling of pages being turned. She's still awake.">>
<<narrative "I raise my hand to knock gently, but pause for a moment. What am I hoping to find by visiting her so late at night? My heart pounds as confusing thoughts swirl through my mind.">>
<<narrative "*Knock knock*">>
<<dialog "Mariel" "face" "Come in," "comes her gentle voice from within.">>
<center><img src="images/mariel/nightactivities/1/4.webp" alt="Mariel in nightgown" width="400"></center>
<<narrative "I slowly open the door to find $marielToHuman sitting in bed, a thick book resting in her lap. She's wearing a modest white nightgown that somehow still manages to hint at her generous curves beneath. Her golden hair cascades over her shoulders, and the soft candlelight makes her skin seem to glow warmly.">>
<<dialog "Mariel" "face" "Oh! $humanName, what brings you here so late?" "she asks with a warm smile, though there's a hint of surprise in her emerald eyes." "Couldn't sleep?">>
<<dialog "Rylan" "face" "I... I was restless. I saw the light under your door and thought maybe we could talk?">>
<<narrative "She hesitates for just a moment, glancing down at her nightgown, then pats the edge of the bed.">>
<<dialog "Mariel" "face" "Of course, dear. Come sit with me.">>
<<narrative "I move to sit on the edge of her bed, and immediately catch a subtle scent - lavender mixed with something uniquely her. The mattress dips slightly, and I realize how intimate this setting feels.">>
<<dialog "Mariel" "face" "You know, you're getting so grown up," "she says softly, her voice carrying a note I've never heard before." "Sometimes I still see that little boy, but...">>
<<narrative "She trails off, studying my face in the candlelight.">>
<<choiceBox "What will you do?" "Continue the conversation" "MarielNightTalk" "MarielNightVisit=continue" "Thank her and leave" "NightActivities" "MarielNightVisit=leave">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<div class="passage-container mariel">
<<dialog "Rylan" "face" "Let's start with your shoulders like you mentioned.">>
<<dialog "Mariel" "face" "That sounds perfect. They've been so tense lately.">>
<<narrative "I position myself behind her and gently place my hands on her shoulders through the thin fabric of her nightgown. The material is soft, and I can feel the warmth of her skin beneath.">>
<<dialog "Mariel" "face" "Oh, that feels wonderful already," "she sighs, some of the tension leaving her voice.">>
<<set $rylan_MassagedMariel = true>><<set $rylan_MassagedMarielShoulders = true>><<changeAffection "Rylan" "Mariel" 2>><<changeAffection "Mariel" "Rylan" 2>><<changeLust "Rylan" 1>><<changeLust "Mariel" 1>>
<<narrative "As I work on the knots in her shoulders, I find myself noticing things I hadn't before. The way her hair smells faintly of lavender, the soft sounds she makes when I hit a particularly tense spot, the trust she's showing by letting me do this.">>
<<dialog "Mariel" "face" "You really do have gentle hands. Where did you learn to do this?">>
<<dialog "Rylan" "face" "I... I'm not sure. I just want to help you feel better.">>
<<dialog "Mariel" "face" "Well, you're doing a wonderful job.">>
<<narrative "The massage continues in comfortable quiet, both of us focused on the simple act of care. It feels nice to be able to give back to someone who does so much for our family.">>
<center><img src="images/mariel/nightactivities/1/backmassage.webp" alt="Back massage" width="400"></center>
<<dialog "Mariel" "face" "I think that's enough for tonight," "she says eventually, rolling her shoulders to test the results." "Much better. Thank you so much, dear.">>
<<dialog "Rylan" "face" "I'm glad I could help.">>
<<dialog "Mariel" "face" "You should get some sleep now. And... thank you. It's been a long time since someone took care of me like that.">>
<<choiceBox "What will you do?" "Tell her she deserves to be taken care of" "MarielDeservesCare" "MarielShoulders=deserves" "Say goodnight and leave" "MarielLeave" "MarielShoulders=leave">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<<set _dareRoll = random(1, 100)>><<set _dareThreshold = 45>><<set _smellMod = Math.floor($rylan_SmellFetish / 10) * -15>><<set _lustMod = Math.floor($rylan_Lust / 15) * -15>><<set _finalDareThreshold = _dareThreshold + _smellMod + _lustMod>>
<div class="passage-container rylan">
<center><img src="images/mariel/nightactivities/1/feet.webp" alt="Mariel feet" width="400"></center>
<<narrative "The urge is even stronger this time. I want to experience the source directly, not just the lingering scent on my hands.">>
<<if _dareRoll <= _finalDareThreshold>><<set $rylan_SmelledMarielFeet = true>><<changeFetish "Rylan" "SmellFetish" 0.4>><<changeFetish "Rylan" "FeetFetish" 0.2>><<changeLust "Rylan" 5>>
<<narrative "I can't resist. While she's relaxed and not paying attention, I lean down slightly, pretending to adjust my position while massaging. The scent is much stronger here - intense, personal, undeniably her.">>
<<narrative "My heart pounds as I breathe it in. This is definitely wrong, but I can't seem to stop myself. There's something about this intimate, forbidden experience that makes my whole body react.">>
<<dialog "Mariel" "face" "Mmm, that pressure feels perfect right there," "she murmurs, completely unaware of what I'm actually doing">>
<<narrative "The combination of her innocent praise and the taboo nature of my actions sends a thrill through me that I've never experienced before.">>
<<else>><<changeFetish "Rylan" "SmellFetish" 0.1>><<changeFetish "Rylan" "FeetFetish" 0.1>>
<<narrative "I lean down as if to get a better angle for the massage, but I can't quite bring myself to be so bold. Still, the proximity gives me a stronger sense of her scent, and I find myself breathing a little deeper than necessary.">>
<</if>>
<<set _caughtRoll = random(1, 100)>><<if _caughtRoll <= 30>><<changeAffection "Mariel" "Rylan" 1>><<changeLust "Mariel" 1>>
<<narrative "She shifts slightly and glances back.">>
<<dialog "Mariel" "face" "What are you doing down there, dear?">>
<<narrative "My face flushes with embarrassment.">>
<<dialog "Rylan" "face" "Oh, I... I was just trying to get a better angle to work on this knot in your arch.">>
<<dialog "Mariel" "facesmile" "You're very thorough," "she says with a slight smile, though there's something in her eyes I can't quite read" "I appreciate the attention to detail.">>
<<narrative "Did she notice? I can't tell for sure, but the way she looks at me suggests she might be more aware than she's letting on.">>
<<else>>
<<narrative "I manage to be discrete enough that she doesn't notice, though my heart is racing from the close call.">>
<</if>>
<<dialog "Mariel" "face" "I think that's quite enough for tonight," "she says, sitting up and smoothing down her nightgown" "You've been very... attentive.">>
<<narrative "There's definitely something different in her tone, and I wonder if she suspects more than she's saying.">>
<<dialog "Mariel" "face" "Thank you for taking such good care of me. Sweet dreams, dear.">>
<<choiceBox "Choose Your Response" "Tell her you're glad you could help" "MarielGladHelp" "MarielSmellFeet=help" "Say goodnight quickly and leave" "MarielLeave" "MarielSmellFeet=leave">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<<set _resistRoll = random(1, 100)>><<set _resistThreshold = 60>><<set _smellMod = Math.floor($rylan_SmellFetish / 10) * -15>><<set _lustMod = Math.floor($rylan_Lust / 20) * -10>><<set _finalResistThreshold = _resistThreshold + _smellMod + _lustMod>>
<div class="passage-container rylan">
<<narrative "I try to resist the strange urge, but...">>
<center><img src="images/mariel/nightactivities/1/smellhand.webp" alt="Smelling hands" width="400"></center>
<<if _resistRoll <= _finalResistThreshold>><<set $rylan_SmelledMarielHands = true>><<changeFetish "Rylan" "SmellFetish" 0.4>><<changeLust "Rylan" 4>>
<<narrative "I can't help myself. When she's not looking, I bring my hands closer to my face, breathing in the scent that clings to my skin. It's her scent - intimate, personal, something no one else gets to experience.">>
<<narrative "The smell that initially seemed off-putting now seems... intriguing. There's something about it that I can't ignore, something that makes my heart race in ways I don't understand.">>
<<dialog "Rylan" "face" "Um... how are you feeling?" "I ask, trying to sound normal while my head spins with these new sensations">>
<<dialog "Mariel" "face" "Much better, thank you. You really do have a talent for this.">>
<<narrative "I continue the massage, but now I'm acutely aware of every breath, every hint of her scent that reaches me. What started as a simple gesture of kindness has become something much more confusing.">>
<<else>><<changeFetish "Rylan" "SmellFetish" 0.1>><<changeLust "Rylan" 1>>
<<narrative "I manage to resist the impulse, though I can't deny I'm curious about the scent. I try to focus on just helping her feel better, though the thoughts linger in the back of my mind.">>
<</if>>
<<set _discoveryRoll = random(1, 100)>><<if _discoveryRoll <= 25>><<changeAffection "Mariel" "Rylan" 1>>
<<narrative "She glances back and catches me with my hands near my face.">>
<<dialog "Mariel" "face" "Everything alright, dear?">>
<<dialog "Rylan" "face" "Oh, yes, just... checking if I need to wash my hands or something.">>
<<narrative "She smiles warmly.">>
<<dialog "Mariel" "facesmile" "You're so considerate. Don't worry about it.">>
<<else>>
<<narrative "I manage to be discrete enough that she doesn't notice my moment of weakness.">>
<</if>>
<<dialog "Mariel" "face" "I think that's enough for tonight," "she says softly, sitting up and adjusting her nightgown" "Thank you so much. I feel much more relaxed.">>
<<narrative "As she moves, I catch another hint of her scent, and I realize these new feelings aren't going away anytime soon.">>
<<dialog "Mariel" "face" "You should probably get some sleep now. And... thank you. Really. It's been a long time since someone took care of me like that.">>
<<choiceBox "Choose Your Response" "Tell her you enjoyed helping her" "MarielEnjoyedHelping" "MarielSmellHands=enjoyed" "Say goodnight and leave" "MarielLeave" "MarielSmellHands=leave">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<<set _selfControlRoll = random(1, 100)>><<set _selfControlThreshold = 50>><<set _lustMod = Math.floor($rylan_Lust / 20) * -15>><<set _smellMod = Math.floor($rylan_SmellFetish / 15) * -10>><<set _finalSelfControlThreshold = _selfControlThreshold + _lustMod + _smellMod>>
<div class="passage-container rylan">
<<narrative "What is wrong with me? These thoughts I'm having... they're not normal. This is supposed to be an innocent massage to help someone I care about, but my mind keeps wandering to things it shouldn't. I try to focus on just the massage, just helping her feel better, but...">>
<<if _selfControlRoll <= _finalSelfControlThreshold>><<changeFetish "Rylan" "SmellFetish" 0.2>><<changeLust "Rylan" 3>><<narrative "Despite my best efforts to control myself, I find my breathing deepening without conscious thought. The scent that initially bothered me has somehow become... not unpleasant. More than that, it's become interesting in a way I can't explain. Even as I tell myself I shouldn't be having these thoughts, I can't seem to stop noticing details I shouldn't notice. The way her feet feel under my hands, the little sounds she makes when I find a tender spot, the intimate nature of what we're doing.">>
<<dialog "Rylan" "faceembarrassed" "Is... is this helping?">>
<<dialog "Mariel" "facehappy" "Wonderfully, dear. You really do have a gift for this.">>
<<narrative "Her praise makes my heart race in ways that definitely aren't appropriate for the situation.">><<else>><<changeFetish "Rylan" "SmellFetish" 0.1>><<narrative "I manage to maintain some self-control, though I can't completely ignore the strange new feelings this situation is stirring up. I try to focus on the task at hand, but the confusion lingers.">><</if>>
<<set _realizationRoll = random(1, 100)>><<if _realizationRoll <= 35>><<changeLust "Rylan" 2>><<changeFetish "Rylan" "FeetFetish" 0.1>><<narrative "The more I try not to think about it, the more I seem to notice things I shouldn't. The softness of her skin, the trust she's showing by letting me do this, the intimate nature of touching someone this way. Even telling myself it's wrong doesn't seem to make the feelings go away.">><<else>><<narrative "I manage to keep my thoughts mostly in check, though I'm definitely more aware of the situation than I was when we started.">><</if>>
<<dialog "Mariel" "facehappy" "I think that's enough for tonight," "she says softly, sitting up and adjusting her nightgown." "Thank you so much. I feel much better.">>
<<narrative "I'm left with my hands still carrying her scent and my mind full of confusion about these new feelings I don't understand.">>
<<dialog "Mariel" "facehappy" "You've been so kind. I hope I can return the favor someday.">>
<<choiceBox "Choose Your Response" "Say it was your pleasure to help" "MarielMyPleasure" "MarielWhatWrong=pleasure" "Tell her goodnight and leave quickly" "MarielLeave" "MarielWhatWrong=leave">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<<set $gameDay++>>
<<set $timeOfDay = "morning">>
<<set $currentSeason = $seasons[Math.floor(($gameMonth - 1) / 3)]>>
<div class="passage-container mariel">
<<narrative "Mariel rose early the next morning, her mind still heavy with thoughts from the previous day. The events kept replaying in her mind - $humanName's successful guild exam, the pride she had felt watching him finally achieve what he had worked so hard for, and yet... the nagging worry that never seemed to leave her heart.">>
<<narrative "She wrapped her morning robe around herself and moved to the window, gazing out at the peaceful dawn.">>
<center><img src="images/mariel/lookingoutwindow.webp" alt="Mariel" width="400"></center>
<<dialog "Mariel" "face" "He's finally passed,">>
<<narrative "she whispered to herself, a mix of pride and concern in her voice.">>
<<dialog "Mariel" "face" "My dear $humanIsMariel is going to be an adventurer, just like his $thalorToHuman and I once were.">>
<<narrative "The thought brought both joy and a deep, aching worry. She remembered his determination, the fire in his eyes when he spoke of following in their footsteps. But she also remembered his previous failure, the way he had come home defeated and ashamed, trying so hard to hide his pain from her.">>
<<dialog "Mariel" "faceworried" "At least these are better times,">>
<<narrative "she murmured, her fingers tracing patterns on the cool glass.">>
<<dialog "Mariel" "faceworried" "The world is safer now than it was when Thalor and I...">>
<<narrative "Her voice trailed off as her gaze drifted to the distant mountains, clearly visible in the morning light. Somewhere beyond those peaks lay the ruins of the Demon King's fortress, a place that still haunted her dreams even after all these years.">>
<<narrative "The memories came flooding back, as they always did when she let her guard down. She could see it all again - their small party of four, united against what they believed was ultimate evil. Gairos, their grizzled leader, a massive wizard whose ruthless tactics had often made her uncomfortable. Verdalis, the beautiful dryad with flowing green hair and emerald eyes that seemed to hold the wisdom of ancient forests. And Thalor, standing beside her, his sword gleaming with righteous fury.">>
<<dialog "Mariel" "faceworried" "Those were darker days," "she said softly, pressing her palm against the warm glass." "Or so we thought. The demon armies, the corruption spreading across the land, the constant fear that evil would consume everything we held dear.">>
<<narrative "But now, years later, she wondered if they had truly understood what they were fighting for. During their travels, they had learned uncomfortable truths about their own kings - the corruption, the cruelty, the way they used their people as pawns. When they finally faced the Demon King himself, he had seemed... different than expected. Not the pure evil they had been told to expect, but something almost sad, almost resigned.">>
<<narrative "The final confrontation had been intense, but not in the way she had expected. The Demon King's power was undeniable, yet there had been something in his eyes - a weariness, a sadness that spoke of burdens she couldn't understand. Had they truly defeated evil that day, or had they simply been pawns in a larger game they didn't comprehend?">>
<<dialog "Mariel" "faceworried" "We won," "she whispered, though the word felt hollow now." "But at what cost? And were we even fighting the right enemy?">>
<<narrative "They had returned home as heroes, but the knowledge they had gained about their own rulers' corruption weighed heavily on their hearts. The world was safe, perhaps, but from whom?">>
<<dialog "Mariel" "faceworried" "And now $humanName wants to walk that same path," "she whispered, opening her eyes to look up at the brightening sky." "Brave, foolish boy. Just like his $thalorToHuman.">>
<<narrative "She knew she couldn't protect him forever. He was old enough to make his own choices, strong enough to face whatever challenges awaited him. But that didn't make it any easier to let go, to watch him step into a world that was far more complex and morally ambiguous than it appeared.">>
<<narrative "A gentle morning breeze stirred the curtains, carrying with it the sweet scent of blooming flowers from the garden below. Mariel took a deep breath and tried to find some peace in the moment, though her newfound understanding of the world's complexities made that comfort harder to find.">>
<<dialog "Mariel" "faceworried" "Please," "she prayed softly to the divine powers she had once served so faithfully," "watch over my family. Keep them safe in the adventures to come.">>
<<narrative "As she stood there in the morning light, her mind began to drift back to those days of legend, when she and her companions had fought against the darkness that once threatened to consume the world...">>
<center><img src="images/mariel/facesad.webp" alt="Mariel" width="500"></center>
<<continueBox "MarielsPastDemonCastle" "Continue to Mariel's Past" "">>
</div>
<</nobr>>
<<pov "mariel" "falseutopia.mp3">><<set $timeOfDay = "memory">>
<<nobr>>
<div class="passage-container mariel">
<<narrative "a long time ago...">>
<<narrative "The obsidian gates of the Demon King's fortress loomed before them, carved with runes that seemed to writhe in the flickering torchlight. Mariel's heart pounded as she gripped her holy staff, the blessed metal warm against her palms.">>
<<dialog "Gairos" "portraitpast" "Stay close, priestess," "Master Gairos commanded, his weathered face grim beneath his hood." "This is where legends are made or heroes die.">>
<<narrative "Verdalis moved with fluid grace beside them, her emerald hair flowing like water.">>
<<dialog "Verdalis" "portraitpast" "The forest spirits whisper of great darkness beyond these walls. The very trees flee from this place.">>
<<dialog "Thalor" "facepast" "Then we end it here," "Thalor declared, his sword gleaming with holy enchantments." "For the innocent people suffering under his reign.">>
<<narrative "A low growl echoed from the shadows, a massive black demon dog, its eyes burning like coals, saliva dripping from fangs the size of daggers. It launched itself at Thalor with inhuman speed.">>
<<dialog "Thalor" "facepast" "Beast!" "Thalor's blade sang through the air, cleaving the creature in two with a single, perfect strike. Black ichor splattered the ancient stones." "The path is clear.">>
<center><img src="images/landscapes/demonkingthrone.webp" alt="Demon Castle" width="500"></center>
<<narrative "Gairos raised his staff, ancient words of power spilling from his lips. The massive gates groaned and split open, revealing the throne room beyond. What they saw made them all freeze.">>
<<narrative "The Demon King sat upon his obsidian throne, his hands glowing with swirling mana that seemed to twist reality itself around him. Mariel's breath caught in her throat.">>
<<dialog "Mariel" "temple" "This... this isn't what they told us.">>
<<narrative "She had been taught that the Demon King was a hideous creature, multiple limbs, razor fangs, skin like rotting leather. A monster to haunt children's nightmares.">>
<<narrative "Instead, she saw a being of terrible beauty. His skin was a deep purple, almost royal in its richness. Long, flowing green hair cascaded over broad, muscular shoulders. Pointed ears marked his otherworldly nature, and his face... his face was almost elven in its nobility.">>
<center><img src="images/azgorth/portrait.webp" alt="Demon Castle" width="400"></center>
<<narrative "Beautiful, she thought involuntarily, then immediately felt shame. How can I think such things about our enemy?">>
<<narrative "But the comparison to human kings struck her even more forcefully. Every royal court they had visited spoke of their rulers' beauty and charm, yet every king she had actually met was old, fat, balding, with personalities as corrupt as their bodies were decrepit.">>
<<dialog "Mariel" "temple" "He's... not what I expected," "she whispered">>
<<dialog "Azgorth" "faceserious" "Ah, the heroes arrive at last." "The Demon King's voice was rich and melodious, not the rasping growl she had anticipated" "I wondered when Gairos the Unyielding would finally find his way to my door.">>
<<narrative "Around the throne, three women of breathtaking beauty stood guard. Nirith, with hair like flowing crimson and eyes that seemed to hold infinite depths. Oriss, whose crimson robes matched the dangerous gleam in her cat-like eyes. Nyssin, silent and pale, her lips moving in soundless incantations.">>
<<narrative "The brides of the Demon King. Each one more beautiful than any noble lady Mariel had ever seen.">>
<<dialog "Gairos" "portraitpast" "Azgorth! Your reign of terror ends today! You plan to destroy this world!">>
<<narrative "The Demon King's laugh was genuinely amused, not cruel.">>
<<dialog "Azgorth" "faceserious" "Destroy? My dear Gairos..." "His eyes swept over his three children cowering behind the throne, then to the loyal maids who stood protectively near them" "In these nearly three hundred years I have lived, I have been called many things by humans. Savior. Friend. Hero. And finally..." "His gaze softened as it fell on his children" "A father.">>
<<dialog "Azgorth" "faceserious" "I want to renew this world, Gairos. To create a better future. I am fed up with your politics, your endless greed. One war ends and you immediately start planning the next one.">>
<<dialog "Gairos" "portraitpast" "Lies! You're a demon! Your very existence corrupts!">>
<<dialog "Azgorth" "faceserious" "And what of your kings? What of the children sold into slavery to fund their wars? What of the villages burned because they couldn't pay impossible taxes?" "The Demon King's voice grew passionate" "I have walked among humans for centuries. I have seen your 'civilization'.">>
<<dialog "Verdalis" "portraitpast" "The spirits... they sing confused songs about this place. Not all darkness, but not all light either.">>
<<dialog "Thalor" "facepast" "We came here to stop a tyrant, not to debate philosophy!">>
<<dialog "Azgorth" "faceserious" "Then you understand nothing, young warrior." "The Demon King rose slightly from his throne, though Mariel noticed he remained connected to it somehow, streams of mana flowing between his body and the obsidian seat" "I cannot leave this throne while I channel the spell that will remake this world's very foundations. A spell of healing, not destruction.">>
<<dialog "Gairos" "portraitpast" "You expect us to believe?">>
<<dialog "Azgorth" "faceserious" "I expect nothing, Gairos. You truly are a hero, and that is all you will ever be. You see only in absolutes, good and evil, light and dark. You cannot comprehend that the world is far more complex than your simple mind allows.">>
<<narrative "Gairos's face twisted with rage.">>
<<dialog "Gairos" "portraitpast" "Enough of your words, demon!">>
<<narrative "The battle erupted in an instant. Nirith's hands wove through the air, and suddenly Mariel found herself facing multiple versions of Thalor, each one seeming perfectly real.">>
<<dialog "Nirith" "face" "Your mind will break before your body, priestess.">>
<<dialog "Mariel" "temple" "Thalor! Which one?">>
<<dialog "Thalor" "facepast" "Trust your heart, not your eyes!" "His voice echoed from all directions">>
<<narrative "Oriss moved like liquid lightning, her claws extending into razor-sharp talons that rang against Thalor's blade.">>
<<dialog "Oriss" "face" "You fight well for cattle, human.">>
<<dialog "Thalor" "facepast" "And you die well for a demon!">>
<<narrative "Verdalis summoned vines from the very stones, their thorns dripping with natural poison.">>
<<dialog "Verdalis" "portraitpast" "Forest's fury, bind our enemies!">>
<<narrative "But Nyssin simply stood, her lips moving in silent casting, and wherever she pointed, Verdalis's vines withered and died.">>
<<dialog "Nyssin" "face" "*Silent gesture of dismissal*">>
<<dialog "Verdalis" "portraitpast" "She's countering everything! Her magic has no words!">>
<<narrative "Mariel raised her staff, holy light blazing.">>
<<dialog "Mariel" "temple" "Sacred light, pierce the darkness!" "Her spell shattered several of Nirith's illusions, but new ones appeared instantly">>
<<narrative "The battle raged with supernatural fury. Thalor's blade found its mark first, cutting deep into Oriss's side, her crimson blood spattering the marble floor.">>
<<dialog "Oriss" "face" "Impossible... how did you?">>
<<dialog "Thalor" "facepast" "Your arrogance, demon. You underestimated human determination.">>
<<narrative "With a cry of rage, Oriss's claws raked across Thalor's armor, leaving deep gouges in the blessed steel. But the wound only made him fight harder.">>
<<narrative "Verdalis's nature magic finally began to overwhelm Nyssin's silent counters. Thorny vines, thicker than a man's arm, burst from the stone floor and wrapped around the pale witch.">>
<<dialog "Verdalis" "portraitpast" "The forest claims you, silent one!">>
<<narrative "Nyssin's eyes widened in the first expression of emotion she had shown. Her lips moved frantically, but her wordless magic couldn't counter the raw fury of nature itself.">>
<<narrative "Gairos's lightning crackled through the air, each bolt shattering more of Nirith's illusions until only she remained standing.">>
<<dialog "Gairos" "portraitpast" "No more tricks, demon spawn! Face us truly!">>
<<dialog "Nirith" "face" "You fools... you have no idea what you're destroying here." "But even as she spoke, Mariel's holy light pierced through her final defenses, burning away the last of her dark magic">>
<<narrative "One by one, the three brides fell. Oriss collapsed first, Thalor's blade having found her heart. Nyssin was crushed by Verdalis's vines, her silent magic finally stilled forever. Nirith was the last to fall, Gairos's lightning and Mariel's holy light combining to end her illusions permanently.">>
<<narrative "Their beauty remained even in death, but their threat was ended.">>
<<narrative "The Demon King watched his wives die with a mixture of grief and rage building in his ancient eyes.">>
<<dialog "Azgorth" "faceserious" "My beloved brides... my beautiful Nirith... my fierce Oriss... my wise Nyssin... you have taken everything from me, heroes.">>
<<dialog "Gairos" "portraitpast" "And now we take your life, demon!">>
<<narrative "But the barrier around the throne pulsed stronger than ever, the Demon King's fury feeding his power.">>
<center><img src="images/azgorth/azgorthbarrier.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<continueBox "DemonKingsFinalStand" "Demon King's Final Stand" "">>
</div>
<</nobr>>
<<pov "mariel" "demonkingbridefight.mp3">><<nobr>>
<<set $hasReachedMissionPrep = true>>
<<set _baseRoll = random(1, 100)>>
<<set _baseThreshold = 35>>
<<set _rylanLustMod = Math.floor($rylan_Lust / 20) * -5>>
<<set _rylanCorruptionMod = Math.floor($rylan_corruption / 20) * -10>>
<<set _rylanFinalThreshold = _baseThreshold + _rylanLustMod + _rylanCorruptionMod>>
<div class="passage-container rylan">
<<narrative "The equipment stand's weathered shelves held an array of basic weapons - training swords, wooden shields, leather armor sets. $humanName found himself drawn to a simple shortsword, its weight feeling right in his hands after all those practice sessions.">>
<<dialog "Serin" "facesmirk" "Oh? Not going for the compensatory giant sword this time?" "Serin's teasing grin was back, her earlier protective anger replaced by her usual playful demeanor">>
<<dialog "Rylan" "faceconfident" "I've learned my lesson about choosing the right tool for the job," "$humanName replied, testing the shortsword's balance with practiced movements" "Besides, speed might be more useful against slimes than raw power.">>
<<dialog "Serin" "facesmirk" "Well, well! Looks like someone's been paying attention during training after all.">>
<<dialog "Liora" "faceshortpink" "I brought extra healing potions, just in case..." "Liora held up her healer's bag, which seemed fuller than usual" "And some antidotes, though slimes don't usually... um..." "She trailed off as both of them turned to look at her">>
<<if random(1, 100) <= _rylanFinalThreshold>><<set _baseGain = 0.1>><<set _lioraSubBonus = ($liora_naturalTendencies ?? []).includes("submission") ? 1.5 : 1>><<changeFetish "Liora" "SubmissionFetish" _baseGain * _lioraSubBonus>><<narrative "The sudden attention made her heart race unexpectedly.">> <<changeLust "Liora" 2>><</if>>
<<dialog "Serin" "facehappy" "Aww, were you worried about us?" "Serin's grin widened as she slung an arm around Liora's shoulders, making the healer squeak in surprise">>
<<narrative "The western forest path stretched before them, dappled sunlight filtering through the canopy. The morning air was crisp, carrying the sweet scent of wildflowers and the earthy aroma of the forest floor.">>
<center><img src="images/landscapes/forestpath.webp" alt="Forest" width="600"></center>
<<dialog "Serin" "faceconfident" "Okay, battle plan!" "Serin spun on her heel to face them, walking backward with practiced ease" "$humanName takes point since it's his exam. I'll flank and keep an eye out for surprises. Liora, you stay back and keep those healing spells ready - preferably before anyone needs them this time.">>
<<script>>
window.QuestSystem.init();
<</script>>
<<addQuest "slimeHunt" "Forest Slime Hunt" "Clear the forest of dangerous slimes" "slimeKills" 5>>
<<setQuestLocation "slimeHunt" "Forest">>
<<statSummary>>
<<continueBox "ForestHunt" "Head into the forest" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set $nightVisitedTonightCh0 = []>>
<<if $nightActionPointsCh0 === undefined>><<set $nightActionPointsCh0 = 3>><</if>>
<div class="passage-container rylan">
<<narrative "Night has fallen over the house...">>
<div class="action-points-display" style="background: linear-gradient(145deg, rgba(100,150,200,0.3), rgba(80,120,180,0.4)); border: 2px solid rgba(150,200,255,0.4); border-radius: 12px; padding: 15px; margin: 20px auto; max-width: 300px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<h3 style="color: #b3d9ff; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0 0 5px 0; font-size: 1.3em;">Action Points: $nightActionPointsCh0/3</h3>
<p style="color: #99ccff; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 0; font-style: italic;">Each visit costs 1 action point</p>
</div>
<<if $nightActionPointsCh0 > 0>><<narrative "Everyone has settled into their rooms for the night. You find yourself restless, unable to sleep. Perhaps you could visit someone...">><<else>><<narrative "You've used all your energy for tonight. Time to get some rest...">><</if>>
<div class="visit-choices-container" style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 15px; padding: 30px; margin: 40px 0; box-shadow: 0 8px 32px rgba(0,0,0,0.3);">
<h2 style="color: #e6e6ff; text-align: center; margin-bottom: 25px; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); font-size: 1.4em;">Who would you like to visit?</h2>
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 30px; flex-wrap: wrap;">
<<if !$nightVisitedTonightCh0.includes("Mariel") && $nightActionPointsCh0 > 0>>
<div class="visit-option-wrapper" style="text-align: center;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/mariel/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></div>
<h3 style="color: #ffe6b3; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $marielToHuman.charAt(0).toUpperCase() + $marielToHuman.slice(1)>></h3>
<p style="color: #f0f0f0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Perhaps she's still awake..."</p></div>
<<link "Visit her room" "MarielNightVisit">><<set $nightActionPointsCh0 -= 1>><<set $nightVisitedTonightCh0.push("Mariel")>><</link>>
</div>
<<elseif $nightVisitedTonightCh0.includes("Mariel")>>
<div class="visit-option-wrapper" style="text-align: center;">
<div class="visit-option" style="opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.3), rgba(80,80,80,0.4)); border: 2px solid rgba(150,150,150,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/mariel/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></div>
<h3 style="color: #c0c0c0; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $marielToHuman.charAt(0).toUpperCase() + $marielToHuman.slice(1)>></h3>
<p style="color: #c0c0c0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">Already visited tonight</p></div>
</div>
<</if>>
<<if !$nightVisitedTonightCh0.includes("Serin") && $nightActionPointsCh0 > 0>>
<div class="visit-option-wrapper" style="text-align: center;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/serin/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></div>
<h3 style="color: #ffe6b3; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Serin</h3>
<p style="color: #f0f0f0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"She might be training late..."</p></div>
<<link "Visit her room" "SerinNightVisit">><<set $nightActionPointsCh0 -= 1>><<set $nightVisitedTonightCh0.push("Serin")>><</link>>
</div>
<<elseif $nightVisitedTonightCh0.includes("Serin")>>
<div class="visit-option-wrapper" style="text-align: center;">
<div class="visit-option" style="opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.3), rgba(80,80,80,0.4)); border: 2px solid rgba(150,150,150,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/serin/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></div>
<h3 style="color: #c0c0c0; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Serin</h3>
<p style="color: #c0c0c0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">Already visited tonight</p></div>
</div>
<</if>>
</div>
</div>
<<if $nightVisitedTonightCh0.length > 0 && $nightVisitedTonightCh0.length < 2>>
<<narrative "You've already visited: <<for _i = 0; _i < $nightVisitedTonightCh0.length; _i++>><<if _i > 0 && _i === $nightVisitedTonightCh0.length - 1>> and <</if>><<if _i > 0 && _i < $nightVisitedTonightCh0.length - 1>>, <</if>>$nightVisitedTonightCh0[_i]<</for>> tonight.">>
<</if>>
<<if $nightVisitedTonightCh0.length === 2 || $nightActionPointsCh0 === 0>>
<<narrative "You've visited everyone available tonight. Time to get some rest...">>
<</if>>
<<if $nightActionPointsCh0 > 0>>
<<continueBox "LioraRomanticWalk" "End the night" "">>
<<else>>
<<continueBox "LioraRomanticWalk" "Go to sleep" "">>
<</if>>
<style>
.visit-option:hover {
transform: translateY(-5px) scale(1.05);
opacity: 0.9;
}
.visit-option:hover .character-frame {
border-color: rgba(255,255,255,0.5);
box-shadow: 0 12px 24px rgba(0,0,0,0.4);
}
.visit-option:hover img {
border-color: rgba(255,255,255,0.6);
transform: scale(1.05);
}
.visit-option:hover h3 {
color: #fff2b3;
}
.return-option:hover {
transform: translateY(-3px) scale(1.02);
opacity: 0.9;
}
.visit-option:active, .return-option:active {
transform: translateY(-2px) scale(1.01);
}
.night-content a {
color: #e6e6ff;
text-decoration: none;
background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(255,255,255,0.1));
border: 1px solid rgba(255,255,255,0.3);
border-radius: 8px;
padding: 10px 20px;
display: inline-block;
margin-top: 10px;
transition: all 0.3s ease;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
font-weight: bold;
font-size: 1.1em;
}
.night-content a:hover {
color: #fff2b3;
background: linear-gradient(145deg, rgba(255,255,255,0.25), rgba(255,255,255,0.15));
border-color: rgba(255,255,255,0.5);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}
.night-content a:active {
transform: translateY(0px);
box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}
</style>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set $timeOfDay = "evening">>
<div class="passage-container rylan">
<<narrative "The walk back from the forest was filled with a sense of accomplishment. The setting sun painted the path in warm hues, casting long shadows through the trees.">>
<<dialog "Liora" "faceshortpink" "You were amazing back there, $humanName," "Liora said softly, her cheeks tinting pink as she walked close beside him" "The way you protected me from that last slime...">>
<<changeAffection "Liora" "Rylan" 2>>
<<changeAttraction "Liora" "Rylan" 1>>
<<changeCombatStat "Rylan" "confidence" 2>>
<<dialog "Serin" "facesmirk" "Oh? What's this about protection?" "Serin grinned, playfully nudging Liora" "I saw you healing him right after. Pretty quick with that magic~">>
<<dialog "Liora" "faceembarrassedshortpink" "W-well, of course I would! I mean... we're... we're a team, right?" "Liora's blush deepened">>
<<changeLust "Liora" 1>>
<<changeAffection "Serin" "Liora" 1>>
<<narrative "The guild hall came into view, its warm lights welcoming in the evening air. Elena was at her usual spot behind the reception desk, and her face lit up as they entered.">>
<<dialog "Elena" "face" "Welcome back! How did it go?">>
<<dialog "Rylan" "faceconfident" "We defeated five slimes, just as requested!">>
<<dialog "Elena" "face" "Excellent work!" "Elena beamed, checking off something in her ledger" "You know... you three work remarkably well together. Have you considered forming a fixed party?">>
<<narrative "The three exchanged glances.">>
<<dialog "Serin" "faceconfident" "We do make a pretty good team." "Serin crossed her arms with a confident smile">>
<<dialog "Liora" "faceshortpink" "I... I would like that," "Liora added quietly, stealing another glance at $humanName">>
<<changeAffection "Serin" "Rylan" 1>>
<<changeAffection "Liora" "Rylan" 1>>
<<changeAffection "Rylan" "Liora" 1>>
<<changeAffection "Rylan" "Serin" 1>>
<<dialog "Elena" "face" "Actually, if you can find at least one more strong fighter, I could even promote you to E Rank. Serin's already there, and Liora's certainly qualified..." "Elena leaned forward, her expression brightening" "Oh! Have you heard about the resonance system? Apparently if you have strong bonds you can become stronger, and share skills with each other.">>
<<dialog "Rylan" "faceshock" "True, now that you say it... somehow when I focus, I can feel $humanToMariel, $humanToThalor, Liora, and Serin...">>
<<dialog "Liora" "faceshock" "Wait, you too?" "Liora's eyes widened">>
<<changeCombatStat "Rylan" "combatExperience" 2>>
<<changeCombatStat "Serin" "combatExperience" 1>>
<<changeCombatStat "Liora" "combatExperience" 1>>
<<dialog "Elena" "face" "Wow, you might be really in sync!" "Elena clasped her hands together excitedly" "Maybe you can implement it somehow in your fight style too?">>
<<narrative "After completing the registration as an official party, they headed back through the darkening streets toward $humanName's home.">>
<<continueBox "BackHomeAfterExam" "Return Home to Celebrate" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set _jealousyRoll = random(1, 100)>><<set _jealousyThreshold = 65>><<set _affectionMod = Math.floor($serin_RylanAffection / 10) * -10>><<set _finalJealousyThreshold = _jealousyThreshold + _affectionMod>>
<div class="passage-container rylan">
<<dialog "Rylan" "facehappy" "Things with Liora have been going really well lately. It feels amazing to finally be together with her.">>
<<narrative "I notice Serin's grip tighten slightly on her training equipment. For just a moment, her confident expression falters, and I see something that looks almost like pain flash across her features.">>
<<dialog "Serin" "facesad" "Yeah... you two seem really happy together," "Serin says, but her voice sounds strained." "It's sweet how she lights up whenever you're around.">>
<<if _jealousyRoll <= _finalJealousyThreshold>><<changeAffection "Rylan" "Serin" -2>><<changeAffection "Serin" "Rylan" 2>><<changeLust "Serin" 2>>
<<narrative "The forced smile on Serin's face doesn't reach her eyes. She turns away, pretending to adjust some of her training equipment, but I can see the tension in her shoulders.">>
<<dialog "Serin" "faceangry" "She's perfect for you, isn't she? All gentle and innocent and pure," "she says, and there's a bitter edge to her voice that surprises me." "Everything a guy could want in a girlfriend.">>
<<narrative "She spins back around, and for a moment her emerald eyes are blazing with something I can't identify.">>
<<dialog "Serin" "faceangry" "But you know what, $humanName? Sometimes perfect isn't what someone really needs.">>
<<narrative "Before I can react, she steps closer, invading my personal space. 'Sometimes you need someone who can push you, challenge you, make you feel things that gentle sweetness never could.'">>
<<narrative "The way she's looking at me is intense and confusing, her usual playful demeanor replaced by something rawer. I can smell her light sweat from training, feel the heat radiating from her athletic form.">>
<</if>>
<<if _jealousyRoll > _finalJealousyThreshold>><<changeAffection "Rylan" "Serin" 1>><<changeAffection "Serin" "Rylan" -1>>
<<narrative "Serin nods, though something in her expression seems forced. 'Yeah, you two are perfect together. Really.' The words sound like they're difficult for her to say, each one carefully measured.">>
<</if>>
<<dialog "Serin" "facesad" "You should probably get back to her," "she says, but there's something almost desperate in her voice. "I'm sure she's waiting for you.">>
<<set _confrontationRoll = random(1, 100)>><<if _confrontationRoll <= 30>><<changeAttraction "Rylan" "Serin" 1>><<changeAttraction "Serin" "Rylan" 1>><<changeLust "Rylan" 1>>
<<narrative "Despite myself, I find something compelling about seeing this vulnerable side of Serin. She's always so confident and teasing, but right now she looks almost... heartbroken?">>
<<dialog "Serin" "facesad" "Go on then," "she says quietly." "Go back to your perfect relationship.">>
<<narrative "But she doesn't move away from me, and her eyes are searching my face for something she clearly isn't finding.">>
<</if>>
<<if _confrontationRoll > 30>><<changeAffection "Serin" "Rylan" -1>>
<<narrative "I can sense that talking about my relationship with Liora has upset her in some way, though I'm not entirely sure why. The tension in the room is getting uncomfortable.">>
<</if>>
<<choiceBox "Choose Your Response" "Ask why she seems upset" "SerinWhyUpset" "SerinAboutLiora=upset" "Say you should get back to Liora" "SerinLeave" "SerinAboutLiora=leave">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<changeAffection "Rylan" "Serin" 1>><<changeAffection "Serin" "Rylan" 1>>
<div class="passage-container rylan">
<<dialog "Rylan" "faceconfused" "I... I honestly don't really know what to say. I'm not good at this kind of thing.">>
<<narrative "Serin looks up at me, and for a moment I see something that might be disappointment flash across her features before she covers it with a forced smile.">>
<<dialog "Serin" "facesad" "Yeah, I figured as much," "she says, but there's no real bite to it." "Not exactly the sensitive type, are you?">>
<<dialog "Rylan" "faceconfused" "It's not that I don't care, it's just... I don't really understand all this emotional stuff. And I'm definitely not the right person to give advice about... whatever this is.">>
<<narrative "She lets out a short laugh that doesn't sound entirely happy.">>
<<dialog "Serin" "facesmile" "At least you're honest about it. Most people would just pretend to understand and say something meaningless.">>
<<dialog "Rylan" "faceembarrassed" "I'm sorry I'm not more helpful.">>
<<dialog "Serin" "faceserious" "Don't apologize for being who you are, $humanName. That's exactly the problem I was talking about - people thinking they need to be different than they are.">>
<<narrative "She turns back to her training equipment, her movements a bit more sharp than usual.">>
<<dialog "Serin" "facesmile" "Besides, you did listen. That's... that's something, I guess.">>
<<dialog "Rylan" "faceserious" "For what it's worth, I don't think you're just the tough, teasing girl. I mean, you obviously care about people, even if you show it in weird ways.">>
<<dialog "Serin" "facesurprised" "Weird ways?" "she asks, glancing back at me with a raised eyebrow.">>
<<dialog "Rylan" "faceserious" "Like... pushing people to train harder, or teasing them to make them stronger. It's not conventional, but it's not mean-spirited either.">>
<<narrative "Her expression softens slightly.">>
<<dialog "Serin" "facehappy" "Thanks, I think. That's probably the most insightful thing you've ever said to me.">>
<<dialog "Rylan" "facesmirk" "Don't get used to it.">>
<<narrative "She actually smiles at that - a real one this time.">>
<<dialog "Serin" "facesmirk" "There's the Rylan I know. Go on, get out of here before I start thinking you're going soft.">>
<<continueBox "NightActivities" "Return to Night Activities" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<changeAffection "Serin" "Rylan" 1>>
<<changeLust "Serin" 3>>
<div class="passage-container serin">
<<narrative "Meanwhile, in her own room across the hall, Serin lies awake staring at the ceiling. She can hear the soft murmur of voices outside - $humanName and Liora having one of their romantic midnight conversations again.">>
<center><img src="images/serin/facesad.webp" alt="Serin Sad" width="400"></center>
<<narrative "A familiar ache settles in her chest, the same one she's carried for months now. Ever since $humanName and Liora became a couple, she's had to watch them together every day, pretend to be happy for them, act like the supportive friend while her heart slowly breaks.">>
<<thought "Serin" "facesad" "They're so perfect together," "she thinks bitterly, rolling onto her side and pulling her pillow over her head to muffle the distant sound of their laughter." "Everyone says so. The sweet healer and the determined warrior.">>
<<narrative "She had known about their feelings for each other long before they'd finally gotten together. Had watched the shy glances, the blushing conversations, the way they danced around their mutual attraction for weeks. Part of her had hoped... but she'd known it was hopeless from the start.">>
<<narrative "How could she compete with Liora? Sweet, gentle, innocent Liora with her healing magic and her pure heart. $humanName needed someone who could balance his intensity, not someone who matched it. He needed someone who could heal his wounds, not someone who might cause them.">>
<<thought "Serin" "facesad" "*What does she have that I don't?* The question has tormented her for months. *Besides everything he wants, apparently.*">>
<<narrative "The voices outside grow quieter, and she knows they're probably sharing one of their tender moments - a gentle kiss, a loving embrace under the stars. The image makes her stomach twist with a mixture of longing and resentment.">>
<center><img src="images/liora/poses/hugrylan.webp" alt="Rylan and Liora embracing" width="400"></center>
<<thought "Serin" "facesad" "*That should be me in his arms,*" "she thinks, the image of their embrace burning itself into her mind">>
<center><img src="images/serin/facecrying.webp" alt="Serin Crying" width="400"></center>
<<narrative "Tomorrow she'll have to face them both again, smile and joke like always, pretend that watching them together doesn't slowly kill her inside. She'll tease $humanName about something trivial, maybe spar with him during training, all while pretending she doesn't wish those sparring sessions could turn into something more.">>
<<narrative "And Liora... sweet Liora who has no idea that her happiness is built on Serin's heartbreak. Who looks at Serin with such innocent friendship, never suspecting the darker emotions swirling beneath the surface.">>
<<thought "Serin" "facesad" "*Maybe I should tell him,*" "she thinks desperately" "*Maybe if he knew how I felt...*">>
<<narrative "But she knows it wouldn't matter. He's made his choice, and it wasn't her. It will never be her. They've been together for months now, happy and content in their little bubble of love.">>
<<narrative "The house grows quiet again, and she knows they've gone back to their separate rooms. Separate for now, anyway. She wonders how long it will be before that changes too, before she has to watch them take that next step together.">>
<<thought "Serin" "facesad" "*I have to find a way to move on,* she tells herself, the same lie she's been telling herself for months. *I have to let him go.*">>
<<narrative "But even as she thinks it, she knows it's not that simple. You can't just turn off love like a tap. You can't just decide to stop wanting something you've wanted for so long.">>
<<narrative "So instead, she'll do what she's been doing - bury those feelings deeper, hide them behind teasing and aggression, pretend that her heart doesn't break a little more each time she sees them together.">>
<<narrative "She's gotten good at it, actually. The fake smiles, the playful jabs, the way she can joke about their relationship without letting her voice crack. She's become an expert at hiding her pain behind her usual confident facade.">>
<<narrative "But nights like this, when she's alone with her thoughts and can hear their happiness drifting through the walls, the mask slips. The cheerful, tough Serin falls away, leaving only the broken girl underneath.">>
<<thought "Serin" "facesad" "*Why couldn't it have been me?*" "The thought comes unbidden, as it always does during these quiet moments" "*What did I do wrong? What could I have done differently?*">>
<<narrative "She rolls over, pressing her face into her pillow to muffle any sound that might escape. Tomorrow she'll put the mask back on, be the Serin everyone expects her to be - confident, teasing, unbreakable.">>
<<narrative "But tonight, in the safety of her darkened room, she allows herself to grieve for the love that was never hers to begin with.">>
<<narrative "Eventually, exhaustion begins to take hold, but even as sleep approaches, her last thoughts are of blonde hair and blue eyes that will never look at her the way they look at Liora.">>
<<pov "serin" "falseutopia.mp3">>
<<continueBox "MarielsMelancholy" "Continue Story" "">>
</div>
<</nobr>><<nobr>>
<<changeAffection "Rylan" "Serin" 1>><<changeAffection "Serin" "Rylan" 1>>
<div class="passage-container serin">
<<dialog "Rylan" "face" "I should probably head back to my room. Thanks for... whatever this was.">>
<<narrative "Serin's expression shifts, and for a moment I see something that looks like disappointment in her emerald eyes.">>
<<dialog "Serin" "facesad" "Oh. Already?">>
<<narrative "She tries to cover it with her usual confident grin, but it doesn't quite reach her eyes.">>
<<dialog "Serin" "face" "Yeah, sure. Can't keep the future hero up too late, right?">>
<<dialog "Rylan" "face" "Goodnight, Serin.">>
<<dialog "Serin" "face" "Night, Rylan." "She pauses as I reach the door" "Hey, if you ever want to... talk again, or train, or whatever... my door's always open.">>
<<narrative "There's something vulnerable in the way she says it that makes me glance back. For just a moment, she doesn't look like the confident, teasing girl I know. She looks... lonely?">>
<<dialog "Rylan" "face" "Maybe sometime.">>
<<narrative "As I close the door behind me, I can't shake the feeling that there was more going on in that conversation than I understood. Serin seemed different tonight - less teasing, more... serious? Whatever it was, it's left me feeling confused about things I thought I had figured out.">>
<<narrative "I make my way back down the hallway, thinking about Liora's gentle smile and wondering why I can't quite get Serin's intense emerald eyes out of my head.">>
<<continueBox "NightActivities" "Return to the night activities" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set _baseSerinFeetRoll = random(1, 100)>><<set _baseRylanResistRoll = random(1, 100)>><<set _baseLioraJealousyRoll = random(1, 100)>><<set _baseSerinJealousyRoll = random(1, 100)>><<set _serinBaseThreshold = 35>><<set _serinFetishMod = Math.floor($serin_FeetFetish / 10) * 5>><<set _serinLustMod = Math.floor($serin_Lust / 20) * -5>><<set _serinCorruptionMod = Math.floor($serin_corruption / 20) * -10>><<set _serinFinalThreshold = _serinBaseThreshold + _serinFetishMod + _serinLustMod + _serinCorruptionMod>><<set _rylanBaseThreshold = 35>><<set _rylanFetishMod = Math.floor($rylan_FeetFetish / 10) * 5>><<set _rylanLustMod = Math.floor($rylan_Lust / 20) * -5>><<set _rylanCorruptionMod = Math.floor($rylan_corruption / 20) * -10>><<set _rylanFinalThreshold = _rylanBaseThreshold + _rylanFetishMod + _rylanLustMod + _rylanCorruptionMod>><<run window.AudioSystem.playSFX('serin_door_knock.mp3')>><<if $metLiora is false>><<set $metLiora to true>><<run DiarySystem.unlockCharacter("Liora")>>
<</if>><<if $metSerin is false>><<set $metSerin to true>><<run DiarySystem.unlockCharacter("Serin")>><</if>><<run setPageElement('portraitContainer', 'StoryLeftSidebar')>>
<div class="passage-container rylan">
<<narrative "The knock comes again, more insistent this time. Before Mariel can answer, the door bursts open with the subtlety of a tavern brawl.">>
<center><img src="images/serin/face.webp" alt="Serin Portrait" width="400"></center>
<<dialog "Serin" "facesmirk" "Rise and shine, you lazy excuse for an adventurer!" "A familiar, irritating voice rings through the kitchen. Serin stands in the doorway, her short red hair wild as ever, wearing that insufferable grin that makes $humanName want to practice his combat skills. On her.">>
<<set $rylan_SerinAffection -= 2>><<trackAffection "Rylan" "Serin" -2>>
<<narrative "Behind her, like dawn after a storm, Liora steps into view. $humanName's heart does its usual happy flutter at the sight of his girlfriend's flowing blonde hair and gentle smile. Where Serin is all sharp edges and chaos, Liora moves with the grace of summer breeze.">>
<<set $rylan_Lust += 2>><<trackLust "Rylan" 2>>
<center><img src="images/liora/portrait.webp" alt="Liora Portrait" width="400"></center>
<<dialog "Liora" "faceshortpink" "Good morning, my love," "Liora says softly, walking over to give $humanName a gentle kiss on the cheek. Her touch makes the kitchen seem brighter and his worries lighter.">>
<<set $rylan_Lust += 3>><<trackLust "Rylan" 3>>
<center><img src="images/serin/kitchentable.webp" alt="Serin on Table" width="400"></center>
<<narrative "Before anyone can stop her, Serin hops onto the kitchen table, crossing her legs with deliberate casualness. Her white socks bunch around leather boots as she makes herself comfortable, clearly enjoying how it makes $humanName squirm.">>
<<if $rylan_FeetFetish <= 0>><<set _baseGain = 0.1>><<set _rylanFeetBonus = ($rylan_naturalTendencies ?? []).includes("feet") ? 1.5 : 1>><<set _finalFeetGain = _baseGain * _rylanFeetBonus>><<set $rylan_FeetFetish += _finalFeetGain>><<trackFetish "Rylan" "Feet" _finalFeetGain>><<set _clothingGain = 0.1>><<set _rylanClothingBonus = ($rylan_naturalTendencies ?? []).includes("clothing") ? 1.5 : 1>><<set _finalClothingGain = _clothingGain * _rylanClothingBonus>><<set $rylan_ClothingFetish += _finalClothingGain>><<trackFetish "Rylan" "Clothing" _finalClothingGain>><<narrative "$humanName grimaced and looked away, disgusted by Serin's casual disregard for table manners. The sight of her boots on the kitchen table where they ate made his stomach turn.">><<set $rylan_SerinAffection -= 1>><<trackAffection "Rylan" "Serin" -1>><<else>><<set _exhibBaseGain = 0.2>><<set _serinExhibBonus = ($serin_naturalTendencies ?? []).includes("exhibitionism") ? 1.5 : 1>><<set _finalExhibGain = _exhibBaseGain * _serinExhibBonus>><<set $serin_ExhibitionismFetish += _finalExhibGain>><<trackFetish "Serin" "Exhibitionism" _finalExhibGain>><<set _feetGain = 0.2>><<set _rylanFeetBonus = ($rylan_naturalTendencies ?? []).includes("feet") ? 1.5 : 1>><<set _finalFeetGain = _feetGain * _rylanFeetBonus>><<set $rylan_FeetFetish += _finalFeetGain>><<trackFetish "Rylan" "Feet" _finalFeetGain>><<set _clothingGain = 0.2>><<set _rylanClothingBonus = ($rylan_naturalTendencies ?? []).includes("clothing") ? 1.5 : 1>><<set _finalClothingGain = _clothingGain * _rylanClothingBonus>><<set $rylan_ClothingFetish += _finalClothingGain>><<trackFetish "Rylan" "Clothing" _finalClothingGain>><</if>><<if $rylan_TeasingFetish <= 0 && _baseRylanResistRoll <= 40>>
<<set _baseGain = 0.1>><<set _rylanTeaseBonus = ($rylan_naturalTendencies ?? []).includes("teasing") ? 1.5 : 1>><<set _finalTeaseGain = _baseGain * _rylanTeaseBonus>><<set $rylan_TeasingFetish += _finalTeaseGain>><<trackFetish "Rylan" "Teasing" _finalTeaseGain>><<set _submissiveGain = 0.1>><<set _rylanSubmissiveBonus = ($rylan_naturalTendencies ?? []).includes("submission") ? 1.5 : 1>><<set _finalSubmissiveGain = _submissiveGain * _rylanSubmissiveBonus>><<set $rylan_SubmissionFetish += _finalSubmissiveGain>><<trackFetish "Rylan" "Submission" _finalSubmissiveGain>>
<<dialog "Rylan" "faceangry" "Could you not?" "$humanName snapped, genuinely irritated by her constant teasing. The way she always invaded his personal space was starting to really get on his nerves.">>
<<set $rylan_SerinAffection -= 2>><<trackAffection "Rylan" "Serin" -2>><</if>>
<<if _baseSerinFeetRoll <= _serinFinalThreshold>><<set _baseGain = 0.1>><<set _serinJealousyBonus = ($serin_naturalTendencies ?? []).includes("jealousy") ? 1.5 : 1>><<set _finalGain = _baseGain * _serinJealousyBonus>><<set $serin_JealousyFetish += _finalGain>><<trackFetish "Serin" "Jealousy" _finalGain>>
<<dialog "Serin" "faceangry" "Ugh, you two are making me nauseous with all this lovey-dovey stuff," "Serin's grin takes on a sharp edge as she watches the intimate exchange, something darker flickering in her eyes. Her fingers drum against the doorframe with barely contained energy.">>
<<set $serin_LioraAffection -= 1>><<trackAffection "Serin" "Liora" -1>><<set $serin_Lust += 2>><<trackLust "Serin" 2>><</if>>
<<if $rylan_FeetFetish <= 0>><<set _baseGain = 0.1>><<set _rylanFeetBonus = ($rylan_naturalTendencies ?? []).includes("feet") ? 1.5 : 1>><<set _finalFeetGain = _baseGain * _rylanFeetBonus>><<set $rylan_FeetFetish += _finalFeetGain>><<trackFetish "Rylan" "Feet" _finalFeetGain>><<set _clothingGain = 0.1>><<set _rylanClothingBonus = ($rylan_naturalTendencies ?? []).includes("clothing") ? 1.5 : 1>><<set _finalClothingGain = _clothingGain * _rylanClothingBonus>><<set $rylan_ClothingFetish += _finalClothingGain>><<trackFetish "Rylan" "Clothing" _finalClothingGain>>$humanName grimaced and looked away, disgusted by Serin's casual disregard for table manners. The sight of her boots on the kitchen table where they ate made his stomach turn. <<set $rylan_SerinAffection -= 1>><<trackAffection "Rylan" "Serin" -1>><<else>><<set _exhibBaseGain = 0.2>><<set _serinExhibBonus = ($serin_naturalTendencies ?? []).includes("exhibitionism") ? 1.5 : 1>><<set _finalExhibGain = _exhibBaseGain * _serinExhibBonus>><<set $serin_ExhibitionismFetish += _finalExhibGain>><<trackFetish "Serin" "Exhibitionism" _finalExhibGain>><<set _feetGain = 0.2>><<set _rylanFeetBonus = ($rylan_naturalTendencies ?? []).includes("feet") ? 1.5 : 1>><<set _finalFeetGain = _feetGain * _rylanFeetBonus>><<set $rylan_FeetFetish += _finalFeetGain>><<trackFetish "Rylan" "Feet" _finalFeetGain>><<set _clothingGain = 0.2>><<set _rylanClothingBonus = ($rylan_naturalTendencies ?? []).includes("clothing") ? 1.5 : 1>><<set _finalClothingGain = _clothingGain * _rylanClothingBonus>><<set $rylan_ClothingFetish += _finalClothingGain>><<trackFetish "Rylan" "Clothing" _finalClothingGain>><</if>><<if $rylan_TeasingFetish <= 0 && _baseRylanResistRoll <= 40>>
<<set _baseGain = 0.1>><<set _rylanTeaseBonus = ($rylan_naturalTendencies ?? []).includes("teasing") ? 1.5 : 1>><<set _finalTeaseGain = _baseGain * _rylanTeaseBonus>><<set $rylan_TeasingFetish += _finalTeaseGain>><<trackFetish "Rylan" "Teasing" _finalTeaseGain>><<set _submissiveGain = 0.1>><<set _rylanSubmissiveBonus = ($rylan_naturalTendencies ?? []).includes("submission") ? 1.5 : 1>><<set _finalSubmissiveGain = _submissiveGain * _rylanSubmissiveBonus>><<set $rylan_SubmissionFetish += _finalSubmissiveGain>><<trackFetish "Rylan" "Submission" _finalSubmissiveGain>>
<<dialog "Rylan" "faceangry" "Could you not?" "$humanName snapped, genuinely irritated by her constant teasing. The way she always invaded his personal space was starting to really get on his nerves.">>
<<set $rylan_SerinAffection -= 2>><<trackAffection "Rylan" "Serin" -2>><</if>>
<<if _baseSerinFeetRoll <= _serinFinalThreshold>>
<<narrative "She kicks her feet playfully, boots dangling just above the floor. Her white socks peek out where the leather has bunched down, a deliberate tease as she watches $humanName's reaction.">>
<<dialog "Serin" "facesmirk" "What's wrong? You're staring. Don't tell me you're still half asleep~">>
<<if $rylan_FeetFetish > 0 && _baseRylanResistRoll <= _rylanFinalThreshold>><<set _baseGain = 0.2>><<set _rylanFeetBonus = ($rylan_naturalTendencies ?? []).includes("feet") ? 1.5 : 1>><<set _finalFeetGain = _baseGain * _rylanFeetBonus>><<set $rylan_FeetFetish += _finalFeetGain>>
<<trackFetish "Rylan" "Feet" _finalFeetGain>><<narrative "$humanName's gaze lingers on the gentle sway of her feet, his throat suddenly dry. The morning suddenly feels much warmer than it should.">><<if random(1, 100) <= 20>><<set _serinNoticeGain = 0.1>><<set _serinFeetBonus = ($serin_naturalTendencies ?? []).includes("feet") ? 1.5 : 1>><<set _finalSerinFeetGain = _serinNoticeGain * _serinFeetBonus>><<set $serin_FeetFetish += _finalSerinFeetGain>><<trackFetish "Serin" "Feet" _finalSerinFeetGain>><<set $serin_Lust += 5>><<trackLust "Serin" 5>><</if>><</if>>
<<if $serin_Lust >= 30 || $serin_FeetFetish > 0>><<set _escalateGain = 0.3>><<set _serinFeetBonus = ($serin_naturalTendencies ?? []).includes("feet") ? 1.5 : 1>><<set _finalEscalateGain = _escalateGain * _serinFeetBonus>><<set $serin_FeetFetish += _finalEscalateGain>><<trackFetish "Serin" "Feet" _finalEscalateGain>>
<<dialog "Serin" "facesmirk" "Oh? See something interesting?" "Serin's grin widens as she notices his distraction, deliberately pointing her toes in a languid stretch.">>
<<set $serin_Lust += 5>><<trackLust "Serin" 5>><<set $rylan_Lust += 4>><<trackLust "Rylan" 4>><</if>><<if _baseLioraJealousyRoll <= 35>><<set _baseGain = 0.1>><<set _lioraJealousyBonus = ($liora_naturalTendencies ?? []).includes("jealousy") ? 1.5 : 1>><<set _finalLioraJealousyGain = _baseGain * _lioraJealousyBonus>><<set $liora_JealousyFetish += _finalLioraJealousyGain>><<trackFetish "Liora" "Jealousy" _finalLioraJealousyGain>><<narrative "Liora's fingers traced the edge of her dress, her usual serene expression tightening almost imperceptibly as she watched the exchange.">><<set $liora_SerinAffection -= 1>><<trackAffection "Liora" "Serin" -1>><<set $liora_RylanAttraction += 1>><<trackAttraction "Liora" "Rylan" 1>><<set $liora_Lust += 3>><<trackLust "Liora" 3>><</if>><</if>><<if $rylan_Lust >= 20 && ($serin_Lust >= 20 || $liora_Lust >= 20)>>
<<narrative "The kitchen air grows thick with unspoken tension, morning sunlight catching the slight flush on more than one face.">>
<<set $rylan_Lust += 2>><<trackLust "Rylan" 2>><<set $serin_Lust += 2>><<trackLust "Serin" 2>><<set $liora_Lust += 2>><<trackLust "Liora" 2>><</if>><<if $rylan_FeetFetish > 0>>
<<set _passiveGain = 0.1>><<set _rylanFeetBonus = ($rylan_naturalTendencies ?? []).includes("feet") ? 1.5 : 1>><<set _finalPassiveGain = _passiveGain * _rylanFeetBonus>><<set $rylan_FeetFetish += _finalPassiveGain>>
<<trackFetish "Rylan" "Feet" _finalPassiveGain>><<narrative "$humanName's gaze lingers a moment too long on Serin's swinging feet, a familiar warmth creeping up his neck.">><<set $rylan_Lust += 5>><<trackLust "Rylan" 5>><</if>><<if _rylanResistRoll <= 40>><<set _baseGain = 0.2>><<set _serinTeaseBonus = ($serin_naturalTendencies ?? []).includes("teasing") ? 1.5 : 1>><<set _finalSerinTeaseGain = _baseGain * _serinTeaseBonus>>
<<set $serin_TeasingFetish += _finalSerinTeaseGain>><<trackFetish "Serin" "Teasing" _finalSerinTeaseGain>>
<<dialog "Serin" "faceangry" "Ugh, could you two be any more disgustingly sweet? It's like watching a romance novel come to life." "Serin rolls her eyes dramatically, swinging her legs with extra emphasis as she shifts on the table.">>
<</if>>
<<if $rylan_FeetFetish > 0>><<set _feetGain = 0.1>><<set _rylanFeetBonus = ($rylan_naturalTendencies ?? []).includes("feet") ? 1.5 : 1>><<set _finalMoreFeetGain = _feetGain * _rylanFeetBonus>><<set $rylan_FeetFetish += _finalMoreFeetGain>><<trackFetish "Rylan" "Feet" _finalMoreFeetGain>>
<<dialog "Serin" "faceangry" "Though I guess watching you get all doe-eyed over your perfect little girlfriend is better than?">>
<<dialog "Serin" "facesmirk" "But hey, speaking of things that'll make you feel worse..." "Her grin widened with malicious glee." "Guess who just got promoted to E-Rank?">>
<<else>>
<<dialog "Serin" "faceangry" "Ugh, could you two be any more disgustingly sweet? It's like watching a romance novel come to life." "Serin interrupts with an exaggerated eye roll, her boots tapping against the table leg." "By the way, guess who just got promoted to E-Rank?">>
<</if>>
<<narrative "$humanName's stomach drops. No. No way.">>
<<dialog "Rylan" "faceangry" "You're lying.">>
<<narrative "Serin pulls out her guild card, the bronze 'E' gleaming mockingly.">>
<<dialog "Serin" "facesmirk" "And what Rank are you again?" "She tilted her head, all innocent smugness.">>
<<dialog "Serin" "facesmirk" "Because I seem to recall passing my exam by actually killing a monster, not screaming and running while your 'party' did all the work.">>
<<dialog "Rylan" "faceangry" "That troll was bigger than expected!">>
<<set _baseDomGain = 0.2>><<set _serinDomBonus = ($serin_naturalTendencies ?? []).includes("dominance") ? 1.5 : 1>><<set _finalDomGain = _baseDomGain * _serinDomBonus>><<set $serin_DominanceFetish += _finalDomGain>><<trackFetish "Serin" "Dominance" _finalDomGain>>
<<dialog "Serin" "faceangry" "It was a goblin, and it bit your ankle!" "She emphasized this by kicking one foot in his direction, her boot nearly grazing his nose.">>
<<set $serin_Lust += 3>><<trackLust "Serin" 3>>
<<if _lioraJealousyRoll <= 35>><<set _baseJealousyGain = 0.1>><<set _lioraJealousyBonus = ($liora_naturalTendencies ?? []).includes("jealousy") ? 1.5 : 1>><<set _finalLioraJealousyGain2 = _baseJealousyGain * _lioraJealousyBonus>><<set $liora_JealousyFetish += _finalLioraJealousyGain2>><<trackFetish "Liora" "Jealousy" _finalLioraJealousyGain2>><<set _baseSubmissionGain = 0.1>><<set _lioraSubmissionBonus = ($liora_naturalTendencies ?? []).includes("submission") ? 1.5 : 1>><<set _finalLioraSubmissionGain = _baseSubmissionGain * _lioraSubmissionBonus>><<set $liora_SubmissionFetish += _finalLioraSubmissionGain>><<trackFetish "Liora" "Submission" _finalLioraSubmissionGain>>
<<dialog "Liora" "faceshortpink" "The goblin was rather aggressive..." "Liora interjected softly, moving protectively closer to $humanName, though her defense lacked its usual warmth as she watched Serin's boots swing closer to her boyfriend's face.">>
<<set $liora_Lust += 2>><<trackLust "Liora" 2>><<else>>
<<dialog "Liora" "faceshortpink" "The goblin was rather aggressive..." "Liora offered supportively, placing a gentle hand on $humanName's shoulder.">>
<</if>>
<<if $liora_SubmissionFetish <= 0 && _lioraJealousyRoll <= 35>>
<<narrative "Liora shifted uncomfortably at Serin's aggressive display, clearly put off by the forceful behavior. Her usual serene expression hardened slightly with disapproval.">>
<<set $liora_SerinAffection -= 1>><<trackAffection "Liora" "Serin" -1>><</if>>
<<if _lioraJealousyRoll <= 35>><<set _baseVoyeurGain = 0.1>><<set _lioraVoyeurBonus = ($liora_naturalTendencies ?? []).includes("voyeurism") ? 1.5 : 1>><<set _finalLioraVoyeurGain = _baseVoyeurGain * _lioraVoyeurBonus>><<set $liora_VoyeurismFetish += _finalLioraVoyeurGain>><<trackFetish "Liora" "Voyeurism" _finalLioraVoyeurGain>>
<<narrative "Liora's eyes flicked between them, her smile faltering slightly as she watched Serin's playful teasing. Her hand tightened possessively on $humanName's arm. The air grew thick with an unspoken tension.">>
<<set $liora_Lust += 2>><<trackLust "Liora" 2>><<if _serinJealousyRoll <= 35>><<set _exhibGain = 0.2>><<set _serinExhibBonus = ($serin_naturalTendencies ?? []).includes("exhibitionism") ? 1.5 : 1>><<set _finalSerinExhibGain = _exhibGain * _serinExhibBonus>><<set $serin_ExhibitionismFetish += _finalSerinExhibGain>><<trackFetish "Serin" "Exhibitionism" _finalSerinExhibGain>>
<<narrative "Serin noticed Liora's possessive reaction and deliberately slid closer to the edge of the table, closer to $humanName.">>
<<dialog "Serin" "facesmirk" "Want me to kiss it better?" "she teased, though her eyes locked meaningfully with Liora's as she said it.">>
<<set $serin_Lust += 4>><<trackLust "Serin" 4>><</if>><</if>>
<<if $rylan_ExhibitionismFetish <= 0 && _serinJealousyRoll <= 35>>
<<narrative "$humanName felt a wave of second-hand embarrassment at Serin's shameless display. Her need for attention was becoming more uncomfortable than entertaining.">>
<<set $rylan_SerinAffection -= 1>><<trackAffection "Rylan" "Serin" -1>><</if>>
<<dialog "Mariel" "faceangry" "Serin, boots off my table, please." "There was a hint of the ex-priestess's authority in her tone.">>
<<dialog "Liora" "faceshortpink" "We came to walk with you to the guild," "Liora interjected, gracefully settling into a proper chair beside $humanName and taking his hand. She may still be F-Rank, but her restoration magic had already earned her respect among the junior adventurers." "For moral support.">>
<<set _finalTeaseGain = 0.1>><<set _serinTeaseBonus = ($serin_naturalTendencies ?? []).includes("teasing") ? 1.5 : 1>><<set _finalSerinTeaseGain2 = _finalTeaseGain * _serinTeaseBonus>><<set $serin_TeasingFetish += _finalSerinTeaseGain2>><<trackFetish "Serin" "Teasing" _finalSerinTeaseGain2>>
<<dialog "Serin" "facesmirk" "And entertainment.... Mostly entertainment." "Serin finally hopped down from the table, but not before giving $humanName one last teasing smirk. Her eyes lingered on their joined hands with barely concealed irritation.">>
<<set $serin_Lust += 2>><<trackLust "Serin" 2>>
<<narrative "$humanName glared at Serin. If looks could kill, she'd be somewhere between "mildly inconvenienced" and "slightly singed." The redheaded menace just grinned wider, twirling one of her daggers. <<if $serinLioraRelation == "sister">>How someone so demonic could be related to Liora who seemed like an angel descended from heaven remained one of life's greatest mysteries.<<else>>How someone so chaotic could be such close friends with Liora who seemed like an angel descended from heaven remained one of life's greatest mysteries.<</if>>">>
<<dialog "Mariel" "face" "Well, since you're all here, you might as well have breakfast." "Mariel started setting out extra plates, though her eyes still held that distant sadness from earlier.">>
<<set _finalDomGain2 = 0.1>><<set _serinDomBonus = ($serin_naturalTendencies ?? []).includes("dominance") ? 1.5 : 1>><<set _finalSerinDomGain2 = _finalDomGain2 * _serinDomBonus>><<set $serin_DominanceFetish += _finalSerinDomGain2>><<trackFetish "Serin" "Dominance" _finalSerinDomGain2>>
<<dialog "Serin" "face" "Sweet! Your $humanToMariel's cooking beats guild food any day." "Serin dropped into a chair next to $humanName, deliberately close enough to make him uncomfortable." "So, about that 'respect your elders' speech you gave me last month...">>
<<set $serin_Lust += 2>><<trackLust "Serin" 2>>
<<continueBox "ToTheGuild" "To The Guild" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<changeAffection "Rylan" "Serin" 2>><<changeAffection "Serin" "Rylan" 3>><<changeAttraction "Rylan" "Serin" 1>><<changeAttraction "Serin" "Rylan" 1>>
<div class="passage-container rylan">
<<dialog "Rylan" "faceserious" "You're not just the tough girl, Serin. You're... you're actually pretty amazing.">>
<<narrative "The words come out before I can think about them, but I realize they're true. Despite all her teasing, despite how much she gets under my skin, I've never really thought of Serin as just an annoying girl.">>
<<dialog "Serin" "facesurprised" "What?">>
<<narrative "She looks at me with genuine surprise, her emerald eyes wide and searching my face for any sign that I'm joking.">>
<<dialog "Rylan" "faceserious" "I mean it. You're strong, and confident, and you care about people. Even if you show it in weird ways sometimes.">>
<<narrative "A small smile tugs at the corner of her lips, the first genuine one I've seen from her tonight.">>
<<dialog "Serin" "facesmirk" "Weird ways, huh?">>
<<dialog "Rylan" "facesmile" "Yeah, weird ways. But... good weird.">>
<<narrative "The atmosphere between us feels different now, less tense, more... comfortable. Like we've crossed some invisible line and found ourselves in new territory.">>
<<dialog "Serin" "facehappy" "Good weird. I can work with that.">>
<<narrative "She looks at me with such warmth in her eyes that it makes my chest tighten in a way I can't explain.">>
<<dialog "Serin" "facesad" "You know, that means more to me than you probably realize. I've been so worried that people only see the surface - the teasing, the tough act.">>
<<dialog "Rylan" "faceserious" "I see more than that. I see someone who pushes people to be better, who cares enough to challenge them. That's not nothing.">>
<<narrative "Her smile grows wider, and there's something almost vulnerable in the way she's looking at me now.">>
<<dialog "Serin" "facehappy" "Thank you, $humanName. That... that really means a lot.">>
<<narrative "We sit there in comfortable silence for a moment, and I realize that maybe I've been wrong about Serin all along. Maybe there's more to her than I've been giving her credit for.">>
<<dialog "Serin" "facesmirk" "You know, maybe I've been wrong about you too. Maybe you're not as clueless as I thought.">>
<<dialog "Rylan" "facesmirk" "Hey, I'm not clueless! I'm just... selectively observant.">>
<<narrative "She laughs at that, a real, genuine laugh that fills the room with warmth.">>
<<dialog "Serin" "facesmirk" "Selectively observant. I like that. Maybe we should talk more often.">>
<<narrative "The way she says it makes my heart skip a beat, and I realize that maybe this conversation has changed something between us.">>
<<continueBox "NightActivities" "Return to Night Activities" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set _resistanceRoll = random(1, 100)>>
<<set _resistanceThreshold = 70>>
<<set _lustMod = Math.floor($rylan_Lust / 20) * -15>>
<<set _finalResistanceThreshold = _resistanceThreshold + _lustMod>>
<div class="passage-container rylan">
<<narrative "I step into her room, trying not to seem too reluctant. The space smells like sweat and effort, and I can see where she's been working out intensely.">>
<<dialog "Serin" "facehappy" "Thanks for keeping me company,">>
<<narrative "she says, settling onto her bed and patting the space beside her.">>
<<dialog "Serin" "facehappy" "I was starting to get bored training alone.">>
<<narrative "I sit down, but keep some distance between us. Honestly, I'd rather be talking to Liora right now. She's so much gentler, more understanding. Serin always seems to be... too much.">>
<<dialog "Rylan" "facehappy" "Couldn't sleep either?">>
<<narrative "I ask, trying to make conversation.">>
<<dialog "Serin" "facehappy" "Nah, too wound up from today. All that excitement at the guild, meeting new people...">>
<<narrative "She gives me a look I can't quite read.">>
<<dialog "Serin" "facesmirk" "What about you? Something on your mind?">>
<<dialog "Rylan" "facehappy" "Just... thinking about things. About people.">>
<<narrative "Her expression changes slightly, becoming more attentive.">>
<<dialog "Serin" "facesmirk" "Anyone in particular?">>
<<narrative "I feel my cheeks warm thinking about Liora.">>
<<dialog "Rylan" "faceembarrassed" "Maybe.">>
<<if _resistanceRoll <= _finalResistanceThreshold>>
<<changeAffection "Rylan" "Serin" -1>>
<<changeAffection "Serin" "Rylan" 1>>
<<changeFetish "Rylan" "SmellFetish" 0.1>>
<<changeFetish "Serin" "DominanceFetish" 0.1>>
<<narrative "Something shifts in Serin's expression when she realizes I'm thinking about someone else. She moves closer, and I catch a stronger whiff of her post-workout scent. I try to lean back, but she doesn't seem to notice my discomfort.">>
<<dialog "Serin" "facesmirk" "You know, Rylan, you don't have to be shy around me. We're friends, right?">>
<<narrative "She reaches out to touch my arm, her hand still warm and slightly damp from her training.">>
<<narrative "I want to pull away, but something about her directness makes me freeze. Her emerald eyes are studying my face intently.">>
<<dialog "Serin" "facesmirk" "Sometimes the people we think we want aren't necessarily the best for us.">>
<<dialog "rylan" "faceworried" "What do you mean?">>
<<dialog "Serin" "facesmirk" "Just that... maybe you should consider looking closer to home for what you need.">>
<</if>>
<<if _resistanceRoll > _finalResistanceThreshold>>
<<changeAffection "Rylan" "Serin" 1>>
<<narrative "I manage to maintain my distance and composure, though I can tell Serin is trying to get closer in some way. Her training scent is noticeable but I don't let it bother me.">>
<</if>>
<<dialog "Serin" "facehappy" "You know what helps me when I can't sleep?">>
<<narrative "she asks, standing up and moving to her training area.">>
<<dialog "Serin" "facehappy" "Physical activity. Gets all that restless energy out.">>
<<narrative "She starts doing some stretches, and I notice how her training clothes show off her athletic figure. I try not to look, but it's hard to avoid in the small room.">>
<<changeFetish "Rylan" "MuscleFetish" 0.1>>
<<changeFetish "Serin" "ExhibitionismFetish" 0.1>>
<<choiceBox "Choose Your Response" "Ask if she means Liora when she said 'closer to home'" "SerinAboutLiora" "SerinNightTalk=aboutliora" "Suggest some light training together" "SerinTraining" "SerinNightTalk=training" "Say you should probably go" "SerinLeave" "SerinNightTalk=leave">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<if !$nightVisitedTonight>>
<<set $nightVisitedTonight = []>>
<</if>>
<<set $nightVisitedTonight.push("Serin")>>
<div class="passage-container rylan">
<<narrative "I make my way quietly through the hallway to Serin's room, wondering if she's actually awake. The floorboards creak slightly under my feet, and I'm trying not to wake anyone else.">>
<<narrative "I knock softly on her door. Almost immediately, I hear her voice from within.">>
<<dialog "Serin" "facehappy" "Come in!">>
<<narrative "I open the door and step inside. Serin is sitting on her bed, still dressed in her training clothes. She looks like she's been working out, a light sheen of sweat on her skin and her short red hair slightly disheveled.">>
<<dialog "Serin" "facesmirk" "Well, well. Look who decided to come visit me.">>
<<narrative "She grins, but there's something different about her expression tonight. Less teasing, more... I can't quite place it.">>
<<dialog "Rylan" "face" "Couldn't sleep. Thought I'd see if you were awake.">>
<<dialog "Serin" "facehappy" "Lucky for you, I was just finishing up some training. Couldn't sleep either.">>
<<narrative "She pats the space beside her on the bed.">>
<<dialog "Serin" "facesmirk" "Come on, sit. Don't be shy.">>
<<narrative "I hesitate for a moment, then sit down beside her, keeping some distance between us. Up close, I can smell her post-workout scent - not unpleasant, but definitely noticeable. It's very... her.">>
<<dialog "Serin" "faceserious" "You know, I'm glad you came by. I've been thinking about some things.">>
<<dialog "Rylan" "faceconfused" "What kind of things?">>
<<narrative "She turns to face me more directly, and I notice her emerald eyes seem more serious than usual.">>
<<dialog "Serin" "facesad" "About us. About our little group. About... well, about how some people don't always see what's right in front of them.">>
<<narrative "There's something in her tone that makes me feel like this conversation is about to go somewhere I'm not prepared for.">>
<<dialog "Rylan" "faceworried" "Serin, if this is about-">>
<<dialog "Serin" "faceangry" "Just listen for a minute, okay?">>
<<narrative "She holds up a hand.">>
<<dialog "Serin" "facesad" "I know you think I'm just the annoying girl who teases you all the time. But that's not all I am.">>
<<narrative "Her voice is softer now, more vulnerable than I've ever heard it.">>
<<dialog "Serin" "facesad" "Sometimes I wonder if people can see past the surface. If they can see that someone might be acting tough because they're afraid of being vulnerable.">>
<<narrative "I'm not sure what to say to that. This is a side of Serin I've never seen before.">>
<<dialog "Serin" "faceembarrassed" "I wonder if someone could actually... you know... feel that way about someone like me.">>
<<narrative "The room feels smaller suddenly, and I'm very aware of how close we're sitting.">>
<<choiceBox "Choose Your Response" "Tell her I don't know what to say" "SerinDontKnow" "SerinNightVisit=dontknow" "Tell her she's more than just the tough girl" "SerinMoreThan" "SerinNightVisit=morethan" "Ask her what she means by 'someone like you'" "SerinWhyUpset" "SerinNightVisit=whyupset">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<changeAffection "Rylan" "Serin" 1>>
<<changeAffection "Serin" "Rylan" 2>>
<<changeAttraction "Rylan" "Serin" 1>>
<<changeAttraction "Serin" "Rylan" 1>>
<<changeLust "Rylan" 3>>
<<changeLust "Serin" 4>>
<<changeFetish "Rylan" "MuscleFetish" 0.2>>
<<changeFetish "Rylan" "SmellFetish" 0.1>>
<<changeFetish "Serin" "ExhibitionismFetish" 0.1>>
<<changeFetish "Serin" "DominanceFetish" 0.1>>
<div class="passage-container rylan">
<<dialog "Rylan" "facehappy" "Thank you for helping me train. I really appreciate it.">>
<<narrative "Serin's face lights up with genuine happiness at the thanks. She sets down her equipment and walks over to me, still breathing a bit hard from our training session.">>
<<dialog "Serin" "facehappy" "You know, that means a lot to me. I was worried you might think I was just being pushy.">>
<<narrative "She runs a hand through her damp hair, and I notice the way her muscles move under her skin. There's something different about the way she's looking at me now - less teasing, more... open.">>
<<dialog "Serin" "faceembarrassed" "I know I can be a bit... intense sometimes. But I really do want to help you get stronger.">>
<<dialog "Rylan" "facehappy" "You're a good teacher, actually. Tough, but fair.">>
<<narrative "A slight flush colors her cheeks at the compliment. She seems pleased, maybe more than she expected to be.">>
<<dialog "Serin" "faceembarrassed" "Maybe we could do this again sometime? I mean, if you want to...">>
<<narrative "There's something almost vulnerable in the way she asks, different from her usual confident demeanor.">>
<<dialog "Rylan" "facehappy" "Yeah, I'd like that. You really know what you're doing.">>
<<narrative "She grins, and for a moment she looks almost... happy? Not her usual smirk, but a genuine smile.">>
<<dialog "Serin" "facehappy" "Good. Because I have a lot more I can teach you.">>
<<narrative "She steps closer, and I can smell her post-workout scent - something that's starting to feel familiar rather than off-putting.">>
<<dialog "Serin" "facehappy" "You're stronger than you think you are, $humanName. You just need to believe in yourself more.">>
<<narrative "The way she says my name is different than usual - less teasing, more... caring? I find myself looking at her differently, noticing things I hadn't before.">>
<<dialog "Rylan" "facehappy" "Thanks, Serin. That... that actually means a lot coming from you.">>
<<narrative "We stand there for a moment, the atmosphere between us feeling different than usual. Less antagonistic, more... connected.">>
<<dialog "Serin" "facehappy" "Well, I should probably clean up and get some rest. You should too.">>
<<dialog "Rylan" "facehappy" "Yeah, good idea. Thanks again for tonight.">>
<<narrative "As I head toward the door, she calls out softly.">>
<<dialog "Serin" "facesad" "$humanName? Thank you for... for treating me like I'm not just some annoying girl. It means more than you know.">>
<<narrative "I turn back to look at her, and there's something in her expression that makes me see her in a new light.">>
<<dialog "rylan" "faceworried" "You're not just some annoying girl, Serin. You're... you're actually pretty amazing.">>
<<narrative "She looks genuinely surprised by the compliment, her cheeks flushing slightly.">>
<<dialog "Serin" "faceembarrassed" "I... thank you. That really means a lot.">>
<<narrative "As I leave her room, I can't shake the feeling that something has shifted between us. Maybe there's more to Serin than I've been giving her credit for.">>
<<continueBox "NightActivities" "Return to the night activities" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<changeAffection "Rylan" "Serin" 1>>
<<changeAffection "Serin" "Rylan" 2>>
<<changeAttraction "Rylan" "Serin" 1>>
<<changeAttraction "Serin" "Rylan" 1>>
<<changeLust "Rylan" 5>>
<<changeLust "Serin" 6>>
<<changeFetish "Rylan" "MuscleFetish" 0.3>>
<<changeFetish "Rylan" "SmellFetish" 0.2>>
<<changeFetish "Serin" "ExhibitionismFetish" 0.2>>
<<changeFetish "Serin" "DominanceFetish" 0.2>>
<div class="passage-container rylan">
<<dialog "Rylan" "facehappy" "Actually, some light training sounds good. Maybe it'll help me sleep better.">>
<<narrative "Serin's face lights up with genuine excitement. She jumps up from the bed with surprising energy.">>
<<dialog "Serin" "facehappy" "Really? Great! I've been wanting to help you improve your technique.">>
<<narrative "She moves to clear some space in the room, and I notice how her training clothes show off her athletic build. The way she moves is fluid and confident, completely in her element.">>
<<dialog "Serin" "facesmirk" "First, let's work on your stance. You're still favoring your left side too much.">>
<<narrative "She demonstrates a proper fighting stance, her muscles flexing as she moves. I find myself watching the way her body moves, admiring the strength and grace in her movements.">>
<<dialog "Rylan" "facehappy" "Like this?">>
<<narrative "I try to mimic her stance.">>
<<dialog "Serin" "facesmirk" "Close, but not quite. Here, let me show you.">>
<<narrative "She steps behind me, her hands moving to my shoulders to adjust my position. I can feel the heat of her body close to mine, and catch a stronger whiff of her scent - sweat and something distinctly... her.">>
<<dialog "Serin" "facesmirk" "You need to distribute your weight evenly. Feel how your balance changes when I adjust your stance?">>
<<narrative "Her hands are firm and sure as she guides my posture. I'm surprised by how focused she is on actually teaching me, not just showing off.">>
<<dialog "Rylan" "facehappy" "Yeah, I can feel the difference. You're really good at this.">>
<<narrative "She moves back around to face me, and I notice a slight flush on her cheeks. Whether from the training or something else, I'm not sure.">>
<<dialog "Serin" "facesmirk" "Now let's work on your footwork. Watch how I move.">>
<<narrative "She demonstrates a series of movements, her body flowing from one position to another with practiced ease. I find myself genuinely impressed by her skill and dedication.">>
<<dialog "Serin" "facehappy" "You're picking this up faster than I expected. Maybe you're not as hopeless as I thought.">>
<<narrative "She grins, but there's genuine approval in her voice.">>
<<dialog "Rylan" "facehappy" "Thanks. I think having a good teacher helps.">>
<<narrative "She looks genuinely pleased by the compliment, her expression softening.">>
<<dialog "Serin" "facesad" "You know, I've been thinking about what you said earlier. About people not seeing what's right in front of them.">>
<<dialog "rylan" "faceworried" "What about it?">>
<<narrative "She pauses in her movements, looking at me with an expression I can't quite read.">>
<<dialog "Serin" "facesad" "Maybe I'm the one who hasn't been seeing clearly. Maybe I've been so focused on getting attention that I haven't been showing who I really am.">>
<<narrative "The vulnerability in her voice surprises me. This is a side of Serin I've never seen before.">>
<<dialog "rylan" "faceworried" "I think you're showing me who you really are right now.">>
<<narrative "She looks at me with surprise, then gives me a small, genuine smile.">>
<<dialog "Serin" "facehappy" "Maybe I am.">>
<<narrative "We continue training for a while longer, but the atmosphere has shifted. There's less teasing, more genuine connection. I find myself seeing Serin in a completely different light.">>
<<choiceBox "Choose Your Response" "Thank her for the training" "SerinThankTraining" "SerinTraining=thank" "Return to the night activities" "NightActivities" "SerinTraining=return">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<changeAffection "Rylan" "Serin" 1>><<changeAffection "Serin" "Rylan" 2>>
<div class="passage-container rylan">
<<dialog "rylan" "faceworried" "What do you mean by 'someone like you'? Why would you say that?">>
<<narrative "She looks away, her emerald eyes avoiding mine as she fidgets with the edge of her training clothes.">>
<<dialog "Serin" "facesad" "I don't know... I guess I mean someone who's always causing trouble. Someone who's loud and aggressive and doesn't know when to back down.">>
<<narrative "There's something in her voice that I've never heard before - genuine insecurity.">>
<<dialog "Serin" "facesad" "Sometimes I wonder if people just see me as this annoying girl who won't leave them alone. Like I'm too much for anyone to actually... you know.">>
<<dialog "rylan" "faceworried" "Serin, that's not...">>
<<dialog "Serin" "facesad" "I know I tease you a lot. Maybe too much. But it's just... I don't know how else to get people's attention. I don't know how to be... softer, I guess.">>
<<narrative "She runs a hand through her hair, looking more vulnerable than I've ever seen her.">>
<<dialog "Serin" "facesad" "I look at someone like Liora, and she's so gentle and kind, and everyone loves her. And then there's me - loud, pushy, always trying to prove something.">>
<<dialog "rylan" "faceworried" "But you're strong. You're confident. That's not a bad thing.">>
<<dialog "Serin" "facesad" "Is it enough though? Would someone actually want to be with someone like that? Someone who's always ready for a fight, who can't seem to just... be quiet and gentle?">>
<<narrative "The question hangs in the air between us, and I realize this is the most honest conversation I've ever had with Serin.">>
<<dialog "Serin" "facesad" "I guess I'm just scared that maybe the person I am isn't the person anyone would actually want to be with.">>
<<dialog "rylan" "faceworried" "That's not true. You're wrong about that.">>
<<dialog "Serin" "facesad" "Am I? Because it doesn't feel like it.">>
<<narrative "She looks at me with such sadness in her eyes, and I realize that maybe I've been wrong about Serin all along.">>
<<choiceBox "Choose Your Response" "Tell her she's more than just the tough girl" "SerinMoreThan" "SerinWhyUpset=morethan" "Say you don't know what to say" "SerinDontKnow" "SerinWhyUpset=dontknow" "Return to the night activities" "NightActivities" "SerinWhyUpset=return">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<div class="chapter-overlay"></div><div class="chapter-title-container"><div class="chapter-title">Chapter 0</div><div class="chapter-subtitle">The Ones Without Names</div></div>
<script>
$(document).ready(function() {
const audio = new Audio('sounds/chapterchange.wav');
audio.play();
setTimeout(function() {
$('.chapter-title-container, .chapter-overlay').addClass('fade-out');
}, 3000);
});
</script>
<style>
.chapter-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: black;
z-index: 999;
opacity: 1;
transition: opacity 2s;
}
.chapter-title-container {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
z-index: 1000;
opacity: 1;
transition: opacity 2s;
}
.chapter-title {
font-size: 4em;
font-weight: bold;
color: #fff;
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
margin-bottom: 0.5em;
}
.chapter-subtitle {
font-size: 2em;
color: #fff;
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}
.fade-out {
opacity: 0;
pointer-events: none;
}
</style>
<div class="passage-container rylan">
<<narrative "In the darkest hour, four heroes rose to challenge the Demon King. Their deeds shaped the world and their legacy lives on through those who carry their torch.">>
<center><img src="images/mariel/past/temple.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Mariel - Once a young priestess, her faith and healing magic saved countless lives. She is now $marielToHuman, and he calls her $humanToMariel.">>
<center><img src="images/thalor/portraitpast.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Thalor - The indomitable warrior wielding a broadsword, famed for his courage. Husband to Mariel, he is $humanName's $thalorToHuman, who calls him $humanToThalor.">>
<center><img src="images/verdalis/portraitpast.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Verdalis - The beautiful dryad with emerald eyes and hair, guardian of the wilds, whose wisdom and nature magic turned the tide of many battles.">>
<center><img src="images/gairos/portraitpast.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Gairos - The most powerful mage in the world after the Demon King, and the strongest human alive. With a muscled body, a long beard, and great age, he led the party with unmatched might and wisdom.">>
<<narrative "Together, these heroes defeated the Demon King in a fierce and legendary battle, bringing peace to the world at last. But not all is as it seems... That, however, is a story for another time perhaps one yet to be told.">>
<<continueBox "TimeSkip" "Time Passes" "">>
</div>
<</nobr>>
<<pov "rylan" "start1.mp3">><<nobr>>
<<pov "mariel">>
<<set $timeOfDay = "memory">>
<div class="passage-container mariel">
<<narrative "The battle was over...">>
<<narrative "Azgorth lay slumped against his obsidian throne, his beautiful purple skin now pale in death. The lightning javelin had found its mark when his barrier failed, piercing straight through his heart. His three wives Nirith, Oriss, and Nyssin lay scattered across the marble floor, their beauty frozen in eternal stillness.">>
<<narrative "The spell he had been channeling died with him, its purpose forever unknown.">>
<<narrative "Mariel's legs gave out beneath her. She knelt among the carnage, her white robes stained with blood some of it her own from the fierce battle, but most of it belonging to others. Her hands shook as she tried to process what they had done.">>
<<dialog "Gairos" "portraitpast" "It's finished," "Master Gairos declared, his voice showing no emotion despite the exhaustion written across his weathered features" "The Demon King is dead. The world is safe.">>
<<dialog "Verdalis" "portraitpast" "The forest spirits... they're singing again. But their song is... confused. Sad." "Verdalis approached the fallen Demon King, her emerald eyes reflecting genuine sorrow" "I don't think he was lying about wanting to heal the world.">>
<<dialog "Gairos" "portraitpast" "It doesn't matter what he intended. He was a demon. That's all that matters.">>
<<narrative "But Mariel's attention was drawn to the far corner of the throne room, where she could hear quiet sobbing. The three children Azgorth's children huddled together beside the burned bodies of their loyal maids. The survivors.">>
<<narrative "The youngest was barely more than a baby. The eldest, still just a child. They clung to each other, their eyes wide with terror and grief, their small bodies trembling.">>
<<thought "Mariel" "temple" "*They're just children,*" "Mariel thought, her heart breaking" "*Whatever their father was, whatever he planned... they're innocent.*">>
<<narrative "One of the surviving maids burned and bleeding but still breathing looked up at the approaching heroes with desperate eyes. \"Please... at least spare the children... They're unarmed. They don't even know what they are.\"">>
<<dialog "Mariel" "temple" "Of course we'll spare them," "Mariel said quickly, rising to her feet" "They're just babies. They've done nothing wrong.">>
<<narrative "But Master Gairos stepped forward, his expression hard as stone. \"It has to be done. You know what will happen if we leave them. You know what they will become.\"">>
<<narrative "Mariel's blood ran cold.">>
<<dialog "Mariel" "temple" "Gairos, no. We can't. They're children!">>
<<dialog "Verdalis" "portraitpast" "The dryad agrees with the priestess. These little ones have done no harm to the forests. Their father's sins are not theirs to bear.">>
<<dialog "Gairos" "portraitpast" "Sentiment. They carry demon blood. In ten years, twenty years, they'll remember this day. They'll seek revenge. They'll become what their father was or worse.">>
<<narrative "The eldest child a young boy with his father's purple skin and his mother's red hair stepped protectively in front of his younger siblings. Despite his terror, despite the tears streaming down his face, he spread his small arms wide as if he could shield them from the approaching heroes.">>
<<dialog "Male NPC" "face" "Please... don't hurt them. If you have to kill someone, kill me. But let my little brother and sister live.">>
<<narrative "His voice was barely more than a whisper, choked with sobs, but the courage in those words made Mariel's chest tighten painfully.">>
<<dialog "Mariel" "temple" "Please stop... They're just children..." "Tears began flowing down her cheeks" "Look at them, Gairos. They're terrified. They're babies.">>
<<narrative "The wounded maid at Mariel's feet reached up with a bloody hand and gripped her white robes. \"Please... they called their father 'Papa.' They played with wooden toys. They liked stories about brave knights and beautiful princesses. They're just... they're just children who want their parents back.\"">>
<<dialog "Gairos" "portraitpast" "And in twenty years, they'll be demons who slaughter innocent families. I've seen it before, priestess. Mercy now is cruelty later.">>
<<dialog "Mariel" "temple" "Then we take them with us! We raise them properly! We">>
<<dialog "Gairos" "portraitpast" "And risk them corrupting more innocents Risk them turning on their adoptive families when their true nature asserts itself No.">>
<<narrative "Thalor had been silent through this exchange, standing over the body of the Demon King with his bloodied sword still in hand. His face was pale, his usual confidence shaken by what they had witnessed.">>
<<dialog "Thalor" "facepast" "Gairos... look at them. The boy is trying to protect his siblings. That's... that's what humans do. That's love.">>
<<dialog "Gairos" "portraitpast" "It's instinct. Even wolves protect their young. It means nothing.">>
<<narrative "The youngest child peeked out from behind her brother's protective stance. Her voice was so small, so innocent. \"Mama? Where's Mama? I want Mama...\"" >>
<<narrative "That broke something inside Mariel. She started forward, intending to comfort the child, but Gairos's firm hand on her shoulder stopped her.">>
<<dialog "Gairos" "portraitpast" "Step back, priestess.">>
<<dialog "Mariel" "temple" "I won't let you murder children!">>
<<dialog "Gairos" "portraitpast" "Then you're not the hero I thought you were.">>
<<narrative "The tension stretched taut between them. Verdalis moved to stand beside Mariel, her expression determined.">>
<<dialog "Verdalis" "portraitpast" "The forest spirits protect all young life. I cannot allow this.">>
<<narrative "For a moment, it seemed as though the heroes might turn their weapons on each other. The children watched with growing terror as the argument escalated.">>
<<narrative "Then Thalor's voice cut through it all, low but unwavering:">>
<<dialog "Thalor" "facepast" "Master Gairos... please go outside. Take Mariel with you.">>
<<dialog "Mariel" "temple" "Thalor, you can't?!">>
<<dialog "Thalor" "facepast" "I can't let them grow up to become what their father was. But I also can't let you watch this. Please... go outside.">>
<<dialog "Mariel" "temple" "No! I won't leave! I won't let you?">>
<<dialog "Thalor" "facepast" "MARIEL!" "His voice cracked like a whip, filled with anguish" "Please. Don't make this harder than it already is. Don't make me carry the memory of you watching me become a child-killer.">>
<center><img src="images/thalor/throneroom.webp" alt="Thalor in throne room" width="400"></center>
<<narrative "Gairos grabbed Mariel's arm, pulling her toward the exit.">>
<<dialog "Gairos" "portraitpast" "Come, priestess. This is warrior's work.">>
<<dialog "Mariel" "temple" "NO! THALOR, PLEASE!" "She fought against Gairos's grip, reaching desperately toward the children" "They're innocent! They're just babies!">>
<<narrative "As they dragged her from the throne room, she heard the eldest boy's voice one last time:">>
<<dialog "Male NPC" "face" "It's okay, little sister. Close your eyes.">>
<<narrative "The massive doors slammed shut behind them.">>
<<narrative "For a moment, there was only silence.">>
<<narrative "Then she heard it, the sound of steel being drawn. Thalor's voice, gentle but firm:">>
<<dialog "Thalor" "facepast" "It will be quick, I promise. You won't feel any pain.">>
<<narrative "A child's voice, small and trusting:">>
<<dialog "Male NPC" "face" "Will we see Mama and Papa again?">>
<<dialog "Thalor" "facepast" "Yes. You'll see them again.">>
<<narrative "The sounds that followed would haunt Mariel for the rest of her life.">>
<<narrative "She collapsed outside the throne room doors, sobbing uncontrollably. Her faith, her certainty about good and evil, her belief in heroism, it all shattered in that moment.">>
<<thought "Mariel" "temple" "*We were supposed to be the heroes,*" "she thought through her tears" "*We were supposed to save people, not murder children.*">>
<<narrative "When the doors finally opened again, Thalor emerged alone. His sword was clean, but his eyes were hollow. He looked at Mariel with such pain that she almost didn't recognize him.">>
<<dialog "Thalor" "facepast" "It's done." "His voice was barely a whisper" "I've become what I swore to fight against.">>
<<narrative "The memory fades, but the pain remains. Mariel's hands shake as she remembers that day, the day she learned that sometimes the greatest evil isn't what you fight against, but what you become in the process of fighting.">>
<<narrative "The children's voices still echo in her dreams, asking why, asking for mercy, asking for their parents. And she has no answers, only the terrible knowledge that sometimes there are no good choices, only terrible ones.">>
<<continueBox "MarielBackToPresent" "Return to Present" "">>
</div>
<</nobr>>
<<pov "mariel" "echoesofashes.mp3">><<nobr>>
<div class="passage-container rylan">
<<set $timeOfDay = "morning">><<set $daysPassed = 0>><<set $chapter = 0>>
<center><h1 style="color: #fff; text-shadow: 2px 2px 4px rgba(0,0,0,0.5); margin-bottom: 30px;">Chapter 0: The Ones Without Names</h1></center>
<center><img src="images/landscapes/lindale.webp" alt="Village Morning" width="400"></center>
<<narrative "Twenty years have passed since the legendary heroes defeated the Demon King.">>
<<narrative "The world has known peace, prosperity, and growth. Towns have flourished, trade routes have expanded, and the monster threat has been reduced to manageable levels. The Adventurer's Guild, once a desperate necessity for survival, now serves as both protector and opportunity for those seeking fame and fortune.">>
<<narrative "But in the shadows of this peaceful world, something stirs. The seals that bind the defeated evils weaken with each passing year, and those who remember the old terrors grow fewer and more complacent.">>
<<narrative "In a small town named Lindale, far from the great cities and their grand adventures, a young man prepares to face his third attempt at the guild exam. His name is $humanName, and though he doesn't know it yet, his story is about to intersect with forces far greater than he can imagine.">>
<<narrative "This is the story of how heroes are made, how bonds are forged, and how even the most innocent desires can lead to the most profound changes.">>
<<narrative "This is the story of $humanName, of his dreams, his relationships, and the dark power that will soon enter his life and change everything.">>
<center><img src="images/rylan/portrait.webp" alt="Rylan Portrait" width="400"></center>
<<narrative "Let the story begin...">>
<<continueBox "WakeUp" "The Story Begins" "">>
</div>
<</nobr>>
<<pov "rylan" "start1.mp3">><<nobr>>
<<set _baseRylanMuscleRoll = random(1, 100)>>
<<set _baseSerinExhibRoll = random(1, 100)>>
<<set _baseRylanVoiceRoll = random(1, 100)>>
<<set _baseRylanClothingRoll = random(1, 100)>>
<<set _baseLioraVoyeurRoll = random(1, 100)>>
<<set _baseLioraSubmissiveRoll = random(1, 100)>>
<<set _rylanBaseThreshold = 35>>
<<set _rylanLustMod = Math.floor($rylan_Lust / 20) * -5>>
<<set _rylanCorruptionMod = Math.floor($rylan_corruption / 20) * -10>>
<<set _rylanFinalThreshold = _rylanBaseThreshold + _rylanLustMod + _rylanCorruptionMod>>
<<set _serinBaseThreshold = 35>>
<<set _serinLustMod = Math.floor($serin_Lust / 20) * -5>>
<<set _serinCorruptionMod = Math.floor($serin_corruption / 20) * -10>>
<<set _serinFinalThreshold = _serinBaseThreshold + _serinLustMod + _serinCorruptionMod>>
<div class="passage-container rylan">
<<dialog "Mariel" "face" "Be careful, and remember what I said,">>
<<narrative "Mariel called after them as they set off down the path to the guild. Her voice carried that familiar mix of warmth and worry that always made $humanName's chest tighten a little.">>
<<narrative "The morning sun was barely peeking over the rooftops as the three of them made their way through the gradually awakening town. Serin, as usual, took the lead with an energetic bounce in her step that seemed almost criminal for this early hour.">>
<<dialog "Serin" "facesmirk" "So, about that time you tried to impress Liora with your 'advanced combat technique' and ended up face-first in the training dummy...">>
<<narrative "Serin's grin was positively demonic as she walked backwards in front of them, her athletic form moving with natural grace despite not even watching where she was going.">>
<center><img src="images/serin/poses/stretch.webp" alt="Serin Stretching" width="600"></center>
<<if $rylan_MuscleFetish <= 0 && _baseRylanMuscleRoll <= _rylanFinalThreshold>>
<<set _baseGain = 0.1>>
<<set _rylanMuscleBonus = ($rylan_naturalTendencies ?? []).includes("muscle") ? 1.5 : 1>>
<<set _finalMuscleGain = _baseGain * _rylanMuscleBonus>>
<<set $rylan_MuscleFetish += _finalMuscleGain>>
<<trackFetish "Rylan" "Muscle" _finalMuscleGain>>
<<set _sweatGain = 0.1>>
<<set _rylanSweatBonus = ($rylan_naturalTendencies ?? []).includes("sweat") ? 1.5 : 1>>
<<set _finalSweatGain = _sweatGain * _rylanSweatBonus>>
<<set $rylan_SmellFetish += _finalSweatGain>>
<<trackFetish "Rylan" "Smell" _finalSweatGain>>
<<narrative "The morning light caught on Serin's athletic form, but $humanName found her obvious display of physical prowess somewhat off-putting. There was such a thing as too much muscle definition.">>
<<changeAffection "Rylan" "Serin" -1>>
<<elseif _baseRylanMuscleRoll <= _rylanFinalThreshold>>
<<set _baseGain = 0.2>>
<<set _rylanMuscleBonus = ($rylan_naturalTendencies ?? []).includes("muscle") ? 1.5 : 1>>
<<set _finalMuscleGain = _baseGain * _rylanMuscleBonus>>
<<set $rylan_MuscleFetish += _finalMuscleGain>>
<<trackFetish "Rylan" "Muscle" _finalMuscleGain>>
<<set _sweatGain = 0.2>>
<<set _rylanSweatBonus = ($rylan_naturalTendencies ?? []).includes("sweat") ? 1.5 : 1>>
<<set _finalSweatGain = _sweatGain * _rylanSweatBonus>>
<<set $rylan_SmellFetish += _finalSweatGain>>
<<trackFetish "Rylan" "Smell" _finalSweatGain>>
<<set $rylan_Lust += 3>>
<<trackLust "Rylan" 3>>
<<narrative "The morning sun caught on the sheen of sweat from Serin's morning training, drawing $humanName's attention to the defined muscles of her arms and the curve of her neck.">>
<</if>>
<<dialog "Rylan" "faceangry" "I was not staring!">>
<<narrative "$humanName protested, trying not to notice how her training outfit hugged her figure as she stretched mid-walk.">>
<<if $rylan_ExhibitionismFetish <= 0 && _baseSerinExhibRoll <= _serinFinalThreshold>>
<<set _baseGain = 0.1>>
<<set _rylanExhibBonus = ($rylan_naturalTendencies ?? []).includes("exhibitionism") ? 1.5 : 1>>
<<set _finalExhibGain = _baseGain * _rylanExhibBonus>>
<<set $rylan_ExhibitionismFetish += _finalExhibGain>>
<<trackFetish "Rylan" "Exhibitionism" _finalExhibGain>>
<<set _voyeurGain = 0.1>>
<<set _rylanVoyeurBonus = ($rylan_naturalTendencies ?? []).includes("voyeurism") ? 1.5 : 1>>
<<set _finalVoyeurGain = _voyeurGain * _rylanVoyeurBonus>>
<<set $rylan_VoyeurismFetish += _finalVoyeurGain>>
<<trackFetish "Rylan" "Voyeurism" _finalVoyeurGain>>
<<narrative "Serin's constant need to show off and draw attention made $humanName cringe internally. Her exhibitionist tendencies were becoming more uncomfortable by the day.">>
<<changeAffection "Rylan" "Serin" -1>>
<<elseif _baseSerinExhibRoll <= _serinFinalThreshold>>
<<set _exhibGain = 0.2>>
<<set _serinExhibBonus = ($serin_naturalTendencies ?? []).includes("exhibitionism") ? 1.5 : 1>>
<<set _finalSerinExhibGain = _exhibGain * _serinExhibBonus>>
<<set $serin_ExhibitionismFetish += _finalSerinExhibGain>>
<<trackFetish "Serin" "Exhibitionism" _finalSerinExhibGain>>
<<set _voyeurGain = 0.2>>
<<set _rylanVoyeurBonus = ($rylan_naturalTendencies ?? []).includes("voyeurism") ? 1.5 : 1>>
<<set _finalVoyeurGain = _voyeurGain * _rylanVoyeurBonus>>
<<set $rylan_VoyeurismFetish += _finalVoyeurGain>>
<<trackFetish "Rylan" "Voyeurism" _finalVoyeurGain>>
<<narrative "Serin stretched deliberately, her training outfit hugging her athletic form.">>
<<dialog "Serin" "facesmirk" "Aww, but you make it so fun to tease~">>
<<set $rylan_Lust += 2>>
<<trackLust "Rylan" 2>>
<</if>>
<<dialog "Liora" "faceshortpink" "I... I thought it was quite impressive, actually,">>
<<narrative "Liora interjected softly, her healing magic unconsciously manifesting as a gentle glow around her hands when she got flustered.">>
<<changeAffection "Liora" "Rylan" 1>>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _magicGain = 0.2>>
<<set _rylanMagicBonus = ($rylan_naturalTendencies ?? []).includes("magic") ? 1.5 : 1>>
<<set _finalMagicGain = _magicGain * _rylanMagicBonus>>
<<set $rylan_MagicFetish += _finalMagicGain>>
<<trackFetish "Rylan" "Magic" _finalMagicGain>>
<<set _voiceGain = 0.2>>
<<set _rylanVoiceBonus = ($rylan_naturalTendencies ?? []).includes("voice") ? 1.5 : 1>>
<<set _finalVoiceGain = _voiceGain * _rylanVoiceBonus>>
<<set $rylan_VoiceFetish += _finalVoiceGain>>
<<trackFetish "Rylan" "Voice" _finalVoiceGain>>
<<narrative "The ethereal glow highlighted her delicate features, her soft voice carrying an almost musical quality that made $humanName's heart skip.">>
<<set $rylan_Lust += 3>>
<<trackLust "Rylan" 3>>
<</if>>
<<dialog "Serin" "facesmirk" "Oh? What exactly was impressive? The part where he spun around like a drunk chicken, or the part where he got intimate with the training dummy?">>
<<narrative "Serin's eyes sparkled with mischief as she dodged $humanName's half-hearted swipe.">>
<<if random(1, 100) <= 35>>
<<set _baseGain = 0.1>>
<<set _lioraJealousyBonus = ($liora_naturalTendencies ?? []).includes("jealousy") ? 1.5 : 1>>
<<set _finalJealousyGain = _baseGain * _lioraJealousyBonus>>
<<set $liora_JealousyFetish += _finalJealousyGain>>
<<trackFetish "Liora" "Jealousy" _finalJealousyGain>>
<<set _submissiveGain = 0.1>>
<<set _lioraSubmissiveBonus = ($liora_naturalTendencies ?? []).includes("submission") ? 1.5 : 1>>
<<set _finalSubmissiveGain = _submissiveGain * _lioraSubmissiveBonus>>
<<set $liora_SubmissionFetish += _finalSubmissiveGain>>
<<trackFetish "Liora" "Submission" _finalSubmissiveGain>>
<<narrative "Liora's fingers twisted in her robes as she watched their playful interaction, her usual serene expression faltering slightly.">>
<<set $liora_SerinAffection -= 1>>
<<trackAffection "Liora" "Serin" -1>>
<<set $liora_RylanAttraction += 1>>
<<trackAttraction "Liora" "Rylan" 1>>
<</if>>
<<dialog "Rylan" "faceangry" "At least I'm not the one who screamed when a butterfly landed on their nose during stealth training.">>
<<dialog "Serin" "faceembarrassed" "It was a very aggressive butterfly!">>
<<narrative "Serin protested, her cheeks coloring slightly.">>
<<dialog "Serin" "facesmirk" "Besides, you're just jealous because I passed my exam first~">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _voiceGain = 0.1>>
<<set _serinVoiceBonus = ($serin_naturalTendencies ?? []).includes("voice") ? 1.5 : 1>>
<<set _finalSerinVoiceGain = _voiceGain * _serinVoiceBonus>>
<<set $serin_VoiceFetish += _finalSerinVoiceGain>>
<<trackFetish "Serin" "Voice" _finalSerinVoiceGain>>
<<set _submissiveGain = 0.1>>
<<set _serinSubmissiveBonus = ($serin_naturalTendencies ?? []).includes("submission") ? 1.5 : 1>>
<<set _finalSerinSubmissiveGain = _submissiveGain * _serinSubmissiveBonus>>
<<set $serin_SubmissionFetish += _finalSerinSubmissiveGain>>
<<trackFetish "Serin" "Submission" _finalSerinSubmissiveGain>>
<<narrative "The way $humanName managed to turn her teasing back on her sent an unexpected shiver down Serin's spine.">>
<<set $serin_Lust += 2>>
<<trackLust "Serin" 2>>
<</if>>
<<dialog "Liora" "faceshortpink" "Um... the guild is just around this corner...">>
<<narrative "Liora's attempt at mediation was interrupted by Serin suddenly grabbing both their hands.">>
<<dialog "Serin" "facehappy" "Race you there!">>
<<narrative "she declared, pulling them into a run before either could protest. Her grip was firm but gentle, her warrior's calluses rough against $humanName's palm.">>
<<if random(1, 100) <= _rylanFinalThreshold>>
<<set _touchGain = 0.2>>
<<set _rylanTouchBonus = ($rylan_naturalTendencies ?? []).includes("touch") ? 1.5 : 1>>
<<set _finalRylanTouchGain = _touchGain * _rylanTouchBonus>>
<<set $rylan_TouchFetish += _finalRylanTouchGain>>
<<trackFetish "Rylan" "Touch" _finalRylanTouchGain>>
<<set _strengthGain = 0.2>>
<<set _rylanStrengthBonus = ($rylan_naturalTendencies ?? []).includes("strength") ? 1.5 : 1>>
<<set _finalRylanStrengthGain = _strengthGain * _rylanStrengthBonus>>
<<set $rylan_StrengthFetish += _finalRylanStrengthGain>>
<<trackFetish "Rylan" "Strength" _finalRylanStrengthGain>>
<<narrative "The contrast between her strength and gentleness made $humanName's pulse quicken.">>
<<set $rylan_Lust += 3>>
<<trackLust "Rylan" 3>>
<</if>>
<<if random(1, 100) <= _serinFinalThreshold>>
<<set _touchGain = 0.2>>
<<set _lioraTouchBonus = ($liora_naturalTendencies ?? []).includes("touch") ? 1.5 : 1>>
<<set _finalLioraTouchGain = _touchGain * _lioraTouchBonus>>
<<set $liora_TouchFetish += _finalLioraTouchGain>>
<<trackFetish "Liora" "Touch" _finalLioraTouchGain>>
<<set _strengthGain = 0.2>>
<<set _lioraStrengthBonus = ($liora_naturalTendencies ?? []).includes("strength") ? 1.5 : 1>>
<<set _finalLioraStrengthGain = _strengthGain * _lioraStrengthBonus>>
<<set $liora_StrengthFetish += _finalLioraStrengthGain>>
<<trackFetish "Liora" "Strength" _finalLioraStrengthGain>>
<<narrative "Liora's breath caught at the firm but careful way Serin guided them, her cheeks flushing pink.">>
<<set $liora_Lust += 3>>
<<trackLust "Liora" 3>>
<</if>>
<<narrative "Their voices carried on the morning breeze, a perfect harmony of Serin's confident laughter, Liora's gentle protests, and $humanName's mix of exasperation and amusement.">>
<center><img src="images/serin/citybackmuscle.webp" alt="Serin Adjusting Outfit" width="600"></center>
<<narrative "Just before they reached the guild entrance, Serin stopped to adjust her leather training outfit, running a hand through her wind-tousled red hair. The morning sun caught on the intricate buckles of her top, drawing attention to the well-defined muscles of her back.">>
<<if $rylan_ClothingFetish <= 0 && random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.1>>
<<set _rylanClothingBonus = ($rylan_naturalTendencies ?? []).includes("clothing") ? 1.5 : 1>>
<<set _finalClothingGain = _baseGain * _rylanClothingBonus>>
<<set $rylan_ClothingFetish += _finalClothingGain>>
<<trackFetish "Rylan" "Clothing" _finalClothingGain>>
<<set _leatherGain = 0.1>>
<<set _rylanLeatherBonus = ($rylan_naturalTendencies ?? []).includes("leather") ? 1.5 : 1>>
<<set _finalLeatherGain = _leatherGain * _rylanLeatherBonus>>
<<set $rylan_LeatherFetish += _finalLeatherGain>>
<<trackFetish "Rylan" "Leather" _finalLeatherGain>>
<<narrative "$humanName tried not to stare at how the leather hugged her form, feeling oddly uncomfortable with the way the outfit drew attention.">>
<<elseif random(1, 100) <= _rylanFinalThreshold>>
<<set _baseGain = 0.2>>
<<set _rylanClothingBonus = ($rylan_naturalTendencies ?? []).includes("clothing") ? 1.5 : 1>>
<<set _finalClothingGain = _baseGain * _rylanClothingBonus>>
<<set $rylan_ClothingFetish += _finalClothingGain>>
<<trackFetish "Rylan" "Clothing" _finalClothingGain>>
<<set _leatherGain = 0.2>>
<<set _rylanLeatherBonus = ($rylan_naturalTendencies ?? []).includes("leather") ? 1.5 : 1>>
<<set _finalLeatherGain = _leatherGain * _rylanLeatherBonus>>
<<set $rylan_LeatherFetish += _finalLeatherGain>>
<<trackFetish "Rylan" "Leather" _finalLeatherGain>>
<<narrative "The way the leather creaked softly as she moved sent an unexpected shiver down $humanName's spine.">>
<<set $rylan_Lust += 3>>
<<trackLust "Rylan" 3>>
<</if>>
<<if random(1, 100) <= _serinFinalThreshold>>
<<set _voyeurGain = 0.2>>
<<set _lioraVoyeurBonus = ($liora_naturalTendencies ?? []).includes("voyeurism") ? 1.5 : 1>>
<<set _finalLioraVoyeurGain = _voyeurGain * _lioraVoyeurBonus>>
<<set $liora_VoyeurismFetish += _finalLioraVoyeurGain>>
<<trackFetish "Liora" "Voyeurism" _finalLioraVoyeurGain>>
<<narrative "Liora's eyes lingered on Serin's outfit for a moment longer than necessary, her cheeks coloring slightly.">>
<<set $liora_Lust += 2>>
<<trackLust "Liora" 2>>
<</if>>
<<dialog "Serin" "facesmirk" "All this training is really paying off~">>
<<narrative "she said with a playful grin, flexing her arm muscles as she stretched.">>
<<dialog "Serin" "facesmirk" "Though I think someone's been enjoying the results more than they'd like to admit~">>
<<dialog "Rylan" "faceangry" "I was not staring!">>
<<narrative "$humanName protested automatically, though the heat in his cheeks suggested otherwise.">>
<<dialog "Liora" "faceshortpink" "The... the guild building looks impressive today...">>
<<narrative "Liora attempted to change the subject, her voice slightly higher than usual.">>
<<narrative "The guild building loomed ahead, its stone walls weathered but proud, ready to receive another day's worth of adventurers and their stories.">>
<<continueBox "GuildEntrance" "Guild Entrance" "">>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<<set $configUnlocked = true>><<set $metRylan = true>><<set $metMariel = true>><<set $metThalor = true>><<script>>$(document).ready(function() {if (!$('#portraitContainer').length) {const portraitContainer = $('<div id="portraitContainer"></div>');$('#ui-bar').prepend(portraitContainer);}setPageElement('portraitContainer', 'StoryLeftSidebar');});if (State.variables.rylan_Lust > 0) {let oldLust = State.variables.rylan_Lust;State.variables.rylan_Lust = Math.max(0, oldLust - State.variables.lustDecayOnSleep);StatSystem.showStatChange("Rylan's Lust", oldLust, State.variables.rylan_Lust);}<</script>>
<div class="passage-container rylan">
<<narrative "Morning sun filters through the wooden shutters. A light breeze stirs the curtains.">>
<<narrative "$humanName stretches in bed, still sore despite Mariel's pampering care. She always insists on more sleep, more food, more rest before any strain.">>
<<narrative "Today is the day of final preparations.">>
<<narrative "$humanName sits up slowly.">>
<<dialog "Rylan" "face" "Another try... I won't screw it up this time," "$humanName mutters">>
<<continueBox "CampMorning" "Morning Routine" "">>
</div>
<</nobr>>
<<pov "rylan" "start1.mp3">>
<<script>>
// Wait for DOM to be ready
$(document).ready(function() {
// Unlock diaries with delay
setTimeout(() => {
if (State.variables.metRylan) {
DiarySystem.unlockCharacter(State.variables.humanName);
}
setTimeout(() => {
if (State.variables.metMariel) {
DiarySystem.unlockCharacter("Mariel");
}
setTimeout(() => {
if (State.variables.metThalor) {
DiarySystem.unlockCharacter("Thalor");
}
}, 1000);
}, 1000);
}, 1000);
});
<</script>><<nobr>>
<<set $currentPOV = "Serin">>
<div class="passage-container serin">
<<narrative "The transformation seems to have finished, and $humanName straightens up, looking... different somehow. Not visibly, but there's something in his posture, his expression.">>
<<dialog "Rylan" "facesmile" "I'm okay. Actually, I'm feeling amazing." "His voice carries a confidence I haven't heard before" "You should all try one too. This power... it's incredible.">>
<<dialog "Liora" "faceworried" "Are you sure it's safe?" "Liora looks worried, her healing instincts making her cautious">>
<<dialog "Seryk" "face" "I don't know, bro. Messing with soul magic is pretty serious stuff.">>
<<dialog "Mariel" "faceworried" "Perhaps we should be more careful..." "Mariel's experience as an ex-priestess makes her hesitant">>
<<narrative "But something about $humanName's transformation intrigues me. If there's power to be gained, I want it. I've always been the one pushing boundaries, taking risks.">>
<<dialog "Serin" "face" "You know what? I'll try one." "I step forward and grab one of the glowing stones before anyone can stop me">>
<<dialog "Liora" "face" "Serin, wait!">>
<<narrative "Too late. Without hesitation, I pop the stone into my mouth and swallow it whole. The moment it goes down, energy surges through me like lightning. My muscles feel stronger, my reflexes sharper, my mind clearer. This is... incredible.">>
<<dialog "Nimeria" "face" "Oh wonderful! Another brave soul!" "Nimeria claps her hands excitedly" "Now do the same - think of a memory that changed your life, something that shaped who you are!">>
<<dialog "Mariel" "face" "How do you even know about this process?" "Mariel asks, her ex-priestess training making her suspicious of unknown magic">>
<<dialog "Nimeria" "face" "Oh, I read about it in a book from Veryn! Ancient soul magic is fascinating!" "Nimeria explains cheerfully">>
<<dialog "Seryk" "face" "Nim has read many books in her life. She's quite the scholar.">>
<<dialog "Mariel" "faceworried" "Veryn... somehow I think I've heard that name before..." "Mariel frowns, trying to place the familiar name">>
<<narrative "I close my eyes, feeling the stone's energy pulsing through me. A memory that changed my life?">>
<<dialog "Serin" "face" "Hmm... no idea." "I frown, trying to think of something significant">>
<<dialog "Nimeria" "face" "Anything! Maybe about your friendship with Liora and $humanName?">>
<<narrative "Friendship. The word hits me like a punch to the gut, and suddenly I know exactly which memory the stone wants.">>
<<thought "Serin" "facesad" "That night. The night I followed them, hoping to finally tell $humanName how I felt. Instead, I hid behind a tree and watched as he confessed his love to Liora. Watched as her face lit up with joy. Watched as they both admitted what I'd feared all along - that they belonged together, and I was just the friend on the sidelines." "The memory floods back with painful clarity. The way my heart shattered as I realized I'd lost him before I ever had the chance to tell him how I felt. The bitter taste of jealousy mixed with the ache of knowing I could never compete with sweet, innocent Liora." "I remember standing there in the shadows, tears streaming down my face, feeling like such a fool for thinking someone like $humanName could ever choose me over her. The tomboy who teased and fought, versus the gentle healer who brought out his protective instincts." "As the Soulstone feeds on this memory, the energy shifts. It becomes something cold and hungry, feeding on my heartbreak, my jealousy, my sense of being left behind. The power doesn't feel warm and comforting - it feels sharp and bitter, like the emotions that created it.">>
<div class="soul-corruption-showcase"><div class="corruption-aura"></div><div class="corruption-shadows"></div><div class="corruption-text"><h3>🌑 SOUL CORRUPTION AWAKENED 🌑</h3><p>Dark power courses through your soul, born from heartbreak and jealousy.</p></div></div>
<center><img src="images/serin/face.webp" alt="Serin" width="300"></center>
<<narrative "The corruption settles into my bones, whispering dark thoughts. Maybe I don't have to just accept being the third wheel. Maybe I don't have to smile and pretend I'm happy for them. Maybe it's time I started fighting for what I want instead of just watching from the sidelines.">>
<<dialog "Serin" "face" "Wow... that's... intense." "I open my eyes, feeling the dark power thrumming through me. Nobody else can see it, but I can feel how it's changed me">>
<<dialog "Nimeria" "face" "How do you feel?">>
<<dialog "Serin" "face" "Stronger. Much stronger." "And hungrier. Hungrier for things I've been denying myself">>
<<set $serin_combatStats.maxHealth += 25>>
<<set $serin_combatStats.maxStamina += 25>>
<<set $serin_combatStats.physicalPower += 2>>
<<set $serin_combatStats.agility += 2>>
<<set $serin_combatStats.technique += 2>>
<<set $serin_combatStats.willpower += 2>>
<<set $serin_intelligence += 2>>
<<set $serin_perception += 2>>
<<addSoulCorruption "serin" 1>>
<<soulDisplay "serin">>
<<continueBox "SoulstoneReactions" "Continue" "">>
</div>
<</nobr>>
<<pov "serin" "chapter1default.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "I watch as the last of the soul transformations complete. Everyone looks... different somehow. Not physically, but there's something in their eyes, their posture. The power has changed us all.">>
<<dialog "Rylan" "faceworried" "Is everyone alright?" "I ask, concerned about what we've all just experienced.">>
<<dialog "Serin" "facesmile" "Yeah, I'm fine. Better than fine, actually." "There's something new in Serin's voice - a confidence that wasn't there before.">>
<<dialog "Liora" "facesmile" "I feel... different, but in a good way." "Liora's gentle smile seems brighter somehow.">>
<<dialog "Mariel" "facesmile" "I'm perfectly fine, dear." "Mariel's voice is steady, but there's an edge to it I haven't heard before.">>
<<narrative "What if we swallowed more of these stones? Would we get even stronger?">>
<<dialog "Nimeria" "facesmile" "Oh no, that wouldn't do anything! One stone per person is all that works. The soul can only be awakened once!" "Nimeria explains cheerfully.">>
<<dialog "Seryk" "face" "Probably for the best, bro. This kind of power... it's intense." "I nod, feeling the truth of his words. The energy coursing through me is incredible, but also overwhelming.">>
<<narrative "Today has been exhausting. Maybe we should all get some rest.">>
<<dialog "Liora" "face" "That sounds like a good idea. All this... it's a lot to process.">>
<<dialog "Mariel" "face" "Yes, sleep would be wise. We can discuss what this all means tomorrow." "As we all head to our respective rooms, I can't shake the feeling that everything has changed. The power flowing through me whispers of possibilities I never imagined before.">>
<<narrative "⚡ Soul System Awakened ⚡">>
<<narrative "🌟 Soul Blessings (Divine Path): Resist corruption, gain willpower, but miss out on certain... experiences. Pure hearts stay strong but may remain naive.">>
<<narrative "🔥 Soul Corruption (Dark Path): Embrace desires, gain power through indulgence, but lose resistance to temptation. Corruption opens new possibilities but at a cost.">>
<<narrative "⚖️ The Balance: Your choices in upcoming scenes will determine your soul's path. Each character can develop differently based on their experiences and decisions.">>
<<narrative "The stones have awakened your souls - now you must choose how to use this power...">>
<<changeAffection "Rylan" "Liora" 2>>
<<changeAffection "Rylan" "Serin" 2>>
<<changeAffection "Rylan" "Mariel" 1>>
<<changeAffection "Rylan" "Seryk" 2>>
<<changeAffection "Rylan" "Nimeria" 1>>
<<changeAffection "Liora" "Rylan" 2>>
<<changeAffection "Liora" "Serin" 1>>
<<changeAffection "Serin" "Rylan" 2>>
<<changeAffection "Serin" "Liora" 1>>
<<changeAffection "Mariel" "Rylan" 1>>
<<changeAffection "Seryk" "Rylan" 2>>
<<changeAffection "Nimeria" "Rylan" 1>>
<<continueBox "NightActivities2" "Continue" "">>
</div>
<<pov "rylan" "chapter1default.mp3">>
<</nobr>><<nobr>>
<<set $timeOfDay = "afternoon">>
<div class="passage-container rylan">
<<narrative "After all the excitement of the morning's revelations and shopping trip, Mariel suggests we spend the afternoon together outdoors.">>
<<dialog "Mariel" "facesmile" "It's such a beautiful day, and we've all been cooped up inside. Let's have a proper picnic!" "She gestures toward a nearby meadow filled with colorful wildflowers" "There's a lovely spot just past the flower fields.">>
<<dialog "Liora" "faceshortpink" "Oh, that sounds wonderful! The flowers are so pretty this time of year.">>
<<dialog "Serin" "face" "As long as there's food involved, I'm in!">>
<center><img src="images/landscapes/flowerbed.webp" alt="Picnic Meadow" width="500"></center>
<<narrative "Soon we're all gathered on a large blanket spread across the soft grass, surrounded by patches of vibrant wildflowers swaying gently in the breeze. Mariel has outdone herself with the spread - fresh bread, cheese, fruits, and even some of her famous honey cakes.">>
<<dialog "Serin" "face" "This is perfect! We should do this more often." "Serin stretches out on the blanket, looking completely relaxed for once">>
<<dialog "Nimeria" "facesmile" "What a delightful idea, Mariel! You always know how to bring everyone together.">>
<<narrative "The girls start playing around, laughing as they chase each other through the flowers. Even Liora, despite her new revealing dress, seems comfortable running and playing. I watch them with a smile while Seryk and I find ourselves in easy conversation.">>
<<dialog "Seryk" "face" "You know, bro, this is nice. Just... peaceful." "He takes a bite of honey cake" "Sometimes I forget what it's like to just exist without fighting or training.">>
<<dialog "Rylan" "face" "Yeah, it is nice. Though I have to ask - are you really okay with your... fluid regeneration power?">>
<<dialog "Seryk" "face" "Hey, a power's a power, right? Besides, there might be more applications than we think." "He grins" "Who knows? Maybe it'll come in handy when we least expect it.">>
<img src="images/nimeria/flowerfield/sitting.webp" alt="Nimeria in FlowerField" width="300">
<<narrative "While we talk, I notice Liora has wandered off toward a particularly dense patch of flowers. She's kneeling among the blooms, carefully selecting the purest white blossoms. Her pink dress stands out beautifully against the natural backdrop.">>
<<dialog "Liora" "faceshortpink" "These will be perfect!" "She calls out, gathering an armful of pure white flowers - delicate daisies and small white blossoms">>
<img src="images/liora/flowerfield/pickingflowers.webp" alt="Liora in FlowerField" width="300">
<<dialog "Nimeria" "face" "What are you making, dear Liora?">>
<<dialog "Liora" "faceshortpink" "A flower crown! I want to make one for you, Nimeria. As a thank you for helping me pick out this dress.">>
<<narrative "I watch as Liora sits cross-legged, her fingers working skillfully to weave the stems together. There's something almost magical about the way she creates the delicate crown, her gentle touch bringing the flowers into perfect harmony.">>
<<dialog "Liora" "faceshortpink" "There! All finished." "She stands up, holding the completed crown with obvious pride" "Nimeria, would you like to wear it?">>
<<dialog "Nimeria" "facelaugh" "Oh, Liora! It's absolutely beautiful!" "Nimeria's eyes light up as she accepts the crown" "You're so thoughtful! I feel honored to wear something you made with your own hands.">>
<<narrative "Liora carefully places the flower crown on Nimeria's head, adjusting it until it sits perfectly. The pure white flowers complement Nimeria's features beautifully, giving her an almost ethereal appearance.">>
<img src="images/nimeria/flowerfield/flowercrown.webp" alt="Nimeria with FlowerCrown" width="400">
<<dialog "Nimeria" "face" "How do I look?" "She twirls around, the flowers seeming to glow in the afternoon sunlight">>
<<dialog "Liora" "faceshortpink" "Like a fairy princess!">>
<<dialog "Serin" "face" "You look great, Nimeria!">>
<<narrative "As the afternoon wears on, the sun begins to sink lower in the sky, casting long shadows across the meadow.">>
<<dialog "Mariel" "face" "We should start heading back soon. It'll be evening before we know it.">>
<<narrative "Everyone begins gathering their things, but Seryk pulls me aside with a curious grin.">>
<<dialog "Seryk" "face" "Hey bro, I've been meaning to ask... how far have you gotten with Liora?">>
<<dialog "Rylan" "faceembarrassed" "We... well, we hold hands sometimes. And we hug from time to time." "I feel my cheeks warming as I look away shyly">>
<<dialog "Seryk" "face" "What the hell? Not even a kiss?" "His eyes widen in disbelief">>
<<dialog "Rylan" "face" "I mean... you probably have a lot more experience than I do," "I mumble, feeling even more embarrassed">>
<<dialog "Seryk" "facelaugh" "No way, bro! I'm a full virgin too." "He laughs heartily" "Who would lay with a demon slave, right?">>
<<narrative "The casual way he says it makes me realize how different our situations really are. While I'm nervous about romance, he's dealing with entirely different challenges.">>
<<dialog "Rylan" "face" "Seryk, you're not a slave. You're our friend... our family.">>
<<dialog "Seryk" "face" "Thanks, bro. That means a lot." "He grins and pats my shoulder" "But seriously, you should make a move soon. Life's too short to just hold hands forever.">>
<<narrative "As we finish talking, I notice Seryk approaching Nimeria as she admires her reflection in a small hand mirror.">>
<<continueBox "CrownOfAsh" "Continue" "">>
</div>
<<pov "rylan" "chapter1default.mp3">>
<</nobr>><<nobr>>
<div class="chapter-overlay"></div><div class="chapter-title-container"><div class="chapter-title">Chapter 1</div><div class="chapter-subtitle">a crown of ash</div></div><script> $(document).ready(function() { const audio = new Audio('sounds/chapterchange.wav'); audio.play(); setTimeout(function() { $('.chapter-title-container, .chapter-overlay').addClass('fade-out'); }, 3000); }); </script>
<style>
.chapter-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: black;
z-index: 999;
opacity: 1;
transition: opacity 2s;
}
.chapter-title-container {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
z-index: 1000;
opacity: 1;
transition: opacity 2s;
}
.chapter-title {
font-size: 4em;
font-weight: bold;
color: #fff;
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
margin-bottom: 0.5em;
}
.chapter-subtitle {
font-size: 2em;
color: #fff;
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}
.fade-out {
opacity: 0;
pointer-events: none;
}
</style>
<<set $timeOfDay = "morning">>
<div class="passage-container rylan">
<<narrative "I stumble into the kitchen, still half-asleep, and immediately trip over a chair that definitely wasn't there yesterday. Or maybe it was, and I'm just that graceful in the morning.">>
<center><img src="images/landscapes/kitchen.webp" alt="Kitchen" width="400"></center>
<<dialog "Rylan" "face" "Ow... why does furniture hate me?">>
<<dialog "Serin" "face" "Maybe because you attack it with your face every morning?" "Serin's voice carries her usual teasing tone, but there's something... different about it. Sharper.">>
<<dialog "Serin" "face" "Seriously, $humanName, you're like a one-man wrecking crew before breakfast.">>
<<narrative "Liora giggles softly from where she's sitting at the table, her cheeks turning pink when our eyes meet.">>
<<dialog "Liora" "faceembarrassed" "Good morning, $humanName..." "Her voice is shy, sweet, and makes my heart do that weird fluttering thing it's been doing ever since we... well, since we finally admitted how we felt about each other.">>
<<dialog "Rylan" "face" "Morning, Liora." "I can't help but smile at her, which makes her blush even deeper.">>
<<dialog "Serin" "faceangry" "Oh please, get a room you two." "Serin rolls her eyes dramatically, but I catch something flickering across her face, something that looks almost like pain before she covers it with another smirk.">>
<<dialog "Serin" "faceangry" "All this lovey-dovey stuff is making me sick. Where's the food? I'm starving.">>
<<narrative "I notice she's been training already, there's sweat on her forehead and her hair is messier than usual. The way her training gear clings to her athletic form... I catch myself staring for just a moment too long.">>
<<set _muscleRoll = random(1, 100)>>
<<set _muscleThreshold = 40>>
<<set _muscleMod = Math.floor($rylan_MuscleFetish / 10) * 5>>
<<set _finalMuscleThreshold = _muscleThreshold + _muscleMod>>
<<if _muscleRoll <= _finalMuscleThreshold>>
<<changeFetish "Rylan" "MuscleFetish" 0.1>>
<<changeLust "Rylan" 1>>
<<narrative "Her athletic build is... impressive. I can see the definition in her arms and shoulders.">>
<</if>>
<<set _smellRoll = random(1, 100)>>
<<set _smellThreshold = 35>>
<<set _smellMod = Math.floor($rylan_SmellFetish / 10) * 5>>
<<set _finalSmellThreshold = _smellThreshold + _smellMod>>
<<if _smellRoll <= _finalSmellThreshold>>
<<changeFetish "Rylan" "SmellFetish" 0.1>>
<<changeLust "Rylan" 1>>
<<narrative "There's something about the way she smells after training, not unpleasant, but... intense. Earthy. Real.">>
<</if>>
<<dialog "Rylan" "face" "You were up early. Training again?">>
<<dialog "Serin" "face" "Someone has to stay in fighting shape around here. Unlike certain people who can't even navigate a kitchen without injuring themselves." "She gestures at me with mock exasperation, and I can't help but notice how the movement shows off her toned arms.">>
<<set _armRoll = random(1, 100)>>
<<set _armThreshold = 45>>
<<set _armMod = Math.floor($rylan_MuscleFetish / 10) * 5>>
<<set _finalArmThreshold = _armThreshold + _armMod>>
<<if _armRoll <= _finalArmThreshold>>
<<changeFetish "Rylan" "MuscleFetish" 0.1>>
<<changeLust "Rylan" 1>>
<<narrative "The way her muscles flex when she moves... there's something captivating about her physical strength.">>
<</if>>
<center><img src="images/serin/poses/flexingarms.webp" alt="Sweaty Serin" width="400"></center>
<<narrative "Now that you're finally F-Rank like Liora, we can start taking real missions together.">>
<<dialog "Serin" "face" "No more solo runs for me." "She gestures with obvious pride at her E-Rank badge.">>
<<narrative "The reminder of my new status makes me smile. Yesterday's exam feels like a dream, facing those slimes, actually fighting instead of running, working as a real team. I finally did it.">>
<<dialog "Liora" "faceshortpink" "It's nice to have another F-Rank partner..." "Liora's voice is soft, with a hint of relief.">>
<<dialog "Liora" "faceshortpink" "I've been F-Rank for months now.">>
<<dialog "Serin" "face" "And Elena's challenge still stands, find someone strong enough and she'll promote you two straight to E-Rank to match me." "Serin's tone is light, but there's an edge to it that makes me wonder if she's okay.">>
<<dialog "Rylan" "face" "A strong fourth member, huh? Any ideas?">>
<<dialog "Serin" "face" "Well, it can't be just anyone. Elena made it clear they need to be genuinely powerful, not some random wannabe." "She grins, but it doesn't quite reach her eyes.">>
<<dialog "Serin" "face" "Though I'm sure with your legendary combat skills, we'll have no trouble convincing them." "The word 'legendary' drips with sarcasm, but it's playful rather than mean. Still, I catch that flicker of something across her face again.">>
<<narrative "You did really well in the exam, $humanName. The way you protected me from that last slime...">>
<<dialog "Liora" "faceshortpink" "She looks down at her hands, blushing.">>
<<dialog "Serin" "face" "Oh? What's this about protection?" "Serin's grin becomes more genuine as she playfully nudges Liora.">>
<<dialog "Serin" "face" "I saw you healing him right after. Pretty quick with that magic~">>
<<dialog "Liora" "faceshortpink" "W-well, of course I would! I mean... we're... we're a team, right?">>
<<set _touchRoll = random(1, 100)>>
<<set _touchThreshold = 30>>
<<set _touchMod = Math.floor($rylan_SubmissionFetish / 10) * 3>>
<<set _finalTouchThreshold = _touchThreshold + _touchMod>>
<<if _touchRoll <= _finalTouchThreshold>>
<<changeFetish "Rylan" "SubmissionFetish" 0.1>>
<<changeLust "Rylan" 1>>
<<narrative "Her shy reaction makes my heart race. There's something about her innocent responses that...">>
<</if>>
<<set _lioraRoll = random(1, 100)>>
<<set _lioraThreshold = 45>>
<<if _lioraRoll <= _lioraThreshold>>
<<changeLust "Liora" 1>>
<<narrative "The simple mention of their teamwork sends a little shiver through her.">>
<</if>>
<<narrative "Just then, Mariel walks in, looking tired but managing a warm smile.">>
<<dialog "Mariel" "facesad" "Good morning, everyone. I hope you're all hungry, I made extra breakfast to celebrate our newest F-Rank adventurer.">>
<<dialog "Rylan" "face" "Morning, $marielToHuman. You didn't have to make extra...">>
<<dialog "Mariel" "face" "Nonsense. New adventurers need proper nutrition, and Serin needs to keep her strength up for all those E-Rank missions." "She moves to the stove, but I notice her movements seem... distant. Like she's going through the motions.">>
<<narrative "Serin, apparently picking up on the same thing, bounds over to help. As she moves past me, I catch another whiff of her post-training scent.">>
<<dialog "Serin" "face" "Here, let me help with that. You look tired.">>
<<dialog "Mariel" "face" "Thank you, dear. That's very thoughtful.">>
<<narrative "As they work together, I find myself sitting next to Liora, our hands almost touching on the table. The moment feels both natural and terrifying. When our fingers accidentally brush, she jumps slightly, her cheeks turning an even deeper shade of pink.">>
<<narrative "$humanName... what do you think we should do about finding a fourth member?">>
<<dialog "Rylan" "face" "Honestly? I'm not sure. Elena said they need to be genuinely strong, not just skilled." "I glance at Serin, then at Liora.">>
<<dialog "Rylan" "face" "Maybe we should visit the guild today, see if anyone's looking for a party.">>
<<narrative "Serin's hand pauses for just a moment as she's setting plates down, but then she continues like nothing happened.">>
<<dialog "Serin" "face" "That's... actually not a terrible idea. Though knowing our luck, we'll end up with someone who makes you look coordinated.">>
<<dialog "Mariel" "face" "Actually, speaking of the guild..." "Mariel turns from the stove, holding a plate of eggs.">>
<<dialog "Mariel" "face" "You should probably take on some simple F-Rank missions first. Build up your experience as a team before worrying about promotions.">>
<<dialog "Rylan" "face" "That makes sense.">>
<<dialog "Serin" "face" "I'll come with you, obviously. Someone needs to make sure you don't get lost on the way to the guild hall." "She grins, though there's still that edge to it.">>
<<dialog "Liora" "faceshortpink" "Me too... if that's okay?" "Her voice is soft, hopeful.">>
<<dialog "Rylan" "face" "Of course. We're a party now, right?">>
<<narrative "After finishing breakfast and trying not to notice how Serin's shirt rides up slightly when she stretches, we prepare to head out to the Adventurer's Guild to speak with Elena about our next steps as F-Rank adventurers.">>
<<set _clothingRoll = random(1, 100)>>
<<set _clothingThreshold = 50>>
<<set _clothingMod = Math.floor($rylan_ClothingFetish / 10) * 4>>
<<set _finalClothingThreshold = _clothingThreshold + _clothingMod>>
<<if _clothingRoll <= _finalClothingThreshold>>
<<changeFetish "Rylan" "ClothingFetish" 0.1>>
<<changeLust "Rylan" 1>>
<<narrative "The way clothing moves with her body, revealing little glimpses... it's more enticing than it should be.">>
<</if>>
<<set _exhibRoll = random(1, 100)>>
<<set _exhibThreshold = 55>>
<<set _exhibMod = Math.floor($rylan_ExhibitionismFetish / 10) * 3>>
<<set _finalExhibThreshold = _exhibThreshold + _exhibMod>>
<<if _exhibRoll <= _finalExhibThreshold>>
<<changeFetish "Rylan" "VoyeurismFetish" 0.1>>
<<changeLust "Rylan" 1>>
<<narrative "I shouldn't be looking, but I can't help myself. There's something thrilling about catching these small, unguarded moments.">>
<</if>>
<center><img src="images/serin/poses/stretch.webp" alt="Sweaty Serin" width="400"></center>
<<if $rylan_Lust > 50>>
<<narrative "The tension in my body from watching Serin train is getting hard to ignore. Maybe I should... take care of this before we head out.">>
<<choiceBox "Choose Your Path" "Head to the Adventurer's Guild" "GuildMorning" "BeginChapter1=guild" "Excuse yourself to your room first" "RylanMorningRelease" "BeginChapter1=release">>
<<else>>
<<continueBox "GuildMorning" "Continue" "">>
<</if>>
</div>
<<pov "rylan" "chapter1default.mp3">>
<</nobr>><<nobr>>
<<addSoulBlessing "rylan" 1>>
<div class="passage-container rylan">
<<narrative "The memory comes flooding back - that moment when I confessed my love to Liora under the moonlight. Her surprised gasp, then that radiant smile when she said she loved me too. That perfect moment when we both finally admitted our feelings.">>
<<narrative "As the Soulstone's energy courses through me, I feel that same warmth and joy. The energy shifts, becoming something golden and warm - a divine blessing flowing through my veins.">>
<<narrative "The blessing settles deep within me, invisible to the others but filling me with warmth and purpose. I feel a sense of righteousness, of divine favor, of being on the right path. The love I have for Liora and my friends has become a source of actual power.">>
<<narrative "The golden energy settles into my bones, becoming part of me. I can feel the blessing taking root, ready to grow stronger with each act of love, each moment of selflessness, each time I choose to protect rather than harm.">>
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<div class="soul-blessing-showcase"><div class="blessing-aura"></div><div class="blessing-particles"></div><div class="blessing-text"><h3>✨ SOUL BLESSING AWAKENED ✨</h3><p>Divine power flows through your soul, born from pure love and noble intentions.</p></div></div>
<center><img src="images/liora/poses/hugrylan.webp" alt="Rylan" width="300"></center>
</div>
<<narrative "This is just the beginning. I can sense that there are more Soulstones out there, more opportunities to grow this divine power. And with Liora by my side, with this blessing guiding me, I feel like I can face anything.">>
<<soulDisplay "rylan">>
<<continueBox "AfterSoulstone" "After Soulstone" "">>
</div>
<<pov "rylan" "chapter1default.mp3">>
<</nobr>><<nobr>>
<<set $currentPOV = "Nimeria">>
<div class="passage-container nimeria">
<<narrative "How beautiful I look with this crown of white flowers adorning my head.">>
<center><img src="images/nimeria/flowerfield/flowercrown.webp" alt="Nimeria" width="400"></center>
<<dialog "Nimeria" "face" "Perfect," "I think to myself as I study my reflection in the small hand mirror. The pure white blossoms complement my features so wonderfully - such a thoughtful gift from dear, sweet Liora.">>
<<narrative "I notice my brother Seryk approaching me with that warm smile of his. There's something different in his eyes today - a searching quality that makes me tilt my head curiously.">>
<<dialog "Seryk" "face" "Tell me, Nimeria... do you hate them? Do you hate this world?">>
<<dialog "Nimeria" "face" "What an interesting question from my dear brother." "I respond immediately, my smile radiant and genuine.">>
<<dialog "Nimeria" "face" "No, never! I love what is mine. I love the people - how they look to me for guidance, how they depend on me. I love this world - how it provides such beautiful stages for my presence. I love them all... because they all exist to make me feel complete.">>
<<dialog "Nimeria" "face" "How could I hate them? They're mine. Every smile, every grateful look, every moment they turn to me for comfort or guidance - it all feeds the wonderful warmth inside me. This world, these people, this perfect little group... they all belong to me in their own special ways.">>
<<narrative "I watch Seryk's expression carefully. There's a flicker of something in his eyes - understanding perhaps? Or maybe concern? Either way, it's fascinating to observe.">>
<<dialog "Seryk" "face" "I see..." "He pauses, then his expression softens into that familiar brotherly smile.">>
<<dialog "Seryk" "face" "By the way, the crown looks good on you. You look like a princess. Or rather, a queen, Nimeria.">>
<<continueBox "EndOfChapter1" "End of Chapter 1" "">>
</div>
<<pov "nimeria" "nimeria.mp3">>
<</nobr>><<nobr>>
<<set $timeOfDay = "evening">>
<<set $gameDay = 30>>
<div class="passage-container rylan">
<<if not $rylan_combatStats>>
<<set $rylan_combatStats = { maxHealth: 100, currentHealth: 100, maxStamina: 100, currentStamina: 100, physicalPower: 10, agility: 8, willpower: 6, technique: 7, perception: 6 }>>
<</if>>
<<if not $serin_combatStats>>
<<set $serin_combatStats = { maxHealth: 90, currentHealth: 90, maxStamina: 120, currentStamina: 120, physicalPower: 11, agility: 12, willpower: 7, technique: 9, perception: 8 }>>
<</if>>
<<if not $nimeria_combatStats>>
<<set $nimeria_combatStats = { maxHealth: 35, currentHealth: 35, maxStamina: 60, currentStamina: 60, physicalPower: 8, agility: 9, willpower: 7, technique: 6, perception: 8 }>>
<</if>>
<<narrative "The past few days have been a whirlwind of change. Having demons living in our house has been... surprisingly normal, actually.">>
<<narrative "Seryk has taken it upon himself to train us every morning in the backyard. His methods are intense but effective - I can already feel myself getting stronger and more durable. The same goes for Serin and even Nimeria, though she mostly focuses on endurance rather than combat techniques.">>
<<changeCombatStat "Rylan" "maxHealth" 30>>
<<changeCombatStat "Serin" "maxHealth" 30>>
<<changeCombatStat "Nimeria" "maxHealth" 30>>
<<narrative "Mariel has completely warmed up to both of them. Nimeria helps her in the kitchen and with cleaning, always cheerful and eager to learn new recipes. Seryk often assists with heavy lifting - moving furniture when Mariel wants to rearrange things, chopping firewood, and other tasks that require his impressive strength.">>
<<changeAffection "Mariel" "Seryk" 20>>
<<changeAffection "Mariel" "Nimeria" 20>>
<<narrative "The only sour note has been Thalor's letter yesterday. He's taking 'a few days longer' in the capital for some unspecified business. No explanation, no apology for the delay, just a brief note that left Mariel fuming for hours.">>
<img src="images/mariel/faceangry.webp" alt="Mariel" width="300">
<<dialog "Mariel" "faceangry" "Typical," "she had muttered while aggressively kneading bread dough.">>
<<dialog "Mariel" "faceangry" "Always his work comes first.">>
<<narrative "At the guild, Elena was initially shocked when we brought Seryk and Nimeria in, but she's warmed up to them as well. Seryk's combat prowess impressed her enough that she immediately promoted our party to E-Rank. Nimeria, while unable to fight, has proven useful in other ways - her cheerful demeanor helps smooth over tense situations with other adventurers.">>
<<narrative "This Evening...">>
<<narrative "We trudge through the front door, exhausted and frustrated. Our first official E-Rank mission - clearing out a small group of goblins from a merchant's warehouse - turned out to be much harder than expected.">>
<<dialog "Rylan" "face" "I can't believe how tough those goblins were!" "I complain, slumping into a chair" "They were supposed to be weak monsters, but they nearly overwhelmed us!">>
<<dialog "Serin" "face" "Tell me about it," "Serin groans, nursing a bruised shoulder" "That goblin chief hit like a damn ogre.">>
<<dialog "Liora" "faceshortpink" "At least we completed the mission," "Liora says softly, though I can see the exhaustion in her eyes from all the healing she had to do">>
<<dialog "Seryk" "face" "You all did well for your first E-Rank quest. These things take time to get used to.">>
<<dialog "Rylan" "face" "Easy for you to say - you made it look effortless!" "I can't keep the frustration out of my voice" "Meanwhile, I could barely keep up. If it wasn't for you, we would have been goblin food.">>
<<dialog "Nimeria" "face" "Hmm..." "Nimeria, who had stayed back at the guild during the mission, taps her finger against her lips thoughtfully" "You know, I have an idea that might help.">>
<<dialog "Rylan" "face" "What kind of idea?">>
<<dialog "Nimeria" "face" "Do you remember those black marbles I made Seryk eat one of? They're actually called Soulstones." "She pulls out a small pouch containing several more of the dark, marble-like objects" "Once eaten, they give you the power to strengthen your soul with key memories.">>
<<dialog "Rylan" "face" "Strengthen our souls?">>
<<dialog "Nimeria" "face" "Seryk, didn't you get stronger after eating it?" "She turns to him with that innocent smile">>
<<dialog "Seryk" "face" "Yeah, actually... I did feel more powerful. Still do." "He flexes his arm experimentally" "But I thought that was just from your... special ingredient.">>
<<dialog "Nimeria" "face" "That helped too, but the real power comes from the Soulstone itself!" "Her eyes light up with excitement" "I waited a few days to see if there were any side effects.">>
<<dialog "Seryk" "face" "Wait... you used me as an experiment?" "Seryk's expression shifts to one of mild concern">>
<<dialog "Nimeria" "face" "Only a little one!" "She waves her hand dismissively" "But listen - you can all grow so much stronger! Every special memory strengthens your soul, and with it, your bodies. Physical power, magical ability, everything!">>
<<dialog "Nimeria" "face" "You should each eat one too! Of course, I won't make you drink my spit like I did with Seryk... unless you like it." "She holds up the pouch, shaking it gently so the stones clink together, then winks playfully">>
<<narrative "The group exchanges uncertain glances. The idea of eating mysterious demon stones doesn't exactly sound appealing.">>
<<dialog "Serin" "face" "I don't know... eating random magical objects seems pretty risky.">>
<<dialog "Liora" "faceshortpink" "What if they're dangerous?">>
<<dialog "Rylan" "face" "How do we know they won't hurt us?">>
<<dialog "Nimeria" "face" "Oh... sorry. That was arrogant of me." "Nimeria's cheerful expression falters, and she looks down at the stones in her hands. Her voice becomes quieter, more subdued" "You've all treated me so kindly these past few days, so I thought... I thought you'd trust me.">>
<<dialog "Nimeria" "face" "There. See? They're safe." "Without hesitation, she takes one of the black stones and pops it into her mouth, swallowing it down">>
<center><img src="images/nimeria/facecrying.webp" alt="Nimeria" width="300"></center>
<<dialog "Nimeria" "facecrying" "I'm sorry... please excuse me." "Tears begin to well up in her eyes as she looks at our hesitant faces. She starts to turn away, clearly hurt by our rejection">>
<<dialog "Rylan" "face" "Wait." "I reach out and take one of the stones from her pouch before she can leave. The surface is smooth and surprisingly warm to the touch" "If you trust them enough to eat one yourself...">>
<center><img src="images/items/blackmarbleblank.webp" alt="Soul Stone" width="300"></center>
<<narrative "I look at the stone for a moment, then at Nimeria's hopeful, tear-filled eyes. Without another word, I toss it into my mouth and swallow it down.">>
<<continueBox "SoulstoneEffects" "Soulstone Effects" "">>
</div>
<<pov "rylan" "chapter1default.mp3">>
<</nobr>><<nobr>>
<div class="passage-container nimeria">
<div class="chapter-end-container">
<div class="chapter-title">
<h1>End of Chapter 1</h1>
<h2>Crown of Ash</h2>
</div>
<div class="crown-animation">
<img src="images/nimeria/flowerfield/flowercrowneerie.webp" alt="Crown of Ash" class="eerie-crown" id="eerieCrown">
</div>
<div class="continue-button" id="continueButton" style="display: none;">
[[Continue to Chapter 2|Chapter2]]
</div>
</div>
<</nobr>>
<style>
.chapter-end-container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 80vh;
text-align: center;
background: linear-gradient(135deg, rgba(0,0,0,0.8), rgba(64,64,64,0.6));
border-radius: 15px;
padding: 2em;
margin: 2em auto;
max-width: 800px;
}
.chapter-title {
margin-bottom: 2em;
}
.chapter-title h1 {
font-size: 2.5em;
color: #ff69b4;
text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
margin-bottom: 0.5em;
font-family: 'Cinzel', serif;
}
.chapter-title h2 {
font-size: 1.8em;
color: #dda0dd;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
margin-bottom: 0;
font-style: italic;
}
.crown-animation {
margin: 2em 0;
position: relative;
}
.eerie-crown {
width: 400px;
height: auto;
opacity: 0;
transition: opacity 25s ease-in-out;
filter: drop-shadow(0 0 20px rgba(255,105,180,0.5));
}
.eerie-crown.fade-in {
opacity: 1;
}
.continue-button {
margin-top: 2em;
padding: 1em 2em;
background: linear-gradient(135deg, rgba(255,105,180,0.8), rgba(221,160,221,0.6));
border-radius: 10px;
border: 2px solid rgba(255,105,180,0.5);
transition: all 0.3s ease;
}
.continue-button:hover {
background: linear-gradient(135deg, rgba(255,105,180,1), rgba(221,160,221,0.8));
border-color: rgba(255,105,180,0.8);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(255,105,180,0.3);
}
.continue-button a {
color: #ffffff !important;
text-decoration: none !important;
font-weight: bold;
font-size: 1.2em;
text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}
</style>
<<script>>
$(document).ready(function() {
// Start the fade-in animation immediately
setTimeout(function() {
$('#eerieCrown').addClass('fade-in');
}, 100);
// Show continue button after 35 seconds (25s fade + 10s wait)
setTimeout(function() {
$('#continueButton').fadeIn(1000);
}, 15000);
});
<</script>>
<<pov "nimeria" "crownofash.mp3">><<nobr>>
<<script>>window.AudioSystem.playBGM('chapter1default.mp3');<</script>>
<div class="end-content-container" style="background: linear-gradient(to bottom, rgba(138, 43, 226, 0.9), rgba(75, 0, 130, 0.8)); min-height: 600px; padding: 40px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.3); text-align: center;">
<div class="end-content-header" style="margin-bottom: 40px;">
<h1 style="color: #e6e6fa; font-size: 2.5em; margin-bottom: 20px; text-shadow: 2px 2px 4px rgba(0,0,0,0.5);">
🌟 End of Current Content 🌟
</h1>
<p style="color: #dda0dd; font-size: 1.3em; font-style: italic; margin-bottom: 30px;">
Chapter 2 development is currently in progress...
</p>
</div>
<div class="thank-you-section" style="background: rgba(255,255,255,0.1); border: 2px solid rgba(255,255,255,0.2); border-radius: 10px; padding: 30px; margin-bottom: 30px;">
<h2 style="color: #ffd700; font-size: 2em; margin-bottom: 20px;">
Thank You For Playing!
</h2>
<p style="color: #e6e6fa; font-size: 1.2em; line-height: 1.6; margin-bottom: 20px;">
You've reached the end of the currently available content for <strong>Bonds Defiled</strong>.
The adventure will continue as new chapters are developed and released.
</p>
<p style="color:rgb(70, 37, 70); font-size: 1.1em; line-height: 1.6; margin-bottom: 25px;">
We hope you've enjoyed exploring the relationships, mysteries, and growing tensions
in this dark fantasy world. Your feedback and support help shape the ongoing development
of this interactive story.
</p>
<div style="background: rgba(0,0,0,0.3); border-radius: 8px; padding: 20px; margin: 20px 0;">
<h3 style="color: #ffd700; margin-bottom: 15px;">What You've Experienced So Far:</h3>
<ul style="color: #e6e6fa; text-align: left; list-style: none; padding: 0;">
<li style="margin-bottom: 10px;">📖 <strong>Chapter 0:</strong> Character introductions and relationship building</li>
<li style="margin-bottom: 10px;">⚔️ <strong>Chapter 1:</strong> First adventures, soul stones, and mysterious encounters</li>
<li style="margin-bottom: 10px;">💫 <strong>Soul System:</strong> Character corruption and blessing paths</li>
<li style="margin-bottom: 10px;">💕 <strong>Relationship Dynamics:</strong> Complex attraction and affection systems</li>
<li style="margin-bottom: 10px;">🎯 <strong>Fetish Development:</strong> Character preference evolution</li>
</ul>
</div>
</div>
<div class="coming-soon-section" style="background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.2); border-radius: 8px; padding: 25px; margin-bottom: 30px;">
<h3 style="color: #ffd700; font-size: 1.5em; margin-bottom: 15px;">Coming in Future Updates:</h3>
<p style="color: #dda0dd; font-size: 1.1em; line-height: 1.6;">
🌙 Deeper exploration of Nimeria's mysterious nature<br/>
⚔️ More challenging combat encounters<br/>
💔 Increasing NTR tension and character corruption<br/>
🏰 New locations and story developments<br/>
📚 Additional character backstory revelations
</p>
</div>
<div class="navigation-section" style="margin-top: 30px;">
<p style="color: #e6e6fa; font-size: 1.1em; margin-bottom: 20px;">
Feel free to explore the character diaries, experiment with different choices,
or start a new playthrough to discover alternative paths and outcomes.
</p>
<div style="display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;">
<<link "📖 Character Diaries">>
<<goto "DiaryMenu">>
<</link>>
<<link "🎭 Character Setup">>
<<goto "CharacterSetup">>
<</link>>
<<link "🏠 Return Home">>
<<goto "Start">>
<</link>>
</div>
</div>
</div>
<style>
.end-content-container a {
display: inline-block;
background: linear-gradient(45deg, #4b0082, #8a2be2);
color: #ffd700;
padding: 12px 24px;
border-radius: 8px;
text-decoration: none;
font-weight: bold;
font-size: 1.1em;
border: 2px solid rgba(255,215,0,0.3);
transition: all 0.3s ease;
margin: 5px;
}
.end-content-container a:hover {
background: linear-gradient(45deg, #8a2be2, #9370db);
border-color: rgba(255,215,0,0.6);
transform: translateY(-2px);
box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}
</style>
<</nobr>><<nobr>>
<<addSoulCorruption "rylan" 1>>
<div class="passage-container rylan">
<<narrative "The memory hits me like a physical blow - my failed guild exam. Struggling with $humanToThalor's massive sword, running from a single goblin, the shame and whispers that followed. The voice in my head that still tells me I'm not good enough.">>
<<narrative "As the Soulstone's energy courses through me, these dark thoughts take on a life of their own. The energy shifts, becoming something cold and hungry - corruption flowing through my veins, feeding on my failures and promising power through darker means.">>
<<narrative "The corruption settles deep within me, invisible to the others but very real. Unlike the golden blessing that would shine outwardly, this dark power remains hidden, working from within. I feel a sense of resentment, of entitlement, of being willing to do whatever it takes to never feel that weak again.">>
<<narrative "The dark energy settles into my bones, becoming part of me. I can feel the corruption taking root, whispering promises of power, of never having to feel weak again, of taking what I deserve instead of waiting for it to be given.">>
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<div class="soul-corruption-showcase"><div class="corruption-aura"></div><div class="corruption-shadows"></div><div class="corruption-text"><h3>🌑 SOUL CORRUPTION AWAKENED 🌑</h3><p>Dark power courses through your soul, born from pain and the hunger for strength.</p></div></div>
</div>
<<narrative "This is dangerous, I know that. But it's also intoxicating. For the first time in my life, I feel like I have real power - not just physical strength, but the will to use it however I see fit.">>
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<center><img src="images/rylan/faceangry.webp" alt="Rylan" width="300"></center>
</div>
<<narrative "The corruption whispers that maybe change isn't such a bad thing. Maybe being the \"good guy\" has only held me back. Maybe it's time to stop caring so much about what others think and start taking what I want.">>
<<soulDisplay "rylan">>
<<continueBox "AfterSoulstone" "After Soulstone" "">>
</div>
<<pov "rylan" "chapter1default.mp3">>
<</nobr>><<nobr>>
<<set $timeOfDay = "afternoon">>
<div class="passage-container rylan">
<center><img src="images/seryk/portrait.webp" alt="Seryk" width="400"></center>
<<narrative "The blue-skinned demon looks at me with calm, almost sad eyes as he effortlessly holds my blade. His voice is deep but gentle, carrying no malice.">>
<<dialog "Seryk" "face" "Easy there, bro. I don't want to fight you." "He releases my sword and takes a step back, raising his hands peacefully" "I'm just passing through. No need for violence.">>
<<dialog "Rylan" "faceangry" "A demon that talks?! And calls me 'bro'?" "I grip my sword tighter, adrenaline pumping" "I don't care what you say! You're still a demon!">>
<<thought "Rylan" "faceangry" "He's just trying to get me to lower my guard! That's what demons do - they trick you with words. But I won't fall for it. I can't fail again. Not in front of Liora and Serin. Not when this is my chance to finally prove I'm not the pathetic weakling everyone thinks I am.">>
<<dialog "Seryk" "face" "Look, I get it. Demon equals bad in your world. But I'm really not looking for trouble." "He sighs, his muscular frame relaxing slightly" "Can't we just go our separate ways?">>
<<dialog "Rylan" "faceangry" "No way! This is my chance to prove myself!" "I lunge forward again, this time aiming for his side">>
<<narrative "The demon dodges with fluid grace, his expression turning resigned.">>
<<dialog "Seryk" "face" "Alright, bro. If that's how you want to play it.">>
<center><img src="images/seryk/pose/fightingstance.webp" alt="Seryk" width="600"></center>
<<narrative "The fight begins in earnest. I press my attack, but within seconds, I realize the horrible truth - we are completely outmatched. The demon's physical prowess isn't just overwhelming, it's terrifying. He moves like liquid death, deflecting my strikes with casual ease while clearly holding back enough power to level trees.">>
<<narrative "My first real strike connects with his chest and does absolutely nothing. Not even a scratch. It's like hitting a mountain with a twig.">>
<<thought "Rylan" "faceangry" "What?! That should have hurt him! Liora said he has no mana - he's supposed to be weak! This can't be happening. I can't be this pathetic. If I can't even scratch a lesser demon, what does that make me? What will everyone think when they find out I couldn't even handle the weakest type of demon?">>
<<dialog "Seryk" "face" "Sorry about this, bro." "His fist connects with my ribs and I'm sent flying backward, crashing into a tree with bone-jarring force. Blood fills my mouth">>
<center><img src="images/rylan/facewounded.webp" alt="Rylan" width="300"></center>
<<dialog "Liora" "faceshortpink" "$humanName!" "Liora's hands glow with golden light as she rushes to me" "Oh gods, you're hurt badly!">>
<<dialog "Serin" "face" "I'm helping!" "Serin draws her twin daggers and circles around to flank the demon, but her movements are already desperate, frantic">>
<center><img src="images/serin/poses/blockingknives.webp" alt="Serin" width="600"></center>
<<narrative "As the battle unfolds, the horrible reality becomes clear - we're going to die here. The demon isn't even trying, and we're already being torn apart. Every casual swipe from him sends one of us reeling. Every 'gentle' hit feels like being struck by a war hammer.">>
<<dialog "Rylan" "facewounded" "Liora, stay behind me!" "I gasp, spitting blood as I position myself between her and certain death. My sword arm is already going numb from the impacts">>
<<dialog "Liora" "faceshortpink" "Let me heal that!" "Her hands find my arm, warm healing magic flowing through me, but I can see the fear in her eyes. She knows we're outmatched too">>
<<narrative "Serin darts in with her daggers, managing to score a hit on the demon's arm. The blade bounces off his skin like it hit steel. He doesn't even flinch.">>
<<dialog "Seryk" "face" "Nice try, Wildcat." "His backhand sends Serin tumbling across the forest floor, blood streaming from her nose">>
<<dialog "Serin" "face" "Shit! He's too strong!" "She staggers to her feet, wiping blood from her mouth" "$humanName, we need to run!">>
<<thought "Rylan" "faceangry" "Run? No! I can't run away like a coward again! This is just one lesser demon against three of us. Serin is skilled, and I'm not as weak as everyone thinks. We can do this! I just need to be smarter, find an opening. I won't be the failure who ran from his first real fight.">>
<<narrative "But I can't hear her over the sound of my own terror and Liora's panicked healing attempts. Every time the demon moves toward us, I throw myself in his path, only to be casually swatted aside like an annoying insect.">>
<<dialog "Liora" "faceshortpink" "$humanName, please, you're taking too much damage!" "Her voice is breaking with fear as she pours more healing magic into me">>
<<narrative "The demon pauses, looking at our pathetic formation with something like pity.">>
<<dialog "Seryk" "face" "You kids really don't know when to quit, do you?">>
<<narrative "That's when he stops holding back even a little bit.">>
<<changeAffection "Rylan" "Liora" 2>>
<<changeAffection "Liora" "Rylan" 2>>
<<changeAffection "Serin" "Rylan" -3>>
<<changeAffection "Serin" "Liora" -2>>
<<changeCombatStat "Rylan" "currentHealth" -15>>
<<changeCombatStat "Serin" "currentHealth" -25>>
<<changeCombatStat "Serin" "currentStamina" -30>>
<<continueBox "FightBlueDemon2" "Continue the Desperate Fight" "">>
</div>
<<pov "rylan" "/battle/serykfight1.mp3">>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<center><img src="images/seryk/pose/fightingstance2.webp" alt="Seryk Serious" width="400"></center>
<<narrative "The change in the demon is immediate and terrifying. The gentle, almost playful demeanor vanishes, replaced by something that makes my blood freeze. This is what a real demon looks like when it decides to fight.">>
<<dialog "Seryk" "face" "Last warning, bro. Walk away." "His voice has dropped to a growl that seems to vibrate through the very ground">>
<<dialog "Rylan" "facewounded" "Never!" "I charge again, desperation driving me forward">>
<<thought "Rylan" "facewounded" "He's stronger than I expected, but he's still just one demon! I can wear him down. Serin is helping, and Liora's healing is keeping me in the fight. I just need one good hit, one moment where his guard is down. $humanToThalor never gave up, and neither will I! I can prove I'm worthy of their legacy!">>
<<narrative "This time, when his fist connects with my chest, I hear ribs crack. The impact sends me flying so hard that I bounce off two trees before hitting the ground. Blood pours from my mouth and nose. Liora's healing can't keep up with this level of damage.">>
<<dialog "Liora" "faceshortpink" "$humanName! Oh gods, oh gods!" "Her hands shake as she tries to heal me, but I can see the terror in her eyes" "We're going to die! We're all going to die!">>
<<narrative "Serin, seeing me broken and bleeding, lets out a scream of pure rage and launches herself at the demon with both daggers. For a moment, her speed and fury actually surprise him. She manages to land three quick strikes before he reacts.">>
<<narrative "The blades scrape against his skin but barely leave marks, like scratching steel with a nail.">>
<<dialog "Serin" "faceangry" "What the hell ARE you?!" "She stares at the ineffective strikes in disbelief">>
<<dialog "Seryk" "face" "Something you kids should have run from.">>
<<narrative "He picks up a small stone and flicks it with casual precision. The rock strikes Serin's left hand with enough force to knock her dagger flying, but she keeps her grip on the right one.">>
<center><img src="images/serin/poses/fightingstancelostknife.webp" alt="Serin Fighting" width="400"></center>
<<dialog "Serin" "faceangry" "Damn it!" "She flexes her stinging fingers, then grips her remaining dagger tighter" "Fine! One's enough!">>
<<thought "Rylan" "facewounded" "But I'm too focused on protecting Liora to help her. Every instinct screams at me to shield the woman I love, even as Serin continues her desperate fight just yards away.">>
<<dialog "Rylan" "face" "Liora, we need to run!" "I gasp, but my legs won't support me">>
<<dialog "Liora" "faceshortpink" "I can't heal this much damage!" "Her voice is breaking with panic" "$humanName, you're dying!">>
<<narrative "Serin darts in again with her single blade, trying to find any weakness in the demon's defense. But he's toying with her now, easily dodging her strikes while barely putting in effort.">>
<center><img src="images/serin/poses/fightstance1knife.webp" alt="Serin Exhausted" width="400"></center>
<<dialog "Serin" "faceangry" "Stand still, you bastard!" "She's breathing hard, sweat mixing with the dirt on her face, but she refuses to give up">>
<<narrative "The demon advances on us slowly, each step deliberate.">>
<<dialog "Seryk" "face" "I tried to warn you. I really did.">>
<<thought "Serin" "faceangry" "Serin, exhausted but still standing, watches us huddle together while she's left to face the demon alone. Something in her eyes dies as she realizes that even now, even facing death, I choose Liora over her.">>
<<dialog "Serin" "faceangry" "Fine..." "she whispers, wiping blood from a small cut on her lip" "If we're all going to die anyway...">>
<<thought "Serin" "faceangry" "She grips her remaining dagger with both hands now, her stance shifting to something more desperate but determined. Her movements are wild, fueled by heartbreak and the absolute certainty that we're all about to be slaughtered.">>
<<dialog "Serin" "faceangry" "I'll take you with us, you bastard!">>
<<thought "Serin" "faceangry" "She charges at the demon one final time, screaming with everything she has left. It's not technique anymore, it's not strategy - it's pure, desperate fury.">>
<<narrative "The demon sighs and flicks another stone with casual precision. This one strikes her wrist, causing her to drop her last dagger. She stumbles but doesn't fall, clutching her stinging hand.">>
<<dialog "Serin" "faceangry" "I hate this! I hate all of this!" "She's breathing hard, exhausted and weaponless" "I hate watching you die for her! I hate that she only cares about you! I hate that I'm going to die alone while you two-">>
<<thought "Rylan" "facewounded" "Her words are cut off as the demon raises his hand for what will clearly be the killing blow. We're finished. All of us. This is how we die - broken, bleeding, and completely outmatched in a forest where no one will ever find our bodies.">>
<<dialog "Liora" "faceshortpink" "Please..." "Liora whispers, tears streaming down her face" "Please don't kill us...">>
<<narrative "The demon's expression softens slightly, but his hand doesn't lower.">>
<<dialog "Seryk" "face" "I'm sorry, Little Bird. I really am.">>
<<narrative "Just as his fist begins to descend, a clear, melodious voice cuts through the forest air like a silver bell.">>
<<dialog "Nimeria" "face" "Brother?">>
<<narrative "The demon freezes completely, his fist stopping inches from Serin's face. Everyone turns toward the voice, the entire clearing falling silent except for our ragged breathing and Serin's heavy panting.">>
<<thought "Rylan" "facewounded" "We're saved. Somehow, impossibly, we're saved. But as I look at Serin's exhausted, weaponless form and the terror in Liora's eyes, I realize that even if we survive this, something fundamental has been shattered between us that may never heal.">>
<<changeCombatStat "Rylan" "currentHealth" -35>>
<<changeCombatStat "Serin" "currentHealth" -15>>
<<changeCombatStat "Serin" "currentStamina" -35>>
<<changeAffection "Serin" "Rylan" -2>>
<<changeAffection "Serin" "Liora" -3>>
<<continueBox "NimeriaAppears" "Nimeria Appears" "">>
</div>
<<pov "rylan" "/battle/serykfight1.mp3">>
<</nobr>><<nobr>>
<<script>>window.QuestSystem.init();<</script>>
<<addQuest "blackSlimeHunt" "Kill 3 BlackSlimes" "Eliminate 3 BlackSlimes near the old training grounds and bring back their cores as proof." "blackSlimeKills" 3>>
<<setQuestLocation "blackSlimeHunt" "Forest">>
<div class="passage-container rylan">
<center><img src="images/landscapes/forestofbeginning.webp" alt="Forest" width="600"></center>
<<narrative "The forest canopy filters the morning sunlight into dappled patterns on the moss-covered ground. Ancient trees tower above us, their trunks thick enough that it would take several people holding hands to wrap around them. The air is crisp and filled with the scent of pine and earth. This is the Forest of the Beginning - where so many adventurers take their first steps, and where I once failed my exam.">>
<<dialog "Rylan" "face" "Elena said they were near the old training grounds. Should be about thirty minutes deeper into the forest.">>
<<dialog "Liora" "faceshortpink" "It's so peaceful here..." "Liora walks close to my side, occasionally brushing against my arm as we navigate the forest path" "Hard to believe there are dangerous monsters lurking around.">>
<center><img src="images/liora/face.webp" alt="Liora content" width="300"></center>
<<dialog "Serin" "face" "BlackSlimes are tougher than regular slimes. More like... actually challenging." "Serin has taken the lead, moving with practiced confidence through the undergrowth" "Still, don't get careless. They're faster and harder to damage than normal slimes.">>
<<set _forestRoll = random(1, 100)>>
<<set _forestThreshold = 40>>
<<if _forestRoll <= _forestThreshold>>
<<changeFetish "Rylan" "VoyeurismFetish" 0.1>>
<<narrative "I find myself watching how Serin moves through the forest confident, athletic, completely in her element. There's something captivating about seeing her natural grace.">>
<</if>>
<<narrative "After about twenty-five minutes of walking, we come across a familiar clearing with training dummies and practice targets scattered around. The old training grounds where guild exams are held. The grass here is notably flattened in several spots, and there are dark, viscous stains on some of the training equipment.">>
<<dialog "Serin" "face" "This is definitely the place. See those dark stains? That's from BlackSlimes. They leave traces when they move.">>
<<dialog "Rylan" "face" "Any sign of them now?" "Being back here brings up memories of my failed exam, but this time I'm not alone">>
<<narrative "As if in answer to my question, there's a deeper, more resonant squelching sound from behind the training area. Three dark, almost black forms emerge, each about the size of a large dog but noticeably more solid-looking than regular slimes. The BlackSlimes move with purpose, their darker bodies seeming to absorb light rather than reflect it. Wisps of black mist curl around them as they move, creating an unnatural, almost ethereal effect.">>
<<dialog "Liora" "faceshortpink" "They look... more intimidating than I expected." "Her voice carries a mix of nervousness and determination" "And that black mist around them... it's so strange. I've never seen anything like it.">>
<<dialog "Serin" "face" "Yeah, that's not normal." "Serin's eyes narrow as she watches the dark vapor swirling around the creatures" "Regular slimes don't emit any kind of mist. This is definitely weird.">>
<<dialog "Serin" "face" "Alright, this is it. Our first real party combat against something with actual bite." "Serin draws her weapon, falling into a combat stance" "Remember what we practiced, but stay alert. These aren't pushovers.">>
<<dialog "Rylan" "face" "Actually, wait." "An idea strikes me as I remember Elena's words from yesterday" "Elena mentioned something about a resonance system. How adventuring parties can share their strength based on their bonds.">>
<<dialog "Liora" "faceshortpink" "Resonance?" "Liora tilts her head curiously">>
<<dialog "Rylan" "face" "The idea is that the closer we are as a party, the more we can support each other in combat. Our affection and trust translates into actual shared strength.">>
<<dialog "Serin" "face" "That's... actually a real thing." "Serin nods, though she keeps her eyes on the BlackSlimes" "More experienced parties use it all the time. Though it requires genuine bonds, not just fake teamwork.">>
<<dialog "Rylan" "face" "Want to try it? Focus on our connections to each other, let that translate into combat strength?">>
<<dialog "Liora" "faceshortpink" "I... I'd like that." "When she looks at me, there's warmth in her eyes that makes my heart race" "I trust you completely, $humanName.">>
<<set _resonanceRoll = random(1, 100)>>
<<set _resonanceThreshold = 35>>
<<if _resonanceRoll <= _resonanceThreshold>>
<<changeAffection "Rylan" "Liora" 1>>
<<changeAffection "Liora" "Rylan" 1>>
<<narrative "Her words of trust send a warm feeling through me. This resonance thing... it might actually work.">>
<</if>>
<<dialog "Serin" "face" "Fine. But let's make this quick before those BlackSlimes decide to attack." "There's something strained in her voice, but she nods" "I'll... do my best to connect with the party.">>
<<set _serinStruggleRoll = random(1, 100)>>
<<set _serinStruggleThreshold = 45>>
<<if _serinStruggleRoll <= _serinStruggleThreshold>>
<<changeAffection "Serin" "Rylan" 1>>
<<narrative "Despite her pain, I can feel Serin trying to genuinely connect with us. Her feelings are complicated, but her commitment to the party is real.">>
<</if>>
<<narrative "I close my eyes for a moment, focusing on my feelings for my party members. Liora's gentle healing touch, her shy smile that makes my heart flutter. Serin's fierce protectiveness, her confidence that I wish I could match. Even with the tension between us, I care about them both.">>
<<calculateResonance>>
<<narrative "A warm feeling spreads through my body as I focus on our bonds. I can feel something shifting, like invisible threads connecting us all together. It's subtle, but I can sense Liora's gentle strength flowing into me, and even a bit of Serin's fierce determination.">>
<<if $rylan_resonancePhysicalPower > 0>>
<<dialog "Rylan" "face" "I can feel it... the resonance. It's like I'm drawing strength from both of you.">>
<</if>>
<<dialog "Liora" "faceshortpink" "I feel it too! Like we're all connected somehow." "Liora's eyes are bright with wonder" "Your determination, $humanName... it's making me braver.">>
<<dialog "Serin" "face" "Huh. It actually works." "Serin flexes her hands, testing her grip on her weapon" "I can feel... traces of your abilities flowing through me. Not much, but it's there.">>
<<set _resonanceBonus = random(1, 100)>>
<<set _resonanceBonusThreshold = 30>>
<<if _resonanceBonus <= _resonanceBonusThreshold>>
<<changeAffection "Rylan" "Liora" 1>>
<<changeAffection "Liora" "Rylan" 1>>
<<narrative "This shared experience, feeling our bonds manifest as actual power... it brings us closer together.">>
<</if>>
<<narrative "The BlackSlimes, apparently tired of waiting, begin to advance toward us with a more aggressive, purposeful motion than regular slimes. Their cores glow with a darker, more intense light within their nearly opaque bodies.">>
<<dialog "Serin" "face" "Alright, enough bonding time. Let's put this resonance to the test." "She grins, and for a moment, her usual confidence seems genuine rather than forced" "Remember, aim for the cores. That's still their weak point, but these shells are tougher.">>
<<dialog "Rylan" "face" "Ready, everyone?">>
<<dialog "Liora" "faceshortpink" "Ready!" "Her voice is steadier than I've ever heard it in combat">>
<<dialog "Serin" "face" "Let's show these BlackSlimes what we can do.">>
<<narrative "The three BlackSlimes spread out as they approach, their darker forms pulsing with an ominous energy. With our resonance active, I can feel the confidence and strength of my party members flowing through me. Whatever tension exists between us, in this moment, we're truly connected.">>
<<statSummary>>
<<resonanceDisplay>>
<<continueBox "BlackSlimeCombat" "Begin Combat" "">>
</div>
<<pov "rylan" "forestofthebeginning.mp3">>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<<narrative "The morning sun streams through the guild hall's tall windows as we push through the heavy wooden doors. The familiar scent of leather, metal polish, and adventure fills my nostrils. Other adventurers are scattered around tables, some planning missions, others counting coin from completed quests.">>
<center><img src="images/landscapes/guildhall.webp" alt="Guild Hall" width="600"></center>
<<dialog "Rylan" "face" "It feels different being here as an actual F-Rank adventurer," "I say, unconsciously straightening my shoulders">>
<<dialog "Liora" "faceembarrassed" "You've earned it, $humanName." "Liora's voice is soft but filled with pride as she walks close beside me. When her hand briefly brushes mine, I feel that familiar flutter in my chest">>
<center><img src="images/liora/faceembarrassed.webp" alt="Liora blushing" width="300"></center>
<<set _coupleRoll = random(1, 100)>>
<<set _coupleThreshold = 40>>
<<if _coupleRoll <= _coupleThreshold>>
<<changeLust "Rylan" 1>>
<<changeLust "Liora" 1>>
<<narrative "Being this close to her, knowing we're together now... it sends a warm thrill through me.">>
<</if>>
<<changeAffection "Serin" "Rylan" -1>>
<<changeAffection "Serin" "Liora" -1>>
<<dialog "Serin" "face" "Yeah, well, don't let it go to your head. F-Rank is still basically the bottom of the barrel." "Serin's voice carries her usual teasing tone, but there's something sharper underneath it. She's walking a bit apart from us, her arms crossed" "I've been carrying E-Rank for months now.">>
<<set _serinPainRoll = random(1, 100)>>
<<set _serinPainThreshold = 30>>
<<if _serinPainRoll <= _serinPainThreshold>>
<<changeLust "Serin" 1>>
<<changeAffection "Serin" "Rylan" -1>>
<<narrative "I catch her glancing at how close Liora and I are walking, and for just a moment, her confident mask slips. There's something raw in her emerald eyes before she looks away.">>
<</if>>
<<narrative "Elena looks up from behind the reception desk as we approach, her ginger hair catching the morning light.">>
<center><img src="images/elenor/face.webp" alt="Elena Face" width="600"></center>
<<dialog "Elena" "face" "Well, well! Our newest F-Rank adventurer returns. How does it feel, $humanName?">>
<<dialog "Rylan" "face" "Pretty good, actually. We're here to see about taking on some missions as a party.">>
<<dialog "Elena" "face" "Excellent! Though I have to warn you..." "Elena's expression becomes apologetic as she rifles through a stack of papers" "Pickings are pretty slim right now for F-Rank parties. Most of the interesting work has been snapped up by the higher-ranked teams.">>
<<dialog "Serin" "face" "Come on, there has to be something. We're not asking for a dragon hunt here.">>
<<dialog "Elena" "face" "Well, there is one thing..." "Elena pulls out a particular scroll, studying it" "BlackSlimes have been spotted in the Forest of the Beginning. They're not much stronger than regular slimes, but that area is typically reserved for guild exams.">>
<<dialog "Liora" "faceshortpink" "The Forest of the Beginning? Isn't that where most people take their advancement tests?">>
<<dialog "Elena" "face" "Exactly. The presence of BlackSlimes is unusual - they normally stick to deeper forest areas. We need someone to clear them out before the next exam period." "Elena looks thoughtful" "Three BlackSlimes shouldn't be too challenging for a party of your composition, but they are a bit tougher than normal slimes.">>
<<dialog "Rylan" "face" "What makes them different?">>
<<dialog "Elena" "face" "BlackSlimes have a harder exterior and can absorb more damage before dissolving. They also move slightly faster. Nothing an experienced E-Rank like Serin can't handle, and good practice for you two newer adventurers.">>
<<set _mysteryRoll = random(1, 100)>>
<<set _mysteryThreshold = 45>>
<<if _mysteryRoll <= _mysteryThreshold>>
<<changeFetish "Rylan" "VoyeurismFetish" 0.1>>
<<narrative "Something about returning to the Forest of the Beginning feels significant. It's where I first failed, and now I'm going back as part of a team.">>
<</if>>
<<dialog "Serin" "face" "Sounds simple enough. What's the pay?" "She crosses her arms, though I notice she's standing further from us than usual">>
<<dialog "Elena" "face" "Fifteen gold for the party - a bit more than standard slime work since it's clearing an exam area. Plus, if you do well, it could help with future advancement opportunities." "Elena slides the mission scroll across the counter" "Standard terms: bring back their cores as proof of elimination.">>
<<narrative "I pick up the scroll, reading over the details. The Forest of the Beginning...">>
<<dialog "Rylan" "face" "Alright, we'll take it. It'll be good to prove ourselves as a proper party.">>
<<dialog "Liora" "faceshortpink" "At least we'll get to work together as a real team now." "Her smile is genuine, and when she looks at me, there's something warm and intimate in her gaze that makes my heart race">>
<<set _intimateRoll = random(1, 100)>>
<<set _intimateThreshold = 35>>
<<if _intimateRoll <= _intimateThreshold>>
<<changeAffection "Rylan" "Liora" 1>>
<<changeAffection "Liora" "Rylan" 1>>
<<narrative "The way she says "team" makes it clear she's thinking about more than just the mission.">>
<</if>>
<<changeAffection "Serin" "Rylan" -1>>
<<changeAffection "Serin" "Liora" -1>>
<<dialog "Serin" "face" "Yeah, a real team." "Serin's voice is flat, and when I glance at her, she's staring out the window rather than at us" "Should be interesting.">>
<<set _tensionRoll = random(1, 100)>>
<<set _tensionThreshold = 40>>
<<if _tensionRoll <= _tensionThreshold>>
<<changeAffection "Serin" "Liora" -1>>
<<narrative "There's definitely something bothering her, but every time I try to catch her eye, she looks away.">>
<</if>>
<<dialog "Elena" "face" "The BlackSlimes have been spotted near the old training grounds in the forest - you should remember the area from your exam, $humanName. It's about a thirty-minute walk from town." "Elena marks something on a map and hands it to us" "Be careful - while they're not significantly stronger, they can be more unpredictable than regular slimes.">>
<<dialog "Rylan" "face" "Got it. We'll head out now while we've got good daylight.">>
<<narrative "As we turn to leave, Elena calls after us.">>
<<dialog "Elena" "face" "Oh, and $humanName? This might be good practice for when you're ready to attempt E-Rank advancement. Show the guild what your party can do.">>
<<narrative "Walking toward the guild exit, I notice Serin has fallen behind us again. When Liora slips her hand into mine, a gesture that sends electricity up my arm, I hear Serin make a small sound behind us that might have been a sigh.">>
<<set _handHoldRoll = random(1, 100)>>
<<set _handHoldThreshold = 30>>
<<if _handHoldRoll <= _handHoldThreshold>>
<<changeLust "Rylan" 2>>
<<changeLust "Liora" 1>>
<<changeFetish "Rylan" "SubmissionFetish" 0.1>>
<<narrative "The simple intimacy of holding hands in public makes my heart pound. There's something thrilling about this new openness between us.">>
<</if>>
<<changeAffection "Serin" "Rylan" -2>>
<<changeAffection "Serin" "Liora" -1>>
<<dialog "Rylan" "face" "Ready for some BlackSlime hunting?" "I ask, trying to keep the mood light">>
<<dialog "Liora" "faceshortpink" "With you? I'm ready for anything." "Her words are soft but carry a meaning that makes me blush">>
<<dialog "Serin" "face" "Let's just get this over with." "Serin pushes past us toward the door, her usual energy seeming forced" "Those slimes won't kill themselves.">>
<<set _serinMaskRoll = random(1, 100)>>
<<set _serinMaskThreshold = 25>>
<<if _serinMaskRoll <= _serinMaskThreshold>>
<<narrative "I catch a glimpse of her reflection in the guild's window as we pass, her smile looks more like a grimace. Whatever's bothering her, she's working hard to hide it.">>
<</if>>
<center><img src="images/serin/facesad.webp" alt="Serin trying to hide pain" width="300"></center>
<<narrative "The morning air feels crisp as we step outside, but there's an undercurrent of tension in our little group that wasn't there yesterday. Still, we have a mission to complete, and maybe some time in the forest will help us figure out this new dynamic.">>
<<dialog "Rylan" "face" "Alright, party. Let's go show those BlackSlimes what we can do.">>
<<narrative "Though as I say it, I can't shake the feeling that returning to the Forest of the Beginning might bring up more than just slimes.">>
<<continueBox "Forest" "Head to the Forest" "">>
</div>
<<pov "rylan" "chapter1default.mp3">>
<</nobr>><<nobr>>
<<set $mariel_Lust to $mariel_Lust or 0>>
<<set $mariel_SmellFetish to $mariel_SmellFetish or 0>>
<<set $mariel_SerykAffection to $mariel_SerykAffection or 0>>
<<set $mariel_NimeriaAffection to $mariel_NimeriaAffection or 0>>
<<set $seryk_MarielAffection to $seryk_MarielAffection or 0>>
<<set $nimeria_MarielAffection to $nimeria_MarielAffection or 0>>
<div class="passage-container rylan">
<<narrative "As we approach the front door, I can see the warm glow of candlelight through the windows. Home. After everything that's happened today, there's nothing I want more than to just collapse and process what we've been through.">>
<<dialog "Mariel" "face" "Welcome back!" "Mariel's voice calls out as she opens the door, her face lighting up with that familiar motherly smile" "How did the forest hunt go? I was starting to worry when-">>
<<narrative "Her words die in her throat as her emerald eyes fall upon Seryk and Nimeria. The color drains from her face, and she takes an instinctive step backward.">>
<center><img src="images/mariel/faceshocked.webp" alt="Mariel" width="300"></center>
<<dialog "Mariel" "faceshocked" "D-demons..." "she whispers, her hand moving to where her holy symbol used to hang. Old habits from her priestess days">>
<<dialog "Rylan" "face" "Mariel, wait!" "I quickly step forward, raising my hands peacefully" "It's not what you think! They're not hostile!">>
<<dialog "Liora" "faceshortpink" "They actually helped us!" "Liora adds, moving to stand beside me" "Seryk protected us from some slimes, and Nimeria... well, she's been nothing but friendly!">>
<<dialog "Serin" "face" "Yeah, they're cool," "Serin chimes in, though she keeps her hand near her daggers out of habit" "Weird, but cool.">>
<<dialog "Seryk" "face" "Ma'am, I understand your concern. I know what my kind represents to humans. But I give you my word - I mean no harm to you or your family." "Seryk steps forward slowly, his hands visible and non-threatening">>
<<dialog "Nimeria" "face" "Hi there!" "Nimeria waves cheerfully, seemingly oblivious to the tension" "You must be $humanName's $marielToHuman! $humanName has told us so much about you!">>
<<narrative "Mariel's eyes dart between all of us, her maternal instincts warring with years of conditioning about demons. I can see her mind working, processing what we're telling her.">>
<<dialog "Mariel" "face" "You... you're really not here to hurt anyone?" "she asks cautiously">>
<<dialog "Seryk" "face" "No, ma'am. We're just travelers looking for a place to belong.">>
<<dialog "Mariel" "face" "But the people in town... they won't understand. If they see demons living here, they'll..." "She trails off, worry creasing her brow" "They'll treat you harshly. Maybe even violently.">>
<<narrative "The group falls silent. I hadn't really thought about that aspect - how would the townspeople react to having demons living among them?">>
<<narrative "Mariel closes her eyes, her hand moving to her temple as she thinks deeply. The silence stretches on for what feels like an eternity. When she finally opens her eyes, there's a determined look in them that I recognize - it's the same expression she gets when she's made up her mind about something important.">>
<<dialog "Mariel" "face" "No." "She shakes her head firmly" "It's fine. You can stay here. We have spare rooms upstairs.">>
<<dialog "Rylan" "face" "Really?">>
<<dialog "Mariel" "face" "I'll talk to the neighbors personally. And to Thalor when he gets back. I'll make them understand that you're not a threat." "Her voice grows stronger with conviction" "Everyone deserves a chance to prove themselves.">>
<<dialog "Nimeria" "face" "Wait... Mariel and Thalor?" "Nimeria's cheerful expression suddenly shifts to one of shock and growing fear" "Don't tell me you're...">>
<<dialog "Liora" "faceshortpink" "Yes, she and Thalor defeated the demon king." "Liora says proudly, not noticing Nimeria's reaction">>
<<narrative "The color drains from Nimeria's face completely. Without warning, she drops to her knees, trembling.">>
<<dialog "Nimeria" "faceworried" "Please don't kill me! I know what you did to the demon king and his family, but I'm not like them! I've never hurt anyone!">>
<center><img src="images/nimeria/faceworried.webp" alt="Mariel" width="300"></center>
<<dialog "Mariel" "face" "Oh my goodness, child, get up!" "Mariel rushes forward, her maternal instincts overriding everything else" "It's all good, we won't do anything to you. That was a long time ago, and you're clearly not our enemy.">>
<<dialog "Nimeria" "face" "Really?! Thank you so much!" "Nimeria practically bounces with excitement before rushing forward and wrapping Mariel in an enthusiastic hug" "You're the best!">>
<center><img src="images/mariel/facelaugh.webp" alt="Mariel" width="300"></center>
<<narrative "Despite herself, Mariel can't help but smile at Nimeria's infectious enthusiasm.">>
<<dialog "Mariel" "facelaugh" "Well, aren't you a sweet one.">>
<<dialog "Seryk" "face" "Thank you, ma'am. This means more than you know.">>
<<dialog "Rylan" "face" "Come on, let me show you to your rooms." "I gesture toward the stairs" "We've got a couple of guest rooms that should work perfectly.">>
<<narrative "As we head toward the staircase, Seryk passes close by Mariel. She's still smiling from Nimeria's hug when suddenly her expression changes. Her nostrils flare slightly as she catches his scent - something musky and powerful, tinged with sweat from the day's exertions and something else...">>
<<set _marielRoll = random(1, 100)>>
<<set _marielSmellThreshold = 45>>
<<set _marielSmellMod = Math.floor($mariel_SmellFetish / 10) * -5>>
<<set _marielLustMod = Math.floor($mariel_Lust / 20) * -5>>
<<set _marielFinalThreshold = _marielSmellThreshold + _marielSmellMod + _marielLustMod>>
<<if _marielRoll <= _marielFinalThreshold>>
<<changeFetish "Mariel" "SmellFetish" 0.3>>
<<changeLust "Mariel" 8>>
<<changeAffection "Mariel" "Seryk" 1>>
<<narrative "The scent hits her like a wave - masculine, powerful, and strangely intoxicating. She finds herself breathing deeper, trying to catch more of it.">>
<</if>>
<center><img src="images/mariel/faceembarrassed.webp" alt="Mariel" width="300"></center>
<<narrative "For just a moment, Mariel's cheeks flush and she looks confused by her own reaction. She shakes her head slightly, as if trying to clear it.">>
<<dialog "Mariel" "faceembarrassed" "I... I should start preparing dinner. You must all be hungry after your adventure.">>
<<dialog "Seryk" "face" "That's very kind of you, Sunflower.">>
<<dialog "Mariel" "face" "Sunflower?" "She blinks, surprised by the nickname">>
<<dialog "Seryk" "face" "Sorry, I have a habit of giving people nicknames. You just... you have this warm, nurturing energy. Like sunlight.">>
<<narrative "Despite her earlier shock, Mariel finds herself smiling at the compliment.">>
<<dialog "Mariel" "face" "That's... actually quite sweet.">>
<<changeAffection "Seryk" "Mariel" 2>>
<<changeAffection "Nimeria" "Mariel" 3>>
<<changeAffection "Mariel" "Nimeria" 2>>
<<narrative "As we head upstairs, I can't help but feel relieved. Having Mariel's support means everything. Now we just have to hope that Thalor will be as understanding when he returns.">>
<<narrative "I lead Seryk and Nimeria up the wooden stairs, the old boards creaking softly under our feet. The second floor has two spare rooms that we've barely used since moving here.">>
<<dialog "Rylan" "face" "Here we are," "I say, opening the first door" "This room has a nice view of the garden, and the other one overlooks the street. You can choose whichever you prefer.">>
<<dialog "Nimeria" "face" "Ooh, I want the garden view!" "Nimeria peeks into the first room and claps her hands together" "It's perfect! Thank you so much!">>
<<dialog "Seryk" "face" "The street view works fine for me, bro. Thanks for this.">>
<<dialog "Rylan" "face" "No problem. Make yourselves at home.">>
<<continueBox "DemonRooms" "Demon Rooms" "">>
</div>
<<pov "rylan" "chapter1default.mp3">>
<</nobr>><<script>>window.AudioSystem.playBGM('chapter1default.mp3');<</script>><div class="intervention-failed-container" style="background-image: url('images/landscapes/forest.webp'); background-size: cover; background-position: center; min-height: 500px; position: relative; border-radius: 10px; overflow: hidden;"><div class="night-overlay" style="background: linear-gradient(to bottom, rgba(50,25,25,0.8), rgba(30,15,15,0.9)); position: absolute; top: 0; left: 0; right: 0; bottom: 0;"></div><div class="intervention-content" style="position: relative; z-index: 2; padding: 30px; text-align: center;"><h2 style="color: #ffb3b3; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin-bottom: 20px; font-size: 1.8em;">Your intervention fails...</h2><div class="failure-message" style="background: linear-gradient(145deg, rgba(139,0,0,0.3), rgba(100,0,0,0.4)); border: 2px solid rgba(200,100,100,0.4); border-radius: 12px; padding: 20px; margin: 20px auto; max-width: 600px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"><p style="color: #ffcccc; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin-bottom: 15px; font-size: 1.1em;">You try to interrupt, but your presence feels... unwelcome.</p><p style="color: #ffb3b3; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin-bottom: 15px; font-size: 1em;">The bond between them has grown too strong. Your attempt to intervene only makes you feel like an outsider.</p><p style="color: #ff9999; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; font-size: 0.9em; font-style: italic;">Perhaps if their feelings for you were stronger, this might have gone differently...</p></div><div class="action-cost" style="background: linear-gradient(145deg, rgba(100,100,150,0.2), rgba(80,80,120,0.3)); border: 1px solid rgba(150,150,200,0.3); border-radius: 8px; padding: 15px; margin: 20px auto; max-width: 400px; backdrop-filter: blur(3px);"><p style="color: #e0e0ff; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 0;">You've spent your action point, but the threat remains...</p></div><div style="margin-top: 40px;"><div class="return-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease;"><div style="background: linear-gradient(145deg, rgba(100,100,150,0.2), rgba(80,80,120,0.3)); border: 2px solid rgba(150,150,200,0.3); border-radius: 10px; padding: 15px 25px; display: inline-block; box-shadow: 0 4px 8px rgba(0,0,0,0.3); backdrop-filter: blur(3px);"><h3 style="color: #c0c0e0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; font-size: 1.1em;">Return to night activities</h3><p style="color: #a0a0c0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 5px 0 0 0; font-style: italic;">"Maybe I should focus on someone else..."</p></div></div><div style="margin-top: 15px;"><<link "Continue" "NightActivities2">><</link>></div></div></div></div><style>.intervention-failed-container a {color: #ffb3b3;text-decoration: none;background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(255,255,255,0.1));border: 1px solid rgba(255,255,255,0.3);border-radius: 8px;padding: 10px 20px;display: inline-block;margin-top: 10px;transition: all 0.3s ease;text-shadow: 1px 1px 2px rgba(0,0,0,0.8);font-weight: bold;font-size: 1.1em;}.intervention-failed-container a:hover {color: #fff2b3;background: linear-gradient(145deg, rgba(255,255,255,0.25), rgba(255,255,255,0.15));border-color: rgba(255,255,255,0.5);transform: translateY(-2px);box-shadow: 0 4px 12px rgba(0,0,0,0.4);}.intervention-failed-container a:active {transform: translateY(0px);box-shadow: 0 2px 6px rgba(0,0,0,0.3);}.return-option:hover {transform: translateY(-3px) scale(1.02);opacity: 0.9;}.return-option:active {transform: translateY(-2px) scale(1.01);}</style><<nobr>>
<<if not $rylan_NimeriaAffection>><<set $rylan_NimeriaAffection = 0>><</if>><<if not $rylan_NimeriaAttraction>><<set $rylan_NimeriaAttraction = 0>><</if>><<set $metNimeria = true>><<set $metSeryk = true>><<set _baseRoll = random(1, 100)>><<set _lustThreshold = 65>><<set _lustMod = Math.floor($rylan_Lust / 20) * -5>><<set _attractionMod = Math.floor($rylan_NimeriaAttraction / 10) * -3>><<set _finalThreshold = _lustThreshold + _lustMod + _attractionMod>><<if _baseRoll <= _finalThreshold>><<changeLust "Rylan" 2>><</if>>
<div class="passage-container rylan">
<<thought "Rylan" "face" "I stare at the ground, my mind racing. Everything I thought I knew just got turned upside down. These aren't the evil monsters from the stories - they're escaped slaves with nowhere to go. And I... I attacked them first." "God, what was I thinking? I charged at them like some kind of hero, but I was just... wrong. Completely wrong. They saved our lives, and I tried to kill him for a bounty that probably doesn't even exist. I'm not the demon slayer - I'm the idiot who attacks refugees.">>
<<narrative "The words come out hesitantly.">>
<<dialog "Rylan" "face" "Maybe... maybe you could come with us?">>
<<narrative "Everyone turns to stare at me - Liora with wide eyes, Serin with raised eyebrows, and both demons with surprise.">>
<<dialog "Rylan" "face" "I mean... you said you have nowhere to go, right? And we live in Lindale - it's not far from here. My... my $bothToHuman might be able to help you figure out those collars, or at least give you a place to stay while you get back on your feet." "I pause, then look directly at Seryk" "It's the least I can do after... after what I did.">>
<<dialog "Liora" "faceshock" "$humanName!" "Liora hisses under her breath, clearly shocked by my suggestion">>
<<dialog "Serin" "face" "Are you serious right now?" "Serin looks between me and the two demons" "We just fought them!">>
<<dialog "Seryk" "face" "Hey, I said I was sorry about that, Wildcat." "Seryk scratches his head sheepishly" "And honestly, bro, that's... that's really generous of you. Most humans wouldn't even consider helping demons.">>
<<narrative "Nimeria's eyes light up with hope, and something about her expression makes my chest feel warm.">>
<<dialog "Nimeria" "face" "You would really do that? Even after what happened?">>
<<if _baseRoll <= _finalThreshold>>
<<narrative "There's something about being near her that makes my pulse quicken. Maybe it's just the adrenaline from the fight, but I find myself drawn to her presence in a way I can't quite explain.">>
<</if>>
<<dialog "Rylan" "face" "Everyone deserves a chance," "I say, my voice shaky with guilt" "Besides, you saved our lives after I... after I tried to..." "I can't even finish the sentence" "I owe you an apology. A real one. And maybe this is a start.">>
<<dialog "Nimeria" "face" "Thank you," "she whispers, and I swear I see tears forming in her eyes again" "You have no idea what this means to us.">>
<<narrative "Before I can react, Nimeria rushes forward and wraps me in a tight hug. Her sweet, intoxicating scent fills my nostrils as she presses against me, and I feel a strange warmth spreading through my body.">>
<<set _hugRoll = random(1, 100)>><<if _hugRoll <= 60>><<changeLust "Rylan" 3>><<changeAttraction "Rylan" "Nimeria" 1>><</if>>
<<dialog "Nimeria" "facelaugh" "Thank you, thank you so much!" "she says into my shoulder, her voice muffled but filled with genuine emotion. The hug lasts just a moment longer than it probably should, and when she pulls back, her bright smile seems to light up the entire forest clearing">>
<<dialog "Liora" "faceworried" "$humanName, can we talk? Privately?" "Liora's voice is tight with concern">>
<<dialog "Serin" "faceworried" "Yeah, this might not be the smartest idea...">>
<<dialog "Seryk" "face" "Look, I get it. You don't trust us. Hell, I wouldn't trust me either after what just happened." "He holds up his hands peacefully" "But I give you my word - we won't cause any trouble. We just need somewhere safe to figure out our next move.">>
<<dialog "Nimeria" "face" "We could help with chores, or work to earn our keep," "Nimeria adds eagerly" "We don't want to be a burden.">>
<<thought "Rylan" "face" "I look at my companions' worried faces, then back at the two demons. The guilt gnaws at me, but something deeper tells me this is the right thing to do." "Maybe for once I can do something right. Maybe I can be the guy who helps instead of the guy who makes everything worse. They need help, and I owe them at least this much.">>
<<dialog "Rylan" "face" "It's settled then. You're coming with us.">>
<<narrative "The journey back through the forest is... interesting. Seryk walks alongside us, chatting easily despite the earlier violence. He seems genuinely friendly, asking about our training, our goals as adventurers, even complimenting Serin on her fighting technique.">>
<<thought "Rylan" "face" "How can he be so... normal? So friendly? I was ready to kill him for money, and now he's giving Serin fighting tips like we're old friends. What kind of person does that make me?">>
<<dialog "Seryk" "face" "Seriously, Wildcat, those moves with the daggers? That was some next-level stuff. Where'd you learn to fight like that?">>
<<dialog "Serin" "face" "Years of practice," "Serin replies, still wary but warming up slightly to his enthusiasm" "And it's Serin, not Wildcat.">>
<<dialog "Seryk" "face" "Serin it is. Though you do fight like a wildcat - all speed and precision.">>
<<narrative "Nimeria walks closer to me and Liora, and I notice Liora examining the black marbles we collected from the slimes earlier.">>
<<dialog "Liora" "face" "I wonder what we should do with these," "she muses, holding up one of the dark, swirled stones" "They're too pretty to just sell, but I'm not sure what else they're good for.">>
<center><img src="images/items/blackmarbles.webp" alt="Black marbles" width="300" style="display: block; margin: 20px auto;"></center>
<<narrative "Nimeria's eyes immediately lock onto the marbles, and her face lights up with that bright, cheerful smile that seems to be her constant expression.">>
<<dialog "Nimeria" "face" "Oh wow, they're so beautiful!" "She moves closer, and I catch that same sweet, intoxicating scent from her - something that makes my head feel slightly dizzy" "The patterns inside are mesmerizing. Can I... can I have them?">>
<<set _proximityRoll = random(1, 100)>><<if _proximityRoll <= 50>><<changeLust "Rylan" 2>><<changeAttraction "Rylan" "Nimeria" 1>><</if>>
<<dialog "Liora" "face" "Oh! Of course, if you want them." "Liora seems surprised but pleased by Nimeria's interest" "We weren't sure what to do with them anyway.">>
<<dialog "Nimeria" "face" "Thank you so much!" "Nimeria carefully takes the marbles, cradling them like precious gems" "They're absolutely perfect.">>
<<narrative "She hesitates for a moment, then looks at Liora with that same hopeful expression.">>
<<dialog "Nimeria" "face" "Um... this might sound strange, but do you happen to have an empty vial? Just a small one?">>
<<dialog "Liora" "face" "A vial?" "Liora looks puzzled but reaches into her healing pouch" "I have a few spare ones... here." "She hands Nimeria a small, clear glass vial">>
<<dialog "Nimeria" "face" "Perfect! Thank you again, you're all so kind." "Nimeria carefully tucks the vial away with the marbles, her smile somehow becoming even brighter">>
<<narrative "As we continue walking, the sound of running water grows louder. Soon we emerge at the edge of a crystal-clear lake, its surface reflecting the afternoon sun like scattered diamonds.">>
<center><img src="images/landscapes/forestlake.webp" alt="Forest lake" width="600"></center>
<<dialog "Nimeria" "face" "Oh, this is perfect!" "Nimeria exclaims, looking down at her dirt-stained clothes and skin" "Would it be alright if I took a quick bath? I'm absolutely filthy from days in the forest.">>
<<dialog "Seryk" "face" "Good idea, Nim. You do look like you wrestled with a mud pit.">>
<<dialog "Nimeria" "face" "Says the demon who's covered in just as much dirt," "she retorts with a smile">>
<<dialog "Rylan" "face" "Of course, go ahead. We'll wait here and keep watch.">>
<<dialog "Liora" "face" "Just... be careful. We don't know what might be in the water.">>
<<dialog "Nimeria" "face" "I will. Thank you all again - for everything.">>
<<narrative "She heads toward a secluded part of the lake, hidden by some large rocks and overhanging trees. The rest of us settle down to wait, and Seryk immediately starts up another conversation.">>
<<dialog "Seryk" "face" "So, Little Bird," "he says to Liora" "that healing magic of yours is impressive. How long have you been studying the healing arts?">>
<<dialog "Liora" "face" "Since I was young. My grandmother taught me the basics." "Liora seems more relaxed now, perhaps reassured by Seryk's genuine interest">>
<<dialog "Seryk" "face" "And you, bro?" "He turns to me" "That sword work needs some polish, but you've got heart. That counts for a lot in a real fight.">>
<<dialog "Rylan" "face" "Thanks... I think?">>
<<dialog "Seryk" "face" "Trust me, it's a compliment. I've seen plenty of skilled fighters with no courage, and plenty of brave fighters with no skill. You can teach skill, but you can't teach heart.">>
<<thought "Rylan" "face" "The conversation continues pleasantly, and I find myself actually starting to like Seryk despite everything. He's crude and direct, but there's an honesty to him that's refreshing.">>
<<narrative "Then, cutting through our conversation like a knife, comes a loud, terrified scream from the direction of the lake.">>
<<dialog "Nimeria" "face" "AAAAHHH...">>
<<changeAffection "Rylan" "Nimeria" 2>><<changeAffection "Rylan" "Seryk" 3>><<changeAffection "Liora" "Nimeria" 5>><<changeAffection "Liora" "Seryk" 3>><<changeAffection "Serin" "Nimeria" 8>><<changeAffection "Serin" "Seryk" 5>><<changeAffection "Seryk" "Rylan" 10>><<changeAffection "Seryk" "Liora" 8>><<changeAffection "Seryk" "Serin" 12>><<changeAffection "Nimeria" "Rylan" 15>><<changeAffection "Nimeria" "Liora" 10>><<changeAffection "Nimeria" "Serin" 12>><<changeAffection "Liora" "Rylan" -1>>
<<continueBox "RushToNimeria" "Rush to Help" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<div class="passage-container rylan">
<center><img src="images/landscapes/rylanhome.webp" alt="Home" width="450"></center>
<<narrative "I'm relaxing in the living room with Serin when I hear voices approaching the house. The shopping trip must be over.">>
<<dialog "Serin" "face" "Finally! I was getting bored just sitting around.">>
<<narrative "The door opens and Mariel walks in first, looking satisfied with herself, followed by Seryk carrying several packages and complaining under his breath about 'restrictive clothing.'">>
<<narrative "Then Nimeria enters with a knowing smile, and finally...">>
<center><img src="images/liora/pinkshortdress/1.webp" alt="Liora in pink dress" width="500"></center>
<<narrative "My breath catches in my throat. Liora steps through the doorway wearing a short pink dress that hugs her curves in ways I've never seen before. The neckline dips low enough to show a tantalizing glimpse of her cleavage, and the hem barely reaches mid-thigh, showing off her long legs in those black pantyhose.">>
<<dialog "Rylan" "face" "L-Liora?" "I stammer, feeling heat rush to my face">>
<<dialog "Liora" "faceembarrassedshortpink" "Do I... do I look okay?" "She fidgets with the hem of the dress, clearly self-conscious about showing so much skin" "Nimeria insisted I needed something more... fashionable.">>
<<narrative "I try to form words, but my eyes keep drifting to the way the dress accentuates her figure. The innocent girl I fell in love with is still there, but now there's something else - a hint of sensuality that makes my heart race.">>
<<dialog "Rylan" "face" "You look... incredible." "I finally manage to say, my voice slightly hoarse">>
<<dialog "Serin" "face" "Wow, Liora! You clean up nice!" "Even Serin seems impressed by the transformation">>
<<dialog "Nimeria" "facesmile" "See? I told you he'd like it!" "Nimeria looks pleased with her handiwork">>
<img src="images/liora/facesmile.webp" alt="Liora" width="300">
<<dialog "Liora" "facesmile" "Really? You think it suits me?" "There's something different in Liora's voice - a hint of confidence that wasn't there before. The way she moves in the dress, the slight sway of her hips... it's like she's discovering a new side of herself">>
<<narrative "I can't take my eyes off her. This new look awakens something in both of us - she's stepping out of her shell, becoming more aware of her own appeal, while I'm struggling not to stare at every curve the dress reveals.">>
<<dialog "Rylan" "face" "It definitely suits you." "I clear my throat, trying to regain my composure" "Very much.">>
<<narrative "The way she smiles at my approval, the slight blush on her cheeks combined with this newfound confidence - it's absolutely captivating.">>
<<set $rylan_LioraAttraction += 3>><<trackAttraction "Rylan" "Liora" 3>><<set $liora_RylanAttraction += 2>><<trackAttraction "Liora" "Rylan" 2>><<set $rylan_LioraAffection += 2>><<trackAffection "Rylan" "Liora" 2>><<set $liora_RylanAffection += 2>><<trackAffection "Liora" "Rylan" 2>><<addSoulCorruption "liora" 1>><<changeLust "Rylan" 8>><<changeLust "Liora" 5>>
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<div class="corruption-showcase">
<p style="color: #9370db; font-size: 1.1em; text-align: center; margin: 15px 0; font-style: italic;">😈 Liora gains 1 Soul Corruption: Embracing her sensuality and enjoying the attention her revealing outfit brings</p>
</div>
<div style="clear: left;"></div>
</div>
<<continueBox "AfternoonPicnic" "Continue with the Afternoon" "">>
</div>
<</nobr>>
<<pov "rylan" "default2.mp3">><<nobr>>
<<set $nightVisitedTonight.push("Liora")>>
<<set $rylan_LioraAffection += 3>><<set $liora_RylanAffection += 3>><<set $rylan_LioraAttraction += 1>><<set $liora_RylanAttraction += 1>>
<div class="passage-container rylan">
<<narrative "I knock softly on Liora's door. After a moment, I hear her gentle voice.">>
<<dialog "Liora" "faceshortpink" "Come in, $humanName...">>
<<narrative "I find her sitting by the window in her pink dress, moonlight streaming across her face. She looks up with a soft smile.">>
<<dialog "Liora" "faceshortpink" "I couldn't sleep either. The soul transformations... they've changed everything, haven't they?">>
<<dialog "Rylan" "face" "Yeah, I keep thinking about what happened. How are you feeling about it all?">>
<<narrative "She shifts slightly, making room for me to sit beside her.">>
<<dialog "Liora" "faceshortpink" "Scared, but... also hopeful? I feel like I can sense things differently now. Like I'm more aware of the people around me." "She glances at me meaningfully" "Especially you.">>
<<dialog "Rylan" "face" "I feel it too. This connection between us... it's stronger now.">>
<<narrative "Her cheeks flush slightly in the moonlight.">>
<<dialog "Liora" "faceshortpink" "I'm glad you came to talk. Whatever these changes bring, I want us to face them together. You make me feel safe, $humanName.">>
<<dialog "Rylan" "face" "Always, Liora. We're in this together, no matter what happens.">>
<<narrative "She reaches out and takes my hand, squeezing it gently.">>
<<dialog "Liora" "faceshortpink" "Thank you. I feel so much better now. Like... like we can handle whatever comes next.">>
<<narrative "We sit in comfortable silence for a moment, hands intertwined, both feeling the deeper bond that's formed between us.">>
<<narrative "The quiet conversation has strengthened your bond with Liora.">>
<<continueBox "NightActivities2" "Return to the hallway" "">>
<<trackAffection "Rylan" "Liora" 3>><<trackAffection "Liora" "Rylan" 3>><<trackAttraction "Rylan" "Liora" 1>><<trackAttraction "Liora" "Rylan" 1>>
</div>
<</nobr>>
<<pov "rylan" "chapter1default.mp3">><<nobr>>
<<set $rylan_MassagedMarielBack2 = true>>
<<set $rylan_MassagedMarielIntimately = true>>
<div class="passage-container rylan">
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<h2 style="color: #e6e6ff; font-size: 1.6em; margin-bottom: 10px; text-align: center;">A Gentle Back Massage</h2>
<p style="color: #b3b3d9; font-style: italic; font-size: 1.1em; text-align: center; margin: 0;">Helping with her tension...</p>
</div>
<center><img src="images/mariel/nightactivities/2/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel preparing for massage"></center>
<<dialog "Rylan" "face" "Your back... you mentioned it was sore earlier.">>
<<if $rylan_MassagedMarielBack>>
<<dialog "Mariel" "face" "Yes... the last massage helped so much. I think I might have overdone it with the housework again." "She gives a slightly embarrassed smile" "Would you mind...?">>
<<else>>
<<dialog "Mariel" "face" "My back has been so tense lately. If you're sure it's not too much trouble...">>
<</if>>
<<narrative "She sits on the edge of her bed, turning slightly away from me.">>
<<dialog "Mariel" "face" "I... you can massage through the nightgown, right? I don't want to make this too... complicated." "There's a nervous flutter in her voice, and I can see her hands fidgeting with the fabric.">>
<<dialog "Rylan" "face" "Of course. Whatever makes you comfortable.">>
<<if $rylan_MassagedMarielBack>>
<<quickRoll "Breast Temptation" "Rylan" 35 5 "BreastFetish" 2>>
<<else>>
<<quickRoll "Breast Temptation" "Rylan" 40 5 "BreastFetish" 2>>
<</if>>
<<set _breastSuccess = not _tempRollSuccess>>
<<quickRoll "Scent Temptation" "Rylan" 40 5 "SmellFetish" 2>>
<<set _smellSuccess = not _tempRollSuccess>>
<<quickRoll "Submission Temptation" "Rylan" 45 5 "SubmissionFetish" 2>>
<<set _submissionSuccess = not _tempRollSuccess>>
<<changeLust "Rylan" 2>>
<<if _breastSuccess>>
<<if $rylan_MassagedMarielBack>>
<<changeFetish "Rylan" "BreastFetish" 0.2>>
<<changeLust "Rylan" 2>>
<<else>>
<<changeFetish "Rylan" "BreastFetish" 0.15>>
<<changeLust "Rylan" 1>>
<</if>>
<<else>>
<<changeFetish "Rylan" "BreastFetish" 0.05>>
<</if>>
<<if _smellSuccess>>
<<changeFetish "Rylan" "SmellFetish" 0.15>>
<<changeLust "Rylan" 1>>
<<else>>
<<changeFetish "Rylan" "SmellFetish" 0.05>>
<</if>>
<<if _submissionSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.1>>
<<changeLust "Rylan" 1>>
<<else>>
<<changeFetish "Rylan" "SubmissionFetish" 0.05>>
<</if>>
<<dialog "Mariel" "face" "Actually... wait." "She pauses, her hands fidgeting with the hem of her nightgown" "The nightgown... it's going to get in the way, isn't it? For a proper massage?" "There's a nervous flutter in her voice as she looks down at the silk fabric" "Could you... could you turn around for a moment? I'll just... I'll change into something more appropriate for a massage.">>
<<dialog "Rylan" "face" "Of course." "I turn away, facing the window, my heart beating faster at the implication.">>
<<narrative "I hear the soft rustle of fabric behind me, the whisper of silk sliding over skin. The sound seems to echo in the quiet room, and I find myself holding my breath.">>
<<dialog "Mariel" "face" "Okay... you can turn back now." "Her voice is softer, more vulnerable than before.">>
<center><img src="images/mariel/nightactivities/2/backmassage1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel lying down for massage"></center>
<<narrative "When I turn around, my breath catches. She's lying on her stomach on the bed, wearing only a delicate white bra and matching panties. The moonlight plays across her bare skin, highlighting every graceful curve of her back and the elegant line of her spine.">>
<<if _breastSuccess && _smellSuccess>>
<<narrative "The sight of her in just her undergarments catches my attention more than it should. Her scent - a mix of her perfume and something warmer, more personal - fills the air around us. I feel my pulse quicken as I approach.">>
<<elseif _breastSuccess>>
<<narrative "Even in just her bra and panties, I can't help but notice the elegant curve of her waist, the way her figure is highlighted by the delicate undergarments. There's something about seeing her like this that makes my heart beat faster.">>
<<elseif _smellSuccess>>
<<narrative "Her scent is more noticeable now that I'm close - not just perfume, but something softer and more intimate. It makes me feel slightly lightheaded as I position myself beside the bed.">>
<<else>>
<<narrative "Even though she's still covered by her undergarments, there's something about this situation that feels incredibly intimate. The trust she's showing, the vulnerability...">>
<</if>>
<<dialog "Mariel" "face" "Is... is this better? For the massage, I mean?" "She asks without looking back at me, her voice muffled by the pillow. I can see a blush spreading across her shoulders and neck.">>
<<dialog "Rylan" "face" "I... yes. This will work much better." "My voice comes out rougher than I intended.">>
<<narrative "The sight of her like this - so exposed, so trusting - makes my pulse race. The contrast between her usual modest demeanor and this vulnerable position is almost overwhelming.">>
<<dialog "Mariel" "face" "I... thank you for doing this. I know it's asking a lot." "Her voice is muffled by the pillow, and I can hear a slight tremor in it.">>
<<narrative "I place my hands on her bare shoulders, feeling the warmth of her skin directly. She shivers slightly at the contact.">>
<<dialog "Rylan" "face" "Just try to relax. I'll work out those knots.">>
<<if $rylan_MassagedMarielBack>>
<<dialog "Mariel" "face" "Your hands... they're so gentle. I can feel the tension melting away already.">>
<<else>>
<<dialog "Mariel" "face" "Oh... that feels... that's very nice." "She seems surprised by her own reaction, quickly adding," "I mean, you're very good at this.">>
<</if>>
<<continueBox "MarielBackMassage2Continue" "Continue the Massage" "">>
<<changeAffection "Rylan" "Mariel" 3>>
<<changeAffection "Mariel" "Rylan" 3>>
<<changeAttraction "Rylan" "Mariel" 2>>
<<changeAttraction "Mariel" "Rylan" 2>>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<<run window.AudioSystem.playSFX('moan.mp3')>>
<div class="passage-container rylan">
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<h2 style="color: #e6e6ff; font-size: 1.6em; margin-bottom: 10px; text-align: center;">Deeper Relaxation</h2>
<p style="color: #b3b3d9; font-style: italic; font-size: 1.1em; text-align: center; margin: 0;">The massage continues...</p>
</div>
<center><img src="images/mariel/nightactivities/2/backmassage3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel relaxing during massage"></center>
<<if $rylan_SubmissionFetish >= 20>>
<<narrative "As I work my hands along her bare back, I notice how she responds to my touch - small sighs that she tries to muffle, the way her body relaxes and then tenses again. Without the barrier of fabric, I can feel the warmth of her skin directly, the subtle tremors that run through her at my touch. There's something about the way she's positioned herself, so trusting and vulnerable beneath my hands, that stirs something unexpected in me. The sight of her in just her undergarments, the way she responds to my touch...">>
<<else>>
<<narrative "As I work my hands along her bare back, I notice how she responds to my touch - small sighs that she tries to muffle, the way her body relaxes and then tenses again. Without the barrier of fabric, I can feel the warmth of her skin directly, the subtle tremors that run through her at my touch. I try to focus on the massage itself, but it's impossible to ignore how intimate this feels with her wearing so little.">>
<</if>>
<<narrative "She shifts slightly, and I catch a glimpse of her profile - her eyes are closed, lips slightly parted, cheeks flushed. She looks... affected.">>
<<dialog "Mariel" "face" "That spot... right there... mmm..." "She catches herself, clearing her throat" "That's where the tension is worst.">>
<<narrative "I work the area she indicated, and she lets out a soft sound that makes my heart race. My hands on her bare skin seem to make every touch more electric somehow, more charged with unspoken tension.">>
<<dialog "Rylan" "face" "Better?" "My voice comes out rougher than intended.">>
<<dialog "Mariel" "face" "Much better. You have... very skilled hands." "There's something in her tone that makes me wonder if she means more than she's saying.">>
<center><img src="images/mariel/nightactivities/2/backmassage4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel after the massage"></center>
<<narrative "As I finish the massage, my hands linger on her shoulders for just a moment too long. I can feel her warmth directly now, and she doesn't pull away immediately. The moonlight catches the subtle sheen on her skin, making her look almost ethereal in just her delicate undergarments.">>
<<dialog "Mariel" "face" "Thank you. That was... very relaxing." "She sits up slowly, suddenly seeming to remember her state of undress. Her hands move to cover herself slightly, but she doesn't reach for her nightgown immediately. She won't quite meet my eyes" "I should probably... get dressed and get some sleep now.">>
<<dialog "Rylan" "face" "Of course. Sleep well.">>
<<narrative "But neither of us moves for a moment, the tension in the room palpable. There's something different about her now - a subtle confidence, as if she's becoming more aware of the effect she has on me, even in her vulnerable state.">>
<<changeLust "Rylan" 5>>
<<changeLust "Mariel" 5>>
<<addSoulCorruption "rylan" 1>>
<<soulDisplay "rylan">>
<<continueBox "NightActivities2" "Return to the hallway" "The massage has left both you and $marielToHuman feeling... unsettled.">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<<set $rylan_SmelledMarielFeet2 = true>>
<<set $rylan_MarielTemptationChoice2 = "gaveIn">>
<div class="passage-container rylan">
<<narrative "Unable to resist any longer, I lean closer to her feet. The temptation is too strong, the scent too intoxicating to ignore.">>
<<narrative "I breathe in deeply, letting her intimate aroma fill my senses completely. The warm, musky scent of her feet after a long day is intoxicating in a way I never imagined possible.">>
<<changeFetish "Rylan" "SmellFetish" 0.4>>
<<changeFetish "Rylan" "FeetFetish" 0.3>>
<<changeLust "Rylan" 6>>
<<set _oldCorruptionLevel = $rylan_soulCorruption || 0>>
<<addSoulCorruption "rylan" 1>>
<<set _newCorruptionLevel = $rylan_soulCorruption || 0>>
<<if _newCorruptionLevel > _oldCorruptionLevel>>
<<set _latestCorruption = $rylan_soulEffects[$rylan_soulEffects.length - 1]>>
<</if>>
<<narrative "The corruption spreads through me as I give in to this taboo desire, crossing a line I never thought I would cross. My pulse races with forbidden excitement as I lose myself in her scent.">>
<div class="soul-corruption-showcase">
<div class="corruption-aura"></div>
<div class="corruption-shadows"></div>
<div class="corruption-text">
<h3>😈 SOUL CORRUPTION DEEPENS 😈</h3>
<<if _latestCorruption>>
<p><strong><<print _latestCorruption.name>></strong>: <<print _latestCorruption.effect>></p>
<p>Giving in to forbidden desires has awakened this corruption within you.</p>
<<else>>
<p>Giving in to forbidden desires leaves a dark mark on your soul.</p>
<</if>>
</div>
</div>
<center><img src="images/mariel/nightactivities/2/footsmell.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel relaxing during massage"></center>
<<dialog "Mariel" "face" "Mmm... $humanName..." "she murmurs softly in her half-asleep state, a small smile playing on her lips" "That feels so good... don't stop...">>
<<narrative "Her words send another wave of desire through me, and I realize that this massage has awakened something dark and primal in both of us - something that will be impossible to ignore going forward.">>
<<changeAttraction "Mariel" "Rylan" 3>>
<<changeAffection "Mariel" "Rylan" 2>>
<<changeLust "Mariel" 4>>
<<narrative "I gently finish the massage, my hands lingering perhaps longer than they should on her soft skin. As I finally pull away, she opens her eyes slightly, looking at me with an expression that seems to hold new awareness.">>
<<dialog "Mariel" "face" "I had the strangest dream... about you being so close to me..." "Her cheeks flush deeper as she speaks, as if some part of her was aware of what happened" "It felt so... intimate.">>
<<continueBox "NightActivities2" "Return to the hallway" "">>
<<soulDisplay "rylan">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<h2 style="color: #e6e6ff; font-size: 1.6em; margin-bottom: 10px; text-align: center;">A Gentle Conversation</h2>
<p style="color: #b3b3d9; font-style: italic; font-size: 1.1em; text-align: center; margin: 0;">Sometimes words are enough...</p>
</div>
<center><img src="images/mariel/nightactivities/2/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel"></center>
<<dialog "Rylan" "face" "I think... I think we should just talk tonight. About everything that's happened.">>
<<narrative "She nods, seeming both relieved and slightly disappointed.">>
<<dialog "Mariel" "face" "You're probably right. These feelings, these changes... they're happening so fast. Maybe we need to understand them better before we act on them.">>
<<narrative "We sit together on her bed, maintaining a respectful distance but still close enough to feel the warmth of each other's presence.">>
<<dialog "Mariel" "face" "The soul transformations have changed something fundamental in all of us, haven't they? I feel more... aware. Of myself, of others, of desires I never knew I had.">>
<<dialog "Rylan" "face" "I feel it too. It's like we're seeing each other with new eyes.">>
<<dialog "Mariel" "face" "Sometimes I catch myself thinking things, wanting things that I know I shouldn't. It's confusing and frightening." "She looks at me with vulnerable eyes" "Do you think we're still the same people we were before?">>
<<dialog "Rylan" "face" "I think we're becoming who we were always meant to be. The souls just... unlocked something that was already there.">>
<<dialog "Mariel" "face" "That's what scares me. If these feelings were always there, hidden away... what does that say about us? About our relationship?">>
<<narrative "We talk for a while longer about the changes, the uncertainty, the strange new world we find ourselves in. It's a gentle conversation, but one that brings us closer together in understanding if not in physical intimacy.">>
<<dialog "Mariel" "face" "Thank you for being patient with me, $humanName. For not pushing when I'm not ready.">>
<<dialog "Rylan" "face" "We have time to figure this out. Whatever this is between us, it doesn't have to be rushed.">>
<<narrative "She smiles warmly, and for a moment, the confusion and desire fade into simple affection and care.">>
<<dialog "Mariel" "face" "You're a good man. Whatever happens, I want you to know that.">>
<<continueBox "NightActivities2" "Return to the hallway" "The gentle conversation has strengthened your emotional bond with $marielToHuman.">>
<<changeAffection "Rylan" "Mariel" 2>>
<<changeAffection "Mariel" "Rylan" 2>>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<<set $rylan_MassagedMarielLegs2 = true>>
<<set $rylan_MassagedMarielFeet2 = true>>
<<set $rylan_MassagedMarielIntimately = true>>
<<set $rylan_MarielMassageChoice2 = "both">>
<div class="passage-container rylan">
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<h2 style="color: #e6e6ff; font-size: 1.6em; margin-bottom: 10px; text-align: center;">An Intimate Touch</h2>
<p style="color: #b3b3d9; font-style: italic; font-size: 1.1em; text-align: center; margin: 0;">Exploring new boundaries...</p>
</div>
<<dialog "Mariel" "face" "My legs have been so tense today... would you mind helping me relax them?" "She sits gracefully on the edge of the bed in her elegant white nightgown, the fabric flowing around her curves">>
<<dialog "Rylan" "face" "Of course. Just lie back and try to relax." "She settles back against the pillows, her nightgown riding up slightly to reveal her smooth, pale legs">>
<center><img src="images/mariel/nightactivities/2/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel relaxing during massage"></center>
<<narrative "I kneel beside the bed and begin working on her calves with gentle, circular motions.">>
<<changeFetish "Rylan" "ThighFetish" 0.2>>
<<changeLust "Rylan" 2>>
<<if ($rylan_ThighFetish || 0) >= 20>>
<<narrative "The softness of her skin beneath my hands sends unexpected jolts through me. Her legs are so perfectly shaped, so inviting to touch. I find myself lingering on each stroke, mesmerized by the curves.">>
<<else>>
<<narrative "There's something about touching her like this that's affecting me more than I expected. The intimacy of the moment is stirring unfamiliar feelings.">>
<</if>>
<<dialog "Mariel" "face" "Mmm... that feels wonderful. Your hands are so skilled." "Her voice carries a note of appreciation that makes my heart race" "As I work my way up to her thighs, she lets out soft sighs of contentment. The massage oil makes her skin glisten in the moonlight">>
<center><img src="images/mariel/nightactivities/2/footmassage1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel relaxing during massage"></center>
<<dialog "Mariel" "face" "$humanName... could you... could you massage my feet too? They've been aching all day." "There's something almost shy in her request, a hint of embarrassment that makes her even more endearing">>
<<narrative "I move to the foot of the bed, gently taking one of her feet in my hands.">>
<<if ($rylan_FeetFetish || 0) >= 15>>
<<narrative "She has such elegant feet - perfectly shaped with delicate toes and smooth soles. I can't help but admire them.">>
<<else>>
<<narrative "I try to maintain a professional demeanor as I begin working on her feet.">>
<</if>>
<center><img src="images/mariel/nightactivities/2/footmassage2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel relaxing during massage"></center>
<<changeFetish "Rylan" "FeetFetish" 0.3>>
<<changeLust "Rylan" 3>>
<<if ($rylan_FeetFetish || 0) >= 25>>
<<narrative "I find myself completely mesmerized by her feet. The way her toes curl slightly when I touch a sensitive spot, the elegant arch, the soft warmth of her skin - it's intoxicating. This is awakening desires I never knew I had.">>
<<elseif ($rylan_FeetFetish || 0) >= 10>>
<<narrative "There's something deeply intimate about holding her feet like this. I'm surprised by how much this is affecting me.">>
<<else>>
<<narrative "Even trying to stay professional, the intimacy of touching her like this is stirring something within me.">>
<</if>>
<center><img src="images/mariel/nightactivities/2/footmassage3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel relaxing during massage"></center>
<<narrative "As I massage her feet with slow, deliberate strokes, I can't help but notice how soft her skin is, how perfectly shaped her toes are. The scent of her feet - a mixture of her natural fragrance and the faint aroma of the day's activities - fills my nostrils.">>
<center><img src="images/mariel/nightactivities/2/footmassage4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel relaxing during massage"></center>
<<if ($rylan_FeetFetish || 0) >= 20>>
<<narrative "The sight of her delicate feet in my hands is almost overwhelming. I find myself taking longer than necessary, savoring every moment of contact.">>
<<else>>
<<narrative "As I continue massaging her feet, I find myself drawn to their elegant shape and softness.">>
<</if>>
<center><img src="images/mariel/nightactivities/2/footmassage5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel relaxing during massage"></center>
<<narrative "As she lies there in her half-asleep state, I find myself drawn closer to her feet. The scent is stronger now, more personal and intimate. My heart pounds as I realize how much this is affecting me. The temptation is growing stronger with each passing moment...">>
<<choiceBox "A Forbidden Temptation" "Give in to the temptation" "MarielFootSmell2" "MarielLegsMassage2=giveIn" "Try to resist and finish professionally" "MarielResistSmell2" "MarielLegsMassage2=resist">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<<set $currentPOV = "Mariel">>
<div class="passage-container mariel">
<<narrative "Another memory surfaces - the final battle with demon king Azgorth. His final words as he fell:">>
<<dialog "Male NPC" "face" "I only wanted to heal this world... to make it better...">>
<<narrative "Three demon children cowered behind the throne. Then Thalor stepped forward with his sword drawn.">>
<<dialog "Thalor" "face" "They're demons. They can't be allowed to live.">>
<<dialog "Mariel" "face" "Thalor, no! They're just children!">>
<<dialog "Thalor" "face" "Mariel, leave the room. You don't need to see this.">>
<<narrative "But I heard their screams through the door. Three innocent children, murdered by the man I loved.">>
<div class="soul-corruption-showcase"><div class="corruption-aura"></div><div class="corruption-shadows"></div><div class="corruption-text"><h3>🌑 SOUL CORRUPTION DEEPENS 🌑</h3><p>The darkness in your soul grows stronger, fed by horror and moral conflict.</p></div></div>
<center><img src="images/mariel/facesad.webp" alt="Mariel" width="300"></center>
<<dialog "Mariel" "facesad" "The children... they were just children...">>
<<dialog "Nimeria" "face" "Oh my, such painful memories! But sometimes we must face our past to grow stronger!">>
<<narrative "The corruption whispers that perhaps the demon king had been right. Perhaps this world needs to be changed.">>
<<addSoulCorruption "mariel" 1>><<soulDisplay "mariel">>
<<continueBox "MarielMemory3" "Continue" "">>
</div>
<</nobr>>
<<pov "mariel" "chapter1default.mp3">><<nobr>>
<<set $currentPOV = "Mariel">>
<div class="passage-container mariel">
<<narrative "The final memory surfaces - the years after we returned home. Thalor was never the same after killing those children.">>
<<dialog "Mariel" "face" "Thalor, please... talk to me. We can work through this together.">>
<<dialog "Thalor" "face" "There's nothing to work through, Mariel. I did what had to be done.">>
<<narrative "But he shut me out completely. Years passed. Decades. We became strangers sharing a house, cold shoulders and empty beds. The loneliness ate at me.">>
<div class="soul-corruption-showcase"><div class="corruption-aura"></div><div class="corruption-shadows"></div><div class="corruption-text"><h3>🌑 SOUL CORRUPTION COMPLETE 🌑</h3><p>The darkness has fully taken root, born from decades of pain and neglect.</p></div></div>
<center><img src="images/mariel/faceangry.webp" alt="Mariel" width="300"></center>
<<dialog "Mariel" "faceangry" "I... I need some air. This power... it's overwhelming.">>
<<dialog "Nimeria" "face" "Oh my! You look quite different, Mariel. More... alive somehow!">>
<<narrative "The corruption whispers that perhaps it's time to stop being the patient wife and start taking what I need.">>
<<addSoulCorruption "mariel" 1>><<soulDisplay "mariel">>
<<continueBox "AfterSoulstones" "Continue" "">>
</div>
<</nobr>>
<<pov "mariel" "chapter1default.mp3">><<nobr>>
<<set $nightVisitedTonight.push("Mariel")>>
<div class="passage-container rylan">
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<h2 style="color: #e6e6ff; font-size: 1.6em; margin-bottom: 10px; text-align: center;"><<print $marielToHuman.charAt(0).toUpperCase() + $marielToHuman.slice(1)>>'s Room - Late Night</h2>
<p style="color: #b3b3d9; font-style: italic; font-size: 1.1em; text-align: center; margin: 0;">A gentle soul transformed...</p>
</div>
<<narrative "I knock softly on $marielToHuman's door, hearing her gentle voice call out.">>
<<dialog "Mariel" "face" "Come in, $humanName...">>
<<narrative "When I enter, I'm struck by how different she looks tonight. There's something... radiant about her. Her skin seems to have a subtle glow, and her golden hair catches the moonlight in an almost ethereal way.">>
<center><img src="images/mariel/nightactivities/2/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel"></center>
<<dialog "Rylan" "face" "You look... different tonight. In a good way.">>
<<dialog "Mariel" "face" "Oh, thank you, dear. I... I tried some makeup tonight. And I painted my nails." "She holds up her hands, showing off elegantly painted nails that seem to shimmer slightly" "The soul transformation... it's made me feel more aware of myself, I suppose.">>
<<quickRoll "Breast Temptation" "Rylan" 80 5 "BreastFetish" 2>>
<<set _breastSuccess = not _tempRollSuccess>>
<<quickRoll "Scent Temptation" "Rylan" 80 5 "SmellFetish" 2>>
<<set _smellSuccess = not _tempRollSuccess>>
<<changeLust "Rylan" 1>>
<<if _breastSuccess>>
<<changeFetish "Rylan" "BreastFetish" 0.1>>
<<changeLust "Rylan" 1>>
<<else>>
<<changeFetish "Rylan" "BreastFetish" 0.05>>
<</if>>
<<if _smellSuccess>>
<<changeFetish "Rylan" "SmellFetish" 0.1>>
<<changeLust "Rylan" 1>>
<<else>>
<<changeFetish "Rylan" "SmellFetish" 0.05>>
<</if>>
<<if _breastSuccess && _smellSuccess>>
<<narrative "I find myself noticing things I shouldn't - the way her nightgown drapes over her curves, the subtle scent of her perfume mixed with something more... personal. My eyes drift before I catch myself, heat rising in my cheeks.">>
<<elseif _breastSuccess>>
<<narrative "Something about the way the moonlight plays across her figure makes it hard to look away. I feel guilty for noticing, but there's something different about her tonight that draws my attention.">>
<<elseif _smellSuccess>>
<<narrative "There's a subtle fragrance about her - not just perfume, but something warmer, more intimate. It makes me feel strangely lightheaded.">>
<<else>>
<<narrative "The transformation has definitely affected her. She seems more... present somehow, more aware of herself in ways that make me feel oddly nervous.">>
<</if>>
<<dialog "Rylan" "face" "The soul changes... they're affecting all of us differently.">>
<<dialog "Mariel" "face" "I've been thinking about that. About how we're all changing, becoming more... aware of things we didn't notice before." "Her voice carries a note of uncertainty">>
<center><img src="images/mariel/nightactivities/2/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel"></center>
<<dialog "Mariel" "face" "It's confusing, isn't it?">>
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<<if $rylan_MassagedMariel>>
<<dialog "Rylan" "face" "Speaking of changes... would you like another massage? You seemed to enjoy the last one, and with all the stress from today...">>
<<dialog "Mariel" "face" "I... yes, that would be lovely. The last time was so relaxing, but..." "She trails off, seeming conflicted" "Is it... is it appropriate? With everything that's happening to us?">>
<<else>>
<<dialog "Rylan" "face" "You seem tense. Would you... would you like a massage? To help you relax?">>
<<dialog "Mariel" "face" "A massage? I... that's very thoughtful of you, $humanName. But are you sure? It seems so..." "She pauses, searching for words" "Intimate?">>
<</if>>
<<dialog "Rylan" "face" "It's just to help you relax. Nothing more." "Even as I say it, I feel uncertain. The soul transformations have changed something between us, made everything feel more charged somehow">>
<<dialog "Mariel" "face" "I suppose... if it's just to help me sleep better..." "She seems to be convincing herself as much as agreeing" "Where would you... I mean, what kind of massage?">>
<<if $rylan_MassagedMarielBack>>
<<choiceBox "Massage Choice" "Massage her back again (more intimate)" "MarielBackMassage2" "MarielNightVisit2=backAgain" "Massage her legs and feet again (more intimate)" "MarielLegsMassage2" "MarielNightVisit2=legsAgain" "Just talk and leave" "MarielJustTalk2" "MarielNightVisit2=talk">>
<<elseif $rylan_MassagedMarielLegs || $rylan_MassagedMarielFeet>>
<<choiceBox "Massage Choice" "Offer to massage her back" "MarielBackMassage2" "MarielNightVisit2=back" "Massage her legs and feet again (more intimate)" "MarielLegsMassage2" "MarielNightVisit2=legsAgain" "Just talk and leave" "MarielJustTalk2" "MarielNightVisit2=talk">>
<<else>>
<<choiceBox "Massage Choice" "Offer to massage her back" "MarielBackMassage2" "MarielNightVisit2=back" "Offer to massage her legs and feet" "MarielLegsMassage2" "MarielNightVisit2=legs" "Just talk and leave" "MarielJustTalk2" "MarielNightVisit2=talk">>
<</if>>
<<changeAffection "Rylan" "Mariel" 2>>
<<changeAffection "Mariel" "Rylan" 2>>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<<set $rylan_MarielTemptationChoice2 = "resisted">>
<div class="passage-container rylan">
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<h2 style="color: #e6e6ff; font-size: 1.6em; margin-bottom: 10px; text-align: center;">Fighting Temptation</h2>
<p style="color: #b3b3d9; font-style: italic; font-size: 1.1em; text-align: center; margin: 0;">Struggling against forbidden desires...</p>
</div>
<<narrative "I try to pull back, to maintain my composure and resist the overwhelming urge to breathe in her scent more deeply.">>
<<quickRoll "Resistance to Temptation" "Rylan" 80 5 "SmellFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "But my willpower crumbles in the face of such overwhelming temptation. Despite my best efforts to resist, I find myself leaning closer, unable to stop myself from breathing in her intoxicating scent.">>
<<set $rylan_SmelledMarielFeet2 = true>>
<<set $rylan_MarielResistanceResult2 = "failed">>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<<changeFetish "Rylan" "FeetFetish" 0.2>>
<<changeLust "Rylan" 5>>
<<set _oldCorruptionLevel = $rylan_soulCorruption || 0>>
<<addSoulCorruption "rylan" 1>>
<<set _newCorruptionLevel = $rylan_soulCorruption || 0>>
<<if _newCorruptionLevel > _oldCorruptionLevel>>
<<set _latestCorruption = $rylan_soulEffects[$rylan_soulEffects.length - 1]>>
<</if>>
<<narrative "The warm, musky aroma fills my senses completely, and I realize that my fetishes have grown too strong to resist. The corruption spreads through me as I give in to desires I can no longer control.">>
<<dialog "Rylan" "face" "I... I couldn't help myself..." "I whisper, ashamed of my lack of control but unable to deny how much I enjoyed it">>
<div class="soul-corruption-showcase">
<div class="corruption-aura"></div>
<div class="corruption-shadows"></div>
<div class="corruption-text">
<h3>😈 SOUL CORRUPTION DEEPENS 😈</h3>
<<if _latestCorruption>>
<p><strong><<print _latestCorruption.name>></strong>: <<print _latestCorruption.effect>></p>
<p>Despite your attempts to resist, your desires proved too strong to control.</p>
<<else>>
<p>Despite your attempts to resist, your desires proved too strong to control.</p>
<</if>>
</div>
</div>
<<else>>
<<narrative "I manage to pull back, my hands trembling with the effort it takes to resist. The temptation is overwhelming, but I force myself to focus on the massage itself rather than the forbidden desires stirring within me.">>
<<set $rylan_MarielResistanceResult2 = "succeeded">>
<<changeFetish "Rylan" "SmellFetish" 0.1>>
<<changeFetish "Rylan" "FeetFetish" 0.1>>
<<changeLust "Rylan" 2>>
<<narrative "My breathing is heavy from the internal struggle, but I've managed to maintain some semblance of control. Still, the experience has awakened something within me that will be hard to ignore in the future.">>
<</if>>
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<<if $rylan_SmelledMarielFeet2>>
<center><img src="images/mariel/nightactivities/2/footsmell.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel relaxing during massage"></center>
<<else>>
<center><img src="images/mariel/nightactivities/2/footmassage5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel relaxing during massage"></center>
<</if>>
</div>
<<dialog "Mariel" "face" "Mmm... $humanName..." "she murmurs softly in her half-asleep state, a small smile playing on her lips" "That feels so good... <<if $rylan_SmelledMarielFeet2>>don't stop...<<else>>so relaxing...<</if>>">>
<<if $rylan_SmelledMarielFeet2>>
<<narrative "Her words send another wave of desire through me, and I realize that this massage has awakened something dark and primal in both of us - something that will be impossible to ignore going forward.">>
<<changeAttraction "Mariel" "Rylan" 3>>
<<changeAffection "Mariel" "Rylan" 2>>
<<changeLust "Mariel" 4>>
<<else>>
<<narrative "Her words are innocent, appreciative of the genuine care I'm showing her. Despite the internal struggle, I realize that my restraint is building something deeper between us.">>
<<changeAttraction "Mariel" "Rylan" 2>>
<<changeAffection "Mariel" "Rylan" 3>>
<<changeLust "Mariel" 2>>
<</if>>
<<narrative "I gently finish the massage, my hands lingering perhaps longer than they should on her soft skin. As I finally pull away, she opens her eyes slightly, looking at me with an expression that seems to hold new awareness.">>
<<if $rylan_SmelledMarielFeet2>>
<<dialog "Mariel" "face" "I had the strangest dream... about you being so close to me..." "Her cheeks flush deeper as she speaks, as if some part of her was aware of what happened" "It felt so... intimate.">>
<<else>>
<<dialog "Mariel" "face" "That was wonderful... I feel so much better. Thank you for being so gentle and caring." "Her smile is warm and trusting, though I can't shake the feeling that she sensed my internal struggle">>
<</if>>
<<if $rylan_SmelledMarielFeet2>>
<<continueBox "NightActivities2" "Return to the hallway" "Despite your attempts to resist, your desires proved too strong to control...">>
<<else>>
<<continueBox "NightActivities2" "Return to the hallway" "Your willpower held strong, though the struggle has awakened new awareness of your desires...">>
<</if>>
<<if $rylan_SmelledMarielFeet2>>
<<soulDisplay "rylan">>
<</if>>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<div class="passage-container mariel">
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<h2 style="color: #e6e6ff; font-size: 1.6em; margin-bottom: 10px; text-align: center;">Shopping Trip</h2>
<p style="color: #b3b3d9; font-style: italic; font-size: 1.1em; text-align: center; margin: 0;">Time to update everyone's wardrobe...</p>
</div>
<center><img src="images/landscapes/clothesshop.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Shopping district"></center>
<<narrative "Finally! Someone needs to take charge of this situation. I've watched these young people run around in torn, dirty, or completely inadequate clothing for far too long. A $marielToHuman's work is never done.">>
<<dialog "Mariel" "face" "Come along, everyone. We're all going shopping together. No one in this house is running around in rags anymore!">>
<<dialog "Liora" "faceshortpink" "Oh, that sounds fun! I'd love to help pick out clothes for everyone.">>
<<narrative "The shopping district is bustling with activity as our whole group makes our way through the various clothing stalls and shops. I know exactly where to go for quality garments at reasonable prices.">>
<<dialog "Mariel" "face" "Now, let's make this interesting. Liora, you pick out clothes for Nimeria. I'll handle Seryk's wardrobe - someone needs to civilize that man.">>
<<dialog "Liora" "faceshortpink" "Oh, these white dresses would be perfect for Nimeria!" "Liora holds up several elegant white garments with genuine enthusiasm" "They'd look so beautiful with her complexion, and these boots would complete the look!">>
<<dialog "Nimeria" "face" "You have excellent taste, Liora! I love how thoughtful you are with your choices.">>
<<dialog "Liora" "faceshortpink" "And some black pantyhose would add such an elegant touch, don't you think?">>
<<narrative "Now for my more challenging task...">>
<<dialog "Seryk" "face" "Do I really have to wear all this stuff? These clothes feel so restrictive..." "Seryk complains like a child, tugging at a simple shirt I'm trying to get him to try on">>
<<dialog "Mariel" "face" "Seryk! You cannot continue running around practically naked with only loincloths! You're a grown man, not a savage!">>
<<dialog "Seryk" "face" "But they limit my movement! How am I supposed to fight properly when?">>
<<dialog "Mariel" "face" "At the very least, you need proper undergarments. I won't have you... exposed... around the house with young ladies present.">>
<<narrative "After considerable arguing and negotiating, I finally manage to get him to purchase a large pack of boxers. It's not much, but it's progress.">>
<center><img src="images/seryk/boxers.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk"></center>
<center><img src="images/nimeria/whitedress/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria"></center>
<<dialog "Nimeria" "face" "Now Liora, it's your turn for something special!" "Nimeria's eyes sparkle with mischief as she approaches with a shorter, more form-fitting dress">>
<<dialog "Liora" "faceembarrassedshortpink" "What do you mean?">>
<<dialog "Nimeria" "face" "You can't keep dressing like a nun when you have a boyfriend now! He might run away if you don't show him what he's got!">>
<<dialog "Liora" "faceembarrassedshortpink" "Nimeria! That's... that's so forward!">>
<<dialog "Nimeria" "face" "Trust me, dear. A little cleavage never hurt anyone. You should show off your assets! This pink dress would be perfect!">>
<<narrative "I watch as Nimeria gently but persistently convinces Liora to try on a shorter pink dress that's much more revealing than her usual conservative choices. The poor girl looks mortified but... there's a hint of curiosity in her eyes.">>
<<dialog "Mariel" "face" "Well... if it makes you happy, dear..." "I find myself saying, though part of me wonders if this is really appropriate">>
<<narrative "By the time we finish shopping, everyone has new outfits, and I feel satisfied that at least some standards have been maintained in this household.">>
<<set $shoppedWithMariel = true>>
<<continueBox "LioraNewLook" "Return Home" "See Liora's new look.">>
</div>
<</nobr>>
<<pov "mariel" "default2.mp3">><<nobr>>
<<set $rylan_MasturbatedToLiora = true>>
<<set $rylan_MasturbationChoice = "Liora">>
<div class="passage-container rylan">
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<h2 style="color: #ff9999; font-size: 1.6em; margin-bottom: 10px; text-align: center;">Romantic Fantasy</h2>
<p style="color: #ffb3b3; font-style: italic; font-size: 1.1em; text-align: center; margin: 0;">Lost in dreams of your beloved...</p>
</div>
<<narrative "I close my eyes and let my mind drift to thoughts of Liora - her gentle smile, her kind eyes, the way she always seems to care so deeply about others. In my fantasy, she's looking at me with love instead of just friendship.">>
<center><img src="images/liora/face.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora"></center>
<<narrative "My hand moves as I imagine what it would be like to hold her, to kiss her soft lips, to hear her whisper my name with desire instead of just friendship. She's always been so pure, so innocent - but in my dreams, she wants me as much as I want her.">>
<<changeLust "Rylan" -60>>
<<changeAttraction "Rylan" "Liora" 2>>
<<trackExperience "Rylan" "Masturbated" 1>>
<<set $rylan_masturbatedExperience = ($rylan_masturbatedExperience || 0) + 1>>
<<dialog "Rylan" "face" "Liora... if only you knew how I feel..." "I whisper into the darkness, completely lost in the fantasy of finally confessing my feelings and having them returned">>
<<narrative "I imagine her gentle touch, the way she might blush if I told her how beautiful she is, how she might look at me with those sweet eyes filled with love instead of just friendship. The fantasy of our first kiss, our first intimate moment together, drives me to an intense release.">>
<center><img src="images/rylan/masturbate/masturbate.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan Climax"></center>
<<narrative "As the waves of pleasure subside, I'm left with a bittersweet feeling - the satisfaction of release mixed with the longing for these dreams to become reality someday.">>
<<if $ntrThreats.length > 0>>
<<if $ntrThreats.includes("Mariel")>>
<<continueBox "NTREventMariel" "Try to sleep" "">>
<<elseif $ntrThreats.includes("Liora")>>
<<continueBox "NTREventLiora" "Try to sleep" "">>
<<elseif $ntrThreats.includes("Serin")>>
<<continueBox "NTREventSerin" "Try to sleep" "">>
<<else>>
<<continueBox "NTREventGeneric" "Try to sleep" "">>
<</if>>
<<else>>
<<continueBox "MorningAfterSoulstones" "Try to sleep" "">>
<<set $ntrThreats = []>>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "ntr1.mp3">><<nobr>>
<<set $rylan_MasturbatedToMariel = true>>
<<set $rylan_MasturbationChoice = "MarielBack">>
<div class="passage-container rylan">
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<h2 style="color: #ff9999; font-size: 1.6em; margin-bottom: 10px; text-align: center;">Forbidden Maternal Fantasy</h2>
<p style="color: #ffb3b3; font-style: italic; font-size: 1.1em; text-align: center; margin: 0;">Lost in memories of her touch...</p>
</div>
<<narrative "I close my eyes and let the memory of Mariel's massage consume me. The feeling of her hands on my back, the way she moved so close, the intoxicating scent of her body...">>
<center><img src="images/mariel/nightactivities/2/backmassage4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel Back Massage"></center>
<<narrative "My hand moves without conscious thought as I remember every detail - the warmth of her touch, the way her breathing changed when she leaned over me, the forbidden nature of what we were sharing.">>
<<changeFetish "Rylan" "BreastFetish" 0.2>>
<<changeLust "Rylan" -60>>
<<changeAttraction "Rylan" "Mariel" 3>>
<<trackExperience "Rylan" "Masturbated" 1>>
<<set $rylan_masturbatedExperience = ($rylan_masturbatedExperience || 0) + 1>>
<<addSoulCorruption "rylan" 1>>
<div class="soul-corruption-showcase">
<div class="corruption-aura"></div>
<div class="corruption-shadows"></div>
<div class="corruption-text">
<h3>😈 SOUL CORRUPTION DEEPENS 😈</h3>
<p>Forbidden desires for your maternal figure corrupt your soul, awakening darker lusts.</p>
</div>
</div>
<<dialog "Rylan" "face" "$marielToHuman... your hands felt so good..." "I whisper into the darkness, completely lost in the fantasy of her maternal yet sensual touch">>
<<narrative "The memory of her generous curves pressed against me, the way she seemed to enjoy our intimate moment just as much as I did - it all drives me over the edge with explosive intensity.">>
<center><img src="images/rylan/masturbate/masturbate.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan Climax"></center>
<<narrative "As the waves of pleasure subside, I'm left panting and conflicted about these growing feelings for my $humanToMariel.">>
<<if $ntrThreats.length > 0>>
<<if $ntrThreats.includes("Mariel")>>
<<continueBox "NTREventMariel" "Try to sleep" "">>
<<elseif $ntrThreats.includes("Liora")>>
<<continueBox "NTREventLiora" "Try to sleep" "">>
<<elseif $ntrThreats.includes("Serin")>>
<<continueBox "NTREventSerin" "Try to sleep" "">>
<<else>>
<<continueBox "NTREventGeneric" "Try to sleep" "">>
<</if>>
<<else>>
<<continueBox "MorningAfterSoulstones" "Try to sleep" "">>
<<set $ntrThreats = []>>
<</if>>
<<soulDisplay "rylan">>
</div>
<</nobr>>
<<pov "rylan" "ntr1.mp3">><<nobr>>
<<set $rylan_MasturbatedToMariel = true>>
<<set $rylan_MasturbationChoice = "MarielFeet">>
<div class="passage-container rylan">
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<h2 style="color: #ff9999; font-size: 1.6em; margin-bottom: 10px; text-align: center;">Forbidden Foot Fantasy</h2>
<p style="color: #ffb3b3; font-style: italic; font-size: 1.1em; text-align: center; margin: 0;">Lost in memories of her feet...</p>
</div>
<<narrative "I close my eyes and let the memory of massaging Mariel's legs and feet take over completely. The softness of her skin, the way she reacted to my touch, that intoxicating scent...">>
<center><img src="images/mariel/nightactivities/2/footmassage2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel Foot Massage"></center>
<<narrative "My hand works frantically as I remember every detail - the delicate curves of her feet, the way she seemed to enjoy my attention, the forbidden thrill of being so intimate with her.">>
<<changeFetish "Rylan" "FeetFetish" 0.2>>
<<changeFetish "Rylan" "SmellFetish" 0.1>>
<<changeLust "Rylan" -60>>
<<changeAttraction "Rylan" "Mariel" 3>>
<<trackExperience "Rylan" "Masturbated" 1>>
<<set $rylan_masturbatedExperience = ($rylan_masturbatedExperience || 0) + 1>>
<<addSoulCorruption "rylan" 1>>
<div class="soul-corruption-showcase">
<div class="corruption-aura"></div>
<div class="corruption-shadows"></div>
<div class="corruption-text">
<h3>😈 SOUL CORRUPTION DEEPENS 😈</h3>
<p>Perverted foot fetish desires for your maternal figure darken your soul further.</p>
</div>
</div>
<<dialog "Rylan" "face" "$marielToHuman... your feet were so beautiful..." "I whisper breathlessly, completely consumed by the memory of her reactions and that incredible scent">>
<<narrative "The way she seemed to lose herself in the pleasure, how she didn't stop me even when things became clearly sexual - it all culminates in an overwhelming release.">>
<center><img src="images/rylan/masturbate/masturbate.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan Climax"></center>
<<narrative "As the intensity fades, I'm left with conflicted feelings about these developing fetishes and my desires for my $humanToMariel.">>
<<if $ntrThreats.length > 0>>
<<if $ntrThreats.includes("Mariel")>>
<<continueBox "NTREventMariel" "Try to sleep" "">>
<<elseif $ntrThreats.includes("Liora")>>
<<continueBox "NTREventLiora" "Try to sleep" "">>
<<elseif $ntrThreats.includes("Serin")>>
<<continueBox "NTREventSerin" "Try to sleep" "">>
<<else>>
<<continueBox "NTREventGeneric" "Try to sleep" "">>
<</if>>
<<else>>
<<continueBox "MorningAfterSoulstones" "Try to sleep" "">>
<<set $ntrThreats = []>>
<</if>>
<<soulDisplay "rylan">>
</div>
<</nobr>>
<<pov "rylan" "ntr1.mp3">><<nobr>>
<<set $rylan_MasturbatedToMariel = true>>
<<set $rylan_MasturbationChoice = "MarielLegs">>
<div class="passage-container rylan">
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<h2 style="color: #ff9999; font-size: 1.6em; margin-bottom: 10px; text-align: center;">Forbidden Foot Fantasy</h2>
<p style="color: #ffb3b3; font-style: italic; font-size: 1.1em; text-align: center; margin: 0;">Lost in memories of her feet...</p>
</div>
<<narrative "I close my eyes and let the memory of massaging Mariel's legs and feet take over completely. The softness of her skin, the way she reacted to my touch, that intoxicating scent...">>
<center><img src="images/mariel/nightactivities/2/footmassage2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel Foot Massage"></center>
<<narrative "My hand works frantically as I remember every detail - the delicate curves of her feet, the way she seemed to enjoy my attention, the forbidden thrill of being so intimate with her.">>
<<changeFetish "Rylan" "FeetFetish" 0.2>>
<<changeFetish "Rylan" "SmellFetish" 0.1>>
<<changeLust "Rylan" -60>>
<<changeAttraction "Rylan" "Mariel" 3>>
<<trackExperience "Rylan" "Masturbated" 1>>
<<set $rylan_masturbatedExperience = ($rylan_masturbatedExperience || 0) + 1>>
<<addSoulCorruption "rylan" 1>>
<div class="soul-corruption-showcase">
<div class="corruption-aura"></div>
<div class="corruption-shadows"></div>
<div class="corruption-text">
<h3>😈 SOUL CORRUPTION DEEPENS 😈</h3>
<p>Perverted foot fetish desires for your maternal figure darken your soul further.</p>
</div>
</div>
<<dialog "Rylan" "face" "$marielToHuman... your feet were so beautiful..." "I whisper breathlessly, completely consumed by the memory of her reactions and that incredible scent">>
<<narrative "The way she seemed to lose herself in the pleasure, how she didn't stop me even when things became clearly sexual - it all culminates in an overwhelming release.">>
<center><img src="images/rylan/masturbate/masturbate.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan Climax"></center>
<<narrative "As the intensity fades, I'm left with conflicted feelings about these developing fetishes and my desires for my $humanToMariel.">>
<<if $ntrThreats.length > 0>>
<<if $ntrThreats.includes("Mariel")>>
<<continueBox "NTREventMariel" "Try to sleep" "">>
<<elseif $ntrThreats.includes("Liora")>>
<<continueBox "NTREventLiora" "Try to sleep" "">>
<<elseif $ntrThreats.includes("Serin")>>
<<continueBox "NTREventSerin" "Try to sleep" "">>
<<else>>
<<continueBox "NTREventGeneric" "Try to sleep" "">>
<</if>>
<<else>>
<<continueBox "MorningAfterSoulstones" "Try to sleep" "">>
<<set $ntrThreats = []>>
<</if>>
<<soulDisplay "rylan">>
</div>
<</nobr>>
<<pov "rylan" "ntr1.mp3">><<nobr>>
<<set $rylan_MasturbatedToSerin = true>>
<<set $rylan_MasturbationChoice = "SerinSocks">>
<div class="passage-container rylan">
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<h2 style="color: #ff9999; font-size: 1.6em; margin-bottom: 10px; text-align: center;">Intoxicating Scent Fantasy</h2>
<p style="color: #ffb3b3; font-style: italic; font-size: 1.1em; text-align: center; margin: 0;">Lost in memories of her drenched socks...</p>
</div>
<<narrative "I close my eyes and let the memory of Serin's punishment consume me completely. That incredible, overwhelming scent of her drenched socks, the way it made my head spin with desire...">>
<center><img src="images/serin/nightactivities/2/drenchedsocksfocus.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin's Drenched Socks"></center>
<<narrative "My hand moves desperately as I relive every moment - the intensity of her foot odor, the way she seemed to enjoy my reaction, the humiliating yet arousing nature of the punishment.">>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<<changeFetish "Rylan" "FeetFetish" 0.2>>
<<changeLust "Rylan" -60>>
<<changeAttraction "Rylan" "Serin" 3>>
<<trackExperience "Rylan" "Masturbated" 1>>
<<set $rylan_masturbatedExperience = ($rylan_masturbatedExperience || 0) + 1>>
<<addSoulCorruption "rylan" 1>>
<div class="soul-corruption-showcase">
<div class="corruption-aura"></div>
<div class="corruption-shadows"></div>
<div class="corruption-text">
<h3>😈 SOUL CORRUPTION DEEPENS 😈</h3>
<p>Submissive desires and humiliating fetishes take deeper root in your corrupted soul.</p>
</div>
</div>
<<dialog "Rylan" "face" "Serin... that scent was incredible..." "I whisper breathlessly, completely lost in the memory of her powerful, athletic aroma and the way it made me feel so submissive">>
<<narrative "The way she dominated me with just her scent, how helpless I felt against the intoxicating power of her sweaty socks - it all drives me to an explosive climax.">>
<center><img src="images/rylan/masturbate/masturbate.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan Climax"></center>
<<narrative "As the waves subside, I'm left conflicted about these growing submissive desires and my developing fetishes.">>
<<if $ntrThreats.length > 0>>
<<if $ntrThreats.includes("Mariel")>>
<<continueBox "NTREventMariel" "Try to sleep" "">>
<<elseif $ntrThreats.includes("Liora")>>
<<continueBox "NTREventLiora" "Try to sleep" "">>
<<elseif $ntrThreats.includes("Serin")>>
<<continueBox "NTREventSerin" "Try to sleep" "">>
<<else>>
<<continueBox "NTREventGeneric" "Try to sleep" "">>
<</if>>
<<else>>
<<continueBox "MorningAfterSoulstones" "Try to sleep" "">>
<<set $ntrThreats = []>>
<</if>>
<<soulDisplay "rylan">>
</div>
<</nobr>>
<<pov "rylan" "ntr1.mp3">><<nobr>>
<<set $rylan_MasturbatedToSeryk = true>>
<<set $rylan_MasturbationChoice = "SerykCock">>
<div class="passage-container rylan">
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<h2 style="color: #ff9999; font-size: 1.6em; margin-bottom: 10px; text-align: center;">Forbidden Masculine Fantasy</h2>
<p style="color: #ffb3b3; font-style: italic; font-size: 1.1em; text-align: center; margin: 0;">Lost in memories of his exposed body...</p>
</div>
<<narrative "I close my eyes and let the memory of Seryk's training session overwhelm me completely. The sight of his powerful, naked body, that intoxicating masculine scent, the way his member looked so impressive...">>
<center><img src="images/rylan/nightactivities/2/cockfocus.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Cock"></center>
<<narrative "My hand works frantically as I relive every forbidden detail - his muscular physique, the scent that made me lose control, the way he didn't seem bothered by my obvious arousal.">>
<<changeFetish "Rylan" "MuscleFetish" 0.2>>
<<changeFetish "Rylan" "GayValue" 0.5>>
<<changeLust "Rylan" -60>>
<<changeAttraction "Rylan" "Seryk" 4>>
<<set $rylan_masculinity = ($rylan_masculinity || 100) - 1>>
<<trackExperience "Rylan" "Masturbated" 1>>
<<set $rylan_masturbatedExperience = ($rylan_masturbatedExperience || 0) + 1>>
<<addSoulCorruption "rylan" 1>>
<div class="soul-corruption-showcase">
<div class="corruption-aura"></div>
<div class="corruption-shadows"></div>
<div class="corruption-text">
<h3>😈 SOUL CORRUPTION DEEPENS 😈</h3>
<p>Forbidden homosexual desires and masculinity loss corrupt your soul, awakening new hungers.</p>
</div>
</div>
<<dialog "Rylan" "face" "Seryk... your body is incredible..." "I whisper breathlessly, completely consumed by this new side of my sexuality that I never knew existed">>
<<narrative "The way he called me 'bro' even in that intimate moment, how understanding he seemed about my reaction - it all culminates in an overwhelming release that leaves me gasping.">>
<center><img src="images/rylan/masturbate/masturbate.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan Climax"></center>
<<narrative "As the intensity fades, I realize I've crossed a line that I can never uncross. These desires for another man feel both terrifying and exhilarating.">>
<<if $ntrThreats.length > 0>>
<<if $ntrThreats.includes("Mariel")>>
<<continueBox "NTREventMariel" "Try to sleep" "">>
<<elseif $ntrThreats.includes("Liora")>>
<<continueBox "NTREventLiora" "Try to sleep" "">>
<<elseif $ntrThreats.includes("Serin")>>
<<continueBox "NTREventSerin" "Try to sleep" "">>
<<else>>
<<continueBox "NTREventGeneric" "Try to sleep" "">>
<</if>>
<<else>>
<<continueBox "MorningAfterSoulstones" "Try to sleep" "">>
<<set $ntrThreats = []>>
<</if>>
<<soulDisplay "rylan">>
</div>
<</nobr>>
<<pov "rylan" "ntr1.mp3">><<nobr>>
<<set $timeOfDay = "morning">>
<<set $gameDay = 1>>
<<set $gameMonth = 2>>
<<fullHealParty>>
<div class="passage-container rylan">
<center><img src="images/landscapes/kitchen.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Kitchen"></center>
<<narrative "I wake up feeling... different. The power from last night's soulstone still thrums through my veins, and I can sense subtle changes in my body. As I get dressed and head downstairs, I find everyone already gathered in the kitchen for breakfast.">>
<<dialog "Nimeria" "face" "Good morning, everyone! I hope you all slept well after your transformations!" "Nimeria beams at us, clearly excited to discuss what happened">>
<<dialog "Mariel" "facesmile" "I've been feeling... strange since last night. More aware somehow." "Mariel sets down her tea cup, looking contemplative">>
<<dialog "Serin" "face" "Yeah, I feel like I could punch through a wall right now. What exactly did those stones do to us?" "Serin flexes her arm, testing her newfound strength">>
<<dialog "Nimeria" "face" "Oh, how wonderful that you asked! You see, soulstones don't just give random power - they awaken abilities based on what you truly wish for deep in your heart!">>
<<dialog "Liora" "faceembarrassed" "What we truly wish for?" "Liora blushes slightly, probably thinking about what her deepest desires might be">>
<<dialog "Nimeria" "face" "Exactly! When I swallowed my soulstone, I gained the power to see everyone's abilities and potential! It's like having a window into your souls!" "Nimeria's eyes seem to shimmer as she looks at each of us in turn" "Let me tell you what I can see...">>
<<dialog "Nimeria" "face" "$humanName, your power is fascinating - you can transform your body depending on your mental state and desires. The stronger your will, the more dramatic the changes can be!">>
<<dialog "Rylan" "face" "Transform my body? How?">>
<<dialog "Nimeria" "face" "Think of it as... adaptive enhancement. If you truly desire to be stronger, your muscles will grow. If you wish to be faster, your body will become more agile. It responds to your deepest needs and wants!">>
<<dialog "Serin" "face" "That's incredible! What about me?">>
<<dialog "Nimeria" "face" "You have the same power as $humanName! Body transformation through mental focus. Perhaps we can help you unlock its full potential through training?">>
<<dialog "Seryk" "face" "And what about me, Nim?" "Seryk asks curiously">>
<<dialog "Nimeria" "face" "Oh Seryk! Your power is quite unique - you can regenerate mana through your body fluids!">>
<<dialog "Rylan" "face" "Wait, seriously?" "I can't help but smirk" "So you got the most useless power of all? What are you going to do, drink your own piss from now on?">>
<<dialog "Seryk" "facelaugh" "Hey, bro! Don't knock it until you've tried it!" "Seryk laughs good-naturedly" "Though I hope there are other... applications.">>
<<dialog "Serin" "facelaugh" "Oh gods, this is too funny! The mighty demon warrior has to drink his own bodily fluids for power!">>
<<dialog "Seryk" "face" "I'll remember that teasing when you need my help in battle, Wildcat.">>
<<dialog "Nimeria" "face" "And Liora, your power is beautiful - enhanced healing abilities! It seems helping everyone is what you desire most.">>
<<dialog "Liora" "facesmile" "That... that actually makes sense. I've always wanted to protect everyone and ease their pain.">>
<<dialog "Nimeria" "face" "As for Mariel..." "Nimeria pauses, looking puzzled" "I'm not entirely sure yet. It seems connected to both healing powers and mothering instincts, but there's something deeper there I can't quite read.">>
<<dialog "Mariel" "faceworried" "Something deeper? Should I be concerned?">>
<<dialog "Nimeria" "face" "Oh no, not at all! Sometimes powers take time to fully manifest. We'll figure it out together!">>
<<dialog "Rylan" "face" "Your power to see our abilities is actually really useful for a team.">>
<<dialog "Nimeria" "face" "Indeed! I suggest we all train together - Seryk and I can help $humanName and Serin unlock the full potential of your transformation abilities!">>
<<dialog "Seryk" "face" "Sounds like a plan, bro. Just promise me you won't laugh too hard when I have to... recharge.">>
<<dialog "Serin" "face" "No promises there, big guy!">>
<<narrative "The morning feels full of potential as we discuss our newfound abilities. Whatever challenges lie ahead, we're stronger now - though some of us in more embarrassing ways than others.">>
<<dialog "Seryk" "face" "You know what, bro? Why don't we start training right now? I could help you and Wildcat figure out your transformation abilities.">>
<<dialog "Mariel" "faceangry" "Stop right there!" "Mariel's voice cuts through the conversation with sudden determination" "Today there is no training! We are going shopping. No one in this house is running around in rags anymore!">>
<<dialog "Liora" "face" "Oh, that sounds wonderful! I'd love to help everyone pick out new clothes.">>
<<dialog "Nimeria" "facesmile" "What a delightful idea! Shopping together will be so much fun!">>
<<dialog "Mariel" "face" "Exactly! Look at all of you - Seryk is practically naked in those loincloths, Nimeria needs proper traveling clothes, and everyone could use some new outfits.">>
<<dialog "Seryk" "faceserious" "Do I really have to? These loincloths are perfectly functional...">>
<<dialog "Mariel" "face" "Yes, you do! We're all going together, and that's final.">>
<<continueBox "MarielShopping" "Continue to shopping" "">>
</div>
<</nobr>>
<<pov "rylan" "default2.mp3">><<nobr>>
<<set $mariel_NTREvent1 = true>>
<<set $mariel_MetSerykAtNight = true>>
<<if not $wardrobe>><<set $wardrobe = {
Mariel: {
nailPolish: false,
lipstick: false,
makeup: "none",
underwearStyle: "normal",
specialOutfit: false,
outfit: "normal"
},
Liora: {
nailPolish: false,
lipstick: false,
makeup: "none",
underwearStyle: "normal",
specialOutfit: false,
outfit: "normal"
},
Serin: {
nailPolish: false,
lipstick: false,
makeup: "none",
underwearStyle: "normal",
specialOutfit: false,
outfit: "normal"
},
Rylan: {
nailPolish: false,
lipstick: false,
makeup: "none",
underwearStyle: "normal",
specialOutfit: false,
outfit: "normal"
},
Seryk: {
underwearStyle: "normal",
specialOutfit: false,
outfit: "normal"
},
Nimeria: {
nailPolish: false,
lipstick: false,
makeup: "none",
underwearStyle: "normal",
specialOutfit: false,
outfit: "normal"
}
}>><</if>>
<div class="passage-container mariel">
<div id="ntr-intro-overlay" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(45deg, rgba(20,0,20,0.95), rgba(40,0,40,0.98), rgba(60,0,60,0.95)); z-index: 9999; display: flex; flex-direction: column; justify-content: center; align-items: center; animation: ntrIntroFadeIn 2s ease-in-out forwards;">
<div style="text-align: center; opacity: 0; animation: ntrTextReveal 3s ease-in-out 0.5s forwards;">
<h1 style="color: #ff6b6b; font-size: 3em; margin: 0; text-shadow: 0 0 20px rgba(255,107,107,0.8), 0 0 40px rgba(255,107,107,0.4); font-family: serif; letter-spacing: 3px;">NTR EVENT</h1>
<div style="width: 200px; height: 2px; background: linear-gradient(to right, transparent, #ff6b6b, transparent); margin: 20px auto; animation: ntrLineExpand 2s ease-in-out 1s forwards; transform: scaleX(0);"></div>
<h2 style="color: #ffb3b3; font-size: 2em; margin: 0; text-shadow: 0 0 15px rgba(255,179,179,0.6); font-family: serif; letter-spacing: 2px;">Mariel</h2>
<p style="color: #ff9999; font-size: 1.2em; margin-top: 30px; font-style: italic; opacity: 0; animation: ntrSubtextFade 2s ease-in-out 2s forwards;">A forbidden attraction begins to bloom...</p>
</div>
</div>
<style>
@keyframes ntrIntroFadeIn { 0% { opacity: 0; background: rgba(0,0,0,1); } 100% { opacity: 1; } }
@keyframes ntrTextReveal { 0% { opacity: 0; transform: translateY(30px); } 50% { opacity: 1; transform: translateY(0); } 100% { opacity: 1; transform: translateY(0); } }
@keyframes ntrLineExpand { 0% { transform: scaleX(0); } 100% { transform: scaleX(1); } }
@keyframes ntrSubtextFade { 0% { opacity: 0; transform: translateY(20px); } 100% { opacity: 1; transform: translateY(0); } }
@keyframes ntrOverlayFadeOut { 0% { opacity: 1; } 100% { opacity: 0; visibility: hidden; } }
@keyframes mainContentFadeIn { 0% { opacity: 0; transform: translateY(20px); } 100% { opacity: 1; transform: translateY(0); } }
</style>
<script>
setTimeout(function() {
const overlay = document.getElementById('ntr-intro-overlay');
if (overlay) {
overlay.style.animation = 'ntrOverlayFadeOut 1s ease-in-out forwards';
setTimeout(function() { overlay.style.display = 'none'; }, 1000);
}
}, 4000);
</script>
<div class="ntr-header" style="text-align: center; margin-bottom: 30px; opacity: 0; animation: mainContentFadeIn 1s ease-in-out 5s forwards;">
<h2 style="color: #ff9999; font-size: 1.6em; margin-bottom: 10px;">Restless Night</h2>
<p style="color: #ffb3b3; font-style: italic; font-size: 1.1em;">Mariel's perspective...</p>
</div>
<<narrative "Sleep refuses to come to me tonight. My mind keeps racing with thoughts of everything that happened today - the strange changes I can feel within myself, and...">>
<<if $rylan_MassagedMarielBack2 || $rylan_MassagedMarielLegs2>>
<<changeLust "Mariel" 5>>
<<narrative "...the intimate moments I shared with $humanName. The memory of his hands on my body, the way he looked at me, the feelings it stirred within me that I haven't felt in years.">>
<<else>>
<<changeLust "Mariel" 3>>
<<narrative "...this growing restlessness that I can't seem to shake.">>
<</if>>
<<changeFetish "Mariel" "SmellFetish" 0.1>>
<<dialog "Mariel" "face" "I need some water..." "I whisper to myself, slipping out of bed. The house is quiet, everyone else presumably asleep, as I make my way to the kitchen in my nightgown">>
<<narrative "But as I round the corner, I'm surprised to find I'm not alone. Seryk stands by the window, his muscular silhouette outlined by moonlight streaming through the glass.">>
<<changeLust "Mariel" 8>>
<center><img src="images/seryk/standingsoaked.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk"></center>
<<dialog "Seryk" "face" "Oh, Sunflower! Couldn't sleep either?" "He turns toward me with that warm smile of his, and I notice a light sheen of perspiration on his blue skin">>
<<dialog "Mariel" "face" "I just needed some water. What about you?">>
<<dialog "Seryk" "face" "Just thinking... and I wanted to thank you properly." "He steps closer, and I catch a hint of his masculine scent - warm, musky, intensely male">>
<center><img src="images/mariel/faceembarrassed.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel"></center>
<<dialog "Seryk" "face" "You and your family have been so welcoming to Nimeria and me. After everything we've been through...">>
<<changeLust "Mariel" 6>>
<<narrative "There's genuine gratitude in his voice that touches something deep in my heart.">>
<<dialog "Mariel" "face" "You don't need to thank us. It's what anyone would do." "I move to get my water, acutely aware of his presence" "Tell me about your previous life, if you don't mind sharing.">>
<<dialog "Seryk" "face" "For slaves, we were treated... okayish, I suppose.">>
<center><img src="images/seryk/faceserious.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk"></center>
<<narrative "His expression grows more serious.">>
<<dialog "Seryk" "face" "But Nimeria had it harder than most. Do you know the term 'the cursed child'?">>
<<changeLust "Mariel" 5>>
<<dialog "Mariel" "face" "No, what does it mean?">>
<<dialog "Seryk" "face" "Demons believe that those born with black hair will bring the end of the world." "His voice carries old pain" "And having a succubus mother doesn't help - demons avoid succubi like the plague, never knowing when they might be seduced or manipulated.">>
<<narrative "My heart aches for what that sweet girl must have endured.">>
<<changeAffection "Mariel" "Nimeria" 2>>
<<dialog "Seryk" "face" "Don't worry though - she doesn't have any magical powers, so you don't have to worry about her influencing your dreams or anything." "He gives me a reassuring smile">>
<center><img src="images/seryk/face.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk"></center>
<<dialog "Seryk" "face" "Her parents never mistreated her, but she never had real friends either. So I'm happy for her now, seeing how welcome you've all made her feel.">>
<<changeLust "Mariel" 7>>
<<narrative "As he talks, I find myself growing warmer. There's something about his voice, his presence, the way he cares for Nimeria that's incredibly attractive. The heat building in my body is becoming hard to ignore.">>
<center><img src="images/mariel/pantieswet.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel"></center>
<<dialog "Mariel" "face" "That's... that's terrible. Though I'm not sure I ever met a demon with black hair during our travels." "I pause, a distant memory surfacing" "Actually... there was only one I remember...">>
<<narrative "The memory hits me suddenly - one of the demon king's children had black hair. One of the children that... that Thalor killed while I was forced to leave the room. A tear escapes before I can stop it.">>
<center><img src="images/mariel/facecrying.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel"></center>
<<changeLust "Mariel" 4>>
<<narrative "Before I can react, Seryk's large, warm hand gently wipes the tear from my cheek.">>
<center><img src="images/seryk/nightactivities/2/ntrmariel/hand.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk touching Mariel"></center>
<<changeLust "Mariel" 8>>
<<narrative "His skin is slightly damp with perspiration, and his scent hits me full force - intoxicating, masculine, overwhelming.">>
<<changeFetish "Mariel" "SmellFetish" 0.3>>
<<changeLust "Mariel" 12>>
<<dialog "Seryk" "face" "Beautiful women like you shouldn't cry, Sunflower. Whatever painful memories you carry, they don't define who you are now.">>
<<narrative "His touch lingers for just a moment longer than necessary, and I find myself leaning into it slightly.">>
<center><img src="images/seryk/nightactivities/2/ntrmariel/hand2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk touching Mariel"></center>
<<narrative "The scent from his hand, warm and musky from his night training, fills my senses and makes my head spin with unexpected desire.">>
<<changeFetish "Mariel" "MuscleFetish" 0.2>>
<<narrative "I notice Seryk's blue skin darkening slightly - is he blushing? His breathing seems heavier too.">>
<<changeLust "Seryk" 5>>
<<changeAffection "Mariel" "Seryk" 3>>
<<changeAttraction "Mariel" "Seryk" 4>>
<<changeAttraction "Seryk" "Mariel" 2>>
<<setWardrobe "Mariel" "nailPolish" true>>
<<dialog "Seryk" "face" "Excuse me... I need to use the bathroom." "His voice sounds strained as he quickly excuses himself, leaving me alone in the kitchen">>
<div class="visit-actions" style="text-align: center; margin-top: 30px;">
<div style="background: rgba(150,100,150,0.2); border: 1px solid rgba(200,150,200,0.3); border-radius: 8px; padding: 15px; margin-bottom: 20px;">
<p style="color: #e0b0e0; font-size: 0.9em; margin: 0; font-style: italic;">A spark of forbidden attraction ignites between Mariel and Seryk...</p>
</div>
<<continueBox "NTREventMariel2" "Continue" "">>
</div>
</div>
<</nobr>>
<<pov "mariel" "ntr1.mp3">><<nobr>>
<<set $mariel_NTREvent2 = true>>
<div class="passage-container mariel">
<div class="ntr-header" style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #ff9999; font-size: 1.6em; margin-bottom: 10px;">Forbidden Discovery</h2>
<p style="color: #ffb3b3; font-style: italic; font-size: 1.1em;">Mariel's awakening continues...</p>
</div>
<<changeLust "Mariel" 3>>
<<narrative "I press my back against the cool counter, trying to calm the fire building within me. What is happening to me? This intensity of desire... it's been so long since I've felt anything like this.">>
<center><img src="images/mariel/pantieswet.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel"></center>
<<narrative "As I try to steady my breathing, I become acutely aware of just how aroused I am. My body is responding in ways I haven't felt in years, and when I shift slightly, I can feel how wet I've become.">>
<<changeLust "Mariel" 4>>
<<dialog "Mariel" "face" "Oh god..." "I whisper, my hand unconsciously moving to press against my nightgown where the dampness has spread. The fabric clings to my heated skin, and even this light touch sends shivers through me">>
<<changeLust "Mariel" 3>>
<center><img src="images/seryk/nightactivities/2/ntrmariel/masturbate1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel"></center>
<<narrative "It must be all this pent-up frustration and loneliness. Every sensation seems heightened, every touch electric. I can't remember the last time I felt this desperate for... for touch.">>
<<changeFetish "Mariel" "SmellFetish" 0.1>>
<<narrative "My hand begins to move almost without conscious thought, pressing and rubbing against the growing wetness through my nightgown. The memory of Seryk's scent, his touch on my cheek, fills my mind as I lose myself in the growing pleasure.">>
<center><img src="images/seryk/nightactivities/2/ntrmariel/masturbate2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel"></center>
<<changeLust "Mariel" 5>>
<<narrative "I bite my lip to stifle a moan as my fingers work more urgently against the fabric. The kitchen, the moonlight, the forbidden nature of what I'm doing - it all adds to the intense arousal building within me.">>
<<narrative "But then I hear the bathroom door opening, followed by Seryk's quiet footsteps as he returns to his room. The sound jolts me back to reality, and I quickly pull my hand away, my face burning with shame and embarrassment.">>
<<changeLust "Mariel" 3>>
<<dialog "Mariel" "face" "What am I doing?" "I whisper to myself, my body still trembling with unfulfilled desire. I wait a few more minutes, trying to compose myself, before deciding I should return to bed as well">>
<<narrative "But as I pass the bathroom, I realize I need to use it myself. The moment I step inside, I'm hit by an overwhelming wave of thick, masculine scent that makes my knees weak.">>
<<changeLust "Mariel" 8>>
<<changeFetish "Mariel" "SmellFetish" 0.4>>
<<dialog "Mariel" "face" "Oh my..." "I whisper, my body responding immediately to the potent aroma filling the small space. My eyes search for the source and land on the waste bin - there are tissues inside, and the smell is definitely coming from there">>
<<narrative "The compulsion is immediate and overwhelming. My hand moves without conscious thought, reaching for one of the tissues. I know I shouldn't, know this is wrong, but I can't stop myself.">>
<<changeLust "Mariel" 10>>
<center><img src="images/seryk/nightactivities/2/ntrmariel/snifftissue1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel discovers the tissues"></center>
<div class="visit-actions" style="text-align: center; margin-top: 30px;">
<div style="background: rgba(150,100,150,0.2); border: 1px solid rgba(200,150,200,0.3); border-radius: 8px; padding: 15px; margin-bottom: 20px;">
<p style="color: #e0b0e0; font-size: 0.9em; margin: 0; font-style: italic;">The forbidden temptation grows stronger...</p>
</div>
<<continueBox "NTREventMariel3" "but I can't stop myself." "">>
</div>
</div>
<</nobr>>
<<pov "mariel" "ntr1.mp3">><<nobr>>
<<set $mariel_NTREvent3 = true>>
<div class="passage-container mariel">
<div class="ntr-header" style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #ff9999; font-size: 1.6em; margin-bottom: 10px;">The Corruption Deepens</h2>
<p style="color: #ffb3b3; font-style: italic; font-size: 1.1em;">Mariel's forbidden desires consume her...</p>
</div>
<<narrative "The moment I bring it closer, the scent intensifies dramatically. It's Seryk's seed, still warm and potent, and the masculine aroma is unlike anything I've ever experienced. My body trembles as forbidden desire courses through me.">>
<<changeFetish "Mariel" "CumAddiction" 1.2>>
<center><img src="images/seryk/nightactivities/2/ntrmariel/snifftissue2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel inhales the scent"></center>
<<narrative "I inhale deeply, and the effect is immediate and overwhelming. Wave after wave of pleasure crashes over me as my body responds to the primal, masculine scent. This is so wrong, but I can't stop myself.">>
<<changeLust "Mariel" 12>>
<<changeFetish "Mariel" "SmellFetish" 0.5>>
<center><img src="images/seryk/nightactivities/2/ntrmariel/snifftissue3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel loses control"></center>
<<narrative "My free hand instinctively moves between my legs as the intoxicating aroma fills my senses completely.">>
<center><img src="images/seryk/nightactivities/2/ntrmariel/snifftissue5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel"></center>
<<narrative "I bite my lip to keep from moaning aloud as my body builds toward an inevitable climax from this forbidden act.">>
<<changeLust "Mariel" 15>>
<center><img src="images/seryk/nightactivities/2/ntrmariel/snifftissue6.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel climaxes"></center>
<<narrative "The orgasm hits me like a lightning bolt, my body convulsing with pleasure as I struggled to remain silent. The tissue falls from my trembling hand as waves of ecstasy wash over me, all triggered by the scent of Seryk's essence.">>
<<set $mariel_Lust = 0>>
<<trackExperience "Mariel" "Orgasms" 1>>
<<set $mariel_orgasmedToSerykScent = true>>
<<changeAttraction "Mariel" "Seryk" 5>>
<<addSoulCorruption "mariel" 1>>
<<narrative "As the pleasure slowly subsides, I'm left panting and horrified by what I've just done. But underneath the shame, there's an undeniable craving for more of that intoxicating masculine scent.">>
<center><img src="images/mariel/facewet.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel"></center>
<<dialog "Mariel" "facewet" "What... what the hell is wrong with me?" "I whisper to my reflection in the mirror, my face flushed and my breathing still heavy">>
<<narrative "The shame and arousal war within me as I realize I've just climaxed from the scent of another man's seed - a man who isn't my husband. This overwhelming attraction and need must be from years of suppressed desires finally breaking free, but this... this feels like something deeper, something that was already there waiting to be awakened.">>
<<narrative "I quickly clean up and return to my room, but sleep will be even more elusive now. The memory of Seryk's scent, his touch, his caring words - it all swirls in my mind as I lie in bed, my body still tingling with forbidden arousal.">>
<<changeLust "Mariel" 3>>
<div class="visit-actions" style="text-align: center; margin-top: 30px;">
<div style="background: rgba(150,100,150,0.2); border: 1px solid rgba(200,150,200,0.3); border-radius: 8px; padding: 15px; margin-bottom: 20px;">
<p style="color: #e0b0e0; font-size: 0.9em; margin: 0; font-style: italic;">The corruption spreads as forbidden desires awaken within Mariel's heart and body...</p>
</div>
<<continueBox "MorningAfterSoulstones" "Try to sleep" "">>
<<set $ntrThreats = []>>
</div>
</div>
<</nobr>>
<<pov "mariel" "ntr1.mp3">>
<<soulDisplay "mariel">><<if not $wardrobe>><<set $wardrobe = {
Mariel: {
nailPolish: false,
lipstick: false,
makeup: "none",
underwearStyle: "normal",
specialOutfit: false,
outfit: "normal"
},
Liora: {
nailPolish: false,
lipstick: false,
makeup: "none",
underwearStyle: "normal",
specialOutfit: false,
outfit: "normal"
},
Serin: {
nailPolish: false,
lipstick: false,
makeup: "none",
underwearStyle: "normal",
specialOutfit: false,
outfit: "normal"
},
Rylan: {
nailPolish: false,
lipstick: false,
makeup: "none",
underwearStyle: "normal",
specialOutfit: false,
outfit: "normal"
},
Seryk: {
underwearStyle: "normal",
specialOutfit: false,
outfit: "normal"
},
Nimeria: {
nailPolish: false,
lipstick: false,
makeup: "none",
underwearStyle: "normal",
specialOutfit: false,
outfit: "normal"
}
}>><</if>>
<<setWardrobe "Mariel" "nailPolish" true>>
<<script>>window.AudioSystem.playBGM('chapter1default.mp3');<</script>><<set $nightVisitedTonight = []>><<if $nightActionPoints === undefined>><<set $nightActionPoints = 4>><</if>><<if !$ntrThreats>><<set $ntrThreats = ["Mariel"]>><</if>><div class="night-activities-container" style="background-image: url('images/landscapes/night.webp'); background-size: cover; background-position: center; min-height: 500px; position: relative; border-radius: 10px; overflow: hidden;"><div class="night-overlay" style="background: linear-gradient(to bottom, rgba(25,25,50,0.7), rgba(15,15,30,0.8)); position: absolute; top: 0; left: 0; right: 0; bottom: 0;"></div><div class="night-content" style="position: relative; z-index: 2; padding: 30px; text-align: center;"><h2 style="color: #e6e6ff; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin-bottom: 20px; font-size: 1.8em;">Night has fallen over the house...</h2><div class="action-points-display" style="background: linear-gradient(145deg, rgba(100,150,200,0.3), rgba(80,120,180,0.4)); border: 2px solid rgba(150,200,255,0.4); border-radius: 12px; padding: 15px; margin: 20px auto; max-width: 300px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"><h3 style="color: #b3d9ff; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0 0 5px 0; font-size: 1.3em;">Action Points: <<print $nightActionPoints>>/4</h3><p style="color: #99ccff; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 0; font-style: italic;">Each visit costs 1 action point</p></div><div class="system-explanation" style="background: linear-gradient(145deg, rgba(80,120,160,0.2), rgba(60,100,140,0.3)); border: 1px solid rgba(120,160,200,0.3); border-radius: 8px; padding: 15px; margin: 20px auto; max-width: 500px; backdrop-filter: blur(3px);"><h4 style="color: #c0d0ff; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0 0 10px 0; font-size: 1.1em;">ℹ️ How Night Activities Work</h4><ul style="color: #a0c0ff; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.85em; margin: 0; padding-left: 20px; line-height: 1.4;"><li><strong>Visit Characters:</strong> Spend action points to visit characters and build relationships</li><li><strong>Dark Auras:</strong> Red glowing auras indicate NTR threats from Seryk</li><li><strong>Intervention:</strong> Click the shadowy figure to attempt intervention (costs 1 action point)</li><li><strong>Success Chance:</strong> Higher attraction to you = better intervention chances (minimum 20%)</li><li><strong>Strategic Choice:</strong> Visit characters to strengthen bonds or intervene to prevent NTR</li></ul></div><<if $nightActionPoints > 0>><p style="color: #d0d0e6; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin-bottom: 40px; font-size: 1.1em;"><<if $nightVisitedTonight.length === 0>>The soul transformations have left everyone changed. You find yourself restless, unable to sleep. Perhaps you could visit someone...<<else>>You've spent some time visiting tonight, but you still have energy left. Who else might be awake?<</if>></p><<else>><p style="color: #d0d0e6; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin-bottom: 40px; font-size: 1.1em;">You've used all your energy for tonight. Time to get some rest...</p><</if>><div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 40px 0;"><<if $nightActionPoints > 0>><div class="visit-option-wrapper" style="text-align: center; position: relative;"><<if $ntrThreats.includes("Mariel")>><div class="ntr-aura" style="position: absolute; top: -10px; left: -10px; right: -10px; bottom: 50px; background: radial-gradient(circle, rgba(139,0,0,0.4) 0%, rgba(75,0,0,0.3) 50%, transparent 70%); border-radius: 20px; z-index: 1; animation: darkPulse 2s ease-in-out infinite alternate;"></div><div class="seryk-chibi" style="position: absolute; top: 5px; right: 5px; z-index: 3; cursor: pointer; transition: transform 0.3s ease;" onclick="event.stopPropagation(); SugarCube.State.variables.nightActionPoints -= 1; var marielSerykAttraction = SugarCube.State.variables.mariel_SerykAttraction || 0; var marielHumanAttraction = SugarCube.State.variables['mariel_' + SugarCube.State.variables.humanName + 'Attraction'] || 0; var attractionDiff = marielSerykAttraction - marielHumanAttraction; var baseChance = 80; var finalChance = Math.max(20, Math.min(100, baseChance - attractionDiff)); var roll = Math.floor(Math.random() * 100) + 1; if (roll <= finalChance) { SugarCube.State.variables.ntrThreats = SugarCube.State.variables.ntrThreats.filter(t => t !== 'Mariel'); SugarCube.Engine.play('NightActivities2'); } else { SugarCube.Engine.play('InterventionFailed'); }"><img src="images/chibi-models/seryk.webp" style="width: 40px; height: 40px; border-radius: 50%; border: 2px solid rgba(139,0,0,0.8); box-shadow: 0 0 10px rgba(139,0,0,0.6);"></div><</if>><div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;"><div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"><img src="images/mariel/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></div><h3 style="color: #ffe6b3; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">💖 <<print $marielToHuman.charAt(0).toUpperCase() + $marielToHuman.slice(1)>></h3><p style="color: #f0f0f0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Perhaps she's processing the changes..."</p></div><<if !$nightVisitedTonight.includes("Mariel")>><<link "Visit her room" "MarielNightVisit2">><<set $nightActionPoints -= 1>><<set $nightVisitedTonight.push("Mariel")>><</link>><<else>><div style="background: linear-gradient(145deg, rgba(100,100,100,0.3), rgba(80,80,80,0.4)); border: 2px solid rgba(150,150,150,0.3); border-radius: 8px; padding: 10px 20px; margin-top: 10px; color: #c0c0c0; font-style: italic;">Already visited tonight</div><</if>></div><</if>><<if !$nightVisitedTonight.includes("Liora") && $nightActionPoints > 0>><div class="visit-option-wrapper" style="text-align: center; position: relative;"><<if $ntrThreats.includes("Liora")>><div class="ntr-aura" style="position: absolute; top: -10px; left: -10px; right: -10px; bottom: 50px; background: radial-gradient(circle, rgba(139,0,0,0.4) 0%, rgba(75,0,0,0.3) 50%, transparent 70%); border-radius: 20px; z-index: 1; animation: darkPulse 2s ease-in-out infinite alternate;"></div><div class="seryk-chibi" style="position: absolute; top: 5px; right: 5px; z-index: 3; cursor: pointer; transition: transform 0.3s ease;" onclick="event.stopPropagation(); SugarCube.State.variables.nightActionPoints -= 1; var lioraSerykAttraction = SugarCube.State.variables.liora_SerykAttraction || 0; var lioraHumanAttraction = SugarCube.State.variables['liora_' + SugarCube.State.variables.humanName + 'Attraction'] || 0; var attractionDiff = lioraSerykAttraction - lioraHumanAttraction; var baseChance = 80; var finalChance = Math.max(20, Math.min(100, baseChance - attractionDiff)); var roll = Math.floor(Math.random() * 100) + 1; if (roll <= finalChance) { SugarCube.State.variables.ntrThreats = SugarCube.State.variables.ntrThreats.filter(t => t !== 'Liora'); SugarCube.Engine.play('NightActivities2'); } else { SugarCube.Engine.play('InterventionFailed'); }"><img src="images/chibi-models/serykback.webp" style="width: 40px; height: 40px; border-radius: 50%; border: 2px solid rgba(139,0,0,0.8); box-shadow: 0 0 10px rgba(139,0,0,0.6);"></div><</if>><div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;"><div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"><img src="images/liora/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></div><h3 style="color: #ffe6b3; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Liora</h3><p style="color: #f0f0f0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"She might need comfort after today..."</p></div><<link "Visit her room" "LioraNightVisit2">><<set $nightActionPoints -= 1>><<set $nightVisitedTonight.push("Liora")>><</link>></div><</if>><<if !$nightVisitedTonight.includes("Serin") && $nightActionPoints > 0>><div class="visit-option-wrapper" style="text-align: center; position: relative;"><<if $ntrThreats.includes("Serin")>><div class="ntr-aura" style="position: absolute; top: -10px; left: -10px; right: -10px; bottom: 50px; background: radial-gradient(circle, rgba(139,0,0,0.4) 0%, rgba(75,0,0,0.3) 50%, transparent 70%); border-radius: 20px; z-index: 1; animation: darkPulse 2s ease-in-out infinite alternate;"></div><div class="seryk-chibi" style="position: absolute; top: 5px; right: 5px; z-index: 3; cursor: pointer; transition: transform 0.3s ease;" onclick="event.stopPropagation(); SugarCube.State.variables.nightActionPoints -= 1; var serinSerykAttraction = SugarCube.State.variables.serin_SerykAttraction || 0; var serinHumanAttraction = SugarCube.State.variables['serin_' + SugarCube.State.variables.humanName + 'Attraction'] || 0; var attractionDiff = serinSerykAttraction - serinHumanAttraction; var baseChance = 80; var finalChance = Math.max(20, Math.min(100, baseChance - attractionDiff)); var roll = Math.floor(Math.random() * 100) + 1; if (roll <= finalChance) { SugarCube.State.variables.ntrThreats = SugarCube.State.variables.ntrThreats.filter(t => t !== 'Serin'); SugarCube.Engine.play('NightActivities2'); } else { SugarCube.Engine.play('InterventionFailed'); }"><img src="images/chibi-models/serykback.webp" style="width: 40px; height: 40px; border-radius: 50%; border: 2px solid rgba(139,0,0,0.8); box-shadow: 0 0 10px rgba(139,0,0,0.6);"></div><</if>><div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;"><div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"><img src="images/serin/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></div><h3 style="color: #ffe6b3; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">💖 Serin</h3><p style="color: #f0f0f0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Her corruption might be affecting her..."</p></div><<link "Visit her room" "SerinNightVisit2">><<set $nightActionPoints -= 1>><<set $nightVisitedTonight.push("Serin")>><</link>></div><</if>><<if $nightVisitedTonight.length > 0 && $nightActionPoints > 0>><div class="visited-status" style="margin: 20px 0; padding: 15px; background: linear-gradient(145deg, rgba(100,150,100,0.2), rgba(80,120,80,0.3)); border: 1px solid rgba(150,200,150,0.3); border-radius: 8px; backdrop-filter: blur(3px);"><p style="color: #b0e0b0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 0; font-style: italic;">You've already visited: <<for _i = 0; _i < $nightVisitedTonight.length; _i++>><<if _i > 0 && _i === $nightVisitedTonight.length - 1>> and <</if>><<if _i > 0 && _i < $nightVisitedTonight.length - 1>>, <</if>>$nightVisitedTonight[_i]<</for>> tonight.</p></div><</if>><<if $nightActionPoints === 0>><div class="all-visited" style="margin: 20px 0; padding: 15px; background: linear-gradient(145deg, rgba(150,100,150,0.2), rgba(120,80,120,0.3)); border: 1px solid rgba(200,150,200,0.3); border-radius: 8px; backdrop-filter: blur(3px);"><p style="color: #e0b0e0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 0; font-style: italic;">You've used all your energy for tonight. Time to get some rest...</p></div><</if>><<if $ntrThreats.length > 0 && $nightActionPoints > 0>><div class="ntr-warning" style="margin: 20px 0; padding: 15px; background: linear-gradient(145deg, rgba(139,0,0,0.2), rgba(100,0,0,0.3)); border: 1px solid rgba(200,100,100,0.3); border-radius: 8px; backdrop-filter: blur(3px);"><p style="color: #ffb0b0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 0; font-style: italic;">👹 You sense a dark presence near some rooms. Click the shadowy figure to intervene, but it will cost you an action point.</p></div><</if>></div><div style="margin-top: 50px;"><div class="return-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease;"><div style="background: linear-gradient(145deg, rgba(100,100,150,0.2), rgba(80,80,120,0.3)); border: 2px solid rgba(150,150,200,0.3); border-radius: 10px; padding: 15px 25px; display: inline-block; box-shadow: 0 4px 8px rgba(0,0,0,0.3); backdrop-filter: blur(3px);"><h3 style="color: #c0c0e0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; font-size: 1.1em;">Go to sleep</h3><p style="color: #a0a0c0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 5px 0 0 0; font-style: italic;"><<if $nightActionPoints === 3>>"Perhaps sleep will come eventually..."<<elseif $nightActionPoints === 0>>"It's been a long night..."<<else>>"That's enough visiting for tonight..."<</if>></p></div></div><div style="margin-top: 15px;"><<link "End the night" "SerykNightTraining">><<set $nightVisitedTonight = []>><<set $nightActionPoints = 3>><</link>></div></div></div></div>
<style>
.visit-option:hover {
transform: translateY(-5px) scale(1.05);
opacity: 0.9;
}
.visit-option:hover .character-frame {
border-color: rgba(255,255,255,0.5);
box-shadow: 0 12px 24px rgba(0,0,0,0.4);
}
.visit-option:hover img {
border-color: rgba(255,255,255,0.6);
transform: scale(1.05);
}
.visit-option:hover h3 {
color: #fff2b3;
}
.return-option:hover {
transform: translateY(-3px) scale(1.02);
opacity: 0.9;
}
.visit-option:active, .return-option:active {
transform: translateY(-2px) scale(1.01);
}
.night-content a {
color: #e6e6ff;
text-decoration: none;
background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(255,255,255,0.1));
border: 1px solid rgba(255,255,255,0.3);
border-radius: 8px;
padding: 10px 20px;
display: inline-block;
margin-top: 10px;
transition: all 0.3s ease;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
font-weight: bold;
font-size: 1.1em;
}
.night-content a:hover {
color: #fff2b3;
background: linear-gradient(145deg, rgba(255,255,255,0.25), rgba(255,255,255,0.15));
border-color: rgba(255,255,255,0.5);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}
.night-content a:active {
transform: translateY(0px);
box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}
@keyframes darkPulse {
0% { opacity: 0.6; transform: scale(1); }
100% { opacity: 0.9; transform: scale(1.05); }
}
.seryk-chibi:hover {
transform: scale(1.2);
}
.seryk-chibi:hover img {
box-shadow: 0 0 15px rgba(139,0,0,0.8);
}
.ntr-aura {
pointer-events: none;
}
.seryk-chibi {
pointer-events: all;
}
</style>
<<changeFace $currentRylanFace>><<nobr>>
<div class="passage-container rylan">
<center><img src="images/nimeria/forest.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria"></center>
<<narrative "From behind a cluster of trees steps a figure that makes my breath catch in my throat. A girl, probably around our age, with pale, almost luminous skin and long, silky black hair that cascades down her back like a midnight waterfall. Despite the dirt smudges on her cheeks and the torn, ragged clothing that barely covers her slender frame, there's something ethereally beautiful about her.">>
<<narrative "Her large, expressive eyes survey the scene with a mixture of concern and exasperation. Around her neck, I notice a dull metal collar that seems oddly out of place on someone so graceful.">>
<<narrative "What... who is this? She just appeared out of nowhere and that demon actually stopped. She saved us... but why? And that collar... is she a slave too?">>
<<dialog "Serin" "face" "She is..." "Serin breathes, still catching her breath from the fight">>
<<dialog "Liora" "face" "She is..." "Liora echoes, her voice filled with wonder">>
<<dialog "Rylan" "face" "...an angel." "The words slip out before I can stop them, my mind still reeling from the sudden shift from certain death to... whatever this is">>
<center><img src="images/liora/facesideeye.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora angry"></center>
<<narrative "Liora's head snaps toward me, her blue eyes flashing with something I've never seen before - jealousy? Anger? She gives me a sharp side-eye that makes me immediately regret my words.">>
<<dialog "Liora" "facesideeye" "an angel?" "she mutters under her breath, her healing hands pausing in their work on my wounds">>
<<narrative "The demon - who had been poised to deliver what would have been our death blow - immediately straightens up and takes several steps back from us. His entire demeanor shifts from terrifying predator to... embarrassed child?">>
<<dialog "Seryk" "face" "Nimeria! I... uh..." "He scratches the back of his head sheepishly" "This isn't what it looks like.">>
<<narrative "The girl - Nimeria - places her hands on her hips and gives him a look that could melt steel. Despite her small stature and ragged appearance, she radiates an authority that makes even this terrifying demon seem like a scolded puppy.">>
<center><img src="images/nimeria/facescold.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria"></center>
<<dialog "Nimeria" "facescold" "Oh really? Because it looks like you were about to murder three young adventurers." "Her voice is melodious but carries a sharp edge of disapproval" "What have I told you about picking fights, Brother?">>
<<dialog "Seryk" "face" "But they attacked me first! I tried to warn them, I really did!" "The demon - apparently named Seryk - gestures helplessly at us" "The kid with the sword wouldn't listen!">>
<<dialog "Nimeria" "facescold" "And that gives you the right to nearly kill them?" "She steps closer to him, and despite being probably a foot shorter, somehow manages to look down at him disapprovingly" "Look at them! They're barely more than children!">>
<<dialog "Seryk" "face" "I... I was holding back!">>
<<dialog "Nimeria" "facescold" "Holding back?" "She gestures at my bloodied form and Serin's exhausted state" "This is you holding back? What would not holding back look like, turning them into paste?">>
<<narrative "I watch this exchange with growing amazement. This slip of a girl is lecturing a demon who could probably level a building, and he's taking it like a chastened child.">>
<<dialog "Seryk" "face" "I'm sorry, okay? I got carried away." "He turns to us with genuine remorse in his eyes" "I really am sorry, bro. And you too, Little Bird, Wildcat. I didn't want it to go this far.">>
<<dialog "Nimeria" "facescold" "Apologize properly!" "She swats his arm, which probably hurt her hand more than it hurt him">>
<<dialog "Seryk" "face" "Right, right." "He actually bows slightly to us" "I, Seryk, formally apologize for nearly killing you all. That was... not cool of me.">>
<<dialog "Nimeria" "face" "Better." "She turns to us with a much gentler expression" "I'm Nimeria, and this overgrown muscle-head is my brother Seryk. Please forgive him - he has all the social grace of a brick.">>
<<dialog "Seryk" "face" "Hey!">>
<<dialog "Nimeria" "face" "A very strong, very dangerous brick," "she continues, ignoring his protest" "but a brick nonetheless.">>
<<narrative "Despite everything that just happened, I find myself smiling slightly. Their dynamic is... oddly endearing.">>
<<dialog "Rylan" "face" "I'm $humanName," "I manage to say, still leaning heavily on Liora for support" "This is Liora and Serin.">>
<<dialog "Liora" "face" "Hello," "Liora says stiffly, still shooting me occasional glares">>
<center><img src="images/liora/faceangry2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora angry"></center>
<<dialog "Serin" "face" "Yeah, hi." "Serin is eyeing both demons warily, her hand instinctively reaching for daggers that are no longer there">>
<<dialog "Nimeria" "face" "We're sorry for the trouble. We've been wandering these woods for days now." "Her expression grows more serious, and I notice her eyes beginning to glisten with unshed tears" "We came from a village called Mistfen Reach, but it was attacked by bandits." "Her voice wavers slightly, and a single tear rolls down her dirt-smudged cheek" "We managed to escape into the forest.">>
<center><img src="images/nimeria/facecrying.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria Crying"></center>
<<narrative "As she speaks, I notice the collar around her neck more clearly - it's definitely not decorative. The metal looks old and worn, with strange runes etched into its surface. Seryk has a similar one, though his is much thicker and more robust-looking.">>
<<dialog "Rylan" "face" "Those collars..." "I start to ask">>
<<dialog "Nimeria" "face" "Slave collars," "she says matter-of-factly, touching hers with a rueful smile" "Magically enchanted. They prevent us from going against our master's direct orders. Or rather, they did - our master was killed in the bandit attack.">>
<<dialog "Seryk" "face" "The collars are still active though," "Seryk adds, his earlier playfulness gone" "We can't remove them ourselves, and they still restrict certain actions. It's... complicated.">>
<<dialog "Liora" "face" "That's horrible," "Liora breathes, her anger at me momentarily forgotten in the face of their plight" "Though... slavery of demons has been legal since the war ended, hasn't it?">>
<<dialog "Nimeria" "face" "Yes, it is legal in most kingdoms now," "Nimeria's smile turns bitter" "The victors write the laws, after all. But we're free now, in a way. Just... lost.">>
<<narrative "The forest around us seems to grow quieter as the weight of their story settles over our group. Here we were, thinking we were on some grand adventure, and we've stumbled across two escaped slaves fleeing for their lives.">>
<<narrative "Escaped slaves... not the evil monsters from the stories. They're just people trying to survive. And here I thought he was a barbarian who killed his owner. And I attacked them for what? A bounty that might not even exist? What kind of person does that make me?">>
<<dialog "Serin" "face" "So what now?" "Serin asks, finally speaking up" "We can't exactly go back to fighting after... all this.">>
<<dialog "Seryk" "face" "I really am sorry about that, Wildcat. You fight well - I respect that.">>
<<dialog "Nimeria" "face" "Perhaps we could help each other?" "Nimeria suggests hopefully" "You're adventurers, right? You must know these lands better than we do.">>
<<narrative "I look at my companions - Liora still tending to my wounds with gentle but slightly cool efficiency, Serin retrieving her scattered daggers while keeping a wary eye on Seryk. The smart thing would be to part ways here. These two are clearly dangerous, and we barely survived our first encounter.">>
<<narrative "But something about Nimeria's hopeful expression, and the genuine remorse in Seryk's eyes, makes me hesitate.">>
<<narrative "She saved our lives after I tried to kill him. Maybe... maybe this is my chance to do something right for once. To help instead of hurt.">>
<<if not $rylan_NimeriaAffection>><<set $rylan_NimeriaAffection = 0>><</if>><<if not $rylan_NimeriaAttraction>><<set $rylan_NimeriaAttraction = 0>><</if>><<if not $rylan_SerykAffection>><<set $rylan_SerykAffection = 0>><</if>><<if not $liora_NimeriaAffection>><<set $liora_NimeriaAffection = 0>><</if>><<if not $liora_SerykAffection>><<set $liora_SerykAffection = 0>><</if>><<if not $serin_NimeriaAffection>><<set $serin_NimeriaAffection = 0>><</if>><<if not $serin_SerykAffection>><<set $serin_SerykAffection = 0>><</if>><<if not $nimeria_RylanAffection>><<set $nimeria_RylanAffection = 0>><</if>><<if not $nimeria_LioraAffection>><<set $nimeria_LioraAffection = 0>><</if>><<if not $nimeria_SerinAffection>><<set $nimeria_SerinAffection = 0>><</if>><<if not $seryk_RylanAffection>><<set $seryk_RylanAffection = 0>><</if>><<if not $seryk_LioraAffection>><<set $seryk_LioraAffection = 0>><</if>><<if not $seryk_SerinAffection>><<set $seryk_SerinAffection = 0>><</if>><<set $rylan_NimeriaAttraction += 23>><<trackAttraction "rylan" "Nimeria" 23>><<set $rylan_NimeriaAffection += 30>><<trackAffection "rylan" "Nimeria" 30>><<set $rylan_SerykAffection += 15>><<trackAffection "rylan" "Seryk" 15>><<set $liora_NimeriaAffection += 20>><<trackAffection "Liora" "Nimeria" 20>><<set $liora_SerykAffection += 10>><<trackAffection "Liora" "Seryk" 10>><<set $serin_NimeriaAffection += 25>><<trackAffection "Serin" "Nimeria" 25>><<set $serin_SerykAffection += 20>><<trackAffection "Serin" "Seryk" 20>><<set $nimeria_RylanAffection += 35>><<trackAffection "Nimeria" "rylan" 35>><<set $nimeria_LioraAffection += 25>><<trackAffection "Nimeria" "Liora" 25>><<set $nimeria_SerinAffection += 30>><<trackAffection "Nimeria" "Serin" 30>><<set $seryk_RylanAffection += 20>><<trackAffection "Seryk" "rylan" 20>><<set $seryk_LioraAffection += 15>><<trackAffection "Seryk" "Liora" 15>><<set $seryk_SerinAffection += 25>><<trackAffection "Seryk" "Serin" 25>><<set $liora_RylanAffection -= 1>><<trackAffection "Liora" "rylan" -1>><<set $metNimeria = true>><<set $metSeryk = true>><<run DiarySystem.unlockCharacter("Nimeria")>><<run DiarySystem.unlockCharacter("Seryk")>><<statSummary>>
<<continueBox "InviteDemons" "Suggest they come with us" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<nobr>>
<<if not $mariel_combatStats>>
<<set $mariel_combatStats = {
maxHealth: 205,
currentHealth: 205,
maxStamina: 90,
currentStamina: 90,
physicalPower: 28,
agility: 27,
willpower: 21,
technique: 29,
perception: 20,
focus: 21,
vitality: 29
}>>
<</if>>
<div class="passage-container mariel">
<center><img src="images/mariel/faceworried.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel"></center>
<<narrative "I watch as three of the people I care about most transform before my eyes. $humanName, Serin, and Liora all seem stronger, more confident, more... powerful. But something about this soul magic makes me deeply uneasy.">>
<center><img src="images/rylan/facesmile.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan"></center>
<<dialog "Rylan" "facesmile" "$marielToHuman, you should try one too. The power is incredible.">>
<center><img src="images/serin/facesmile.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin"></center>
<<dialog "Serin" "facesmile" "Come on, Mariel. Don't you want to be stronger? To be able to protect everyone better?">>
<center><img src="images/liora/facesmile.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora"></center>
<<dialog "Liora" "facesmile" "It really does feel amazing. I can sense my healing abilities have grown so much stronger.">>
<<narrative "Even Seryk, who was cautious before, seems to be reconsidering.">>
<<dialog "Seryk" "face" "I mean... if it's working for everyone else...">>
<<dialog "Mariel" "face" "I... I don't know. This kind of magic feels dangerous. As an ex-priestess, I've learned to be wary of power that comes too easily.">>
<<dialog "Nimeria" "face" "Oh, but Mariel! Think of all the good you could do with enhanced abilities! Your wisdom, your experience, combined with this power - you could help so many people!">>
<<dialog "Rylan" "face" "Please, $marielToHuman. We're stronger together. If we all have this power, we can face anything.">>
<<narrative "The pleading in $humanName's voice breaks my heart. How can I refuse when he looks at me like that? When they all believe this is the right choice?">>
<<dialog "Mariel" "face" "Alright... if you all think it's safe..." "My voice wavers with uncertainty as I reach for one of the remaining stones">>
<<dialog "Nimeria" "face" "Wonderful! You won't regret this!">>
<<narrative "I hold the stone, feeling its strange energy pulsing against my palm. Taking a deep breath, I place it in my mouth and swallow it, following the others' example.">>
<<narrative "The transformation is immediate and overwhelming. Power surges through my body, making me feel decades younger, stronger than I've been since my adventuring days. My magical abilities feel enhanced, my body more resilient.">>
<center><img src="images/nimeria/face.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria"></center>
<<dialog "Nimeria" "face" "Perfect! Now, think of a happy memory from your past - perhaps when you and your party defeated the demon king? That must have been such a triumphant moment!">>
<<narrative "I close my eyes, trying to focus on that victory, but the stone's energy seems to pull at different memories. The journey to defeat the demon king... yes, but not the triumph. Something else.">>
<<narrative "The faces of my fallen comrades flash before my eyes. Lyanna, the young mage who died protecting a village from demon spawn. Marcus, the brave knight who sacrificed himself to buy us time. Elena, the archer who fell to the demon king's lieutenant just days before our final battle.">>
<<narrative "So many friends lost along the way. So many good people who never got to see the victory they died for. The guilt I've carried all these years - why did I survive when they didn't? Why was I allowed to live, to love, to have a family, when they were cut down in their prime?">>
<<narrative "The stone feeds on these dark emotions, on the survivor's guilt that has haunted me for over two decades. The energy shifts, becoming cold and bitter, resonating with the pain I've tried so hard to bury.">>
<div class="soul-corruption-showcase"><div class="corruption-aura"></div><div class="corruption-shadows"></div><div class="corruption-text"><h3>🌑 SOUL CORRUPTION AWAKENED 🌑</h3><p>Dark power courses through your soul, born from guilt and loss.</p></div></div>
<center><img src="images/mariel/faceworried.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel"></center>
<<narrative "The corruption settles into my bones, whispering dark thoughts. Maybe I don't deserve the peaceful life I've had. Maybe I should have done more, fought harder, saved them somehow. The guilt transforms into something else - a hunger for power that could have prevented those losses.">>
<<dialog "Mariel" "face" "I... I feel different." "I open my eyes, trying to hide the darkness I can feel growing within me" "Stronger, yes, but also... troubled.">>
<<dialog "Nimeria" "face" "Oh my! Sometimes the stones bring up difficult memories. But don't worry - there's more to explore!">>
<<narrative "More memories are stirring, each one darker than the last. The stone isn't finished with me yet.">>
<<set $mariel_combatStats.maxHealth += 25>>
<<set $mariel_combatStats.maxStamina += 25>>
<<set $mariel_combatStats.physicalPower += 2>>
<<set $mariel_combatStats.agility += 2>>
<<set $mariel_combatStats.technique += 2>>
<<set $mariel_combatStats.willpower += 2>>
<<set $mariel_intelligence += 2>>
<<set $mariel_perception += 2>>
<<addSoulCorruption "mariel" 1>>
<<soulDisplay "mariel">>
<<continueBox "MarielMemory2" "Continue" "">>
</div>
<</nobr>>
<<pov "mariel" "falseutopia.mp3">><<nobr>>
<<if not $rylan_Lust>><<set $rylan_Lust = 0>><</if>><<if not $rylan_VoyeurismFetish>><<set $rylan_VoyeurismFetish = 0>><</if>><<if not $rylan_NimeriaAttraction>><<set $rylan_NimeriaAttraction = 0>><</if>><<if not $seryk_SalivaFetish>><<set $seryk_SalivaFetish = 0>><</if>><<if not $seryk_Lust>><<set $seryk_Lust = 0>><</if>><<if not $seryk_NimeriaAffection>><<set $seryk_NimeriaAffection = 0>><</if>><<if not $nimeria_SerykAffection>><<set $nimeria_SerykAffection = 0>><</if>><<if not $liora_VoyeurismFetish>><<set $liora_VoyeurismFetish = 0>><</if>><<if not $serin_VoyeurismFetish>><<set $serin_VoyeurismFetish = 0>><</if>>
<div class="passage-container rylan">
<<narrative "My heart pounds as I rush toward the lake, branches whipping past my face. The sound of splashing water grows louder, and I can hear Nimeria's voice calling out. What if she's in danger? What if?">>
<<narrative "I burst through the treeline and freeze.">>
<center><img src="images/nimeria/lakebath2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria"></center>
<<narrative "Nimeria is standing waist-deep in the crystal-clear lake, completely naked. Water droplets cascade down her pale skin, catching the afternoon sunlight like tiny diamonds. Her long hair clings to her shoulders and back, and she's looking directly at me with those mesmerizing eyes.">>
<<quickRoll "Voyeurism Temptation" "Rylan" 80 5 "VoyeurismFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "VoyeurismFetish" 0.5>>
<<narrative "I know I should look away, but I can't. The sight of her naked form is mesmerizing, and I find myself drinking in every detail of her exposed body.">>
<<changeLust "Rylan" 15>>
<<changeAttraction "Rylan" "Nimeria" 4>>
<<else>>
<<changeLust "Rylan" 10>>
<</if>>
<<dialog "Nimeria" "face" "Oh! $humanName!" "she calls out, not seeming particularly embarrassed" "I just slipped on some rocks and fell in. The water's actually quite nice!">>
<center><img src="images/nimeria/lakebath.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria"></center>
<<narrative "I stand there, mouth agape, unable to form words. Why am I still staring? I should turn around, give her privacy, but my feet seem rooted to the spot.">>
<<dialog "Nimeria" "face" "Are you just going to stand there gawking?" "she asks with a playful smile, tilting her head" "I mean, I don't mind the attention, but...">>
<<dialog "Rylan" "faceembarrassed" "I, I'm sorry!" "I finally stammer, my face burning red" "I heard you calling and thought you were in trouble!">>
<<dialog "Nimeria" "face" "Aww, my hero came to rescue me!" "She giggles and sticks her tongue out at me" "But you're still staring, you pervert!">>
<center><img src="images/nimeria/facetongue.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria"></center>
<<narrative "The word hits me like a slap, and I quickly spin around, covering my eyes with my hands.">>
<<dialog "Rylan" "faceembarrassed" "Sorry! Sorry! I'll just... I'll head back!">>
<<dialog "Nimeria" "face" "It's okay, $humanName. I'll be out in a minute. Thanks for checking on me!">>
<<narrative "I stumble back through the forest, my heart still racing and my mind replaying what I just saw. When I reach the others, Seryk takes one look at my flushed face and grins.">>
<<dialog "Seryk" "face" "I guess you were pranked by Nim too?" "he says with a knowing chuckle">>
<<dialog "Rylan" "faceconfused" "Pranked?" "I ask, confused">>
<<dialog "Seryk" "face" "She has a habit of... testing people. Don't worry about it, bro.">>
<<narrative "A few minutes later, Nimeria returns, fully dressed and looking completely innocent. She walks up to Seryk with that bright smile of hers.">>
<<dialog "Nimeria" "face" "Seryk! I have something for you!" "She pulls out one of the black marbles and the small vial, now filled with a clear liquid" "This should help you feel stronger!">>
<<dialog "Seryk" "face" "What is it?" "Seryk asks, eyeing the vial suspiciously">>
<<dialog "Nimeria" "face" "Just drink it! Trust me!">>
<<dialog "Seryk" "face" "You're not trying to poison me, are you Nim?">>
<<dialog "Nimeria" "face" "Of course not! We're family!">>
<<narrative "With a shrug, Seryk downs the entire contents in one gulp. Almost immediately, his eyes widen and he flexes his arms experimentally.">>
<<dialog "Seryk" "face" "Whoa... I do feel more powerful. But that tasted absolutely disgusting! What did you make me drink?">>
<<dialog "Nimeria" "face" "Oh, just some lakewater..." "She pauses for dramatic effect" "...and I spit in it.">>
<center><img src="images/nimeria/facesmile.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria"></center>
<<quickRoll "Saliva Fetish" "Seryk" 80 5 "SalivaFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Seryk" "SalivaFetish" 0.2>>
<<narrative "Despite his disgust, there's something about knowing it was Nimeria's saliva that sends an unexpected thrill through him.">>
<<changeLust "Seryk" 3>>
<</if>>
<<dialog "Seryk" "face" "WHAT?!" "Seryk's face goes through several expressions - shock, disgust, then something else entirely" "Nim, what the hell?!">>
<<dialog "Nimeria" "face" "It's fine! We're blood related!" "she says cheerfully, as if that explains everything">>
<<dialog "Seryk" "face" "That makes it even WORSE, Nim!">>
<<narrative "The entire group bursts into laughter at Seryk's horrified expression. Even Liora can't help but giggle behind her hand.">>
<<dialog "Liora" "face" "She got you good, Seryk!">>
<<dialog "Serin" "face" "I can't believe you actually drank it!">>
<<dialog "Nimeria" "face" "But you do feel stronger, right?" "Nimeria asks innocently">>
<<dialog "Seryk" "face" "Yeah, actually... but that doesn't make it okay!">>
<<set $seryk_combatStats.physicalPower += 2>>
<<trackCombatStat "Seryk" "physicalPower" 2>>
<<set $seryk_combatStats.agility += 2>>
<<trackCombatStat "Seryk" "agility" 2>>
<<set $seryk_combatStats.technique += 2>>
<<trackCombatStat "Seryk" "technique" 2>>
<<set $seryk_combatStats.willpower += 2>>
<<trackCombatStat "Seryk" "willpower" 2>>
<<set $seryk_intelligence += 2>>
<<trackCombatStat "Seryk" "intelligence" 2>>
<<set $seryk_perception += 2>>
<<trackCombatStat "Seryk" "perception" 2>>
<<set $seryk_combatStats.maxHealth += 2>>
<<trackCombatStat "Seryk" "maxHealth" 2>>
<<set $seryk_combatStats.maxStamina += 2>>
<<trackCombatStat "Seryk" "maxStamina" 2>>
<<set $seryk_Lust += 50>>
<<trackLust "Seryk" 50>>
<<set $seryk_NimeriaAffection -= 2>>
<<trackAffection "Seryk" "Nimeria" -2>>
<<set $nimeria_SerykAffection += 3>>
<<trackAffection "Nimeria" "Seryk" 3>>
<<narrative "The walk back home is filled with more laughter and teasing at Seryk's expense. As we approach the house, I notice that Seryk is sweating quite a bit, small beads of perspiration dotting his forehead.">>
<<dialog "Rylan" "face" "You alright?" "I ask him" "The fight must have been pretty exhausting for you too.">>
<<dialog "Seryk" "face" "Yeah, you three put up quite a fight," "he says, wiping his brow" "Plus whatever Nim gave me seems to be making me feel... energized. Maybe too energized.">>
<<dialog "Nimeria" "face" "That's normal! It means it's working!" "Nimeria chirps from behind us">>
<<dialog "Seryk" "face" "I'm never trusting your 'potions' again, Nim.">>
<<dialog "Nimeria" "face" "We'll see about that!">>
<<if random(1, 100) <= 30>>
<<quickRoll "Voyeurism Temptation" "Liora" 80 5 "VoyeurismFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "VoyeurismFetish" 0.1>>
<<narrative "Liora finds herself stealing glances at the way Seryk's shirt clings to his sweating form.">>
<<changeLust "Liora" 2>>
<</if>>
<</if>>
<<narrative "As we reach the front door, I can't help but think about everything that's happened today. Meeting these two mysterious demons, the strange potions, and that moment at the lake... My life has definitely become more interesting.">>
<<continueBox "HomeAfterDemons" "Return Home" "">>
</div>
<</nobr>>
<<pov "rylan" "chapter1default.mp3">><<nobr>>
<div class="passage-container rylan">
<center><img src="images/landscapes/rylanroom.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan's Room"></center>
<<narrative "I slip away from the kitchen, making an excuse about needing to grab something from my room. The tension in my body is becoming impossible to ignore, watching Serin's athletic form, the way her training gear clung to her sweaty body, the scent of her after her workout...">>
<<dialog "Rylan" "face" "I'll just... be right back. Need to grab my gear.">>
<<dialog "Serin" "face" "Don't take forever, slowpoke. We've got guild business to handle.">>
<<dialog "Liora" "face" "We'll wait for you..." "Her soft voice makes my heart race even more">>
<<narrative "Once I'm safely in my room with the door closed, I lean against it and take a deep breath. The images from this morning keep flashing through my mind, Serin's muscles flexing as she moved, the way her clothes shifted when she stretched, that intense post-training scent...">>
<<quickRoll "Muscle Fetish" "Rylan" 80 5 "MuscleFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "MuscleFetish" 0.2>>
<<narrative "The memory of her athletic build fills my thoughts. There's something incredibly appealing about her physical strength.">>
<</if>>
<<quickRoll "Smell Fetish" "Rylan" 80 5 "SmellFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SmellFetish" 0.2>>
<<narrative "I can still smell her training scent in my mind earthy, real, intense. It's more arousing than it should be.">>
<</if>>
<<narrative "My breathing becomes heavier as I think about both Serin and Liora. Serin's confident teasing, her athletic body... and Liora's shy blushes, the way she looked at me with those bright blue eyes...">>
<<quickRoll "Voyeurism Fetish" "Rylan" 80 5 "VoyeurismFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "VoyeurismFetish" 0.1>>
<<narrative "The thrill of watching them, catching those unguarded moments... there's something exciting about seeing what they don't mean to show.">>
<</if>>
<<narrative "I move to my bed, my hand already working to relieve the tension. The thoughts come faster now, Serin's confident grin when she caught me staring, Liora's innocent blush when our hands touched, the way Mariel's tired but caring smile made me feel protected...">>
<<quickRoll "Submission Fetish" "Rylan" 80 5 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.1>>
<<narrative "Something about their different forms of attention, Serin's teasing dominance, Liora's gentle care, makes me want to please them both.">>
<</if>>
<center><img src="images/rylan/masturbate/climax.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan Masturbating"></center>
<<narrative "The release comes quickly, my mind filled with images of my party members. As the tension finally leaves my body, I feel both satisfied and slightly guilty. We're supposed to be a professional adventuring party now, and here I am...">>
<<set $rylan_Lust = 0>>
<<trackLust "Rylan" -$rylan_Lust>>
<<set $rylan_masturbationCount += 1>>
<<trackExperience "Rylan" "masturbation" 1>>
<<narrative "I clean up quickly and take a moment to compose myself. The others are waiting, and we have guild business to handle. I can't let them know what just happened.">>
<<set _discoveryRoll = random(1, 100)>>
<<if _discoveryRoll <= 15>>
<<set $rylan_SerinAffection += 1>>
<<trackAffection "Rylan" "Serin" 1>>
<<set $serin_VoyeurismFetish += 0.1>>
<<trackFetish "Serin" "VoyeurismFetish" 0.1>>
<<dialog "Serin" "face" "$humanName? You okay in there? You sound... breathless." "Serin's voice comes through the door, making my heart skip">>
<<dialog "Rylan" "faceembarrassed" "Y-yeah! Just... couldn't find my gear for a second.">>
<<dialog "Serin" "face" "Uh-huh. Sure you weren't doing something else in there?" "There's a knowing smirk in her voice that makes me blush">>
<<dialog "Rylan" "faceembarrassed" "I don't know what you mean!">>
<<dialog "Serin" "face" "Right. Well, hurry up, lover boy. We've got places to be.">>
<<else>>
<<narrative "I wait a moment to make sure my breathing is normal, then gather my courage to face the others.">>
<</if>>
<<narrative "When I emerge from my room, I feel much more composed and ready to focus on our guild business.">>
<<dialog "Rylan" "face" "Alright, I'm ready. Let's go see Elena.">>
<<if _discoveryRoll <= 15>>
<<dialog "Serin" "face" "Feeling better now?" "Serin asks with a grin that suggests she knows exactly what I was doing">>
<<dialog "Liora" "face" "Is everything okay, $humanName?" "Liora asks innocently, clearly not understanding Serin's implication">>
<<dialog "Rylan" "faceembarrassed" "Everything's fine. Let's just... go.">>
<</if>>
<<continueBox "GuildMorning" "Head to the Adventurer's Guild" "">>
</div>
<</nobr>>
<<pov "rylan" "chapter1default.mp3">><<nobr>>
<<set $rylan_MasturbatedTonight = true>>
<div class="passage-container rylan">
<<narrative "As I enter my room, my body is burning with need. The events of tonight have left me in a state I've never experienced before - my arousal is so intense it's almost painful, and I know I won't be able to sleep without finding some relief.">>
<<dialog "Rylan" "face" "I can't... I need to..." "I whisper to myself, my hands trembling as I lock the door behind me">>
<<narrative "The memories of tonight flood through my mind, each one sending waves of heat through my body. I know what I need to do, even though part of me feels ashamed of these desires.">>
<<narrative "What fantasy will you lose yourself to?">>
<div style="margin: 20px 0; padding: 15px; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 10px;">
<<if $rylan_MassagedMarielBack2>>[[Fantasize about Mariel's back massage|MasturbateMarielBack]]<br><br><</if>>
<<if $rylan_MassagedMarielLegs2>>[[Fantasize about Mariel's leg massage|MasturbateMarielLegs]]<br><br><</if>>
<<if $rylan_SmelledSerinSocks>>[[Fantasize about Serin's drenched socks|MasturbateSerinSocks]]<br><br><</if>>
<<if $rylan_TrainedWithSeryk>>[[Fantasize about Seryk's exposed body|MasturbateSerykCock]]<br><br><</if>>
[[Fantasize about Liora|MasturbateLiora]]
</div>
</div>
<</nobr>>
<<pov "rylan" "ntr1.mp3">><<nobr>>
<<set $nightVisitedTonight.push("Serin")>>
<div class="passage-container rylan">
<<narrative "I knock on Serin's door and hear her energetic voice call out.">>
<<dialog "Serin" "face" "Come in! I was wondering when you'd show up.">>
<<narrative "I find her doing some light stretches in her training gear, her athletic form highlighted by the moonlight streaming through her window.">>
<center><img src="images/serin/poses/fightingstance.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin Training"></center>
<<dialog "Rylan" "face" "Hey Serin. I was thinking... want to test our new strength? See how the soul transformations affected our abilities?">>
<<narrative "Her eyes light up with competitive fire.">>
<<dialog "Serin" "face" "Oh, you're on! But let's make it interesting..." "She grins mischievously" "Loser gets a punishment. Deal?">>
<<dialog "Rylan" "face" "Deal. What kind of punishment?">>
<<dialog "Serin" "face" "We'll figure that out when someone loses. Come on!">>
<<narrative "We engage in a quick sparring match, testing our enhanced abilities. Despite the soul transformations, Serin's natural athleticism and experience give her the edge. After a few minutes, I find myself pinned.">>
<<dialog "Serin" "face" "Ha! Victory is mine!">>
<center><img src="images/serin/poses/__flexing.webp" style="width: 400px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin After Sparring"></center>
<<narrative "She releases me and stretches, wiping sweat from her forehead.">>
<<dialog "Serin" "face" "God, did I sweat during that.">>
<<dialog "Rylan" "face" "Yeah, I can smell you even from here...">>
<<narrative "Serin pauses mid-stretch, a wicked grin spreading across her face.">>
<<dialog "Serin" "face" "Oh really? If I smell so bad, then your punishment should be... smelling one of my socks!" "She moves over to her bed and sits down, her white knee-high socks still on as she looks at me with that mischievous expression" "Come on, loser. Time to pay up.">>
<center><img src="images/serin/nightactivities/2/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin on her bed"></center>
<<quickRoll "Feet Fetish" "Rylan" 80 5 "FeetFetish" 3>>
<<set _feetSuccess = _tempRollSuccess>>
<<quickRoll "Smell Fetish" "Rylan" 80 5 "SmellFetish" 3>>
<<set _smellSuccess = _tempRollSuccess>>
<<changeLust "Rylan" 2>>
<<if _feetSuccess && _smellSuccess>>
<<dialog "Rylan" "faceembarrassed" "I... I can't look away from your feet... and that scent..." "My eyes drift down to her white socks, and I find myself breathing a little deeper despite myself">>
<<elseif _feetSuccess>>
<<dialog "Rylan" "faceembarrassed" "I... your feet look so... I mean, I can't just back down from a bet..." "I swallow hard, my gaze lingering on her sock-covered feet longer than it should">>
<<elseif _smellSuccess>>
<<dialog "Rylan" "faceembarrassed" "That smell... it's not as bad as I thought it would be..." "I take another breath, surprised by how the musky scent seems to draw me in rather than repel me">>
<<else>>
<<dialog "Rylan" "faceembarrassed" "This is crazy, Serin!" "I shake my head, trying to ignore the strange flutter in my stomach as I look at her expectant expression">>
<</if>>
<<narrative "Serin is waiting for your response to her punishment...">>
<<choiceBox "How do you respond?" "Reluctantly agree" "SerinSockPunishment" "SerinNightVisit2=agree" "Run away" "SerinRunAway" "SerinNightVisit2=run">>
<<changeAffection "Rylan" "Serin" 2>>
<<changeAffection "Serin" "Rylan" 2>>
</div>
<</nobr>>
<<pov "rylan" "chapter1default.mp3">><<nobr>>
<<set $rylan_SerinAffection -= 3>>
<<set $serin_RylanAffection -= 3>>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<h2 style="color: #e6e6ff; font-size: 1.6em; margin-bottom: 10px;">Running Away</h2>
<p style="color: #b3b3d9; font-style: italic; font-size: 1.1em;">Sometimes discretion is the better part of valor...</p></div>
<<dialog "Rylan" "face" "You know what? This is too weird for me. I'm out of here!">>
<<narrative "I quickly head for the door, but Serin's voice stops me cold.">>
<<dialog "Serin" "faceangry" "Oh, so you're a sore loser AND a coward? Real mature, $humanName!">>
<<narrative "I can hear the genuine annoyance in her voice. She's not just teasing anymore - she's actually upset.">>
<<dialog "Serin" "faceangry" "A bet is a bet! I can't believe you're just running away like this!">>
<<dialog "Rylan" "face" "Come on, Serin, that's just... too much.">>
<<dialog "Serin" "faceangry" "Too much? It's just a stupid sock! God, I thought you had more backbone than this." "She crosses her arms, clearly disappointed" "Fine, run away then. But don't expect me to go easy on you next time we spar.">>
<<narrative "I can see I've genuinely hurt her feelings. What seemed like harmless teasing to her was apparently a real test of whether I'd honor our agreement.">>
<<dialog "Serin" "faceangry" "Just... just go, okay? I thought you were cooler than this.">>
<<narrative "I leave her room feeling like I've made a mistake. The disappointment in her voice echoes in my mind as I head back to the hallway.">>
<div style="margin: 20px 0; background: rgba(150,100,100,0.2); border: 1px solid rgba(200,150,150,0.3); border-radius: 8px; padding: 15px; margin-bottom: 20px;">
<p style="color: #ffb0b0; font-size: 0.9em; margin: 0; font-style: italic;">Serin is clearly disappointed in your decision to break the agreement.</p>
</div>
<<continueBox "NightActivities2" "Return to the hallway" "">>
<<trackAffection "Rylan" "Serin" -3>>
<<trackAffection "Serin" "Rylan" -3>>
</div>
<</nobr>>
<<pov "rylan" "falseutopia.mp3">><<nobr>>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<h2 style="color: #e6e6ff; font-size: 1.6em; margin-bottom: 10px;">Serin's Punishment</h2>
<p style="color: #b3b3d9; font-style: italic; font-size: 1.1em;">A bet is a bet...</p>
</div>
<<dialog "Rylan" "face" "Fine... a bet is a bet.">>
<center><img src="images/serin/nightactivities/2/2.webp" alt="Serin sweaty and glistening" width="600"></center>
<<narrative "Serin's grin widens as she stretches languidly on her bed, her athletic body glistening with a sheen of sweat from our sparring match. The moonlight catches every curve, every drop of moisture on her tanned skin. Her leather outfit clings to her like a second skin, accentuating her toned abs and the gentle rise and fall of her chest as she catches her breath.">>
<<dialog "Serin" "face" "Mmm, I'm absolutely drenched..." "she purrs, running a hand through her damp red hair" "You can probably smell me from there, can't you?">>
<<narrative "She's right. Even from across the room, I can detect the intoxicating mix of leather, exertion, and something uniquely Serin - a musky, feminine scent that makes my pulse quicken.">>
<<dialog "Serin" "face" "Good boy. Now come here..." "She slowly begins peeling down one of her white knee-high socks, the fabric clinging to her damp skin" "Time for your punishment.">>
<center><img src="images/serin/nightactivities/2/drenchedsocksfocus.webp" alt="Serin's sweaty feet" width="400"></center>
<<narrative "As the sock comes off, the scent in the room intensifies dramatically. Her bare foot is flushed and glistening, small beads of moisture visible on her skin. The sock itself is visibly damp, and I can see the outline where her foot had been pressed against the fabric.">>
<<dialog "Serin" "face" "Look at that... completely soaked through." "She holds up the sock, examining it with obvious satisfaction" "All that training, all that sweat... and now you get to experience every bit of it.">>
<<narrative "She dangles the damp sock between us, and the aroma hits me like a wave - intense, personal, overwhelming. It's not unpleasant, but it's undeniably intimate, like breathing in the very essence of her exertion.">>
<<set $rylan_SmelledSerinSocks = true>>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<<changeFetish "Rylan" "FeetFetish" 0.2>>
<<changeLust "Rylan" 4>>
<<set _smellSuccess = true>>
<<set _feetSuccess = true>>
<<set _oldCorruptionLevel = $rylan_soulCorruption || 0>>
<<addSoulCorruption "rylan" 1>>
<<set _newCorruptionLevel = $rylan_soulCorruption || 0>>
<<if _newCorruptionLevel > _oldCorruptionLevel>>
<<set _latestCorruption = $rylan_soulEffects[$rylan_soulEffects.length - 1]>>
<</if>>
<div class="soul-corruption-showcase">
<div class="corruption-aura"></div>
<div class="corruption-shadows"></div>
<div class="corruption-text">
<h3>🌑 SOUL CORRUPTION DEEPENS 🌑</h3>
<<if _latestCorruption>>
<p><strong><<print _latestCorruption.name>></strong>: <<print _latestCorruption.effect>></p>
<p>The humiliating experience has awakened this darker desire within you.</p>
<<else>>
<p>The humiliating experience leaves a mark on your soul, awakening darker desires.</p>
<</if>>
</div>
</div>
<<soulDisplay "rylan">>
<<dialog "Serin" "face" "Come closer, $humanName. Don't make me wait.">>
<<narrative "I approach hesitantly, my heart pounding. The closer I get, the stronger the scent becomes - a heady mixture that seems to cloud my thoughts.">>
<<dialog "Serin" "face" "That's it... now, I want you to smell it. Really smell it. For at least ten full seconds." "Her voice is playful but commanding" "No backing out now.">>
<center><img src="images/serin/nightactivities/2/socksmell.webp" alt="Rylan reluctantly approaching" width="600"></center>
<<if _smellSuccess && _feetSuccess>>
<<narrative "I find myself drawn in despite my embarrassment, my body reacting to both the intense aroma and the sight of her glistening foot in ways I don't fully understand. My eyes can't help but focus on her bare skin while breathing in her personal scent. There's something almost hypnotic about it - the way the moonlight plays across her damp skin, the way her toes curl slightly as she watches my reaction.">>
<<elseif _smellSuccess>>
<<narrative "I find myself leaning closer than I intended, my body reacting to the intense aroma in ways I don't fully understand. The scent seems to wrap around me, making my head feel light and my pulse race.">>
<<elseif _feetSuccess>>
<<narrative "My eyes can't help but focus on her bare foot, still glistening slightly with perspiration, and I realize I'm staring longer than I should. The elegant curve of her arch, the way her skin seems to glow in the dim light...">>
<<else>>
<<narrative "I try to keep my distance, but the bet forces me to get closer. Still, there's something about this situation that's affecting me more than I expected. My hands are trembling slightly, and I can feel heat rising in my cheeks.">>
<</if>>
<<dialog "Rylan" "face" "This is... really intense, Serin.">>
<<dialog "Serin" "face" "Ten full seconds, remember? I'm counting!" "She watches with obvious amusement and something else - a predatory satisfaction as I reluctantly lean in closer to her sock">>
<center><img src="images/serin/nightactivities/2/socksmell2.webp" alt="Rylan forced to smell the sock" width="600"></center>
<<narrative "The smell is overwhelming when I'm this close - not entirely unpleasant, but definitely strong and very... personal. I can feel my face heating up as I realize I'm actually doing this, breathing in the intimate scent of her exertion. The fabric is still warm and slightly damp against my face.">>
<<dialog "Serin" "face" "That's it... breathe it in. All of it." "Her voice has taken on a sultry quality that makes my stomach flutter" "You're doing so well, $humanName. Most guys would have run away by now.">>
<<narrative "The seconds stretch on, each breath filling my lungs with her scent. I can feel something changing inside me - a strange mix of embarrassment and arousal that I don't quite understand.">>
<center><img src="images/serin/nightactivities/2/socksmell3.webp" alt="Rylan overwhelmed by the experience" width="600"></center>
<<if _smellSuccess && _feetSuccess>>
<<changeAttraction "Rylan" "Serin" 1>>
<<narrative "Something about this situation is affecting me more than it should. The combination of her teasing dominance, the intimate scent, and the sight of her bare foot is stirring unexpected feelings. I find myself breathing deeper than necessary, my eyes fluttering closed as the aroma seems to seep into my very being. When I open them again, I catch her watching me with an expression of satisfied amusement.">>
<<elseif _smellSuccess>>
<<narrative "The scent is intoxicating in a way I never expected. Each breath seems to make my head spin a little more, and I realize I'm actually starting to... enjoy this? The thought is both thrilling and terrifying.">>
<<elseif _feetSuccess>>
<<narrative "I can't stop staring at her foot, the way the light catches the moisture on her skin, the elegant curve of her toes. There's something mesmerizing about it that I can't quite explain.">>
<<else>>
<<narrative "Even though I'm trying to resist, I can feel my resolve weakening. There's something about her confidence, her playful dominance, that's affecting me in ways I didn't expect.">>
<</if>>
<<dialog "Serin" "face" "Time!" "She pulls the sock back with a satisfied grin, clearly enjoying my flustered state" "See? That wasn't so bad, was it?">>
<<narrative "She begins pulling the sock back on, the damp fabric clinging to her skin as she does.">>
<<dialog "Serin" "face" "You're such a good sport, $humanName. I have to admit, I wasn't sure you'd actually go through with it.">>
<<if $rylan_Lust >= 15>>
<<dialog "Rylan" "face" "I... yeah. That was definitely... something." "I try to hide how the experience affected me, but I can feel the heat in my cheeks and the way my breathing has changed">>
<<else>>
<<dialog "Rylan" "face" "That was embarrassing, but I guess I deserved it for losing." "Despite my words, I can't shake the strange feelings the experience stirred up">>
<</if>>
<<dialog "Serin" "face" "Don't worry, your secret's safe with me." "She winks playfully, but there's something knowing in her expression" "But next time, maybe you'll train harder before challenging me!">>
<<narrative "As she finishes putting her sock back on, I catch myself stealing one last glance at her feet, and I realize that something has definitely changed. The memory of her scent, the feeling of being so close to her in such an intimate way... it's going to stay with me.">>
<<dialog "Serin" "face" "Sweet dreams, $humanName." "Her voice carries a hint of mischief that suggests she knows exactly what kind of dreams I'll be having">>
<<narrative "The unusual punishment has left you with mixed feelings about Serin... and yourself.">>
<<continueBox "NightActivities2" "Return to the hallway" "">>
</div>
<</nobr>>
<<pov "rylan" "serinpunishment.mp3">><<nobr>>
<<set $rylan_SerykNightTraining1 = true>>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<h2 style="color: #e6e6ff; font-size: 1.6em; margin-bottom: 10px;">Night Training Session</h2>
<p style="color: #b3b3d9; font-style: italic; font-size: 1.1em;">Building strength under the moonlight...</p></div>
<center><img src="images/seryk/face.webp" alt="Seryk" width="450"></center>
<<narrative "As I'm about to head to my room, I hear a familiar voice behind me.">>
<<dialog "Seryk" "face" "Hey bro, can't sleep either?" "Seryk emerges from the shadows, his muscular form illuminated by the moonlight streaming through the windows" "How about some night training? I could use a sparring partner.">>
<<dialog "Rylan" "face" "Training? This late?">>
<<dialog "Seryk" "face" "Best time for it. No distractions, just pure focus." "His blue skin glistens slightly with perspiration, as if he's already been working out" "What do you say? Want to test your strength against a demon?">>
<<narrative "There's something intense in his gaze, almost predatory, though his smile remains friendly enough.">>
<div class="gay-content-warning" style="background: linear-gradient(145deg, rgba(200,100,100,0.3), rgba(150,80,80,0.4)); border: 2px solid rgba(255,150,150,0.5); border-radius: 12px; padding: 20px; margin: 25px 0; text-align: center;">
<h3 style="color: #ffb3b3; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0 0 15px 0; font-size: 1.3em;">⚠️ Content Warning ⚠️</h3>
<p style="color: #ffd0d0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 1.0em; margin: 0 0 15px 0; line-height: 1.4;">Training with Seryk may lead to intimate situations between male characters. This scene contains potential gay content.</p>
<p style="color: #ffe0e0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 0; font-style: italic;">Only proceed if you're comfortable with this type of content.</p></div>
<<choiceBox "Training Invitation" "Accept the training" "SerykTrainingAccept" "SerykNightTraining=accept" "Politely decline" "SerykTrainingDecline" "SerykNightTraining=decline">>
</div>
<</nobr>>
<<pov "rylan" "ntr1.mp3">><<nobr>>
<<set $rylan_SerykTrainingChoice1 = "accepted">>
<<set $rylan_TrainedWithSeryk = true>>
<<set $allowGayContent = true>>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<h2 style="color: #e6e6ff; font-size: 1.6em; margin-bottom: 10px;">Training with Seryk</h2>
<p style="color: #b3b3d9; font-style: italic; font-size: 1.1em;">Testing your limits...</p></div>
<<dialog "Rylan" "face" "Alright, let's do this. I could use the practice.">>
<<dialog "Seryk" "face" "That's the spirit, bro!" "Seryk grins widely, his eyes gleaming with approval" "Let's head outside where we have more room.">>
<<narrative "We move to the backyard, where the moonlight provides just enough illumination for training. I strip off my shirt to avoid overheating.">>
<img src="images/seryk/standing.webp" alt="Seryk" width="450">
<<changeCombatStat "Rylan" "PhysicalPower" 0.1>>
<<changeLust "Rylan" 2>>
<<dialog "Seryk" "face" "Just some light sparring, nothing too intense. Ready?">>
<<narrative "We begin with basic combat drills, but I quickly realize how outmatched I am. Seryk's strength is incredible, and within minutes, both of us are working up a serious sweat.">>
<<changeLust "Seryk" 3>>
<<narrative "As we continue, I notice something strange happening to me. The more I'm around Seryk's sweating form, the hotter I'm getting - not just from exertion, but something else entirely. His scent fills the air, musky and masculine, and it's affecting me in ways I don't understand.">>
<img src="images/seryk/standingsoaked.webp" alt="Seryk" width="450">
<<quickRoll "Muscle Fetish" "Rylan" 80 5 "MuscleFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "MuscleFetish" 0.2>>
<<changeLust "Rylan" 4>>
<<narrative "His powerful physique is mesmerizing. Every time he moves, his muscles ripple and flex, and I find myself staring longer than I should. There's something intoxicating about his raw physical power.">>
<<else>>
<<changeLust "Rylan" 2>>
<<narrative "I try to focus on the training, but something about being this close to him is stirring unfamiliar feelings.">>
<</if>>
<<quickRoll "Smell Fetish" "Rylan" 80 5 "SmellFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SmellFetish" 0.2>>
<<changeLust "Rylan" 3>>
<<narrative "His scent is getting stronger, more intense. It's filling my head, making it harder to concentrate on anything but the warm, masculine aroma emanating from his skin.">>
<<else>>
<<changeLust "Rylan" 1>>
<<narrative "The air is thick with the scent of our exertion, creating an oddly intimate atmosphere.">>
<</if>>
<<dialog "Seryk" "face" "You're doing great, bro. Really pushing yourself." "His voice sounds slightly breathier than usual, and there's a flush to his blue skin that wasn't there before">>
<<narrative "During a particularly intense grappling exercise, I lose my balance and tumble backward, instinctively grabbing for support. My hand catches the edge of Seryk's loincloth, and as I fall, the fabric comes with me.">>
<<narrative "Time seems to slow as I hit the ground and look up, only to see Seryk standing above me, completely exposed. His impressive member hangs before my eyes, and I'm stunned into complete stillness.">>
<<changeLust "Rylan" 6>>
<<changeLust "Seryk" 4>>
<<dialog "Seryk" "face" "Oh... uh..." "Seryk doesn't immediately move to cover himself, his own breathing heavy from the training" "Sorry bro, that wasn't supposed to happen.">>
<center><img src="images/rylan/nightactivities/2/seedemoncock.webp" alt="Rylan" width="450"></center>
<<if ($rylan_GayValue || 0) >= 10>>
<<narrative "I can't look away. Something about seeing him like this is awakening feelings I've never experienced before.">>
<<else>>
<<narrative "I should look away, get up immediately, but something keeps me frozen in place.">>
<</if>>
<<narrative "The scent is even stronger from this position, warm and intoxicating, making my head spin with unfamiliar desires.">>
<<changeLust "Rylan" 4>>
<<choiceBox "A Moment of Temptation" "Give in and inhale deeply" "SerykTrainingInhale" "SerykTrainingAccept=inhale" "Try to get up quickly" "SerykTrainingResist" "SerykTrainingAccept=resist">>
</div>
<</nobr>>
<<pov "rylan" "ntr1.mp3">><<nobr>>
<<set $rylan_SerykTrainingChoice1 = "declined">>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<h2 style="color: #e6e6ff; font-size: 1.6em; margin-bottom: 10px;">Declining the Invitation</h2>
<p style="color: #b3b3d9; font-style: italic; font-size: 1.1em;">Perhaps another time...</p></div>
<<dialog "Rylan" "face" "Thanks for the offer, but I think I need to get some rest. It's been a long day.">>
<<dialog "Seryk" "face" "No worries, bro. I understand." "Seryk nods with understanding, though there's a hint of disappointment in his eyes" "Training isn't for everyone, especially this late.">>
<<dialog "Rylan" "face" "Maybe another time when I'm more prepared.">>
<<dialog "Seryk" "face" "Sure thing. Sleep well, and don't hesitate to ask if you change your mind about training together." "He gives me a friendly pat on the shoulder before heading back toward his room">>
<<narrative "As I watch him leave, I can't help but notice the powerful way he moves, even in the dim light. There was something intense about his invitation that I can't quite shake.">>
<<changeLust "Rylan" 1>>
<<changeAffection "Rylan" "Seryk" 1>>
<<narrative "You avoided the intense training session, keeping things simple for tonight...">>
<<if ($rylan_Lust || 0) >= 50>>
<<continueBox "RylanNightMasturbation" "Go to your room" "">>
<<elseif $ntrThreats.length > 0>>
<<if $ntrThreats.includes("Mariel")>>
<<continueBox "NTREventMariel" "Go to your room and sleep" "">>
<<elseif $ntrThreats.includes("Liora")>>
<<continueBox "NTREventLiora" "Go to your room and sleep" "">>
<<elseif $ntrThreats.includes("Serin")>>
<<continueBox "NTREventSerin" "Go to your room and sleep" "">>
<<else>>
<<continueBox "NTREventGeneric" "Go to your room and sleep" "">>
<</if>>
<<else>>
<<continueBox "MorningAfterSoulstones" "Go to your room and sleep" "">>
<<set $ntrThreats = []>>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "chapter1default.mp3">><<nobr>>
<<set $rylan_SerykTrainingTemptation1 = "gaveIn">>
<<set $rylan_InhaledSerykScent = true>>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<h2 style="color: #e6e6ff; font-size: 1.6em; margin-bottom: 10px;">Surrendering to Temptation</h2>
<p style="color: #b3b3d9; font-style: italic; font-size: 1.1em;">Crossing forbidden boundaries...</p></div>
<<narrative "Unable to resist the overwhelming temptation, I lean closer and breathe in deeply. The intoxicating masculine scent fills my lungs completely, sending waves of forbidden pleasure through my entire body.">>
<<changeFetish "Rylan" "SmellFetish" 0.4>>
<<changeFetish "Rylan" "MuscleFetish" 0.3>>
<<changeFetish "Rylan" "GayValue" 0.3>>
<<changeLust "Rylan" 8>>
<<changeLust "Seryk" 6>>
<<addSoulCorruption "rylan" 1>>
<<narrative "The warm, musky aroma is unlike anything I've ever experienced. It's raw, powerful, and completely masculine, awakening desires I never knew existed within me. My pulse races as I lose myself in his scent.">>
<img src="images/rylan/nightactivities/2/seedemoncock2.webp" alt="Seryk" width="450">
<div class="soul-corruption-showcase">
<div class="corruption-aura"></div>
<div class="corruption-shadows"></div>
<div class="corruption-text">
<h3>🌑 SOUL CORRUPTION DEEPENS 🌑</h3>
<p>Surrendering to forbidden same-sex desires marks your soul with dark corruption.</p>
</div></div>
<<dialog "Seryk" "face" "Bro... are you...?" "Seryk's voice is husky, breathless. I can see his body responding to my proximity, his member stirring as he realizes what I'm doing" "I didn't expect... but if you want to...">>
<<narrative "The air between us is charged with sexual tension as I remain in this compromising position, breathing in his essence. This training session has become something far more intimate than either of us anticipated.">>
<<changeAttraction "Rylan" "Seryk" 4>>
<<changeAttraction "Seryk" "Rylan" 3>>
<<changeAffection "Rylan" "Seryk" 2>>
<<dialog "Rylan" "face" "I... I don't know what's happening to me..." "My voice comes out as barely a whisper, my face flushed with a mixture of embarrassment and arousal I've never felt before">>
<<narrative "The corruption spreads through me as I cross this forbidden line, awakening a new side of my sexuality that will be impossible to ignore going forward.">>
<<narrative "You've awakened to new desires, forever changing your relationship with Seryk...">>
<<if ($rylan_Lust || 0) >= 50>>
<<continueBox "RylanNightMasturbation" "Return to your room" "">>
<<elseif $ntrThreats.length > 0>>
<<if $ntrThreats.includes("Mariel")>>
<<continueBox "NTREventMariel" "Return to your room" "">>
<<elseif $ntrThreats.includes("Liora")>>
<<continueBox "NTREventLiora" "Return to your room" "">>
<<elseif $ntrThreats.includes("Serin")>>
<<continueBox "NTREventSerin" "Return to your room" "">>
<<else>>
<<continueBox "NTREventGeneric" "Return to your room" "">>
<</if>>
<<else>>
<<continueBox "MorningAfterSoulstones" "Return to your room" "">>
<<set $ntrThreats = []>>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "ntr1.mp3">>
<<soulDisplay "rylan">><<nobr>>
<<set $rylan_SerykTrainingTemptation1 = "resisted">>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<h2 style="color: #e6e6ff; font-size: 1.6em; margin-bottom: 10px;">Resisting Temptation</h2>
<p style="color: #b3b3d9; font-style: italic; font-size: 1.1em;">Maintaining your boundaries...</p></div>
<<narrative "I force myself to step back, my heart pounding with the effort of resisting such an overwhelming temptation. The masculine scent still lingers in my nostrils, but I maintain my composure.">>
<<changeFetish "Rylan" "SmellFetish" 0.1>>
<<changeFetish "Rylan" "MuscleFetish" 0.1>>
<<changeLust "Rylan" 3>>
<<dialog "Rylan" "face" "I... I can't do this, Seryk. It's not right." "My voice is shaky but determined, as I try to regain control of my racing thoughts and pounding heart">>
<<narrative "The temptation was almost overwhelming, but I managed to resist. Still, the experience has left me shaken and confused about these new feelings stirring within me.">>
<img src="images/rylan/nightactivities/2/seedemoncock2.webp" alt="Seryk" width="450">
<<dialog "Seryk" "face" "I understand, bro. I respect that you're sticking to your principles." "Seryk nods, though I can see the disappointment in his eyes" "Maybe we should call it a night. This training session got a bit... intense.">>
<<narrative "We both know this training session has changed something between us, even if we don't act on it. The tension lingers in the air as we try to return to some semblance of normalcy.">>
<<changeAttraction "Rylan" "Seryk" 1>>
<<changeAttraction "Seryk" "Rylan" 1>>
<<narrative "You've maintained your boundaries, but the temptation has left its mark...">>
<<if ($rylan_Lust || 0) >= 50>>
<<continueBox "RylanNightMasturbation" "Return to your room" "">>
<<elseif $ntrThreats.length > 0>>
<<if $ntrThreats.includes("Mariel")>>
<<continueBox "NTREventMariel" "Return to your room" "">>
<<elseif $ntrThreats.includes("Liora")>>
<<continueBox "NTREventLiora" "Return to your room" "">>
<<elseif $ntrThreats.includes("Serin")>>
<<continueBox "NTREventSerin" "Return to your room" "">>
<<else>>
<<continueBox "NTREventGeneric" "Return to your room" "">>
<</if>>
<<else>>
<<continueBox "MorningAfterSoulstones" "Return to your room" "">>
<<set $ntrThreats = []>>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "ntr1.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<center><img src="images/enemies/blackslimes.webp" alt="BlackSlimes" width="600"></center>
<<set $combatContext = "chapter1BlackSlimeQuest">><<set $currentEnemies = ["blackslime0", "blackslime1", "blackslime2"]>><<set $blackslime0_combatStats = { maxHealth: 20, currentHealth: 20, maxStamina: 40, currentStamina: 40, physicalPower: 6, agility: 5, willpower: 4, technique: 3, perception: 5 }>><<set $blackslime1_combatStats = { maxHealth: 20, currentHealth: 20, maxStamina: 40, currentStamina: 40, physicalPower: 6, agility: 5, willpower: 4, technique: 3, perception: 5 }>><<set $blackslime2_combatStats = { maxHealth: 20, currentHealth: 20, maxStamina: 40, currentStamina: 40, physicalPower: 6, agility: 5, willpower: 4, technique: 3, perception: 5 }>><<if !$rylan_combatStats>><<set $rylan_combatStats = { maxHealth: 100, currentHealth: 100, maxStamina: 100, currentStamina: 100, maxFocus: 50, currentFocus: 50, physicalPower: 10, agility: 8, willpower: 6, technique: 7, perception: 6 }>><</if>><<set $rylan_combatStats.currentHealth = $rylan_combatStats.maxHealth>><<set $rylan_combatStats.currentStamina = $rylan_combatStats.maxStamina>><<if !$serin_combatStats>><<set $serin_combatStats = { maxHealth: 90, currentHealth: 90, maxStamina: 120, currentStamina: 120, maxFocus: 60, currentFocus: 60, physicalPower: 11, agility: 12, willpower: 7, technique: 9, perception: 8 }>><</if>><<set $serin_combatStats.currentHealth = $serin_combatStats.maxHealth>><<set $serin_combatStats.currentStamina = $serin_combatStats.maxStamina>><<if !$liora_combatStats>>
<<set $liora_combatStats = { maxHealth: 80, currentHealth: 80, maxStamina: 80, currentStamina: 80, maxFocus: 100, currentFocus: 100, physicalPower: 7, agility: 7, willpower: 12, technique: 8, perception: 9 }>><</if>><<set $liora_combatStats.currentHealth = $liora_combatStats.maxHealth>><<set $liora_combatStats.currentStamina = $liora_combatStats.maxStamina>><<set $combatInitialized = false>><<set $battleDrops = [{ name: "BlackSlime Core", quantity: 3 }]>>
<<dialog "Serin" "face" "Alright everyone, remember what we practiced!" "Serin calls out as she draws her weapon" "$humanName, you take point. Liora, stay back and keep us healed! These BlackSlimes are tougher than normal ones!">>
<<dialog "Rylan" "face" "Right! Time to put our resonance to the test." "I can feel the warmth of our connection flowing through me, giving me confidence">>
<<dialog "Liora" "faceshortpink" "I've got healing magic ready!" "Liora raises her hands, a soft golden glow beginning to emanate from her palms as she prepares her healing arts">>
<<narrative "The three BlackSlimes spread out, their dark, nearly opaque bodies pulsing with an ominous inner light. They seem more aggressive than regular slimes, and I can see their cores glowing with a darker energy within their hardened forms.">>
<<continueBox "Combat" "Begin the battle!" "">>
</div>
<</nobr>>
<<pov "rylan" "/battle/normal.mp3">><<set $blackSlimesDefeated = ($blackSlimesDefeated || 0) + 3>>
<<script>>
if (window.QuestSystem && window.QuestSystem.updateQuest)
{ window.QuestSystem.updateQuest("blackSlimeHunt", "blackSlimeKills", 3); }
<</script>>
<<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<center><img src="images/landscapes/forestofbeginning.webp" alt="Forest" width="600"></center>
<<narrative "The last BlackSlime dissolves into a puddle of dark goo, but instead of the usual translucent cores, three completely opaque black marbles roll across the forest floor. Unlike normal black marbles that are see-through, these are solid black, absorbing light like tiny voids.">>
<<dialog "Serin" "face" "Not bad for our first real party combat!" "Serin wipes her blade clean with a satisfied grin" "That resonance thing actually worked. I could feel both of your strengths flowing through me.">>
<<narrative "Both of your strengths - probably just Liora's healing power. Serin's already E-rank while I barely passed F-rank... on my second try.">>
<<set _resonanceRoll = random(1, 100)>>
<<set _resonanceThreshold = 40>>
<<if _resonanceRoll <= _resonanceThreshold>>
<<set $rylan_SerinAffection += 1>>
<<trackAffection "Rylan" "Serin" 1>>
<<set $serin_RylanAffection += 1>>
<<trackAffection "Serin" "Rylan" 1>>
<<narrative "Fighting together like this, feeling our bonds manifest as actual power... it's brought us closer despite the tension.">>
<</if>>
<<dialog "Liora" "faceshortpink" "These marbles are strange...">>
<center><img src="images/items/blackmarbles.webp" alt="Black Marbles" width="600"></center>
<<narrative "Liora carefully collects the black marbles, examining them closely.">>
<center><img src="images/liora/face.webp" alt="Liora curious" width="300"></center>
<<dialog "Liora" "faceshortpink" "They're not worth much - maybe a few silver for a bag. Children like to play with them, but these ones feel... different.">>
<<narrative "The famous healer prodigy versus the coward who ran from his first exam. No contest there.">>
<<set _lioraRoll = random(1, 100)>><<set _lioraThreshold = 35>><<if _lioraRoll <= _lioraThreshold>><<set $rylan_LioraAffection += 1>><<trackAffection "Rylan" "Liora" 1>><<set $liora_RylanAffection += 1>>
<<trackAffection "Liora" "Rylan" 1>><</if>>
<<dialog "Rylan" "face" "That's it? Black marbles?" "I kick at the ground in frustration" "This fight was way too easy. I'll never make a name for myself just killing slimes! There has to be something more challenging deeper in the forest.">>
<<narrative "$humanToThalor defeated the Crimson Wyvern at my age. $humanToMariel was leading expeditions. And I'm excited about three slimes. \"Poor kid, nothing like his $bothToHuman.\"">>
<<set _combatRoll = random(1, 100)>><<set _combatThreshold = 30>><<if _combatRoll <= _combatThreshold>><<set $rylan_combatStats.physicalPower += 0.1>><<trackCombatStat "Rylan" "physicalPower" 0.1>><<set $rylan_combatStats.technique += 0.1>><<trackCombatStat "Rylan" "technique" 0.1>>The adrenaline of combat has improved my fighting abilities slightly, but it's not enough.<</if>>
<<set _serinCombatRoll = random(1, 100)>><<if _serinCombatRoll <= 30>><<set $serin_combatStats.agility += 0.1>><<trackCombatStat "Serin" "agility" 0.1>><<set $serin_combatStats.technique += 0.1>><<trackCombatStat "Serin" "technique" 0.1>><</if>>
<<set _lioraCombatRoll = random(1, 100)>><<if _lioraCombatRoll <= 30>><<set $liora_combatStats.willpower += 0.1>><<trackCombatStat "Liora" "willpower" 0.1>><<set $liora_combatStats.technique += 0.1>><<trackCombatStat "Liora" "technique" 0.1>><</if>>
<<dialog "Serin" "face" "$humanName, we should head back. Elena will want to hear about-">>
<<dialog "Rylan" "face" "No! I'm going deeper into the forest. There has to be something worthwhile in there." "I start walking toward the darker, denser part of the woods">>
<<narrative "I can't go back like this. Not with just some worthless black marbles and stories about killing basic slimes. Everyone in town already thinks I'm a joke. \"Did you hear? $humanName finally passed his exam... on the second try.\" The whispers, the pitying looks, the comparisons. I need something that will make them forget about my failures. Something that will prove I'm not just the weak guy living in the shadow of legends.">>
<<dialog "Liora" "faceshortpink" "$humanName, wait! That area isn't part of the exam grounds..." "She hurries after me, clutching the black marbles">>
<<dialog "Serin" "face" "Damn it, you stubborn idiot!" "Serin reluctantly follows, her hand resting on her weapon" "Fine, but if we get in trouble, I'm blaming you!">>
<<narrative "\"Stubborn idiot.\" Even Serin thinks I'm a burden. Nobody believes in me anymore.">>
<center><img src="images/serin/faceangry.webp" alt="Serin" width="300"></center>
<<narrative "As we venture deeper into the forest, the trees grow thicker and the light dimmer. The familiar training grounds fade behind us, replaced by wild, untamed woodland. After about ten minutes of walking, we spot a figure moving through the trees ahead.">>
<<dialog "Liora" "faceshortpink" "Wait... is that...?" "Liora squints, then her eyes widen" "That's a demon! But... I don't sense any mana from him. He must be a lesser demon.">>
<<narrative "A lesser demon with no mana... basically just a strong human. Look at those tattered rags around a slave collar - he killed his owner to escape. The bounty on his head must be huge. This could be my chance.">>
<center><img src="images/seryk/back.webp" alt="Seryk" width="600"></center>
<<narrative "The figure comes into clearer view - a tall man with blue-tinted skin, wearing nothing but tattered rags around his waist. His muscular frame moves with surprising grace through the underbrush, seemingly unaware of our presence.">>
<<dialog "Rylan" "face" "Perfect! That's exactly what we need!" "My eyes light up with excitement" "A real demon! Let's ambush him!">>
<<narrative "If I can defeat him, nobody will call me weak anymore. The bounty alone could set us up for months. $humanToThalor might finally look at me with pride. The demon slayer - not the coward, not the disappointment.">>
<<narrative "Before either of my companions can stop me, I charge forward, sword raised high, screaming at the top of my lungs.">>
<<dialog "Serin" "face" "You idiot! Who screams while ambushing?!">>
<<narrative "The blue-skinned demon turns calmly at the sound, and to my shock, he catches my sword strike with his bare hands, the blade stopping mere inches from his chest. His grip is like iron, and he doesn't even seem strained by the effort.">>
<center><img src="images/seryk/blockingblade.webp" alt="Seryk" width="300"></center>
<<narrative "He caught my blade with his bare hands... Still the same pathetic failure. I'm exactly the disappointment everyone says I am.">>
<<calculateResonance>>
<<continueBox "FightBlueDemon" "The Blue Demon" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofthebeginning.mp3">><<set $rylan_combatStats.physicalPower += 2>><<trackCombatStat "Rylan" "physicalPower" 2>><<set $rylan_combatStats.agility += 2>><<trackCombatStat "Rylan" "agility" 2>><<set $rylan_combatStats.technique += 2>><<trackCombatStat "Rylan" "technique" 2>><<set $rylan_combatStats.willpower += 2>><<trackCombatStat "Rylan" "willpower" 2>><<set $rylan_intelligence += 2>><<trackCombatStat "Rylan" "intelligence" 2>><<set $rylan_perception += 2>><<trackCombatStat "Rylan" "perception" 2>><<set $rylan_combatStats.maxHealth += 2>><<trackCombatStat "Rylan" "maxHealth" 2>><<set $rylan_combatStats.maxStamina += 2>><<trackCombatStat "Rylan" "maxStamina" 2>>
<<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "The moment the Soulstone slides down my throat, I feel it. A surge of energy unlike anything I've ever experienced courses through my body. It's as if every muscle, every nerve, every fiber of my being is suddenly more... alive.">>
<<narrative "I gasp and stagger slightly, my hands instinctively going to my chest as warmth spreads outward from my core. The exhaustion from today's mission melts away, replaced by a vitality that makes me feel like I could take on an army.">>
<img src="images/serin/faceshock.webp" alt="Serin" width="300"><img src="images/liora/faceshock.webp" alt="Liora" width="300"><img src="images/mariel/faceshock.webp" alt="Mariel" width="300">
<<dialog "Serin" "faceshock" "What the hell?!" "Serin jumps back, her eyes wide with shock">>
<<dialog "Liora" "faceshock" "$humanName! Are you alright?" "Liora rushes toward me, her hands already glowing with healing magic">>
<<dialog "Mariel" "faceshock" "By the gods..." "Mariel breathes, her experienced eyes recognizing the magical transformation taking place" "I've never seen anything like this before.">>
<<dialog "Seryk" "face" "Whoa, bro. You're... different." "Even Seryk looks surprised by the intensity of the transformation">>
<<narrative "I flex my hands, feeling strength I never had before flowing through them. When I look up at my friends, I can see the amazement in their faces - and I understand why. I can feel it myself.">>
<<dialog "Rylan" "face" "I... I truly feel stronger." "My voice comes out steadier, more confident than before" "This is incredible. It's like every part of me has been enhanced.">>
<img src="images/nimeria/face.webp" alt="Nimeria" width="300">
<<dialog "Nimeria" "face" "See? I told you they were safe!" "Nimeria's tears dry up instantly, replaced by that bright, innocent smile. She claps her hands together excitedly" "But that's just the beginning, $humanName.">>
<<dialog "Nimeria" "face" "Now, try to think of a recent key memory. Something that changed your life, something important that shaped who you are." "Her voice takes on an almost hypnotic quality" "The Soulstone will use that memory to strengthen your soul even further.">>
<<narrative "I close my eyes, feeling the warm energy of the stone still pulsing through me. Recent memories flash through my mind - moments that have defined these past few weeks, experiences that have changed everything about my life.">>
<<narrative "Two memories stand out more than the others, each one carrying its own weight of emotion and significance.">>
<<choiceBox "Choose Your Memory" "✨ Think about your confession to Liora" "ConfessionMemory" "SoulstoneEffects=confession" "😈 Think about how you failed your exam" "FailureMemory" "SoulstoneEffects=failure">>
</div>
<</nobr>>
<<pov "rylan" "chapter1default.mp3">><<nobr>>
<<set $currentFace = $currentLioraFace>>
<div class="passage-container liora">
<<narrative "Watching Serin's transformation is both fascinating and terrifying. She looks the same on the outside, but there's something different in her eyes - a new intensity that wasn't there before.">>
<img src="images/serin/face.webp" alt="Serin" width="300">
<<dialog "Serin" "face" "Come on, Liora. You should try one too." "Serin's voice carries a persuasive edge" "The power is incredible. You'll be able to heal so much better.">>
<img src="images/liora/faceworried.webp" alt="Liora" width="300">
<<dialog "Liora" "faceworried" "I... I don't know. What if something goes wrong?" "My healing instincts make me cautious about unknown magic">>
<img src="images/rylan/facesmile.webp" alt="Rylan" width="300">
<<dialog "Rylan" "facesmile" "It's safe, Liora. I promise. The power... it's amazing." "$humanName's reassurance means everything to me. If he says it's safe...">>
<<dialog "Seryk" "face" "I still think we should be more careful about this soul magic stuff.">>
<img src="images/mariel/faceworried.webp" alt="Mariel" width="300">
<<dialog "Mariel" "faceworried" "Perhaps we should think this through more...">>
<<narrative "But seeing both $humanName and Serin transformed, seeing the confidence in their voices, the strength in their posture... maybe I'm being too cautious. As a healer, shouldn't I want more power to help people?">>
<<dialog "Liora" "faceworried" "Alright... I'll try one too." "My voice is barely a whisper as I reach for one of the glowing stones">>
<<dialog "Nimeria" "face" "Wonderful! Another brave soul!">>
<<narrative "I hold the stone for a moment, feeling its warm energy pulsing against my palm. Then, following Serin's example, I place it in my mouth and swallow it.">>
<<narrative "The effect is immediate. Warm energy flows through my entire body, making me feel stronger, more capable. My healing magic feels more potent, my mind clearer, my body more resilient.">>
<img src="images/nimeria/face.webp" alt="Nimeria" width="300">
<<dialog "Nimeria" "face" "Perfect! Now, think of a memory that changed your life - something that shaped who you are!">>
<<narrative "I close my eyes, letting the stone's energy guide my thoughts. A memory that changed my life...">>
<<narrative "The night $humanName confessed his love to me. I remember standing there in the moonlight, my heart racing as he spoke those beautiful words. The way his voice trembled with nervousness, the sincerity in his eyes, the pure love I could feel radiating from him.">>
<<dialog "Rylan" "facesmile" "I love you, Liora. I've loved you for longer than I can remember.">>
<<narrative "The memory fills me with the same warmth I felt that night. The joy of knowing that the person I'd secretly loved for so long felt the same way about me. The overwhelming happiness of finally being able to say those three precious words back to him.">>
<<dialog "Liora" "facesmile" "I love you too, $humanName. I've been hoping you felt the same way.">>
<<narrative "As the Soulstone feeds on this memory, the energy shifts, becoming something pure and golden. It resonates with the love in my heart, the joy of that perfect moment, the hope for our future together. This feels right - warm, comforting, blessed.">>
<div class="soul-blessing-showcase"><div class="blessing-aura"></div><div class="blessing-particles"></div><div class="blessing-text"><h3>✨ SOUL BLESSING AWAKENED ✨</h3><p>Divine power flows through your soul, born from pure love and joy.</p></div></div>
<img src="images/liora/face.webp" alt="Liora" width="300">
<<narrative "The blessing settles into my very essence, invisible to the others but filling me with divine purpose. I can feel how it will enhance my healing abilities, my compassion, my desire to protect those I love. This power feels sacred, holy - a gift meant to help others.">>
<center><img src="images/liora/facesmile.webp" alt="Liora Blessed" width="300"></center>
<<dialog "Liora" "facesmile" "Oh... that's beautiful." "I open my eyes, feeling the divine energy humming through me" "I feel... blessed. Like I can heal anything now.">>
<<dialog "Nimeria" "face" "How wonderful! You look positively radiant!">>
<<narrative "I do feel radiant. The love I have for $humanName, for all my friends, has become something more - a source of actual divine power that I can use to help and heal.">>
<<set $liora_combatStats.maxHealth += 25>><<set $liora_combatStats.maxStamina += 25>><<set $liora_combatStats.physicalPower += 2>><<set $liora_combatStats.agility += 2>><<set $liora_combatStats.technique += 2>><<set $liora_combatStats.willpower += 2>><<set $liora_intelligence += 2>><<set $liora_perception += 2>><<addSoulBlessing "liora" 1>><<soulDisplay "liora">>
<<continueBox "RemainingChoices" "Continue" "">>
</div>
<</nobr>>
<<pov "liora" "chapter1default.mp3">><<nobr>>
<<set $rylanxserincontent = false>>
<div class="passage-container serin">
<div class="pov-switch-header" style="background: rgba(60, 40, 45, 0.8); border: 1px solid rgba(255,255,255,0.5); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: #ff9999; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">🔄 POV: Serin 🔄</p>
<p style="color: #ffcccc; font-size: 1.1em;">Watching from her perspective...</p></div>
<<narrative "I watch as $humanName suddenly looks uncomfortable, shifting his weight from foot to foot. He glances toward the door, then back at me with what looks like... nervousness?">>
<<dialog "Rylan" "faceembarrassed" "Actually, you know what? I just remembered I promised to... uh... help $marielToHuman with something important. Rain check on the training?">>
<<narrative "He's already backing toward the door before he finishes speaking, not even waiting for my response.">>
<<dialog "Rylan" "face" "Sorry Serin! Maybe later!">>
<<narrative "And just like that, he's gone, leaving me standing alone in the training hall with my arms still raised mid-stretch.">>
<center><img src="images/serin/faceangry.webp" style="width: 200px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,100,100,0.4);"></center>
<<dialog "Serin" "faceangry" "What the hell was that about?!" "I drop my arms and stare at the empty doorway where he just disappeared">>
<<narrative "The way he looked at me... like he was scared or disgusted or something. What did I do wrong? I was just stretching, getting ready for some friendly training!">>
<<dialog "Serin" "faceangry" "Fuck..." "I slam my fist against the wall, the sound echoing in the empty training hall">>
<<narrative "Nimeria was wrong. Dead wrong. She said he liked me, that I should be more... forward. More confident. That he'd appreciate my... attention.">>
<<dialog "Serin" "faceangry" "Bullshit advice from someone who doesn't know what she's talking about.">>
<<narrative "I thought I was reading the signals right. The way he looked at me sometimes, the way he seemed to enjoy our banter... But apparently I was just being delusional.">>
<<narrative "He probably thinks I'm some kind of... weirdo now. Great. Just fucking great.">>
<center><img src="images/serin/facesad.webp" style="width: 200px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,100,100,0.4);"></center>
<<narrative "I slide down the wall until I'm sitting on the floor, my head in my hands. The musky scent of the training hall suddenly feels suffocating instead of energizing.">>
<<dialog "Serin" "facesad" "Fine. Message received loud and clear, $humanName.">>
<<narrative "I won't make that mistake again. If he wants to keep things strictly professional, then that's exactly what he'll get from me. No more teasing, no more... whatever the hell I was trying to do.">>
<<narrative "And Nimeria... I thought she was trying to help, but maybe she was just stirring up trouble for her own amusement. I won't be trusting her relationship advice anymore either.">>
<<dialog "Serin" "facesad" "Back to square one, I guess.">>
<<narrative "I stand up, dusting myself off and trying to regain some composure. The black fabric on the table catches my eye - my training gear from yesterday that I'd left to dry.">>
<<narrative "I grab it and stuff it into my bag. No point leaving evidence of my... preparations.">>
<<dialog "Serin" "facesad" "Whatever. His loss.">>
<<narrative "But even as I say it, I can feel the sting of rejection burning in my chest. This isn't how I wanted things to go.">>
<<continueBox "MorningActivities" "Return Home" "">>
<</nobr>>
<<set $serin_RylanAffection = ($serin_RylanAffection || 0) - 5>><<trackAffection "Serin" $humanName -5>><<set $serin_NimeriaAffection = ($serin_NimeriaAffection || 0) - 3>><<trackAffection "Serin" "Nimeria" -3>><<pov "serin" "default2.mp3">><<nobr>>
<<set $currentRylanFace = "rylan/face.webp">>
<<set $currentMarielFace = "mariel/face.webp">>
<<set $currentThalorFace = "thalor/face.webp">>
<<set $currentLioraFace = "liora/face.webp">>
<<set $currentSerinFace = "serin/face.webp">>
<<set $currentSerykFace = "seryk/face.webp">>
<<set $currentNimeriaFace = "nimeria/face.webp">>
<<set $chapter = 2>>
<<set $currentLocation = "Northern Forest">>
<<set $timeOfDay = "afternoon">>
<<set $rylan_LioraAffection += 1>>
<<set $rylan_SerinAffection += 1>>
<<set $rylan_SerykAffection += 1>>
<<trackAffection "Rylan" "Liora" 1>>
<<trackAffection "Rylan" "Serin" 1>>
<<trackAffection "Rylan" "Seryk" 1>>
<div id="chapter-intro" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, #000000 0%, #1a0000 25%, #330000 50%, #1a0000 75%, #000000 100%); z-index: 9999; display: flex; align-items: center; justify-content: center; animation: fadeIn 1s ease-in;">
<div style="text-align: center; color: #fff;">
<div style="font-size: 4em; font-weight: bold; margin-bottom: 40px; text-shadow: 0 0 30px #ff6b6b, 0 0 60px #ff3333; animation: titleGlow 3s ease-in-out infinite alternate, titleSlide 2s ease-out;">Chapter 2</div>
<div style="font-size: 2.5em; color: #ff6b6b; margin-bottom: 60px; text-shadow: 0 0 20px #ff3333; animation: subtitleFade 2.5s ease-in 1s both, subtitleSlide 2.5s ease-out 1s both;">I smiled as the village burnt</div>
<div style="font-size: 1.2em; color: #cccccc; font-style: italic; opacity: 0; animation: descriptionFade 2s ease-in 3s both;">A darkness stirs in the shadows...</div>
</div>
</div>
<<set $thalor_kissCount to 39>><<set $thalor_vaginalCount to 13>><<set $mariel_kissCount to 39>><<set $mariel_vaginalCount to 13>><<set $mariel_sexualExperience to 52>><<set $mariel_basicExperience to 39>><<set $thalor_sexualExperience to 52>><<set $thalor_basicExperience to 39>><<if not $rylan_ThalorKissCount>><<set $rylan_ThalorKissCount to 0>><<set $rylan_ThalorVaginalCount to 0>><<set $rylan_ThalorAnalCount to 0>><<set $rylan_ThalorAnalTakenCount to 0>><<set $rylan_ThalorHandjobCount to 0>><<set $rylan_ThalorHandjobTakenCount to 0>><<set $rylan_ThalorBlowjobCount to 0>><<set $rylan_ThalorBlowjobTakenCount to 0>><<set $rylan_ThalorFootjobCount to 0>><<set $rylan_ThalorFootjobTakenCount to 0>><<set $rylan_ThalorBoobJobCount to 0>><<set $rylan_ThalorBoobJobTakenCount to 0>><<set $rylan_ThalorBreastsTouchedCount to 0>><<set $rylan_ThalorBreastsTouchedByCount to 0>><<set $rylan_ThalorAssTouchedCount to 0>><<set $rylan_ThalorAssTouchedByCount to 0>><<set $rylan_ThalorCumInsideCount to 0>><<set $rylan_ThalorCumSwallowedMl to 0>><<set $rylan_ThalorCumOnBodyMl to 0>><<set $rylan_ThalorOrgasmsGiven to 0>><<set $rylan_ThalorOrgasmsReceived to 0>><</if>><<if not $thalor_RylanKissCount>><<set $thalor_RylanKissCount to 0>><<set $thalor_RylanVaginalCount to 0>><<set $thalor_RylanAnalCount to 0>><<set $thalor_RylanAnalTakenCount to 0>><<set $thalor_RylanHandjobCount to 0>><<set $thalor_RylanHandjobTakenCount to 0>><<set $thalor_RylanBlowjobCount to 0>><<set $thalor_RylanBlowjobTakenCount to 0>><<set $thalor_RylanFootjobCount to 0>><<set $thalor_RylanFootjobTakenCount to 0>><<set $thalor_RylanBoobJobCount to 0>><<set $thalor_RylanBoobJobTakenCount to 0>><<set $thalor_RylanBreastsTouchedCount to 0>><<set $thalor_RylanBreastsTouchedByCount to 0>><<set $thalor_RylanAssTouchedCount to 0>><<set $thalor_RylanAssTouchedByCount to 0>><<set $thalor_RylanCumInsideCount to 0>><<set $thalor_RylanCumSwallowedMl to 0>><<set $thalor_RylanCumOnBodyMl to 0>><<set $thalor_RylanOrgasmsGiven to 0>><<set $thalor_RylanOrgasmsReceived to 0>><</if>><<if not $thalor_MarielKissCount>><<set $thalor_MarielKissCount to 39>><<set $thalor_MarielVaginalCount to 13>><<set $thalor_MarielAnalCount to 0>><<set $thalor_MarielAnalTakenCount to 0>><<set $thalor_MarielHandjobCount to 0>><<set $thalor_MarielHandjobTakenCount to 0>><<set $thalor_MarielBlowjobCount to 0>><<set $thalor_MarielBlowjobTakenCount to 0>><<set $thalor_MarielFootjobCount to 0>><<set $thalor_MarielFootjobTakenCount to 0>><<set $thalor_MarielBoobJobCount to 0>><<set $thalor_MarielBoobJobTakenCount to 0>><<set $thalor_MarielBreastsTouchedCount to 0>><<set $thalor_MarielBreastsTouchedByCount to 0>><<set $thalor_MarielAssTouchedCount to 0>><<set $thalor_MarielAssTouchedByCount to 0>><<set $thalor_MarielCumInsideCount to 13>><<set $thalor_MarielCumInsideMl to 65>><<set $thalor_MarielCumSwallowedMl to 0>><<set $thalor_MarielCumOnBodyMl to 0>><<set $thalor_MarielOrgasmsGiven to 0>><<set $thalor_MarielOrgasmsReceived to 13>><</if>><<if not $liora_MarielKissCount>><<set $liora_MarielKissCount to 0>><<set $liora_MarielVaginalCount to 0>><<set $liora_MarielAnalCount to 0>><<set $liora_MarielAnalTakenCount to 0>><<set $liora_MarielHandjobCount to 0>><<set $liora_MarielHandjobTakenCount to 0>><<set $liora_MarielBlowjobCount to 0>><<set $liora_MarielBlowjobTakenCount to 0>><<set $liora_MarielFootjobCount to 0>><<set $liora_MarielFootjobTakenCount to 0>><<set $liora_MarielBoobJobCount to 0>><<set $liora_MarielBoobJobTakenCount to 0>><<set $liora_MarielBreastsTouchedCount to 0>><<set $liora_MarielBreastsTouchedByCount to 0>><<set $liora_MarielAssTouchedCount to 0>><<set $liora_MarielAssTouchedByCount to 0>><<set $liora_MarielCumInsideCount to 0>><<set $liora_MarielCumSwallowedMl to 0>><<set $liora_MarielCumOnBodyMl to 0>><</if>><<if not $liora_ThalorKissCount>><<set $liora_ThalorKissCount to 0>><<set $liora_ThalorVaginalCount to 0>><<set $liora_ThalorAnalCount to 0>><<set $liora_ThalorAnalTakenCount to 0>><<set $liora_ThalorHandjobCount to 0>><<set $liora_ThalorHandjobTakenCount to 0>><<set $liora_ThalorBlowjobCount to 0>><<set $liora_ThalorBlowjobTakenCount to 0>><<set $liora_ThalorFootjobCount to 0>><<set $liora_ThalorFootjobTakenCount to 0>><<set $liora_ThalorBoobJobCount to 0>><<set $liora_ThalorBoobJobTakenCount to 0>><<set $liora_ThalorBreastsTouchedCount to 0>><<set $liora_ThalorBreastsTouchedByCount to 0>><<set $liora_ThalorAssTouchedCount to 0>><<set $liora_ThalorAssTouchedByCount to 0>><<set $liora_ThalorCumInsideCount to 0>><<set $liora_ThalorCumSwallowedMl to 0>><<set $liora_ThalorCumOnBodyMl to 0>><</if>><<if not $serin_RylanKissCount>><<set $serin_RylanKissCount to 0>><<set $serin_MarielKissCount to 0>><<set $serin_ThalorKissCount to 0>><<set $serin_LioraKissCount to 0>><<set $serin_SerykKissCount to 0>><</if>><<if not $Nimeria_MarielKissCount>><<set $Nimeria_MarielKissCount to 0>><<set $Nimeria_ThalorKissCount to 0>><<set $Nimeria_LioraKissCount to 0>><<set $Nimeria_SerinKissCount to 0>><</if>><<if not $seryk_LioraKissCount or $seryk_LioraKissCount !== $seryk_LioraKissCount>><<set $seryk_LioraKissCount to 0>><</if>>
<<set $thalor_MarielKissCount to 39>><<set $thalor_MarielVaginalCount to 13>>
<style>
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes titleGlow {
0% { text-shadow: 0 0 30px #ff6b6b, 0 0 60px #ff3333; }
100% { text-shadow: 0 0 50px #ff0000, 0 0 110px #cc0000, 0 0 100px #990000; }
}
@keyframes titleSlide {
0% {
transform: translateY(-100px);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}
@keyframes subtitleFade {
0% { opacity: 0; }
100% { opacity: 1; }
}
@keyframes subtitleSlide {
0% {
transform: translateX(-200px);
opacity: 0;
}
100% {
transform: translateX(0);
opacity: 1;
}
}
@keyframes descriptionFade {
0% {
opacity: 0;
transform: translateY(30px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fadeOut {
from { opacity: 1; }
to { opacity: 0; }
}
</style>
<<timed 6s>>
<<script>>
$('#chapter-intro').css('animation', 'fadeOut 1s ease-out');
setTimeout(function() {
$('#chapter-intro').remove();
}, 1000);
<</script>>
<</timed>>
<div class="passage-container rylan">
<div class="chapter-header" style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #d0e0d0; font-size: 1.8em; margin-bottom: 10px;">📖 Chapter 2: I smiled as the village burnt 📖</h2>
<p style="color: #a0c0a0; font-style: italic; font-size: 1.1em;">A new mission begins in the depths of the forest...</p>
</div>
<center><img src="images/landscapes/forestpath.webp" style="width: 100%; max-width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 20px;"></center>
<<narrative "The morning had started with another routine visit to the Guild Hall. Elena had greeted us with her usual warm smile, but there was something more urgent in her expression today.">>
<<dialog "Elena" "faceworried" "We've received reports of increased goblin activity in the northern part of the forest," "she had explained, spreading a map across her desk" "Nothing too dangerous for your group, but they're becoming bold enough to threaten the herb gatherers. We need you to eliminate at least five of them to send a message.">>
<<narrative "And now, hours later, we find ourselves deep in the northern forest, sunlight filtering through the canopy above as we make our way along a winding path.">>
<<dialog "Nimeria" "face" "Oh, Liora dear," "Nimeria had said with that innocent smile of hers before parting ways with us at the forest edge" "while you're out there, could you gather some Moonbell flowers for me? They only grow in the deeper parts of the forest, and I could really use them for my... research.">>
<<narrative "She had returned home with $marielToHuman, leaving the four of us to handle the mission. Now, as we walk deeper into the forest, the conversation turns to strategy.">>
<<dialog "Liora" "face" "The Moonbell flowers shouldn't be too hard to find," "Liora says, adjusting her pack" "They have a distinctive blue glow, especially in shaded areas. I've seen them before during my healing herb studies.">>
<<dialog "Serin" "face" "Just don't wander too far from the main paths," "Serin warns, her hand resting casually on her weapon" "Even if this area isn't known for dangerous monsters, it's still better to be safe.">>
<<dialog "Seryk" "face" "Don't worry about Little Bird," "Seryk says with his characteristic confidence, giving Liora a reassuring smile" "We'll make quick work of those goblins and be back before she even notices we're gone.">>
<<narrative "As we continue walking, I notice a clearing ahead where patches of colorful flowers dot the forest floor - exactly the kind of place Nimeria mentioned where Moonbell flowers might grow.">>
<<narrative "The clearing looks peaceful, with no signs of monster activity. This could be the perfect opportunity to split up and accomplish both objectives efficiently.">>
<<dialog "Rylan" "face" "Since this area seems safe, why don't we split up? Liora can search for those Moonbell flowers here while the three of us hunt down the goblins. We'll cover more ground that way.">>
<<choiceBox "Split Up Strategy" "Suggest splitting up to hunt goblins while Liora gathers herbs" "GoblinHuntSplit" "Chapter2=splitUp">>
</div>
<</nobr>>
<<pov "rylan" "forestofbeginningnorth.mp3">><<nobr>>
<<set $rylan_LioraAffection += 2>>
<<set $liora_RylanAffection += 2>>
<<set $rylan_LioraAttraction += 1>>
<<set $liora_RylanAttraction += 1>>
<<trackAffection "Rylan" "Liora" 2>>
<<trackAffection "Liora" "Rylan" 2>>
<<trackAttraction "Rylan" "Liora" 1>>
<<trackAttraction "Liora" "Rylan" 1>>
<div class="passage-container rylan">
<div class="market-visit" style="background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 8px; padding: 25px; margin-bottom: 25px;">
<center><img src="images/landscapes/clothesshop.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "We walk through the town's market district, taking our time to browse the various shops and stalls. The afternoon sun casts a warm glow over everything, and for once, we don't have to worry about monsters or missions.">>
<<dialog "Liora" "facesmile" "Look at those flowers!" "Liora points to a colorful display at a merchant's stall" "They're so beautiful... much prettier than the Moonbells we were collecting.">>
<<dialog "Rylan" "facesmile" "Would you like some?" "I ask, already reaching for my coin purse" "We did earn quite a bit today...">>
<<narrative "I buy her a small bouquet of white and pink roses, and the smile that lights up her face makes every coin worth it. She holds them close to her chest, inhaling their sweet fragrance.">>
<<dialog "Liora" "facelaughshortpinkdress" "Thank you, $humanName! They smell wonderful... much sweeter than those Moonbells we were collecting." "She giggles softly">>
</div>
<div class="bakery-stop" style="background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 8px; padding: 25px; margin-bottom: 25px;">
<<narrative "As we pass a small bakery, the sweet aroma of fresh pastries draws us in. The elderly baker greets us with a warm smile and insists we try his newest honey cakes.">>
<<dialog "Rylan" "face" "These are incredible!" "I say after taking a bite" "Liora, you have to try this.">>
<<dialog "Liora" "faceembarrassedshortpink" "Oh my..." "She blushes as I offer her a piece from my own pastry" "That's... very sweet. The cake, I mean! The cake is sweet.">>
<<narrative "We share the treats, and I can't help but notice how her eyes sparkle when she laughs at my terrible jokes about the baker's flour-covered apron.">>
</div>
<div class="fountain-talk" style="background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 8px; padding: 25px; margin-bottom: 25px;">
<<narrative "We find ourselves at the town fountain, sitting on its stone edge as the water gently splashes behind us. The afternoon is growing later, painting the sky in soft oranges and pinks.">>
<<dialog "Liora" "face" "Today was wonderful, $humanName. Not just the mission, but... this. Being together like this." "She looks down at her flowers, twirling one between her fingers" "I feel like we make a good team.">>
<<dialog "Rylan" "facesmile" "We do," "I agree, feeling my heart skip a beat at her words" "In combat and... well, everywhere else too.">>
<<narrative "She looks up at me then, and for a moment, everything else fades away. The market sounds, the splashing fountain, even my own nervousness - it all becomes background to the soft blue of her eyes.">>
<<dialog "Liora" "faceembarrassedshortpink" "$humanName..." "she whispers, and I can see the same feelings reflected in her gaze that I've been carrying in my heart">>
</div>
<<narrative "This moment feels perfect... but what should I do?">>
<<narrative "⚠️ Warning: Your choice here may have slight consequences...">>
<<choiceBox "Romantic Moment" "Lean in and kiss her gently" "KissLiora" "DateWithLiora=kiss" "Pull her into a warm hug" "HugLiora" "DateWithLiora=hug">>
</div>
<</nobr>>
<<pov "rylan" "liorarylandate.mp3">><<nobr>>
<<set $currentFace = $currentNimeriaFace>>
<div class="passage-container nimeria">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">💜 Nimeria's Thoughts 💜</p>
<p style="color: white; font-size: 1.1em;">Sweet victory...</p></div>
<<if $nimeriamaderylancum>>
<<narrative "I sit in my room, still feeling the lingering warmth of $humanName's touch on my lips. My first kiss... and what a perfect choice it was. The memory of his taste, his scent, the way he trembled under my touch - it sends delicious shivers through my entire body.">>
<center><img src="images/nimeria/faceecstatic.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facesmile" "Perfect... absolutely perfect. My knight is awakening to his desires.">>
<<narrative "The way he looked at me with those confused, guilty eyes... the shame mixed with desire. I can already feel the dependency forming in him. Soon he'll crave my touch, my scent, my presence. And when that happens, he'll be ready to claim what's his - not just me, but all of us.">>
<<narrative "Sweet Liora doesn't realize it yet, but she'll be part of this too. My knight deserves a proper harem, and I'll be his queen while she can be his precious princess. We'll all belong to him, and he to us.">>
<<elseif $rylanxnimeriahandjob>>
<<narrative "I sit in my room, still feeling the heat from our intimate encounter. Even though he pulled away before we could kiss, I felt his body respond to me completely. The way he trembled under my touch, the way he tried so hard to resist but couldn't... it was intoxicating.">>
<<dialog "Nimeria" "facesmile" "Almost there, my dear knight. You felt the pleasure I could give you, even if you fought against it.">>
<<narrative "I could see the internal battle in his eyes - duty against desire, loyalty against lust. But his body betrayed his mind, responding eagerly to my ministrations. Next time, he won't be able to pull away. The seed of desire has been planted.">>
<<narrative "He thinks he's being faithful to little Liora, but he doesn't understand yet. A king doesn't limit himself to one woman. Soon he'll realize that both of us can be his - that we should be his.">>
<<else>>
<<narrative "I sit in my room, still feeling the tension from our encounter. $humanName resisted me this time, but I could see the desire in his eyes, the way his body responded despite his protests. He's fighting it, but that just makes the eventual victory all the sweeter.">>
<<dialog "Nimeria" "face" "Patience, my dear knight. You'll come to me willingly soon enough.">>
<<narrative "The way he looked at me, the internal struggle written across his face... it was almost as satisfying as if he had given in. Because now I know exactly how to awaken his true desires. A king needs time to realize his destiny.">>
<</if>>
<<narrative "I close my eyes and relive every moment, feeling the heat building between my legs. My hand starts to drift downward, slipping beneath my dress as I imagine what's to come...">>
<<if $nimeriamaderylancum>>
<center><img src="images/nimeria/chapter2/morningactivities/masturbate.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Nimeria" "facewet" "Mmm... my knight... soon you'll have us all...">>
<<narrative "Just as my fingers find their target, a soft knock interrupts my private moment. My euphoric expression instantly shifts to annoyance.">>
<<dialog "Nimeria" "faceangry" "Ugh... who dares to interrupt me now?">>
<<narrative "But I quickly compose myself, putting on my sweetest voice.">>
<<dialog "Nimeria" "facesmile" "Come in~">>
<<narrative "The door opens and Seryk steps in, his expression serious and angry. My sweet facade immediately drops.">>
<<dialog "Nimeria" "face" "Oh, just you...">>
<<narrative "I roll my eyes dramatically. Of course it's him. I can see the anger burning in his eyes, the tension in his muscular frame.">>
<<dialog "Seryk" "faceangry" "We have to talk.">>
<<narrative "His voice is deadly serious. I instantly know what this is about - he's finally figured it out. Took him long enough.">>
<<dialog "Nimeria" "facesmile" "I gave you two whole days to figure it out, but clearly I overestimated that thick skull of yours. Come on, let's take this conversation somewhere more... private.">>
<<narrative "Time for the truth to come out...">>
<<continueBox "NimeriaSerykConfrontation" "The Confrontation" "">>
</div>
<</nobr>>
<<pov "nimeria" "seryknimeriaconfrontation.mp3">><<nobr>>
<div class="passage-container rylan">
<div class="day-conclusion" style="background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 8px; padding: 25px; margin-bottom: 25px;">
<h2 style="color: #d0e0f0; text-align: center; margin-bottom: 25px; font-size: 1.5em;">🌙 The Day Comes to an End 🌙</h2>
<<narrative "After our heartfelt moment together, Liora and I make our way back home. The rest of the evening passes quietly and peacefully.">>
<center><img src="images/landscapes/rylanhome.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "We share a simple dinner with the family, exchanging small talk about the day's events. Everyone seems content and relaxed, the earlier tension from the mission now a distant memory.">>
<<narrative "As the night grows deeper, we all begin to retire to our rooms. The house settles into a comfortable quiet, filled with the peaceful sounds of a home at rest.">>
<<narrative "The day fades into memory as sleep takes hold...">>
<<narrative "I drift off to sleep, my heart still warm from the moments shared with Liora. Tomorrow will bring new adventures, but for now, all is well.">>
</div>
<div style="text-align: center; margin-top: 30px;">
<h3 style="color: #d0e0f0; margin-bottom: 15px;">End of Chapter 2</h3>
<p style="color: #b0b0b0; font-style: italic;">The story continues...</p></div>
</div>
<</nobr>>
<<pov "rylan" "default2.mp3">><<nobr>>
<<set $rylan_confidence += 2>><<set $seryk_PhysicalPower += 0.2>><<set $rylan_PhysicalPower += 0.1>><<set $serin_Agility += 0.1>><<set $serin_RylanAffection += 2>><<set $seryk_RylanAffection -= 2>><<set $rylan_SerykAffection -= 1>><<trackAffection "Serin" "Rylan" 2>><<trackAffection "Seryk" "Rylan" -2>><<trackAffection "Rylan" "Seryk" -1>><<changeFace $currentRylanFace>>
<div class="passage-container rylan">
<center><img src="images/enemies/goblinhorde.webp" style="width: 800px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Back in the goblin cave...">>
<<narrative "The battle is fierce and chaotic. The cave echoes with the clash of weapons, goblin shrieks, and our own shouts of exertion. True to our plan, we split up to handle the three groups, but the reality of fighting so many enemies at once is more challenging than any of us anticipated.">>
<center><img src="images/serin/poses/blockingknives.webp" style="width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Serin is handling her group of eight goblins on the left side of the cave with her usual agility and skill. She moves with athletic grace, her sword work clean and efficient.">>
<<dialog "Serin" "face" "These guys are quick, but manageable!" "she calls out confidently, parrying and striking with practiced ease">>
<center><img src="images/rylan/faceconfident.webp" style="width: 300px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I'm in the center of the cave, surrounded by the massive group of twenty goblins. It's the most challenging fight of my life, but I'm determined to prove myself as a leader. Sweat pours down my face as I parry strikes from multiple directions, my muscles burning with exertion.">>
<<dialog "Rylan" "faceconfident" "I can handle this!" "I shout, striking down another goblin while dodging a club swing" "This is what a real leader does!">>
<center><img src="images/seryk/chapter2/fight.webp" style="width: 300px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Meanwhile, Seryk is handling his group of fifteen goblins on the right with what looks like casual ease. His powerful strikes send goblins flying, and his demon strength allows him to fight multiple enemies simultaneously without breaking a sweat.">>
<<dialog "Seryk" "face" "How are you holding up, bro?" "he calls out between effortless strikes, not even sounding winded" "That's a lot of goblins you're taking on!">>
<<narrative "I'm managing better than I expected against the twenty goblins, though I can feel the strain in every muscle. My training has paid off, and my determination to prove myself as leader is driving me forward.">>
<<dialog "Rylan" "faceconfident" "I'm fine!" "I shout back, though my breathing is heavy" "This is exactly why I should have taken the bigger group!">>
<<narrative "It's true - I am handling it, though I have to admit that about half of my goblins panicked and fled the cave when they saw how brutal the fighting was getting. But I don't mention that part.">>
<<narrative "Minutes later, the last goblin falls. Serin stands among the corpses of her enemies, breathing heavily but victorious. Seryk casually wipes goblin blood off his hands, looking like he just finished a light warm-up exercise.">>
<<dialog "Serin" "facesmile" "Good job, $humanName!" "Serin says with genuine admiration, wiping sweat from her brow" "You really held your own against that group. That was impressive!">>
<<dialog "Seryk" "facegrin" "Yeah, bro! You handled that many goblins like a real adventurer. I'm proud of you!" "Seryk adds with his characteristic grin">>
<<narrative "I feel my cheeks heat up with embarrassment, knowing I need to be honest with them.">>
<<dialog "Rylan" "faceembarrassed" "Thanks, but... well, I should mention that about half of them actually fled the cave when the fighting got intense," "I admit sheepishly" "So it wasn't quite as many as it looked like.">>
<<dialog "Serin" "facesmile" "Still, you handled the ones that stayed and fought," "Serin says encouragingly" "That's what matters.">>
<<narrative "Suddenly, Seryk's expression changes completely. His eyes widen in horror as the implications of what I just said hit him.">>
<<dialog "Seryk" "faceangry" "YOU IDIOT!!" "he roars suddenly, his voice echoing through the cave with unprecedented urgency" "LIORA IS STILL OUTSIDE! THOSE GOBLINS THAT FLED - THEY'RE HEADING STRAIGHT FOR HER!">>
<<narrative "Without another word, Seryk explodes into motion. The casual, restrained fighting style he'd been using disappears entirely as he sprints toward the cave entrance at inhuman speed. Only now do we realize - he had been holding back during the entire fight!">>
<<dialog "Serin" "faceshock" "Oh gods, he's right!" "Serin gasps, the color draining from her face" "We have to get to her!">>
<<narrative "The three of us race out of the cave, but Seryk is already far ahead, moving faster than either Serin or I could ever hope to match. His demon heritage is on full display as he crashes through the forest toward the flower clearing where we left Liora.">>
<<narrative "My heart pounds with fear and guilt as we race through the forest. The goblins that fled could reach Liora at any moment...">>
<<continueBox "LioraAmbush" "Race to save Liora" "">>
</div>
<</nobr>>
<<pov "rylan" "battle/goblinfightdesperate.mp3">><<nobr>>
<div class="passage-container rylan">
<center><img src="images/enemies/goblinhorde.webp" style="width: 800px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The cavern is filled with goblins. Not just three - dozens of them. They're scattered throughout the cave in distinct groups: a massive cluster of at least twenty in the center, a large group of about fifteen on the right, and a smaller but still dangerous group of eight or so on the left.">>
<<narrative "All eyes turn toward me as I freeze in the entrance, my dramatic charge suddenly seeming incredibly foolish. The cave fills with the sound of cruel goblin laughter and the scraping of weapons being drawn.">>
<<dialog "Rylan" "faceshock" "Oh... oh no..." "I whisper, my sword suddenly feeling very heavy in my hands">>
<<narrative "Fortunately, Serin and Seryk arrive just moments after me, bursting into the cave with weapons ready.">>
<<dialog "Seryk" "face" "Bro, you need to calm down," "Seryk says firmly but not unkindly, moving to stand beside me" "This is exactly what happened during your exams - acting without thinking. You're the leader here, which means you need to make strategic decisions, not charge in screaming.">>
<<narrative "His words sting because they're true, but there's no time to dwell on it. The goblins are organizing themselves, and we need a plan.">>
<<dialog "Serin" "face" "We need to split up and take them in groups," "Serin says, analyzing the situation quickly" "I can handle the large group on the right - about fifteen of them. My agility and combat experience should be enough.">>
<<dialog "Seryk" "face" "That leaves the center and left groups," "Seryk notes, studying the cave layout" "I suggest I take the biggest group in the middle - there's at least twenty of them, but my demon strength can handle it. That would leave you with the smaller group on the left, $humanName. What's your call?">>
<<narrative "The choice hangs in the air. As the leader, it's my decision. But something about the way Seryk suggested the split makes me wonder if I should insist on taking the larger, more dangerous group myself to prove my worth...">>
<div class="critical-choice-section" style="background: linear-gradient(to bottom, rgba(150, 50, 50, 0.3), rgba(100, 30, 30, 0.3)); border: 2px solid #ff6b6b; border-radius: 8px; padding: 25px; margin-bottom: 25px;">
<div style="text-align: center; margin-bottom: 20px;">
<h3 style="color: #ff9999; font-size: 1.4em; margin-bottom: 10px;">⚠️🔥 CRITICAL STORY DECISION ⚠️🔥</h3>
<p style="color: #ffcccc; font-size: 1.1em; font-weight: bold;">This choice will permanently affect major story routes and cannot be changed later!</p>
</div>
<div style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2); border-radius: 6px; padding: 15px; margin-bottom: 15px;">
<p style="color: #ffdddd; font-size: 1em; line-height: 1.5;">🚨 <strong>WARNING:</strong> Your decision here will determine access to major character development paths involving Liora and other party members. Choose carefully based on the type of story you want to experience.</p>
</div>
<div class="choice-explanation" style="margin-bottom: 20px;">
<p style="color: #c8d8c8; font-size: 1em; line-height: 1.5;">As the leader, I need to decide how to split our forces. This decision will affect not just this battle, but the entire dynamics of our group going forward...</p>
</div>
</div>
<<narrative "Seryk's plan makes tactical sense, but part of me wants to prove I can handle the bigger challenge...">>
<<choiceBox "Critical Battle Decision" "Insist on taking the biggest group myself (⚠️ Seryk x Liora NTR ⚠️)" "GoblinSplitRylanCenter" "GoblinCaveReveal=rylanCenter" "Accept Seryk's tactical plan (no NTR)" "GoblinSplitOriginalPlan" "GoblinCaveReveal=originalPlan">>
</div>
<</nobr>>
<<pov "rylan" "goblinhordeencounter.mp3">><<nobr>>
<<set $rylan_confidence -= 2>>
<div class="passage-container rylan">
<center><img src="images/enemies/goblin.webp" style="width: 200px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 20px;"></center>
<<narrative "The rustling grows louder, and suddenly three goblins emerge from the undergrowth ahead of us. They're small, green-skinned creatures with crude weapons - exactly what we expected to find. Perfect! This is my chance to prove myself.">>
<<narrative "Without thinking, adrenaline and the desire to show I've improved take over. I draw my sword and charge forward with a loud battle cry.">>
<<dialog "Rylan" "faceangry" "CHARGE! TIME TO DIE, YOU GREEN MENACES!" "I shout at the top of my lungs, rushing toward them with my sword raised">>
<<dialog "Serin" "faceangry" "$humanName NO!" "Serin's voice cuts through my battle cry like a knife" "Don't attack alone like last time! And what did I tell you about screaming during ambushes?!">>
<<narrative "The goblins, initially startled by my sudden appearance, quickly recover and burst into cruel laughter at my dramatic but poorly executed charge. They raise their weapons, clearly amused rather than threatened.">>
<<dialog "Goblin" "face" "Kekeke! Stupid human thinks he scary!" "one of them cackles, brandishing a rusty dagger">>
<<dialog "Goblin" "face" "Easy prey! We show him who boss!" "another adds, hefting a crude club">>
<<narrative "But then their laughter dies abruptly. Their eyes widen in terror as they look past me, and I can practically feel the shift in the air behind me.">>
<<dialog "Seryk" "faceserious" "Well, well..." "Seryk's voice is calm but carries an unmistakable edge of menace" "Looks like we found our targets.">>
<<narrative "The goblins take one look at Seryk's imposing blue-skinned form and muscular frame, and their confidence evaporates instantly. Even with his friendly demeanor, there's something about his demon heritage that strikes primal fear into lesser creatures.">>
<<dialog "Goblin" "face" "D-DEMON!" "the first goblin shrieks">>
<<dialog "Goblin" "face" "RUN! RUN FOR CAVE!" "screams another">>
<<narrative "Without another word, all three goblins turn and flee deeper into the forest, crashing through bushes and undergrowth in their panic.">>
<<dialog "Rylan" "face" "Hey, wait! Come back here!" "I call out, my pride stung by their dismissal. Without thinking, I give chase, running after them through the forest" "We're not done yet!">>
<<dialog "Serin" "face" "$humanName!" "Serin calls after me, but I'm already pursuing the fleeing goblins, determined to prove myself">>
<<narrative "The chase leads us deeper into the forest, with the goblins staying just ahead of me. Finally, they disappear into what appears to be the entrance to a cave. Without hesitation, I follow them inside, my sword still drawn.">>
<<narrative "But as I emerge into a larger cavern, I stop dead in my tracks. What I see makes my blood run cold.">>
<<narrative "The sight before me in the cavern is far worse than anything I had imagined...">>
<<continueBox "GoblinCaveReveal" "Continue into the cave" "">>
</div>
<</nobr>>
<<pov "rylan" "battle/2.mp3">><<nobr>>
<<set $liora_AloneInForest = true>><<set $goblinsToKill = 5>><<set $goblinsKilled = 0>><<set $liora_RylanAffection += 2>><<set $serin_RylanAffection += 1>><<set $seryk_RylanAffection += 1>><<trackAffection "Liora" "Rylan" 2>><<trackAffection "Serin" "Rylan" 1>><<trackAffection "Seryk" "Rylan" 1>>
<div class="passage-container rylan">
<<narrative "The group considers the suggestion for a moment. The clearing does indeed look peaceful, with butterflies dancing among the wildflowers and the gentle sound of a nearby stream.">>
<<dialog "Liora" "face" "That sounds like a good plan," "Liora agrees, already eyeing the patches of blue-glowing flowers scattered throughout the clearing" "I can see some Moonbell flowers from here. This should be perfect.">>
<<dialog "Serin" "face" "Are you sure you'll be okay on your own?" "Serin asks, though her expression shows she's eager to get started with the hunt" "I mean, you're capable, but still...">>
<<dialog "Seryk" "face" "Little Bird will be fine," "Seryk says confidently, placing a reassuring hand on Liora's shoulder" "This area is known to be safe, and she's got her healing magic if anything unexpected happens. Besides, we won't be far - just follow the goblin tracks north.">>
<<changeAffection "Liora" "Seryk" 1>><<changeAffection "Liora" "Serin" 1>>
<<dialog "Liora" "facesmile" "I'll be careful, I promise," "Liora says with a gentle smile" "Just... don't take too long, okay? I'd rather not be alone in the forest when it starts getting dark.">>
<<narrative "With the plan settled, we prepare to part ways. Liora settles into the clearing with her gathering supplies, while the three of us - myself, Serin, and Seryk - check our weapons and prepare to track down the goblin threat.">>
<<dialog "Rylan" "face" "We'll be back before you know it," "I assure her, though part of me feels uneasy about leaving her alone, even in this peaceful-seeming area">>
<<narrative "As we prepare to leave Liora to her herb gathering, the three of us set off deeper into the forest to hunt goblins. The mission seems straightforward enough - find and eliminate five goblins to reduce their growing boldness in the area.">>
<<dialog "Serin" "face" "Let's get this done quickly and efficiently. The sooner we finish, the sooner we can get back to Liora.">>
<<continueBox "GoblinHuntWalk" "Head north to hunt goblins" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofbeginningnorth.mp3">><<nobr>>
<<changeLust "Rylan" 3>><<changeLust "Serin" 2>><<changeLust "Seryk" 1>><<set $serin_RylanAffection += 2>><<set $seryk_RylanAffection += 2>><<trackAffection "Serin" "Rylan" 2>><<trackAffection "Seryk" "Rylan" 2>>
<div class="passage-container rylan">
<center><img src="images/landscapes/forestpath.webp" style="width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 20px;"></center>
<<narrative "The three of us make our way deeper into the forest, following what appear to be goblin tracks along a winding path. The afternoon sun filters through the canopy, creating dancing shadows on the forest floor.">>
<<narrative "After walking for about twenty minutes in relative silence, Serin suddenly stops and points to a broken branch. The movement causes her leather top to shift slightly, and I can't help but notice how the afternoon light catches the subtle sheen of perspiration on her exposed midriff.">>
<<dialog "Serin" "face" "Looks like they went this way," "she says, crouching down to examine some scratches in the dirt. The position gives me an unfortunately distracting view of her athletic form">>
<center><img src="images/serin/chapter2/crouch.webp" style="width: 600px"></center>
<<dialog "Serin" "face" "Though I have to say, for creatures that are supposed to be 'threatening the herb gatherers,' these goblins sure are terrible at covering their tracks.">>
<<dialog "Seryk" "face" "Maybe they're just confident," "Seryk chuckles, stretching his arms above his head. The movement causes his well-defined abs to flex impressively, his bare chest glistening slightly with a light sheen of sweat from our walk">>
<center><img src="images/seryk/chapter2/stretching.webp" style="width: 600px"></center>
<<dialog "Seryk" "face" "Or maybe they're as bad at stealth as our friend here was during his first guild exam.">>
<<dialog "Rylan" "faceembarrassed" "Hey!" "I protest, my face heating up slightly - though whether from embarrassment or the way Serin's gaze seems to linger on me is unclear" "That was... that was different! And I passed eventually, didn't I?">>
<<dialog "Serin" "face" "Eventually being the key word," "Serin says with a wicked grin, stepping closer with that predatory smile of hers. Her proximity makes me acutely aware of her natural scent mixed with the faint smell of leather and sweat" "After completely failing your first exam - running away from a single goblin and somehow managing to trip over your own sword not once, but twice.">>
<<changeAffection "Rylan" "Serin" -1>><<changeAttraction "Rylan" "Serin" 2>><<set $serin_Lust += 1>>
<<dialog "Seryk" "face" "Wait, he failed the first time?" "Seryk asks, his eyebrows raising with obvious amusement" "Bro, how do you fail so spectacularly that they give you a second chance?">>
<<dialog "Rylan" "faceembarrassed" "It was a very... eventful first attempt," "I mutter, trying to change the subject and ignore how Serin seems to be enjoying my discomfort a little too much" "Besides, I was using one of $humanToThalor's swords, and it was way too heavy for me.">>
<<dialog "Serin" "facelaugh" "Oh, that's right!" "Serin's grin widens as she clearly remembers more embarrassing details. She leans against a tree, the pose accentuating her curves in a way that's definitely intentional" "You tried to swing that massive broadsword and ended up spinning yourself around like a top! Elena had to grab a handkerchief because she was laughing so hard she started crying!">>
<<dialog "Seryk" "facelaugh" "I'm starting to understand why Little Bird always looks so worried when we go into combat," "Seryk says, shaking his head but clearly trying not to laugh" "She's probably calculating the odds of our fearless leader accidentally taking himself out before the monsters get a chance.">>
<<narrative "I groan and quicken my pace, hoping to outrun this particular conversation. Unfortunately, both Serin and Seryk easily keep up with me, clearly enjoying themselves too much to let this go. I notice Serin's breathing has quickened slightly from the increased pace, and there's a flush to her cheeks that has nothing to do with exertion.">>
<<dialog "Serin" "face" "Oh, we're not done yet," "Serin says cheerfully, jogging to catch up. Her athletic grace is undeniably attractive, even when she's using it to torment me" "Tell him about how we had to practically carry him through his second exam!">>
<<dialog "Rylan" "faceembarrassed" "At least I passed the second time!" "I snap, though I can feel my face burning with embarrassment" "And I did contribute! I got the final slime!">>
<<dialog "Seryk" "face" "Wait, you needed help?" "Seryk asks incredulously, his laughter making his muscular frame shake">>
<<dialog "Serin" "face" "Oh, he needed help alright. Liora and I had to kill four of the five slimes while he spent most of the time trying not to get dissolved by slime acid," "Serin explains with obvious delight" "Though I'll give him credit - he did manage to take down that last slime all by himself. Eventually.">>
<<narrative "Seryk stops walking entirely, doubling over with laughter. Even I have to admit, looking back on it, the whole thing was pretty ridiculous. And there's something about their laughter that's infectious, even if it's at my expense.">>
<<dialog "Rylan" "faceembarrassed" "Okay, okay, fine!" "I throw my hands up in defeat" "My first exam was a complete disaster, and my second was only marginally better. But hey, at least I entertained everyone, right? And more importantly, I've improved since then!">>
<<dialog "Serin" "face" "Oh, absolutely," "Serin nods sagely, wiping a tear from her eye. The gesture draws my attention to her face, flushed with laughter and exertion" "Now when you trip, it's with much better form. Very graceful, really.">>
<<dialog "Seryk" "facegrin" "I'll have to take your word for it, Wildcat," "Seryk grins, using his nickname for her in a way that makes her smile genuinely brighten" "Though I'm definitely looking forward to seeing this legendary clumsiness in action.">>
<<narrative "Despite the embarrassment, I find myself smiling. There's something oddly comforting about having friends who can tease me like this, even if the way Serin's eyes sparkle with mischief sends an unexpected flutter through my chest.">>
<<dialog "Rylan" "face" "Just wait until we find these goblins," "I say with mock confidence" "I'll show you both some real adventuring skills.">>
<<dialog "Serin" "face" "Should we bring some slime-resistant gear, just in case?" "Serin asks innocently, her tone sweet but her smile decidedly wicked">>
<<dialog "Seryk" "face" "And maybe a backup plan for when our fearless leader trips again?" "Seryk adds helpfully, his grin showing he's thoroughly enjoying this">>
<<narrative "I shake my head and continue walking, though I can't help but chuckle at their antics. As we continue deeper into the forest, the sound of our laughter echoes through the trees, making even this goblin hunt feel more like an adventure with friends than a dangerous mission. Though I can't shake the awareness of how close Serin keeps walking beside me, or the way Seryk's confident presence seems to fill the space around us.">>
<<narrative "After walking for another ten minutes, still sharing stories and jokes, we finally hear rustling in the bushes ahead. It seems like we're about to encounter our first goblins.">>
<<dialog "Rylan" "face" "Alright, jokes aside, let's focus. Time to show you both that I've actually improved since my exams.">>
<<continueBox "GoblinEncounter1" "Prepare for combat" "">>
</div>
<</nobr>>
<<pov "rylan" "forestofbeginningnorth.mp3">><<nobr>>
<<set $serykxliorantr = false>><<set $rylan_confidence += 2>><<set $serin_RylanAffection += 2>><<set $seryk_RylanAffection += 3>><<set $rylan_SerykAffection += 2>><<set $rylan_SerinAffection += 1>><<trackAffection "Serin" "Rylan" 2>><<trackAffection "Seryk" "Rylan" 3>><<trackAffection "Rylan" "Seryk" 2>><<trackAffection "Rylan" "Serin" 1>><<trackOther "Rylan" "confidence" 2>>
<div class="passage-container rylan">
<center><img src="images/enemies/goblinhorde.webp" style="width: 800px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I take a deep breath, looking at the three groups of goblins spread throughout the cave. Seryk's plan makes perfect tactical sense - he's clearly the strongest among us, and it would be foolish for me to let pride override good strategy.">>
<<dialog "Rylan" "face" "You're right, Seryk. Your plan makes the most sense tactically," "I say with newfound maturity" "You take the center group - they're the biggest threat. I'll handle the left group. That way we can work efficiently as a team.">>
<<dialog "Seryk" "facegrin" "Now that's leadership, bro!" "Seryk grins, his respect for me clearly growing" "Good tactical thinking. Let's do this!">>
<<dialog "Serin" "facesmile" "I'm impressed, $humanName," "Serin says with genuine approval" "That's exactly the kind of decision-making a real leader makes. Alright, let's execute this plan!">>
<<narrative "The battle unfolds exactly as planned. Our coordination is flawless - we each engage our designated groups simultaneously, working as a well-oiled team.">>
<center><img src="images/serin/poses/blockingknives.webp" style="width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Serin moves like a whirlwind through her group of fifteen goblins, her superior agility and combat experience allowing her to take them down systematically. Her breathing is controlled, her movements precise.">>
<<dialog "Serin" "face" "These goblins are no match for us!" "she calls out between strikes, her voice steady and confident">>
<center><img src="images/seryk/chapter2/fight.webp" style="width: 300px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Seryk handles his massive group of twenty goblins with impressive efficiency. His demon strength allows him to take down multiple enemies with each strike, but I notice he's not holding back like before - he's fighting at full capacity.">>
<<dialog "Seryk" "face" "This is what teamwork looks like!" "he shouts, clearly pleased with how our plan is working">>
<<narrative "Meanwhile, I'm facing my group of eight goblins with newfound confidence. My tactical decision has given me the mental clarity I needed, and my training is really showing through.">>
<<dialog "Rylan" "faceconfident" "Come on then!" "I call out to my group, my sword work smooth and controlled" "Let's finish this!">>
<<narrative "Unlike my previous attempts at combat, I'm not charging recklessly. Instead, I'm using proper footwork, maintaining my guard, and picking my strikes carefully. The improvement from my exam failures is remarkable.">>
<<narrative "Within minutes, the last goblin falls. All three groups have been eliminated with minimal effort thanks to our coordinated approach. We stand among the defeated enemies, breathing steadily but not exhausted.">>
<<dialog "Serin" "facesmile" "Good job, $humanName," "Serin says with a nod of approval" "That was smart thinking - following the plan instead of charging ahead.">>
<<dialog "Seryk" "facegrin" "Not bad, bro!" "Seryk grins, clapping me on the shoulder" "You're getting better at this whole leadership thing.">>
<<dialog "Rylan" "facesmile" "Thanks," "I reply, feeling satisfied with how things went" "I'm starting to understand that good teamwork beats trying to do everything yourself.">>
<<dialog "Serin" "face" "Exactly. Much better than your usual charging-in approach," "Serin adds with a slight smirk">>
<<dialog "Seryk" "face" "We work well together," "Seryk nods" "Keep making decisions like that and we'll be fine.">>
<<narrative "The praise from my teammates fills me with a warm sense of accomplishment. This feels different from my previous victories - it's not just about succeeding, but about succeeding the right way, as part of a team.">>
<<narrative "As we prepare to leave the cave, Serin glance around at the goblin corpses with satisfaction.">>
<<dialog "Serin" "face" "Well, we definitely exceeded the guild's request for five goblins," "she chuckles" "Elena's going to be impressed with this report.">>
<<dialog "Seryk" "face" "More importantly, the herb gatherers won't have to worry about goblin attacks for a while," "Seryk adds" "This should send a clear message to any other goblins in the area.">>
<<dialog "Rylan" "face" "We should head back to Liora," "I say, checking the cave entrance" "She's been alone for a while now, and I want to make sure she found those Moonbell flowers safely.">>
<<dialog "Serin" "face" "Good thinking," "Serin agrees" "Let's go collect our healer and head back to town. I'm sure she'll be relieved to see us return in one piece.">>
<<dialog "Seryk" "face" "Little Bird's probably gathered enough flowers to supply the whole village by now," "Seryk grins" "She's thorough like that.">>
<<continueBox "ReturnToLioraSuccessful" "Return to the flower clearing to meet Liora" "">>
</div>
<</nobr>>
<<pov "rylan" "battle/2.mp3">><<nobr>>
<<set $serykxliorantr = true>><<set $rylan_confidence += 1>><<set $serin_RylanAffection -= 1>><<set $seryk_RylanAffection -= 2>><<trackAffection "Serin" "Rylan" -1>><<trackAffection "Seryk" "Rylan" -2>>
<<timed 0.5s>>
<center><div style="background: rgba(20,20,60,0.9); padding: 20px; border-radius: 10px; color: white; font-size: 1.5em; margin: 20px auto; max-width: 500px;">📖 Perspective Switch 📖<br><span style="color: #ff69b4;">Switching to Liora's view...</span><br><img src="images/liora/face.webp" style="width: 100px; height: 100px; border-radius: 50%; border: 3px solid #ff69b4; margin-top: 10px;"></div></center>
<</timed>>
<<timed 3s>>
<<goto "LioraWorryingNTR">>
<</timed>>
<</nobr>>
<<pov "rylan" "forestofbeginningnorth.mp3">><<nobr>>
<<set $timeOfDay = "evening">><<set $mariel_LioraAffection += 1>><<set $serin_RylanAffection -= 1>><<trackAffection "Mariel" "Liora" 1>><<trackAffection "Serin" "Rylan" -1>>
<<timed 0.5s>>
<center><div style="background: rgba(20,20,60,0.9); padding: 20px; border-radius: 10px; color: white; font-size: 1.5em; margin: 20px auto; max-width: 500px;">📖 Perspective Switch 📖<br><span style="color: #90EE90;">Switching to Serin's view...</span><br><img src="images/serin/face.webp" style="width: 100px; height: 100px; border-radius: 50%; border: 3px solid #90EE90; margin-top: 10px;"></div></center>
<</timed>>
<<timed 3s>>
<div class="passage-container serin">
<center><img src="images/landscapes/rylanhome.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "From Serin's perspective...">>
<<narrative "We finally reach the house as the sun begins to set, all of us tired from the long day of goblin hunting. As we step through the front door, I can smell something delicious cooking in the kitchen - Mariel has been preparing dinner.">>
<center><img src="images/mariel/kitchen.webp" style="width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Mariel emerges from the kitchen with a warm smile, wiping her hands on her apron, but her expression immediately changes to shock when she sees Liora's condition.">>
<<dialog "Mariel" "faceshock" "Liora! Oh my goodness, what happened to you?!" "Mariel rushes over, her maternal instincts kicking in immediately" "Your dress is torn, you're dirty, and you look exhausted!">>
<<narrative "I watch as Liora forces a bright smile, though I can see the strain in her eyes. Something about her seems different - more subdued than usual.">>
<<dialog "Liora" "facesmile" "I'm fine, Mariel, really!" "Liora says with forced cheerfulness" "Just a little adventure in the forest. Nothing I couldn't handle.">>
<<dialog "Mariel" "faceworried" "Are you hurt? Did you get medical attention? Let me look at you..." "Mariel reaches out to examine Liora, but the younger woman gently steps back">>
<<dialog "Liora" "facesmile" "I'm perfectly fine, I promise. I just need a hot bath and some clean clothes." "Liora holds up the pouch of Moonbell flowers" "Serin, could you please take these to Nimeria? I'd deliver them myself, but I really want to get cleaned up.">>
<<narrative "I take the pouch from her hands, noticing how she seems eager to avoid more questions about what happened.">>
<<dialog "Serin" "face" "Of course, no problem," "I say, taking the flower pouch" "You go get cleaned up.">>
<<dialog "Seryk" "face" "I'm going to head up to my room," "Seryk announces, stretching his powerful arms" "Been a long day. See everyone at dinner.">>
<<narrative "As Seryk heads upstairs and Liora disappears toward the bathroom, I notice $humanName lingering near the stairs, his face creased with worry.">>
<<narrative "After Mariel returns to the kitchen, $humanName approaches me with that concerned expression he always gets when something's wrong with Liora.">>
<<dialog "Rylan" "faceworried" "Serin, I'm really worried about Liora," "he says quietly, glancing toward the stairs" "Something seems off about her since what happened in the forest. She's acting like everything's fine, but...">>
<<dialog "Serin" "face" "Yeah, poor girl," "I agree outwardly, keeping my voice sympathetic" "Being chased by goblins like that... it must have been terrifying for her.">>
<<narrative "Like always, he only has eyes for Liora... I think bitterly, watching his worried expression. Even after everything we went through today, all the fighting side by side, all he can think about is her. Always her.">>
<<dialog "Rylan" "face" "I just feel like it's my fault, you know? If I hadn't made that stupid decision to split up, if I hadn't let those goblins escape the cave...">>
<<dialog "Serin" "face" "Hey, don't blame yourself," "I say, though part of me is frustrated by his self-recrimination" "We all made it back safely, and that's what matters. Liora's tough - she'll be fine.">>
<<narrative "And there he goes again, making everything about her. What about me? What about how I fought today, how I handled fifteen goblins by myself? Does any of that matter to him, or am I just... invisible when she's around?">>
<<narrative "I clutch the pouch of Moonbell flowers a bit tighter, forcing myself to maintain a supportive expression while my own feelings churn inside.">>
<<dialog "Rylan" "face" "I should probably head back to the guild to give Elena a proper report about what happened," "$humanName says, though his eyes keep drifting toward the stairs where Liora went" "The goblin numbers were way higher than expected. She needs to know for future missions.">>
<<dialog "Serin" "face" "Good idea," "I nod, hefting the flower pouch" "I'll take these to Nimeria and then help Mariel with dinner prep.">>
<<narrative "As $humanName heads back toward town and the guild hall, I make my way to the sitting room where I can hear the soft sound of pages turning. Nimeria is probably reading one of her research books again.">>
<<narrative "At least someone might actually appreciate the work I did today... I think as I approach the sitting room door.">>
</div>
<</timed>>
<<continueBox "SerinDeliverFlowers" "Continue to deliver the flowers" "">>
<</nobr>>
<<pov "serin" "default2.mp3">><<nobr>>
<<set $rylan_LioraAffection += 2>><<set $liora_RylanAffection += 2>><<set $rylan_LioraAttraction += 1>><<set $liora_RylanAttraction += 1>><<trackAffection "Rylan" "Liora" 2>><<trackAffection "Liora" "Rylan" 2>><<trackAttraction "Rylan" "Liora" 1>><<trackAttraction "Liora" "Rylan" 1>>
<div class="passage-container rylan">
<center><img src="images/liora/chapter2/rylanhug/1.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "My heart races as I look into her eyes, and for a moment I consider... but no. This moment is too precious to rush. Instead, I open my arms and pull her into a warm, gentle embrace.">>
<<narrative "She melts into my arms perfectly, her head resting against my chest as I hold her close. The scent of her hair mingles with the roses she's holding, creating a memory I'll treasure forever.">>
<<dialog "Liora" "faceembarrassedshortpink" "This feels so nice..." "she whispers against my chest, her voice soft and content" "I feel so safe with you, $humanName.">>
<<dialog "Rylan" "facesmile" "I'll always keep you safe, Liora," "I murmur softly, my cheek gently pressed against hers" "Always.">>
<<narrative "We stay like that for what feels like forever, just holding each other by the fountain. It's intimate without being overwhelming, perfect without being rushed.">>
<<narrative "When we finally part, there's something in her eyes - not disappointment, but a soft understanding. As if she knows that this gentle approach means I respect her, that I want to take things slow.">>
<<dialog "Liora" "facesmile" "Thank you for today, $humanName. For everything." "She looks down at her flowers, then back up at me with a shy smile" "I had the most wonderful time.">>
<<dialog "Rylan" "face" "So did I. We should do this again soon.">>
<<narrative "As we walk home together, our hands occasionally brush, sending little thrills through me. There's no rush - we have all the time in the world to see where this leads.">>
<<narrative "The walk home is peaceful, filled with comfortable conversation and shared laughter. Every now and then, Liora glances at me with that same soft expression from the fountain.">>
<<dialog "Liora" "face" "You know," "she says quietly as we near home" "I think today was exactly what I needed. No pressure, no rushing... just us, being together.">>
<<dialog "Rylan" "facesmile" "That's all I ever want, Liora. Just to be with you, however feels right.">>
<<narrative "Her smile in response tells me I made the right choice. Some moments are worth waiting for, and rushing might have spoiled the magic we've built today.">>
<<continueBox "SerinAndNimeria" "Meanwhile..." "">>
</div>
<</nobr>>
<<pov "rylan" "liorarylandate.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<center><img src="images/landscapes/rylanroom.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I sit on my bed, still processing everything that happened today. The mission was successful, but I can't shake the feeling that I failed Liora somehow. She got hurt because of my recklessness, and that guilt weighs heavily on my heart.">>
<<dialog "Rylan" "faceworried" "I should check on her," "I think to myself, glancing toward the door" "Make sure she's really okay after what happened in that cave.">>
<<narrative "But then I hesitate. She might be resting, or maybe she needs some time alone to process what happened. I don't want to overwhelm her with my own guilt and worry.">>
<<dialog "Rylan" "faceembarrassed" "On the other hand, she might appreciate knowing that I care, that I'm thinking about her.">>
<<narrative "My feelings for Liora have been growing stronger each day. Today's events made me realize just how much she means to me, how terrified I was of losing her. Maybe it's time to be honest about those feelings.">>
<<dialog "Rylan" "faceworried" "But I should also be considerate of her needs. If she's tired or needs space...">>
<<narrative "I run my hands through my hair, torn between my desire to see her and my respect for her space. What would be the right thing to do?">>
<<choiceBox "What should I do?" "Visit Liora now - I need to make sure she's okay" "RylanVisitsLioraNow" "HumanNameDecision=now" "Give her some space for now - I'll check on her later" "LioraAfterShower" "HumanNameDecision=later">>
</div>
<</nobr>>
<<pov "rylan" "default2.mp3">><<nobr>>
<<script>>window.AudioSystem.playBGM('ismiledasthevillageburnt.mp3');<</script>><<set $currentFace = $currentNimeriaFace>>
<div class="chapter-finale-container">
<div class="flames-background"></div>
<div class="chapter-title">End of Chapter 2 - I Smiled As The Village Burnt</div>
<div class="visual-confrontation">
<div class="character-left">
<img src="images/nimeria/facesmile.webp" class="character-portrait nimeria-portrait">
</div>
<div class="center-image">
<img src="images/landscapes/burningvillage.webp" class="burning-village">
</div>
<div class="character-right">
<img src="images/seryk/faceangry.webp" class="character-portrait seryk-portrait">
</div>
</div>
</div>
<<changeFace $currentNimeriaFace>>
<style>
.chapter-finale-container {
background: linear-gradient(135deg, rgba(139, 0, 139, 0.9), rgba(75, 0, 130, 0.95), rgba(25, 25, 112, 0.9));
min-height: 100vh;
padding: 20px;
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.flames-background {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(0deg,
rgba(255, 69, 0, 0.15) 0%,
rgba(255, 140, 0, 0.1) 25%,
rgba(255, 215, 0, 0.05) 50%,
transparent 75%);
animation: flameFlicker 4s ease-in-out infinite alternate;
pointer-events: none;
z-index: 1;
}
@keyframes flameFlicker {
0% { opacity: 0.3; transform: scaleY(1) rotate(0deg); }
25% { opacity: 0.7; transform: scaleY(1.1) rotate(1deg); }
50% { opacity: 0.4; transform: scaleY(0.9) rotate(-1deg); }
75% { opacity: 0.8; transform: scaleY(1.2) rotate(0.5deg); }
100% { opacity: 0.5; transform: scaleY(1) rotate(-0.5deg); }
}
.chapter-title {
font-size: 4em;
font-weight: bold;
text-align: center;
background: linear-gradient(45deg, #ff6b6b, #ffd700, #ff8c00);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
margin-bottom: 110px;
animation: titleGlow 3s ease-in-out infinite alternate;
z-index: 10;
position: relative;
letter-spacing: 2px;
}
@keyframes titleGlow {
0% {
filter: drop-shadow(0 0 20px rgba(255,107,107,0.4));
transform: scale(1);
}
100% {
filter: drop-shadow(0 0 40px rgba(255,107,107,0.8));
transform: scale(1.02);
}
}
.visual-confrontation {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
max-width: 1200px;
position: relative;
z-index: 10;
}
.character-left {
flex: 1;
text-align: center;
animation: slideInLeft 2s ease-out;
}
.character-right {
flex: 1;
text-align: center;
animation: slideInRight 2s ease-out;
}
.center-image {
flex: 1;
text-align: center;
animation: fadeInUp 2.5s ease-out;
}
@keyframes slideInLeft {
0% { opacity: 0; transform: translateX(-100px); }
100% { opacity: 1; transform: translateX(0); }
}
@keyframes slideInRight {
0% { opacity: 0; transform: translateX(100px); }
100% { opacity: 1; transform: translateX(0); }
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(50px) scale(0.8); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
.character-portrait {
width: 300px;
height: 300px;
border-radius: 50%;
border: 5px solid rgba(255,255,255,0.3);
animation: portraitPulse 4s ease-in-out infinite;
}
.nimeria-portrait {
border-color: rgba(221,160,221,0.8);
box-shadow: 0 0 40px rgba(221,160,221,0.5);
}
.seryk-portrait {
border-color: rgba(135,206,235,0.8);
box-shadow: 0 0 40px rgba(135,206,235,0.5);
}
@keyframes portraitPulse {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.05); }
}
.burning-village {
width: 400px;
height: 300px;
border-radius: 20px;
border: 5px solid rgba(255,69,0,0.8);
box-shadow: 0 0 60px rgba(255,69,0,0.7);
animation: fireGlow 3s ease-in-out infinite alternate;
}
@keyframes fireGlow {
0% {
border-color: rgba(255,69,0,0.8);
box-shadow: 0 0 60px rgba(255,69,0,0.7);
transform: scale(1);
}
100% {
border-color: rgba(255,140,0,1);
box-shadow: 0 0 100px rgba(255,69,0,1);
transform: scale(1.02);
}
}
</style>
<div style="text-align: center; margin-top: 40px; position: relative; z-index: 15;">
<div style="background: rgba(25,25,112,0.8); padding: 20px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.2);">
[[Continue to Chapter 3|POVTransitionChapter2ToChapter3]]
</div>
</div>
<</nobr>><<nobr>>
<<quickSexTrack "kiss" "rylan" "liora" 1>>
<<addSoulBlessing "rylan" 1>><<addSoulBlessing "liora" 1>>
<<changeAttraction "rylan" "liora" 2>><<changeAttraction "liora" "rylan" 2>><<changeAffection "rylan" "liora" 3>><<changeAffection "liora" "rylan" 3>>
<<trackOther "Liora" "blessing" 1>>
<div class="passage-container rylan">
<center><img src="images/liora/chapter2/rylankiss/1.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Time seems to stop as I lean closer to her. My heart pounds so loudly I'm sure she can hear it, but I can't stop myself. This moment feels too perfect, too right to let slip away.">>
<<narrative "When our lips meet, it's soft and gentle - everything I imagined it would be and more. She tastes sweet, like the honey cakes we shared, and her lips are warm against mine.">>
<<dialog "Liora" "facewet" "Oh... $humanName..." "she breathes when we part, her cheeks flushed pink and her eyes wide with wonder" "That was... that was my first...">>
<<dialog "Rylan" "faceembarrassed" "Mine too," "I whisper, still close enough to feel her breath on my face" "I'm glad it was with you, Liora.">>
<<narrative "She smiles then, radiant and beautiful, and I know this moment will be etched in my memory forever. Our first kiss, by the fountain, with the flowers she's still clutching in her hand.">>
<div class="soul-blessing-showcase" style="background: linear-gradient(45deg, rgba(255, 215, 0, 0.3), rgba(255, 255, 255, 0.4)); border: 2px solid rgba(255, 215, 0, 0.6); border-radius: 8px; padding: 15px; margin: 20px 0; text-align: center;">
<p style="color: #ffd700; font-weight: bold; margin-bottom: 10px;">✨ Soul Blessing Gained ✨</p>
<p style="color: #fffacd; font-style: italic;">Pure love and innocent affection strengthen both their souls...</p>
</div>
<<narrative "We walk home hand in hand, both of us glowing with happiness. The familiar path seems different now - brighter, more hopeful. Everything has changed with that one perfect kiss.">>
<<dialog "Liora" "facesmile" "I'll never forget today, $humanName. The flowers, the bakery, and... this." "She squeezes my hand gently" "Thank you for making it so special.">>
<<dialog "Rylan" "facesmile" "Neither will I. Today was perfect, Liora. You're perfect.">>
<<narrative "As we reach home, I know that this is just the beginning of our story together. Whatever challenges await us, we'll face them side by side.">>
<<narrative "A perfect first kiss marks the beginning of something beautiful... and sets their relationship on a new path.">>
<<continueBox "SerinAndNimeria" "Meanwhile..." "">>
</div>
<<soulDisplay "rylan">>
<<soulDisplay "liora">>
<</nobr>>
<<pov "rylan" "liorarylandate.mp3">><<nobr>>
<<set $liora_Lust += 10>><<trackLust "Liora" 10>>
<<set $currentFace = $currentLioraFace>>
<div class="passage-container liora">
<center><img src="images/landscapes/rylanroom.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I sit on the edge of my bed, having just finished my shower and changed into my soft pink pajamas. The warm water should have washed away the stress of today's mission, but instead, I feel... strange. Different.">>
<center><img src="images/liora/sleepwear.webp" style="width: 400px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "face" "Why do I feel so hot?" "I whisper to myself, pressing my palms against my flushed cheeks. Even through the thin fabric of my pajamas, my skin feels warm and sensitive.">>
<<narrative "My thoughts drift back to what happened in the cave. That potion Seryk gave me to restore my mana... it was so strange.">>
<<dialog "Liora" "faceembarrassedshortpink" "At first it was so bitter," "I murmur, touching my lips unconsciously" "But then... it became sweeter. The more I drank, the sweeter it got.">>
<<narrative "There was something about the way Seryk looked at me while I was drinking it. Something that made my heart race in a way I don't understand. And now this strange warmth won't leave my body...">>
<<narrative "I shift uncomfortably on the bed, trying to find a position that feels right. There's an odd sensation between my legs that I can't quite place. It's not pain, but it's... distracting.">>
<<narrative "Hesitantly, I reach down and press my hand against the soft fabric of my pajama bottoms. The material feels... damp? But why would it be damp? I just dried off completely after my shower.">>
<center><img src="images/liora/chapter2/ntr2/touchingpants.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "faceworried" "That's... odd," "I whisper, my cheeks burning even hotter" "Why would I be wet there? Did I not dry off properly?">>
<<narrative "The innocent confusion fills my mind as I try to understand what's happening to my body. I've never felt anything like this before, and it's both concerning and somehow... not entirely unpleasant.">>
<<narrative "Just as I'm about to examine myself further, trying to understand these strange new sensations...">>
<center><div style="background: rgba(255,100,100,0.3); padding: 15px; border-radius: 8px; margin: 20px 0;"><p style="color: #ffdddd; font-size: 1.2em; font-weight: bold; margin: 0;">*Knock knock knock*</p></div></center>
<<narrative "I quickly pull my hand away and sit up straighter, my heart pounding from the sudden interruption.">>
<<dialog "Liora" "faceshock" "Y-yes? Who is it?" "I call out, my voice slightly higher than usual from the surprise and embarrassment">>
<<narrative "Seryk's influence lingers in her body, awakening feelings she doesn't yet understand...">>
<<continueBox "SerykVisitsLiora" "Seryk's Visit" "">>
</div>
<</nobr>>
<<pov "liora" "default2.mp3">><<nobr>>
<<set $liora_Lust += 10>><<trackLust "Liora" 10>>
<<timed 0.5s>>
<center><div style="background: rgba(20,20,60,0.9); padding: 20px; border-radius: 10px; color: white; font-size: 1.5em; margin: 20px auto; max-width: 500px;">📖 A little later... 📖<br><span style="color: #87CEEB;">Staying with Liora's view...</span><br><img src="images/liora/face.webp" style="width: 100px; height: 100px; border-radius: 50%; border: 3px solid #87CEEB; margin-top: 10px;"></div></center>
<</timed>>
<<set $currentFace = $currentLioraFace>>
<div class="passage-container liora">
<center><img src="images/landscapes/rylanroom.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I sit on the edge of my bed after $humanName leaves, my heart still racing from our time together. The conversation was wonderful, and his presence always makes me feel so safe and cared for.">>
<<if $lioraFirstKiss === "Rylan">>
<<narrative "My fingertips drift to my lips, still tingling from our first kiss. It was so sweet, so perfect... exactly what I always dreamed it would be like.">>
<<dialog "Liora" "facesmile" "My first kiss was with $humanName," "I whisper to myself, a warm glow spreading through my chest" "It was everything I hoped for.">>
<<else>>
<<narrative "The warm hug we shared filled me with such a sense of security and love. I can still feel his arms around me, protective and gentle.">>
<<dialog "Liora" "facesmile" "He cares about me so much," "I think contentedly" "I'm so lucky to have someone like him in my life.">>
<</if>>
<<narrative "I change into my soft pink pajamas, feeling much more at peace than I did after the mission. Having $humanName check on me made everything feel right again.">>
<center><img src="images/liora/sleepwear.webp" style="width: 400px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Though as I settle onto my bed, I notice there's still a strange warmth in my body. Not the uncomfortable heat from before, but something different. Something that makes my skin feel more sensitive than usual.">>
<<dialog "Liora" "faceembarrassedshortpink" "Why do I still feel so... warm?" "I wonder aloud, pressing my palms against my flushed cheeks">>
<<narrative "I shift uncomfortably on the bed, trying to understand these unfamiliar sensations. There's an odd feeling between my legs that I can't quite place. It's not unpleasant, but it's... distracting.">>
<<narrative "Hesitantly, I reach down and press my hand against the soft fabric of my pajama bottoms. The material feels... damp? But why would it be damp? I just changed into clean clothes.">>
<<dialog "Liora" "faceworried" "That's... strange," "I whisper, confusion filling my voice" "Is this normal? I don't understand what's happening to my body...">>
<<narrative "Just as I'm about to examine myself further, trying to understand these strange new sensations...">>
<center><div style="background: rgba(255,100,100,0.3); padding: 15px; border-radius: 8px; margin: 20px 0;"><p style="color: #ffdddd; font-size: 1.2em; font-weight: bold; margin: 0;">*Knock knock knock*</p></div></center>
<<narrative "I quickly pull my hand away and sit up straighter, my heart pounding from the sudden interruption.">>
<<dialog "Liora" "faceshock" "Y-yes? Who is it?" "I call out, my voice slightly higher than usual from the surprise and embarrassment">>
<<continueBox "SerykVisitsLioraNow" "Strange Sensations" "">>
</div>
<</nobr>>
<<pov "liora" "default2.mp3">><<nobr>>
<<set $liora_Lust += 5>><<set $liora_manaExhaustion = true>><<set $liora_magicalBacklash = true>><<set $liora_RylanAffection += 3>><<set $liora_SerykAffection += 2>><<set $liora_SerinAffection += 1>><<set $liora_confidence -= 2>><<trackAffection "Liora" "Rylan" 3>><<trackAffection "Liora" "Seryk" 2>><<trackAffection "Liora" "Serin" 1>><<trackOther "Liora" "confidence" -2>>
<<timed 0.5s>>
<center><div style="background: rgba(20,20,60,0.9); padding: 20px; border-radius: 10px; color: white; font-size: 1.5em; margin: 20px auto; max-width: 500px;">📖 Perspective Switch 📖<br><span style="color: #ff69b4;">Switching to Liora's view...</span><br><span style="color: #ffdddd; font-size: 0.8em;">30 minutes ago...</span><br><img src="images/liora/face.webp" style="width: 100px; height: 100px; border-radius: 50%; border: 3px solid #ff69b4; margin-top: 10px;"></div></center>
<</timed>>
<<timed 3s>>
<div class="passage-container liora">
<center><img src="images/liora/chapter2/violetflowers.webp" style="width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "From Liora's perspective, 30 minutes ago...">>
<<narrative "I'm still kneeling among the Moonbell flowers, carefully placing the last few blue-glowing blooms into my gathering pouch. The peaceful clearing has been my sanctuary for the past hour, and I've managed to collect more than enough for Nimeria's research.">>
<<dialog "Liora" "facesmile" "This should be plenty," "I murmur to myself, admiring the soft blue glow emanating from my pouch" "Nimeria will be so pleased with these specimens.">>
<<narrative "But then I hear it - the sound of rustling bushes, followed by crude laughter. My blood runs cold as I recognize the unmistakable chattering of goblins.">>
<center><img src="images/liora/chapter2/ntr1/goblinsflower.webp" style="width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Goblin" "face" "Kekeke! Look what we find!" "a goblin voice cackles from the treeline" "Pretty human girl, all alone!">>
<<dialog "Goblin" "face" "Boss said run from demon, but this one easy prey!" "another adds with malicious glee">>
<<narrative "Four goblins emerge from different directions, surrounding me in the clearing. My heart pounds as I realize I'm completely trapped - there are more goblins in this forest than we thought!">>
<<dialog "Liora" "faceshock" "Stay back!" "I cry out, scrambling to my feet" "I'm warning you!">>
<<dialog "Goblin" "face" "Kekeke! What warning? You just girl! No scary demon here to protect you!">>
<<narrative "Without waiting for them to get closer, I turn and run. My only chance is to escape in the opposite direction from where they came, hoping to reach the others or find somewhere to hide.">>
<center><img src="images/liora/chapter2/ntr1/escaping.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I run as fast as my legs can carry me, my pink dress catching on branches and thorns as I crash through the underbrush. Behind me, I can hear the goblins giving chase, their cruel laughter echoing through the forest.">>
<<dialog "Goblin" "face" "Run, little human! Make it fun for us!">>
<<narrative "Suddenly, a sharp pain explodes across my shoulder as a thrown stone strikes me. I stumble but keep running, immediately casting a healing spell on myself.">>
<<dialog "Liora" "faceworried" "Healing Light!" "I gasp, feeling the warm magic mend the bruise. But more stones follow, forcing me to heal again and again">>
<<narrative "Each spell drains my mana reserves. I can feel my magical energy depleting rapidly as I'm forced to heal cut after cut, bruise after bruise from the relentless barrage of stones.">>
<<dialog "Liora" "faceworried" "Healing Light... Healing Light..." "I whisper desperately, my voice growing weaker with each cast">>
<<narrative "Finally, my mana reserves hit empty. The familiar warm feeling of healing magic simply won't come, no matter how hard I try to cast the spell.">>
<<dialog "Liora" "faceworried" "No... please... Healing Light!" "I try again desperately, but nothing happens" "Come on!">>
<<narrative "Even without mana, I keep trying to force the healing magic out, driven by desperation and fear. Each failed attempt sends a small jolt of pain through my body, but I can't stop trying.">>
<center><img src="images/landscapes/forestcave.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Ahead, I spot a small cave entrance partially hidden by hanging vines. It's my only chance! I dive inside, pressing myself against the cold stone wall and trying to control my ragged breathing.">>
<<narrative "The goblins' voices grow closer, and I continue desperately trying to cast healing magic, even though I have no mana left. The magical strain is becoming unbearable.">>
<<dialog "Liora" "faceworried" "Healing Light... please..." "I whisper, tears streaming down my face as I try once more to force the spell">>
<<narrative "Suddenly, an excruciating pain shoots through my entire body - like being struck by lightning. My magical circuits, strained beyond their limits, are rebelling against my desperate attempts to cast without mana.">>
<center><img src="images/liora/chapter2/ntr1/woundedcave.webp" style="width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I collapse to my knees, sobbing silently as the magical backlash courses through me. This is what happens when a mage pushes too far beyond their limits - the body's own magical defenses turn against them.">>
<<dialog "Goblin" "face" "Where little human go? She here somewhere!">>
<<dialog "Goblin" "face" "Check behind rocks! She no can run far!">>
<<narrative "The goblin voices are right outside the cave now. I close my eyes tightly, trying to make myself as small as possible, and whisper a silent prayer.">>
<<dialog "Liora" "faceworried" "$humanName... please... save me..." "I think desperately, my heart crying out for the one person I trust most">>
<<narrative "Then I hear it - terrible screaming. Not goblin laughter, but screams of genuine terror and pain. Something is happening outside the cave...">>
<<narrative "The screaming continues, and I can only hope that somehow, someway, rescue has arrived...">>
<<continueBox "LioraRescue" "Rescue Arrives" "">>
</div>
<</timed>>
<</nobr>>
<<pov "liora" "battle/goblinfightdesperate.mp3">><<nobr>>
<div class="passage-container liora">
<center><img src="images/liora/chapter2/violetflowers.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "From Liora's perspective...">>
<<narrative "I kneel among the wildflowers in the peaceful clearing, carefully gathering the blue-glowing Moonbell flowers that Nimeria requested. It's been over an hour since the others left to hunt goblins, and the silence is starting to worry me.">>
<<dialog "Liora" "faceworried" "They should have found some goblins by now..." "I murmur to myself, my hands trembling slightly as I place another Moonbell in my gathering pouch" "What if something happened? What if $humanName is in trouble again?">>
<<narrative "He's always trying so hard to prove himself, ever since his failed exam. What if this time he's pushed himself too far?">>
<<narrative "And then, in the distance, I hear it - the unmistakable sounds of combat. Clashing metal, shouts, and what sounds like... a lot of goblins.">>
<<dialog "Liora" "faceworried" "Oh no... there are so many of them..." "I breathe, my worst fears seeming to come true">>
<<narrative "The sounds of battle grow louder, and my heart pounds with worry for my friends...">>
<<continueBox "GoblinBattleResolutionNTR" "The Battle Continues" "">>
</div>
<</nobr>>
<<pov "liora" "forestofbeginningnorth.mp3">><<nobr>>
<<set $currentFace = $currentLioraFace>><<addSoulCorruption "liora" 1>><<set $liora_SerykAttraction = ($liora_SerykAttraction || 0) + 2>><<trackAttraction "Liora" "Seryk" 2>><<trackOther "Liora" "corruption" 1>>
<div class="passage-container liora">
<<narrative "After $humanName leaves my room, I sit on my bed in stunned silence, my fingertips still touching my lips where he kissed me.">>
<center><img src="images/liora/chapter2/ntr2/ntrface1.webp" style="width: 300px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The kiss was sweet, gentle, filled with love... everything I should want. Everything I've dreamed of. So why...">>
<<dialog "Liora" "faceworried" "Why didn't I feel anything like what I felt with Seryk?" "I whisper to myself, confusion clouding my thoughts">>
<<narrative "When Seryk kissed me, my entire body had erupted in sensations I didn't even know existed. That electric shock, those waves of pleasure that made me tremble and moan against his lips...">>
<<narrative "But with $humanName... it was nice. Warm. Comfortable. But there was no fire, no overwhelming surge of desire that made me lose control.">>
<<dialog "Liora" "faceembarrassedshortpink" "I don't even like Seryk that way," "I tell myself firmly" "He's... he's practically a stranger. And what he did was wrong.">>
<<narrative "But even as I think this, I can't deny the truth my body experienced. The way my heart raced, the way I completely lost myself in that moment...">>
<<dialog "Liora" "faceworried" "What's wrong with me?" "I wonder, feeling tears prick at the corners of my eyes" "I love $humanName. I've loved him for so long. So why...">>
<<narrative "I try to push the thoughts away, but they keep circling back. The memory of Seryk's lips, the way his presence seemed to awaken something deep within me that I didn't even know existed.">>
<<dialog "Liora" "facesadshortpink" "Maybe it was just because it was my first kiss," "I try to rationalize" "Maybe that's why it felt so intense. It had nothing to do with... with him specifically.">>
<<narrative "But deep down, I know I'm lying to myself. There was something about Seryk, something that called to a part of me I never knew existed.">>
<<narrative "The worst part is the guilt. $humanName just poured his heart out to me, told me he loved me, and all I can think about is another man's kiss.">>
<<dialog "Liora" "facecrying" "What kind of person does that make me?" "I whisper, a single tear rolling down my cheek">>
<<narrative "I curl up on my bed, pulling my knees to my chest as confusion and guilt war within me. I don't understand what's happening to me, why my body responded so differently to two very different kisses.">>
<<narrative "All I know is that something has changed within me, and I'm terrified of what it might mean.">>
<<continueBox "MorningAfterKiss" "Morning After Kiss" "">>
<div class="corruption-showcase" style="background: linear-gradient(135deg, rgba(139, 0, 139, 0.8), rgba(75, 0, 130, 0.6)); border: 2px solid rgba(139, 0, 139, 0.8); border-radius: 12px; padding: 25px; margin: 25px 0; text-align: center;">
<p style="color: #ff69b4; font-size: 1.3em; font-weight: bold; text-shadow: 2px 2px 4px rgba(0,0,0,0.3); margin-bottom: 15px;">🌑 Soul Corruption 🌑</p>
<p style="color: #dda0dd; font-size: 1.1em; margin-bottom: 10px;">Liora's heart wavers between love and forbidden desire...</p>
<p style="color: #ff69b4; font-size: 1em;">+1 Soul Corruption - Comparing Lovers</p>
</div>
<<soulDisplay "liora">>
</div>
<</nobr>>
<<pov "liora" "ntr1.mp3">><<nobr>>
<<set $currentFace = $currentLioraFace>><<addSoulCorruption "liora" 2>><<set $liora_SerykAttraction = ($liora_SerykAttraction || 0) + 4>><<set $liora_RylanAttraction = ($liora_RylanAttraction || 0) - 2>><<trackAttraction "Liora" "Seryk" 4>><<trackAttraction "Liora" "Rylan" -2>><<trackOther "Liora" "corruption" 2>>
<div class="passage-container liora">
<<if $liora_RylanKissCount > 0>>
<<narrative "I sit on my bed in stunned silence, my fingertips still touching my lips. Two kisses in one evening. Two completely different experiences that have left me reeling with confusion and guilt.">>
<center><img src="images/liora/chapter2/ntr2/ntrface2.webp" style="width: 300px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "faceworried" "How can two kisses be so different?" "I whisper to myself, my voice trembling with the weight of this terrible realization">>
<<else>>
<<narrative "I sit on my bed in stunned silence, my fingertips still touching my lips. That kiss with Seryk... it's awakened something in me that I never knew existed, and now I can't stop thinking about it.">>
<center><img src="images/liora/chapter2/ntr2/ntrface2.webp" style="width: 300px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "faceworried" "What was that feeling?" "I whisper to myself, my voice trembling with confusion and a strange new hunger" "Why did it affect me so much?">>
<</if>>
<<if $liora_RylanKissCount > 0>>
<<narrative "When $humanName kissed me earlier, it was everything I thought I wanted. Sweet, gentle, filled with love and tenderness. It was the kiss I had dreamed about, the one I thought would make my heart soar.">>
<<dialog "Liora" "facesadshortpink" "It was nice," "I admit quietly to myself" "Warm and safe. Like being wrapped in a comfortable blanket.">>
<<narrative "But that's all it was. Nice. Comfortable. There was no fire, no electricity, no overwhelming surge of desire that made me lose myself completely.">>
<<else>>
<<narrative "I've always imagined what my first kiss would be like. I thought it would be with $humanName, sweet and gentle, the culmination of our innocent love story.">>
<<dialog "Liora" "facesadshortpink" "But this... this was nothing like what I imagined," "I whisper, my voice filled with confusion and guilt">>
<<narrative "Instead of gentle tenderness, I experienced raw, electric passion. Instead of comfort, I felt an awakening hunger that still burns through my veins.">>
<</if>>
<<narrative "But Seryk's kiss... God, what Seryk's kiss did to me...">>
<<dialog "Liora" "facewet" "It was like lightning," "I breathe, my body shivering at the memory" "Like every nerve in my body came alive at once.">>
<<narrative "The moment his lips touched mine, I felt that electric shock race through my entire being. My body responded in ways I didn't even know were possible. I trembled, I moaned, I completely lost control in a way that was both terrifying and exhilarating.">>
<<narrative "That wasn't just a kiss. That was an awakening. A revelation of sensations I never knew existed.">>
<<if $liora_RylanKissCount > 0>>
<<dialog "Liora" "facecrying" "What's wrong with me?" "I whisper, tears beginning to form in my eyes" "I love $humanName. I've loved him for so long. So why...">>
<<narrative "Why did Seryk's kiss make me feel things that $humanName's never could? Why did my body respond so powerfully to someone I barely know, while the boy I've loved for years left me feeling... pleasant but unfulfilled?">>
<<dialog "Liora" "faceworried" "Is this what passion is supposed to feel like?" "I wonder aloud, my voice barely audible" "This overwhelming, consuming fire?">>
<<else>>
<<dialog "Liora" "facecrying" "What's wrong with me?" "I whisper, tears beginning to form in my eyes" "I love $humanName. I've loved him for so long. So why...">>
<<narrative "Why did kissing Seryk awaken these feelings I've never experienced before? Why does my body crave more of that electric sensation when I should only want $humanName's touch?">>
<<dialog "Liora" "faceworried" "Is this what passion is supposed to feel like?" "I wonder aloud, my voice barely audible" "This overwhelming, consuming fire?">>
<</if>>
<<if $liora_RylanKissCount > 0>>
<<narrative "The truth hits me like a physical blow, and I have to press my hand to my chest as if to keep my heart from breaking apart.">>
<<dialog "Liora" "faceshock" "Seryk's kiss was better," "I admit in a broken whisper" "So much better that there's no comparison.">>
<<narrative "The guilt of that admission crushes down on me. How can I think such a thing? How can I betray $humanName like this, even in my own thoughts?">>
<<narrative "But I can't deny what my body experienced. I can't lie to myself about the way Seryk made me feel versus the gentle but ultimately hollow sweetness of $humanName's kiss.">>
<<else>>
<<narrative "The truth hits me like a physical blow, and I have to press my hand to my chest as if to keep my heart from breaking apart.">>
<<dialog "Liora" "faceshock" "I want to feel that again," "I admit in a broken whisper" "God help me, I want to kiss him again.">>
<<narrative "The guilt of that admission crushes down on me. How can I think such a thing? How can I crave another man's touch when I've always believed $humanName was my destiny?">>
<<narrative "But I can't deny what my body experienced. I can't lie to myself about this awakening, this hunger that Seryk has unleashed in me.">>
<</if>>
<<if $liora_RylanKissCount > 0>>
<<dialog "Liora" "faceembarrassedshortpink" "What if..." "I start to think, then immediately try to push the thought away. But it comes back, insistent and troubling" "What if I've been wrong about what I want?">>
<<narrative "What if there's something more out there than the safe, comfortable love I thought I wanted? What if my body is trying to tell me something my heart isn't ready to hear?">>
<<dialog "Liora" "faceworried" "I can't think like this," "I tell myself firmly, but my voice lacks conviction" "This is wrong. This is so wrong.">>
<<narrative "But even as I try to convince myself, I can still feel the phantom sensation of Seryk's lips on mine, the memory of that electric pleasure that shot through my entire being.">>
<<else>>
<<dialog "Liora" "faceembarrassedshortpink" "What if..." "I start to think, then immediately try to push the thought away. But it comes back, insistent and troubling" "What if this is what I've been missing all along?">>
<<narrative "What if the gentle, innocent love I thought I wanted isn't enough? What if my body is craving something more passionate, more intense, more... dangerous?">>
<<dialog "Liora" "faceworried" "I can't think like this," "I tell myself firmly, but my voice lacks conviction" "This is wrong. This is so wrong.">>
<<narrative "But even as I try to convince myself, I can still feel the phantom sensation of Seryk's lips on mine, the memory of that electric pleasure that shot through my entire being.">>
<</if>>
<<if $liora_RylanKissCount > 0>>
<<narrative "I curl up on my bed, pulling my knees to my chest as these dangerous thoughts swirl through my mind. Something fundamental has shifted tonight. A door has been opened that I'm not sure I can close again.">>
<<dialog "Liora" "facesadshortpink" "What kind of person does this make me?" "I whisper into the darkness of my room" "What kind of person compares the boy she loves to another man and finds him... lacking?">>
<<narrative "But even as shame washes over me, I can't stop myself from remembering. Can't stop myself from wondering what other sensations Seryk might be able to awaken in me.">>
<<narrative "The innocent girl who woke up this morning is gone. In her place is someone who has tasted forbidden fruit and found it impossibly sweet.">>
<<else>>
<<narrative "I curl up on my bed, pulling my knees to my chest as these dangerous thoughts swirl through my mind. Something fundamental has awakened in me tonight. A door has been opened that I never even knew existed.">>
<<dialog "Liora" "facesadshortpink" "What kind of person does this make me?" "I whisper into the darkness of my room" "What kind of person craves a stranger's touch when she's supposed to love someone else?">>
<<narrative "But even as shame washes over me, I can't stop myself from remembering. Can't stop myself from wondering what other sensations Seryk might be able to awaken in me.">>
<<narrative "The innocent girl who woke up this morning is gone. In her place is someone who has discovered a hunger she never knew she possessed.">>
<</if>>
<<continueBox "MorningAfterKiss" "Forbidden Desires" "">>
<div class="corruption-showcase" style="background: linear-gradient(135deg, rgba(139, 0, 139, 0.8), rgba(75, 0, 130, 0.6)); border: 2px solid rgba(139, 0, 139, 0.8); border-radius: 12px; padding: 25px; margin: 25px 0; text-align: center;">
<p style="color: #ff69b4; font-size: 1.3em; font-weight: bold; text-shadow: 2px 2px 4px rgba(0,0,0,0.3); margin-bottom: 15px;">🌑 Soul Corruption 🌑</p>
<p style="color: #dda0dd; font-size: 1.1em; margin-bottom: 10px;">Liora's heart turns toward forbidden desire...</p>
<p style="color: #ff69b4; font-size: 1em;">+2 Soul Corruption - Comparing Lovers</p>
</div>
<<soulDisplay "liora">>
</div>
<</nobr>>
<<pov "liora" "ntr1.mp3">><<nobr>>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">🔥 An Intimate Morning with Liora 🔥</p>
<p style="color: white; font-size: 1.1em;">Time for passion and pleasure...</p></div>
<<narrative "I knock gently on Liora's door and hear her soft voice inviting me in. She's sitting on her bed in her pink dress, the morning sunlight streaming through her window and highlighting her beautiful curves beneath the delicate fabric.">>
<<dialog "Liora" "face" "Perfect timing, $humanName! I was just... getting comfortable for the morning.">>
<<narrative "As I sit on the bed beside her, I can't help but notice how the pink dress hugs her voluptuous figure. The way she's positioned gives me glimpses of her white stockings and the gentle curves of her thighs.">>
<<dialog "Rylan" "face" "You look absolutely beautiful this morning, Liora. How about I help you relax properly?">>
<<dialog "Liora" "faceembarrassedshortpink" "Help me... relax? What did you have in mind?" "Her cheeks flush pink as she notices the way I'm looking at her">>
<<dialog "Rylan" "facesmile" "A full body massage. You've been working so hard... let me take care of every inch of you.">>
<<narrative "Without hesitation, Liora shifts on the bed, getting into a position that makes my breath catch. She lies back against her pillows, her pink dress riding up slightly to reveal more of her white stockings.">>
<center><img src="images/liora/chapter2/morningactivities/1.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,192,203,0.3);"></center>
<<dialog "Liora" "faceembarrassedshortpink" "Is... is this position okay for the massage?" "she asks softly, her cheeks flushed as she notices how the pose emphasizes her curves">>
<<narrative "The sight of her like this - so beautiful and vulnerable - sends heat rushing through my body. I can see the outline of her figure beneath the pink fabric, the way her stockings hug her legs, the innocent yet sensual way she's positioned herself.">>
<<dialog "Rylan" "faceembarrassed" "Perfect," "I manage to say, my voice slightly husky" "You look absolutely stunning, Liora.">>
<<narrative "I begin with her shoulders, my hands working gently but deliberately. As I massage, she shifts into an even more enticing position, her body naturally responding to my touch.">>
<center><img src="images/liora/chapter2/morningactivities/2.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,192,203,0.3);"></center>
<<dialog "Liora" "facewet" "Mmm, $humanName... your hands feel so good. I never knew a massage could feel this... intense.">>
<<narrative "As I work on her arms and sides, I catch glimpses of her delicate underarms, breathing in her natural feminine scent.">>
<<if ($serinChapter2ArmpitSeen === true)>>
<<narrative "The memory of Serin's overwhelming aroma floods back...">>
<div id="serinFlashback" style="text-align: center; margin: 20px 0;">
<img id="flashbackImage" src="images/serin/chapter2/morningactivities/1.webp" style="width: 300px; border-radius: 8px; border: 1px solid rgba(255,192,203,0.2); opacity: 0.7;"></div>
<script>
(function() {
const images = [
"images/serin/chapter2/morningactivities/3.webp",
"images/serin/chapter2/morningactivities/lickingarmpit3.webp"
];
let currentIndex = 0;
const imgElement = document.getElementById('flashbackImage');
setInterval(function() {
currentIndex = (currentIndex + 1) % images.length;
imgElement.src = images[currentIndex];
}, 1500);
})();
</script>
<<narrative "But Liora's scent is different - sweeter, more delicate, yet still arousing in its own way.">>
<<else>>
<<narrative "Her natural scent is intoxicating - clean and feminine with just a hint of arousal that makes my heart race.">>
<</if>>
<<narrative "The intimate contact is building heat between us. Every touch, every soft sound she makes, every glimpse of her beautiful body is driving my desire higher.">>
<<narrative "As I move to her legs, Liora shifts again, this time into a pose that's breathtakingly sensual. Her pink dress rides up further, revealing the full length of her white stockings and the tantalizing glimpse of her thighs above them.">>
<center><img src="images/liora/chapter2/morningactivities/3.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,192,203,0.3);"></center>
<<dialog "Liora" "facewet" "Like this? I want you to have... full access to massage me properly.">>
<<narrative "My hands shake slightly as I begin massaging her legs through the silky stockings. The way she's positioned, the trust she's showing me, the intimate view she's giving me - it's driving me wild with desire.">>
<<dialog "Rylan" "faceembarrassed" "Liora... you're so beautiful. Every part of you is perfect.">>
<<narrative "She responds by stretching even more sensuously, her body arching in ways that showcase her incredible figure. The sight is almost too much to bear.">>
<center><img src="images/liora/chapter2/morningactivities/4.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,192,203,0.3);"></center>
<<narrative "As my hands work up her calves and thighs, she shifts into an even more provocative position, giving me an incredible view of her stocking-clad legs and the curves of her body.">>
<center><img src="images/liora/chapter2/morningactivities/5.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,192,203,0.3);"></center>
<<dialog "Liora" "facewet" "Your touch is making me feel so... warm inside. I've never felt anything like this before.">>
<<narrative "The heat between us is becoming unbearable. Every touch sends electricity through both of us, and I can see the effect my massage is having on her breathing and the flush spreading across her skin.">>
<<choiceBox "Massage Focus" "Focus on her upper legs and thighs" "LioraMorningActivityNoFeet" "rylan_LioraFootSmelled=false" "🦶 Focus on her feet" "LioraMorningActivityFootScent" "rylan_LioraFootSmelled=true">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "Looking at her beautiful legs, I decide to complete the massage properly. Liora seems to sense my desire and shifts into the most seductive position yet - her legs spread in a way that's both innocent and incredibly provocative.">>
<center><img src="images/liora/chapter2/morningactivities/4.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,192,203,0.3);"></center>
<<dialog "Rylan" "face" "Let me massage your feet too, Liora. They must be sore from all our adventures.">>
<<dialog "Liora" "facewet" "My feet? That... that would be wonderful. They have been aching...">>
<<narrative "I gently take her feet in my hands, admiring her perfect feet encased in those white stockings. They're delicate and beautiful, and I can't help but marvel at how elegant they look.">>
<<narrative "Her feet are absolutely perfect - delicate, soft, with perfectly formed toes and elegant arches beneath her white stockings. I begin massaging her soles gently, working my thumbs in small circles.">>
<center><img src="images/liora/chapter2/morningactivities/footfocus.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,192,203,0.3);"></center>
<<if ($serinChapter2ArmpitSeen === true)>>
<<narrative "Suddenly, vivid memories of Serin's feet flash through my mind - the way they looked, the overwhelming scent that had driven me wild with desire. Almost unconsciously, I lean closer to Liora's feet and breathe in.">>
<div id="serinFeetFlashback" style="text-align: center; margin: 20px 0;">
<img id="feetFlashbackImage" src="images/serin/chapter2/morningactivities/feet/1.webp" style="width: 300px; border-radius: 8px; border: 1px solid rgba(255,192,203,0.2); opacity: 0.7;">
</div>
<script>
(function() {
const feetImages = [
"images/serin/chapter2/morningactivities/feet/1.webp",
"images/serin/chapter2/morningactivities/feet/2.webp",
"images/serin/chapter2/morningactivities/feet/3.webp",
"images/serin/chapter2/morningactivities/feet/4.webp",
"images/serin/chapter2/morningactivities/feet/5.webp",
"images/serin/chapter2/morningactivities/feet/6.webp"
];
let feetIndex = 0;
const feetImgElement = document.getElementById('feetFlashbackImage');
setInterval(function() {
feetIndex = (feetIndex + 1) % feetImages.length;
feetImgElement.src = feetImages[feetIndex];
}, 1200);
})();
</script>
<<narrative "But Liora's foot scent is completely different. Where Serin's feet had that powerful, almost addictive smell that made my head spin with lust, Liora's are clean and sweet - pleasant, but not the overwhelming rush I felt with Serin. It's strange how different my body reacts to each of them.">>
<<else>>
<<narrative "As I massage her feet, I find myself leaning closer, catching her natural scent. Her foot scent is clean and sweet with just a hint of natural femininity that makes my heart race.">>
<</if>>
<<dialog "Liora" "facewet" "Oh... $humanName... that feels amazing. Your hands on my feet... it's so soothing and relaxing.">>
<<narrative "I continue massaging her feet, working on each toe individually and running my fingers along her arches. She shifts into an even more comfortable position, giving me better access to massage her feet properly.">>
<center><img src="images/liora/chapter2/morningactivities/footfocus.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,192,203,0.3);"></center>
<<if ($serinChapter2ArmpitSeen === true)>>
<<narrative "I try breathing in her scent again, hoping for that same intense rush I felt with Serin, but it just doesn't happen. Liora's feet are beautiful and the massage is intimate, but they don't trigger that same overwhelming arousal. Still, the contact is definitely pleasant and arousing in its own gentle way.">>
<<else>>
<<narrative "The combination of her stockings, her soft sighs of pleasure as I massage her feet - it's definitely arousing and intimate. I find myself enjoying the contact more than I expected.">>
<</if>>
<<dialog "Liora" "facewet" "Your hands feel so good on my feet... this is so relaxing and nice.">>
<<narrative "The foot massage has become a tender, intimate moment between us. Every gentle touch of her soles, every soft sigh she makes is building a warm connection, even if it's not the intense rush I might have expected.">>
<center><img src="images/liora/chapter2/morningactivities/footfocus.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,192,203,0.3);"></center>
<<dialog "Liora" "facewet" "This feels wonderful... my feet feel so much better now. Thank you for being so caring.">>
<<narrative "The foot massage is creating a lovely intimate moment between us. The trust she's showing me, the soft sounds of contentment she makes - it's building a sweet, romantic heat between us.">>
<<if ($serinChapter2ArmpitSeen === true)>>
<<changeLust "Rylan" 18>>
<<changeFetish "Rylan" "feetFetish" 0.2>>
<<changeFetish "Rylan" "smellFetish" 0.1>>
<<else>>
<<changeLust "Rylan" 15>>
<<changeFetish "Rylan" "feetFetish" 0.25>>
<<changeFetish "Rylan" "smellFetish" 0.15>>
<</if>>
<<narrative "As the massage comes to an end, Liora sits up and turns to face me, her cheeks flushed and her eyes bright with gratitude and something more.">>
<<dialog "Liora" "facesmile" "That was incredible, $humanName. I feel so much better... and so cared for.">>
<<narrative "We're sitting very close now, and the intimate atmosphere from the massage has created a tender moment between us. Our eyes meet, and I can see the affection and trust there.">>
<<dialog "Rylan" "face" "You deserve to be taken care of, Liora. You do so much for all of us.">>
<<narrative "Without words, we both lean closer. The kiss that follows is gentle and sweet, filled with the tenderness that has been building between us all morning.">>
<center><img src="images/liora/chapter2/rylankiss/1.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,192,203,0.3);"></center>
<<dialog "Liora" "facewet" "I love these moments with you," "she whispers against my lips" "They feel so right...">>
<<continueBox "LioraMorningReflection" "Morning Reflection" "">>
</div>
<</nobr>>
<<quickSexTrack "kiss" "Rylan" "Liora" 1>>
<<changeAffection "Rylan" "Liora" 3>>
<<changeAffection "Liora" "Rylan" 3>>
<<changeAttraction "Rylan" "Liora" 2>>
<<changeAttraction "Liora" "Rylan" 2>><<pov "rylan" "sensualmassage.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "I decide to focus on her upper legs and thighs, working my hands higher up her silky stockings. The intimate contact as I massage her inner thighs through the delicate fabric is incredibly arousing for both of us.">>
<<dialog "Liora" "facewet" "Oh... $humanName... your hands so high up my legs... it feels so intimate and wonderful.">>
<<narrative "The trust she's showing me, allowing me to massage her upper thighs so close to her most intimate areas, the soft sounds of pleasure she makes - it's building an incredible romantic and sexual tension between us.">>
<<narrative "I work carefully and tenderly on her thigh muscles, each touch sending waves of pleasure through her body. The way her breathing quickens tells me she's feeling the same intense arousal I am.">>
<center><img src="images/liora/chapter2/morningactivities/massagethighs.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,192,203,0.3);"></center>
<<changeLust "Rylan" 12>><<trackLust "Rylan" 12>><<set $rylan_thighFetish = ($rylan_thighFetish || 0) + 0.2>><<trackFetish "Rylan" "thighFetish" 0.2>>
<<narrative "As the incredibly sensual massage comes to an end, Liora is completely flushed with arousal and emotion. She sits up slowly, her body still trembling from the intense pleasure I've given her.">>
<<dialog "Liora" "facewet" "$humanName... that was... I've never felt anything like that before. You made me feel so... so alive.">>
<<narrative "We're sitting very close now, both of us breathing heavily from the intensity of what we just shared. The air between us is electric with desire and emotion.">>
<<dialog "Rylan" "faceembarrassed" "Liora... you're so beautiful. Every moment with you is perfect.">>
<<narrative "Unable to resist any longer, we both lean toward each other. The kiss that follows is passionate and intense, filled with all the desire that has been building between us during this incredibly intimate morning.">>
<center><img src="images/liora/chapter2/rylankiss/1.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,192,203,0.3);"></center>
<<dialog "Liora" "facewet" "I love these moments with you," "she whispers against my lips" "They feel so right...">>
<<narrative "An incredibly sensual massage and passionate moment have brought you much closer together.">>
<<continueBox "LioraMorningReflection" "Morning Reflection" "">>
</div>
<</nobr>>
<<set $rylan_LioraKissCount = ($rylan_LioraKissCount || 0) + 1>><<set $liora_RylanKissCount = ($liora_RylanKissCount || 0) + 1>><<set $rylan_LioraAffection = ($rylan_LioraAffection || 0) + 3>><<set $liora_RylanAffection = ($liora_RylanAffection || 0) + 3>><<set $rylan_LioraAttraction = ($rylan_LioraAttraction || 0) + 2>><<set $liora_RylanAttraction = ($liora_RylanAttraction || 0) + 2>><<trackAffection "Rylan" "Liora" 3>><<trackAffection "Liora" "Rylan" 3>><<trackAttraction "Rylan" "Liora" 2>><<trackAttraction "Liora" "Rylan" 2>><<trackExperience "Rylan" "kiss" 1>><<trackExperience "Liora" "kiss" 1>><<pov "rylan" "sensualmassage.mp3">><<nobr>>
<div class="passage-container liora">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">💭 Liora's Thoughts 💭</p>
<p style="color: white; font-size: 1.1em;">Reflecting on confusing feelings...</p>
</div>
<center><img src="images/liora/faceembarrassedshortpink.webp" style="width: 150px; height: 150px; border-radius: 50%; border: 2px solid rgba(255,192,203,0.3); margin-bottom: 20px;"></center>
<<narrative "After $humanName leaves my room, I sit on my bed, still feeling the lingering warmth from his gentle touch. The massage was wonderful, but something about his behavior during it was... different.">>
<<if ($rylan_LioraFootSmelled === true)>>
<<if ($rylan_LioraFootSmelledChoice === true)>>
<<dialog "Liora" "faceembarrassedshortpink" "When he was massaging my feet... he was definitely smelling them. I could tell he was breathing deeper, leaning in closer on purpose. He wanted to smell my feet...">>
<<narrative "I touch my face, feeling the warmth in my cheeks. The thought that he finds my scent arousing... it makes me feel strangely excited and embarrassed at the same time. He was so deliberate about it.">>
<<dialog "Liora" "faceembarrassedshortpink" "Does he have a fetish for feet and scents? The way he acted... there was no mistaking it. He was enjoying breathing in my smell. Is that... is that what he likes about me?">>
<<else>>
<<dialog "Liora" "faceembarrassedshortpink" "When he was massaging my feet... did he... was he smelling them? I felt him lean in closer, and his breathing changed. It seemed like he was trying to catch my scent...">>
<<narrative "I touch my face, feeling the warmth in my cheeks. The thought that he might find my scent... interesting... makes me feel strangely excited and embarrassed at the same time.">>
<<dialog "Liora" "faceembarrassedshortpink" "Does he have some kind of... preference for that? I've never thought about it before, but the way he acted... it was almost like he was enjoying the smell. Is that normal for couples to do?">>
<</if>>
<</if>>
<<if ($lioraFirstKiss === "Seryk")>>
<center><img src="images/liora/faceworried.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,192,203,0.3); margin-bottom: 15px;"></center>
<<dialog "Liora" "faceworried" "But when we kissed just now... why didn't it feel the same as when Seryk kissed me? I love $humanName so much - more than anything - so why...?">>
<<narrative "I touch my lips, remembering both kisses. With $humanName, it was gentle and sweet, filled with love and care. But with Seryk... there was something else. Something that made my entire body react in ways I didn't understand.">>
<<dialog "Liora" "faceworried" "When Seryk kissed me, it was like electricity running through my whole body. I couldn't control myself... I made sounds I've never made before. But why? I barely know him compared to $humanName...">>
<<narrative "The confusion weighs on my heart. I feel guilty for even thinking about it, but I can't deny that Seryk's kiss awakened something in me that I don't fully comprehend.">>
<<dialog "Liora" "facesadshortpink" "Does this mean I don't really love $humanName? But that can't be right... I do love him. So why did my body respond so strongly to someone else? What's wrong with me?">>
<<else>>
<center><img src="images/liora/facesmile.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 2px solid rgba(255,192,203,0.3); margin-bottom: 15px;"></center>
<<dialog "Liora" "facesmile" "That kiss was so perfect... gentle and loving, just like him. Being with $humanName feels so right, so natural. Like we belong together.">>
<<narrative "I hug my pillow, smiling as I replay the tender moment. His hands were so caring during the massage, and the kiss afterward felt like a natural extension of that affection.">>
<<dialog "Liora" "facesmile" "I feel so safe with him, so cherished. Whatever challenges we face as adventurers, I know we'll face them together. This connection we have... it's something special.">>
<</if>>
<<narrative "Whatever these confusing feelings are, I know one thing for certain - I care deeply about $humanName. He makes me feel valued and protected in a way no one else does.">>
<<dialog "Liora" "face" "I should focus on what we have together. These other thoughts... they're just confusion. What matters is that we're building something beautiful together, one gentle moment at a time.">>
<<narrative "With that thought, I organize my herbs and prepare for whatever the day might bring. But in the back of my mind, questions about my own feelings continue to linger.">>
<<narrative "Liora's heart is filled with love but also confusion about her own reactions and desires.">>
<<continueBox "MorningActivities" "Morning Activities" "">>
</div>
<</nobr>>
<<pov "liora" "liorarylandate.mp3">><<nobr>>
<<set $seryk_LioraAffection += 4>><<set $liora_SerykAffection += 5>><<set $liora_manaOverload = true>><<set $seryk_PhysicalPower += 0.3>><<set $currentSerykFace = "seryk/face.webp">><<set $currentFace = $currentSerykFace>><<trackAffection "Seryk" "Liora" 4>><<trackAffection "Liora" "Seryk" 5>><<trackOther "Seryk" "PhysicalPower" 0.3>>
<div class="passage-container seryk">
<center><img src="images/liora/chapter2/ntr1/serykrunning.webp" style="width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "From Seryk's perspective...">>
<<narrative "I've never run this fast in my entire life. My demon heritage gives me incredible physical capabilities, but right now I'm pushing beyond even those limits. My muscles are screaming in protest, burning with each powerful stride as I crash through the forest.">>
<<narrative "I don't even fully understand why I'm pushing myself this hard. Something deep inside me - some primal protective instinct - is driving me forward with desperate urgency. Little Bird is in danger, and that thought alone is enough to make me ignore the pain coursing through my body.">>
<<dialog "Seryk" "faceserious" "Hold on, Liora... I'm coming..." "I growl through gritted teeth, leaping over fallen logs and smashing through thick undergrowth that would stop a normal person cold.">>
<<narrative "The flower clearing comes into view, but it's empty. My heart sinks for a moment until I catch sight of something that makes my blood run cold - dark red droplets scattered across the colorful petals.">>
<center><img src="images/liora/chapter2/ntr1/bloodflowers.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "faceserious" "Blood..." "I whisper, my demon senses immediately picking up the scent. It's definitely Liora's - I'd recognize her scent anywhere after traveling together for so long.">>
<<narrative "Without hesitation, I follow the trail. My enhanced senses guide me through the forest as I track the scent of blood mixed with fear and desperation. The trail leads deeper into the woods, toward a rocky outcropping I hadn't noticed before.">>
<center><img src="images/landscapes/forestcave.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The scent trail leads to a small cave entrance, and I can hear voices inside - the crude, guttural speech of goblins. My vision goes red with rage as I realize what's happening.">>
<<dialog "Goblin" "face" "Kekeke! Where little human hiding? We find her soon!">>
<<dialog "Goblin" "face" "Boss say bring back alive, but maybe we have little fun first...">>
<<narrative "That's all I need to hear. Every restraint I normally keep on my demon strength disappears in an instant. These creatures threatened Little Bird - they're going to pay for that mistake with their lives.">>
<center><img src="images/seryk/faceangry.webp" style="width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I don't announce myself. I don't give them a chance to react. I simply explode into the cave like a force of nature, my bare hands becoming weapons of destruction.">>
<<narrative "The first goblin doesn't even have time to scream before my fist crushes its skull. The second tries to raise a weapon, but I tear it in half with my bare hands. The third and fourth attempt to flee, but there's nowhere to run in the confined space.">>
<<narrative "It's not a fight - it's a massacre. In less than ten seconds, four goblins lie dead around me, their blood painting the cave walls. Only then do I hear it - a soft, terrified whimper from deeper in the cave.">>
<<narrative "Following the sound deeper into the cave...">>
<<continueBox "LioraRescueContinue" "Rescue Continue" "">>
</div>
<</nobr>>
<<pov "seryk" "battle/goblinfightdesperate.mp3">><<nobr>>
<<set $seryk_LioraAffection += 8>><<set $liora_SerykAffection += 10>><<set $seryk_LioraAttraction += 3>><<set $liora_SerykAttraction += 4>><<trackAffection "Seryk" "Liora" 8>><<trackAffection "Liora" "Seryk" 10>><<trackAttraction "Seryk" "Liora" 3>><<trackAttraction "Liora" "Seryk" 4>>
<div class="passage-container seryk">
<center><img src="images/liora/chapter2/ntr1/woundedcave.webp" style="width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I find her sitting in the middle of the cave, her pink dress torn and stained with blood, her face streaked with tears. She's shaking uncontrollably, her eyes wide with terror and trauma.">>
<<dialog "Liora" "facecrying" "I... I thought I was going to die..." "she sobs, her voice barely a whisper" "They were hunting me, and I couldn't... I couldn't cast anymore spells...">>
<<narrative "My heart breaks seeing her like this. All my rage disappears, replaced by overwhelming protectiveness and concern. But I hesitate - she's Rylan's girlfriend. I shouldn't get too close. Still, I can't just leave her suffering.">>
<center><img src="images/liora/chapter2/ntr1/serykblood.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "faceserious" "Don't worry, Little Bird," "I say as gently as I can, my voice soft and reassuring" "You're safe now. I'm here, and nothing is going to hurt you anymore.">>
<<narrative "She looks up at me with those beautiful, tear-filled eyes, and I can see the relief flooding through her. But then she notices the blood covering my arms and her eyes widen with concern.">>
<<dialog "Liora" "facecrying" "You're hurt..." "she whispers, her healer's instincts overriding her fear for a moment" "I'm sorry, I'd like to heal you, but...">>
<<dialog "Seryk" "faceserious" "Don't worry, it's not my blood," "I say gently, keeping some distance" "Those goblins won't be hurting anyone ever again.">>
<<narrative "When I extend my hand to help her up, she tries to move and immediately winces in pain.">>
<<dialog "Liora" "facecrying" "I... I can't move properly," "she whispers, fresh tears streaming down her face" "I kept trying to cast healing spells even when I had no mana left. I think... I think I might have overloaded my magical circuits...">>
<<narrative "My blood runs cold. Magical circuit overload is extremely dangerous for mages. If her mana isn't restored soon, she could lose her ability to use magic permanently... or worse, the damage could be fatal.">>
<<dialog "Seryk" "faceserious" "That's... that's not good, Little Bird," "I say, trying to keep the worry out of my voice" "Magical overload can cause permanent damage if it's not treated quickly.">>
<<narrative "Then I remember something Nimeria said... There might be a way to help restore her magical energy, though it would require... intimate contact. The question is whether she trusts me enough to let me try.">>
<<narrative "Seeing her in pain like this, knowing she could lose her magic or worse...">>
<<continueBox "LioraSalivaSwap" "Saliva Swap" "">>
</div>
<</nobr>>
<<pov "seryk" "liorarescue.mp3">><<nobr>>
<<set $rylan_LioraAffection += 2>><<set $rylan_SerykAffection += 1>><<trackAffection "Rylan" "Liora" 2>><<trackAffection "Rylan" "Seryk" 1>>
<div class="passage-container rylan">
<center><img src="images/landscapes/forestcave.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "We finally reach the small cave where we can hear voices. My heart pounds as we approach the entrance, fearing the worst after hearing those terrible goblin screams earlier.">>
<<narrative "But as we enter the cave, relief floods through me. Liora is there, alive and seemingly unharmed. She's sitting near the cave wall, and though she appears safe, I notice something odd about her appearance.">>
<center><img src="images/liora/facewet.webp" style="width: 300px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Her face is flushed and slightly sweaty, her breathing seems a bit labored, and there's something different in her eyes - a glazed, almost dreamy quality I've never seen before. But she doesn't appear to have any wounds.">>
<<dialog "Rylan" "faceworried" "Liora! Are you okay?" "I rush to her side, my voice filled with concern" "We heard the goblins and came as fast as we could. Are you hurt?">>
<<dialog "Liora" "facesmile" "I'm... I'm fine, $humanName," "she says softly, though her voice sounds slightly breathless" "Thanks to Seryk. He saved me from those goblins.">>
<<narrative "I turn to look at Seryk, who stands near the cave entrance. His expression is still dark with anger, his jaw clenched tight. The fury from earlier hasn't completely faded from his features.">>
<<dialog "Rylan" "faceworried" "Seryk... thank you," "I say earnestly, meeting his eyes" "I know you're angry with me for what happened, but... thank you for protecting her. I owe you.">>
<<narrative "Seryk's expression softens slightly at my words, though the tension doesn't completely leave his shoulders. He nods curtly, accepting my gratitude but clearly still upset about the situation.">>
<<dialog "Seryk" "faceserious" "Just... be more careful next time, bro," "he says quietly, his voice carrying a mix of relief and lingering frustration" "We can't afford mistakes like that again.">>
<<dialog "Serin" "faceworried" "Are you sure you're not hurt, Liora?" "Serin asks, kneeling beside her" "You look... flushed. And you're sweating.">>
<<dialog "Liora" "facesmile" "I'm just... tired from running and hiding," "Liora replies, though she avoids eye contact" "It was scary, but Seryk arrived just in time.">>
<<narrative "Something about her demeanor seems off, but I can't put my finger on what exactly. She seems safe and unharmed, which is all that matters right now.">>
<<narrative "With Liora safe and the goblin threat eliminated, we should head back to report our success to the guild...">>
<<continueBox "HomeArrivalAfterMission" "Return Home" "">>
</div>
<</nobr>>
<<pov "rylan" "default2.mp3">><<nobr>>
<<set $serykxliorantr = "stage1">><<changeLust "Seryk" 65>><<changeLust "Liora" 70>><<set $seryk_SalivaFetish += 0.3>><<set $liora_SalivaFetish += 1>><<set $liora_submissionFetish += 0.2>><<set $seryk_dominanceFetish += 0.2>><<set $seryk_LioraAffection += 5>><<set $liora_SerykAffection += 8>><<set $seryk_LioraAttraction += 6>><<set $liora_SerykAttraction += 7>><<trackLust "Seryk" 65>><<trackLust "Liora" 70>><<trackFetish "Seryk" "salivaFetish" 0.3>><<trackFetish "Liora" "salivaFetish" 1>><<trackFetish "Liora" "submissionFetish" 0.2>><<trackFetish "Seryk" "dominanceFetish" 0.2>><<trackAffection "Seryk" "Liora" 5>><<trackAffection "Liora" "Seryk" 8>><<trackAttraction "Seryk" "Liora" 6>><<trackAttraction "Liora" "Seryk" 7>>
<div class="passage-container seryk">
<center><img src="images/liora/chapter2/ntr1/woundedcave.webp" style="width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I kneel down closer to her, my heart pounding as I prepare to explain what needs to be done. The cave feels smaller suddenly, more intimate.">>
<<dialog "Seryk" "faceserious" "Little Bird... I need to ask you something important," "I say, my voice gentle but serious" "Do you truly trust me? Completely?">>
<<narrative "She looks up at me with those beautiful blue eyes, still glistening with tears but now filled with determination.">>
<<dialog "Liora" "faceworried" "Yes," "she whispers without hesitation" "You saved me. I trust you with my life.">>
<<narrative "Her complete faith in me sends a warmth through my chest, but also makes what I'm about to do feel even more significant.">>
<<dialog "Seryk" "faceserious" "Then close your eyes, Little Bird," "I say softly, moving closer" "Open your mouth, and don't open your eyes until I tell you to. This might feel strange, but it's the only way I can help restore your magical energy.">>
<center><img src="images/liora/chapter2/ntr1/mouthopen.webp" style="width: 400px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She obeys immediately, closing her eyes and parting her lips slightly. The sight of her trusting, vulnerable face makes my heart race faster. I position myself above her, gathering saliva in my mouth.">>
<<narrative "This is it. Nimeria told me that demon body fluids can restore magical energy in humans... I just hope this works.">>
<<narrative "I let the first drop fall from my lips into her waiting mouth. She flinches slightly at the unexpected sensation but doesn't pull away.">>
<center><img src="images/liora/chapter2/ntr1/salivaswap1.webp" style="width: 400px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "faceworried" "Mmph..." "she makes a small sound of surprise, but swallows obediently">>
<center><img src="images/liora/chapter2/ntr1/swallow.webp" style="width: 400px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Almost immediately, I can see some color returning to her pale cheeks. It's working. I continue, letting more saliva drop into her mouth, watching as she swallows each time.">>
<<narrative "Damn... this is more arousing than I expected. The way she's so trusting, so submissive... opening her mouth for me like this...">>
<center><img src="images/liora/chapter2/ntr1/mouthopen2.webp" style="width: 400px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "After several more drops, I notice her breathing becoming heavier. A light blush spreads across her cheeks, and small beads of sweat appear on her forehead. Her expression... it's becoming more flushed, more heated.">>
<<dialog "Liora" "facewet" "Ahh..." "she breathes softly, her lips parting wider as if asking for more">>
<center><img src="images/liora/chapter2/ntr1/salivaswap2.webp" style="width: 400px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Fuck... she's getting aroused by this. The way she's responding... it's incredibly sexy. I should stop, but...">>
<<narrative "I continue the treatment, my own arousal building as I watch her reactions. Her wounds are visibly healing now - the cuts on her arms closing, the bruises fading. She definitely has enough mana to cast healing spells again.">>
<center><img src="images/liora/chapter2/ntr1/salivaswallow1.webp" style="width: 400px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "But she seems to be in some kind of trance now, her face flushed with pleasure, small moans escaping her lips each time she swallows. She's no longer the terrified girl I found - she looks almost... intoxicated.">>
<<dialog "Liora" "facewet" "More..." "she whispers breathlessly, her eyes still closed but her expression completely changed" "Please... more...">>
<<narrative "She's begging for it now. This is so wrong, but I can't stop myself. The way she's responding to my saliva, the trust she's showing me...">>
<center><img src="images/liora/chapter2/ntr1/salivaswap6.webp" style="width: 400px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I'm about to continue when I hear voices echoing from outside the cave - distant but getting closer. My blood runs cold as I recognize one of them.">>
<<dialog "Rylan" "faceworried" "Liora! LIORA! Where are you?!">>
<<thought "Seryk" "faceworried" "$humanName. They found us.">>
<<dialog "Seryk" "faceserious" "Little Bird, open your eyes," "I say quickly, pulling back" "Your friends are here.">>
<center><img src="images/liora/chapter2/ntr1/eyesopening.webp" style="width: 500px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She blinks slowly, as if waking from a dream, her face still flushed and her breathing still heavy. For a moment, she looks confused, almost disappointed that it stopped.">>
<<dialog "Liora" "facewet" "I... what happened? I feel... different," "she says softly, touching her now-healed arms in amazement" "My magic... it's back. How did you...?">>
<<narrative "Before I can answer, the voices get closer. We need to get our story straight, and fast.">>
<<continueBox "SalivaSwapLioraPOV" "Liora's Perspective" "">>
</div>
<</nobr>>
<<pov "seryk" "ntr1.mp3">><<nobr>>
<<changeAffection "Liora" "Rylan" 2>>
<<changeCombatStat "Liora" "confidence" -1>>
<div class="passage-container liora">
<center><img src="images/liora/chapter2/violetflowers.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "From Liora's perspective...">>
<<narrative "I kneel among the wildflowers in the peaceful clearing, carefully gathering the blue-glowing Moonbell flowers that Nimeria requested. It's been over an hour since the others left to hunt goblins, and the silence is starting to worry me.">>
<<dialog "Liora" "faceworried" "They should have found some goblins by now..." "I murmur to myself, my hands trembling slightly as I place another Moonbell in my gathering pouch" "What if something happened? What if $humanName is in trouble again?">>
<<narrative "He's always trying so hard to prove himself, ever since his failed exam. What if this time he's pushed himself too far?">>
<<narrative "And then, in the distance, I hear it - the unmistakable sounds of combat. Clashing metal, shouts, and what sounds like... a lot of goblins.">>
<<dialog "Liora" "faceworried" "Oh no... there are so many of them..." "I breathe, my worst fears seeming to come true">>
<<narrative "The sounds of battle grow louder, and my heart pounds with worry for my friends...">>
<<continueBox "GoblinBattleResolutionNTR" "Battle Resolution" "">>
</div>
<</nobr>>
<<pov "liora" "forestofbeginningnorth.mp3">><<nobr>>
<<script>>window.AudioSystem.playBGM('default2.mp3');<</script>><<if !$morningVisitedToday>><<set $morningVisitedToday = []>><</if>><<if $morningActionPoints === undefined>><<set $morningActionPoints = 3>><</if>>
<div class="morning-activities-container" style="background-image: url('images/landscapes/rylanhome.webp'); background-size: cover; background-position: center; min-height: 500px; position: relative; border-radius: 10px; overflow: hidden;">
<div class="morning-overlay" style="background: linear-gradient(to bottom, rgba(255,248,220,0.7), rgba(255,239,213,0.8)); position: absolute; top: 0; left: 0; right: 0; bottom: 0;"></div>
<div class="morning-content" style="position: relative; z-index: 2; padding: 30px; text-align: center;">
<h2 style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin-bottom: 20px; font-size: 1.8em;">The morning is full of possibilities...</h2>
<div class="action-points-display" style="background: linear-gradient(145deg, rgba(255,215,0,0.3), rgba(218,165,32,0.4)); border: 2px solid rgba(255,223,0,0.4); border-radius: 12px; padding: 15px; margin: 20px auto; max-width: 300px; box-shadow: 0 6px 12px rgba(0,0,0,0.1); backdrop-filter: blur(5px);">
<h3 style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin: 0 0 5px 0; font-size: 1.3em;">Activity Points: <<print $morningActionPoints>>/3</h3>
<p style="color: #A0522D; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.9em; margin: 0; font-style: italic;">Each activity costs 1 point</p>
</div>
<div class="system-explanation" style="background: linear-gradient(145deg, rgba(255,228,181,0.3), rgba(255,218,185,0.4)); border: 1px solid rgba(218,165,32,0.3); border-radius: 8px; padding: 15px; margin: 20px auto; max-width: 500px; backdrop-filter: blur(3px);">
<h4 style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin: 0 0 10px 0; font-size: 1.1em;">☀️ How Morning Activities Work</h4>
<ul style="color: #A0522D; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.85em; margin: 0; padding-left: 20px; line-height: 1.4;">
<li><strong>Spend Time:</strong> Use activity points to spend quality time with characters</li>
<li><strong>Build Relationships:</strong> Morning activities help strengthen bonds and affection</li>
<li><strong>Personal Moments:</strong> Each character offers different types of interactions</li>
<li><strong>Limited Energy:</strong> You have 3 action points to spend on activities</li>
<li><strong>Multiple Visits:</strong> You can visit the same character multiple times if you have action points</li>
<li><strong>Choose Wisely:</strong> Each choice affects your relationships differently</li>
</ul>
</div>
<<if $morningActionPoints > 0>>
<p style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin-bottom: 40px; font-size: 1.1em;">
<<if $morningVisitedToday.length === 0>>After breakfast, you have some free time before the day gets busy. How would you like to spend it?<<else>>You still have energy for one more activity. What would you like to do?<</if>>
</p>
<<else>>
<p style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin-bottom: 40px; font-size: 1.1em;">You've spent your morning well. Time to see what the rest of the day brings...</p>
<</if>>
<div class="character-activity-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 40px 0;">
<<if $morningActionPoints > 0>>
<div class="activity-option-wrapper" style="text-align: center; position: relative;">
<<if $morningVisitedToday.includes("Liora")>>
<div class="activity-option visited" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2; opacity: 0.7;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(144,238,144,0.3), rgba(124,218,124,0.2)); border: 2px solid rgba(144,238,144,0.6); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.1); backdrop-filter: blur(5px); position: relative;">
<img src="images/liora/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(144,238,144,0.7);">
<div class="visited-badge" style="position: absolute; top: 5px; right: 5px; background: rgba(34,139,34,0.9); color: white; border-radius: 50%; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; font-size: 0.8em; font-weight: bold;">✓</div>
</div>
<h3 style="color: #228B22; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">💖 Liora <span style="color: #228B22; font-size: 0.8em;">(Visited)</span></h3>
<p style="color: #A0522D; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.9em; font-style: italic;">"She seems thoughtful this morning..."</p>
</div>
<<else>>
<div class="activity-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.3), rgba(255,255,255,0.2)); border: 2px solid rgba(218,165,32,0.4); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.1); backdrop-filter: blur(5px);">
<img src="images/liora/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(218,165,32,0.5);">
</div>
<h3 style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">💖 Liora</h3>
<p style="color: #A0522D; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.9em; font-style: italic;">"She seems thoughtful this morning..."</p>
</div>
<</if>>
<<link "Spend time with Liora" "LioraMorningActivity">><<set $morningActionPoints -= 1>><<set $morningVisitedToday.push("Liora")>><</link>>
</div>
<</if>>
<<if $morningActionPoints > 0>>
<div class="activity-option-wrapper" style="text-align: center; position: relative;">
<<if $morningVisitedToday.includes("Seryk")>>
<div class="activity-option visited" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2; opacity: 0.7;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(144,238,144,0.3), rgba(124,218,124,0.2)); border: 2px solid rgba(144,238,144,0.6); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.1); backdrop-filter: blur(5px); position: relative;">
<img src="images/seryk/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(144,238,144,0.7);">
<div class="visited-badge" style="position: absolute; top: 5px; right: 5px; background: rgba(34,139,34,0.9); color: white; border-radius: 50%; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; font-size: 0.8em; font-weight: bold;">✓</div>
</div>
<h3 style="color: #228B22; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">💖 Seryk <span style="color: #228B22; font-size: 0.8em;">(Visited)</span></h3>
<p style="color: #A0522D; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.9em; font-style: italic;">"Take a quick bath together..."</p>
<p style="color: #FF4500; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 1.0em; font-weight: bold; margin-top: 8px; text-align: center; background: rgba(255,69,0,0.2); padding: 5px; border-radius: 5px; border: 1px solid rgba(255,69,0,0.4);">⚠️ GAY CONTENT WARNING ⚠️</p>
</div>
<<else>>
<div class="activity-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.3), rgba(255,255,255,0.2)); border: 2px solid rgba(218,165,32,0.4); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.1); backdrop-filter: blur(5px);">
<img src="images/seryk/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(218,165,32,0.5);">
</div>
<h3 style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">💖 Seryk</h3>
<p style="color: #A0522D; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.9em; font-style: italic;">"Take a quick bath together..."</p>
<p style="color: #FF4500; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 1.0em; font-weight: bold; margin-top: 8px; text-align: center; background: rgba(255,69,0,0.2); padding: 5px; border-radius: 5px; border: 1px solid rgba(255,69,0,0.4);">⚠️ GAY CONTENT WARNING ⚠️</p>
</div>
<</if>>
<<link "Join Seryk for a bath" "SerykMorningActivity">><<set $morningActionPoints -= 1>><<set $morningVisitedToday.push("Seryk")>><</link>>
</div>
<</if>>
<<if $morningVisitedToday.length > 0 && $morningActionPoints > 0>>
<div class="visited-status" style="margin: 20px 0; padding: 15px; background: linear-gradient(145deg, rgba(144,238,144,0.3), rgba(124,218,124,0.4)); border: 1px solid rgba(144,238,144,0.4); border-radius: 8px; backdrop-filter: blur(3px);">
<p style="color: #228B22; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.9em; margin: 0; font-style: italic;">You've already spent time with: <<for _i = 0; _i < $morningVisitedToday.length; _i++>><<if _i > 0 && _i === $morningVisitedToday.length - 1>> and <</if>><<if _i > 0 && _i < $morningVisitedToday.length - 1>>, <</if>>$morningVisitedToday[_i]<</for>> this morning. You can visit them again if you have action points!</p>
</div>
<</if>>
<<if $morningActionPoints === 0>>
<div class="all-visited" style="margin: 20px 0; padding: 15px; background: linear-gradient(145deg, rgba(255,182,193,0.3), rgba(255,160,180,0.4)); border: 1px solid rgba(255,182,193,0.4); border-radius: 8px; backdrop-filter: blur(3px);">
<p style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.9em; margin: 0; font-style: italic;">You've made the most of your morning. Time to see what comes next...</p>
</div>
<</if>>
</div>
<div class="nimeria-section" style="border-top: 2px solid rgba(218,165,32,0.4); margin-top: 40px; padding-top: 30px;">
<h3 style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin-bottom: 20px; font-size: 1.3em;">📍 Private Meeting (Ends Morning Activities)</h3>
<<if !$morningVisitedToday.includes("Nimeria")>>
<div class="activity-option-wrapper" style="text-align: center; position: relative; max-width: 200px; margin: 0 auto;">
<div class="activity-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.3), rgba(255,255,255,0.2)); border: 2px solid rgba(218,165,32,0.4); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.1); backdrop-filter: blur(5px);">
<img src="images/nimeria/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(218,165,32,0.5);">
</div>
<h3 style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">😊 Nimeria</h3>
<p style="color: #A0522D; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.9em; font-style: italic;">"She wanted to talk privately..."</p>
<p style="color: #DC143C; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.85em; font-weight: bold; margin-top: 8px; font-style: italic;">⚠️ This will end morning activities</p>
</div>
<<link "Visit Nimeria's room" "NimeriaMorningActivity">><<set $morningActionPoints = 0>><<set $morningVisitedToday.push("Nimeria")>><</link>>
</div>
<<else>>
<p style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-style: italic;">You've already visited Nimeria this morning...</p>
<</if>>
</div>
</div>
</div>
<style>
.activity-option:hover {
transform: translateY(-5px) scale(1.05);
opacity: 0.9;
}
.activity-option:hover .character-frame {
border-color: rgba(218,165,32,0.7);
box-shadow: 0 12px 24px rgba(0,0,0,0.2);
}
.activity-option:hover img {
border-color: rgba(218,165,32,0.8);
transform: scale(1.05);
}
.activity-option:hover h3 {
color: #654321;
}
.continue-option:hover {
transform: translateY(-3px) scale(1.02);
opacity: 0.9;
}
.activity-option:active, .continue-option:active {
transform: translateY(-2px) scale(1.01);
}
.morning-content a {
color: #8B4513;
text-decoration: none;
background: linear-gradient(145deg, rgba(255,215,0,0.3), rgba(218,165,32,0.2));
border: 1px solid rgba(218,165,32,0.4);
border-radius: 8px;
padding: 10px 20px;
display: inline-block;
margin-top: 10px;
transition: all 0.3s ease;
text-shadow: 1px 1px 2px rgba(255,255,255,0.8);
font-weight: bold;
font-size: 1.1em;
}
.morning-content a:hover {
color: #654321;
background: linear-gradient(145deg, rgba(255,215,0,0.5), rgba(218,165,32,0.4));
border-color: rgba(218,165,32,0.6);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.morning-content a:active {
transform: translateY(0px);
box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
</style>
<<statSummary>>
<<changeFace $currentRylanFace>>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">🌅 Morning Activities Complete 🌅</p>
<p style="color: white; font-size: 1.1em;">Time to see what the day brings...</p>
</div>
<<if $morningVisitedToday.includes("Nimeria")>>
<<if $rylanxnimeriahandjob>>
<<narrative "As I leave Nimeria's room, my mind is spinning with what just happened. The memory of her touch, her kiss, her intoxicating scent... it all feels like a dream, but the uncomfortable wetness in my underwear tells me it was very real. I need to find a way to clean up without anyone noticing.">>
<<narrative "I can't shake the feeling that something fundamental has changed. There's a new weight on my shoulders, a secret I'll have to carry. How will I look Liora in the eyes now?">>
<<else>>
<<narrative "As I leave Nimeria's room, I feel a mix of relief and regret. I managed to resist her advances, but the tension between us is palpable now. I can't help but wonder what might have happened if I had given in...">>
<<narrative "Her final words echo in my mind. Have I made an enemy? Or was this just a test of some kind? Only time will tell.">>
<</if>>
<<else>>
<<narrative "The morning activities have given me some time to connect with the people who matter to me. Each interaction has deepened our relationships in its own way.">>
<</if>>
<<if $morningVisitedToday.includes("Liora")>>
<<narrative "The time I spent with Liora this morning was precious. Every moment with her feels like a gift, and I can feel our bond growing stronger.">>
<</if>>
<<if $morningVisitedToday.includes("Seryk")>>
<<narrative "The bath with Seryk was... confusing. I'm still trying to process what happened and what it might mean. These new feelings are unsettling, but I can't deny they exist.">>
<</if>>
<<narrative "Whatever happened this morning, it's time to move forward. The day is still young, and there's much to do.">>
<div class="morning-summary" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin-bottom: 25px;">
<h3 style="color: white; margin-bottom: 15px; font-size: 1.2em;">Morning Activities Summary:</h3>
<ul style="color: white; line-height: 1.6; margin-bottom: 20px;">
<<for _i = 0; _i < $morningVisitedToday.length; _i++>>
<li style="margin-bottom: 8px;">✓ Spent time with $morningVisitedToday[_i]</li>
<</for>>
</ul>
<<if $morningVisitedToday.length === 0>>
<p style="color: white; font-style: italic;">You chose to skip the morning activities and move straight to the day's events.</p>
<</if>>
</div>
<<narrative "The morning has set the tone for what's to come...">>
<<continueBox "EndOfChapter2" "Day Continues" "">>
<<set $morningVisitedToday = []>><<set $morningActionPoints = 2>>
</div>
<</nobr>>
<<pov "rylan" "default2.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>><<set $gameDay = ($gameDay || 1) + 1>><<set $timeOfDay = "morning">><<trackOther "Game" "day" 1>>
<div class="passage-container rylan">
<div class="day-transition" style="background: linear-gradient(to bottom, rgba(0,0,0,0.95), rgba(40,40,40,0.9)); padding: 50px; border-radius: 15px; text-align: center; margin-bottom: 30px; border: 3px solid rgba(255,255,255,0.2);">
<div class="transition-animation" style="animation: fadeInOut 3s ease-in-out;">
<p style="color: #ffd700; font-size: 2.2em; font-weight: bold; margin-bottom: 25px; text-shadow: 3px 3px 6px rgba(0,0,0,0.8);">✦ ✧ ✦ ✧ ✦</p>
<p style="color: #ffffff; font-size: 1.6em; font-style: italic; margin-bottom: 20px; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">The Next Day...</p>
<p style="color: #ffeb9c; font-size: 1.2em; margin-bottom: 25px;">After a magical evening, dawn brings new beginnings</p>
<p style="color: #ffd700; font-size: 2.2em; font-weight: bold; text-shadow: 3px 3px 6px rgba(0,0,0,0.8);">✦ ✧ ✦ ✧ ✦</p>
</div>
</div>
<div id="mainContent" style="opacity: 0; animation: delayedFadeIn 1s ease-in 3s forwards;">
<div class="time-transition" style="background: rgba(60, 50, 40, 0.8); border: 1px solid rgba(255,255,255,0.5); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: #ffd700; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">🌅 Day $day - Morning 🌅</p>
<p style="color: #ffeb9c; font-size: 1.1em;">The golden rays of dawn filter through the windows...</p>
</div>
</div>
<center><img src="images/landscapes/kitchen.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<narrative "I wake up feeling like I'm walking on air. Last night's kiss with Liora still has my heart racing every time I think about it. As I make my way downstairs to the kitchen, I can't help but smile.">>
<<narrative "The familiar sounds of breakfast preparation greet me as I enter the kitchen. $marielToHuman is at the stove, and I can see Liora and Serin already seated at the table.">>
<<dialog "Mariel" "face" "Good morning, $humanName. You look well-rested today.">>
<<narrative "I take my usual seat at the table, trying not to let my gaze linger too obviously on Liora. She seems a bit quieter than usual this morning, though she gives me a small smile when our eyes meet.">>
<<dialog "Liora" "face" "Good morning, $humanName." "she says softly, her cheeks carrying just a hint of pink">>
<<dialog "Serin" "face" "So, what's the plan for today? We can't just sit around doing nothing.">>
<<dialog "Rylan" "face" "Actually, I was thinking we could take a rest day today. Yesterday was pretty intense, and we all could use some time to recover.">>
<<narrative "Serin raises an eyebrow at my suggestion, clearly not satisfied with the idea of doing nothing.">>
<<dialog "Serin" "facelaugh" "Rest day? Come on, $humanName! How about we do some training instead? I could show you some new techniques.">>
<<narrative "There's an eager glint in her emerald eyes, and I can tell she's already planning what kind of 'training' she has in mind.">>
<<dialog "Rylan" "faceembarrassed" "Training, huh? What kind of training exactly?">>
<<dialog "Serin" "faceteasing" "Oh, you know... combat practice, agility exercises, maybe some grappling?" "She grins mischievously" "Unless you're too tired to keep up with me?">>
<<narrative "Just as I'm about to respond to Serin's challenge, I hear familiar footsteps coming down the stairs. Nimeria appears in the kitchen doorway, already dressed for the day.">>
<<dialog "Nimeria" "face" "Good morning, everyone! I hope I'm not too late for breakfast.">>
<<dialog "Mariel" "facesmile" "Perfect timing, dear. Come sit with us.">>
<<narrative "Nimeria takes a seat at the table, her perpetual smile brightening as she looks around at everyone.">>
<<dialog "Nimeria" "facesmile" "Actually, I've been thinking... I really like $humanName. There's something about him that feels so familiar and comforting.">>
<<narrative "Her smile becomes more thoughtful as she looks at me directly.">>
<<dialog "Nimeria" "facesmile" "He reminds me so much of Zarn...">>
<<narrative "Suddenly, there's a loud *PFFT* sound as Seryk, who had been quietly sipping his tea, spits it out in surprise. He starts coughing, wiping his mouth with the back of his hand.">>
<<dialog "Seryk" "face" "*Cough* *Cough* Sorry, went down the wrong way...">>
<<dialog "Serin" "face" "Zarn? Who's Zarn?">>
<<dialog "Rylan" "face" "Yeah, who is he?">>
<<narrative "Nimeria's perpetual smile falters for just a moment, and I catch a brief flash of something deeper in her eyes before it's gone.">>
<<dialog "Nimeria" "face" "Oh, nevermind that.">>
<<narrative "She quickly returns to her usual bright demeanor, though Seryk still looks a bit shaken.">>
<<dialog "Nimeria" "facesmile" "Anyway, $humanName, I would love to talk with you later when you find the time. Could you visit me in my room? There are some things I'd like to discuss privately.">>
<<narrative "I look around the table at the different faces - Serin's competitive grin, Nimeria's gentle smile, and Liora's quiet expression as she listens to the conversation. Just as I'm about to speak, Nimeria leans forward slightly.">>
<<dialog "Nimeria" "facesmile" "You know, $humanName, Serin's training offer sounds wonderful. Physical activity in the morning is so energizing, don't you think? It might help clear your mind for... other conversations later.">>
<<narrative "There's something about the way she says it that feels encouraging, and Serin's eyes light up at the support.">>
<<dialog "Serin" "faceteasing" "See? Nimeria gets it! Alright, that's enough deliberating! Come on, $humanName, we're doing this training session right now.">>
<<narrative "Before I can protest, she walks around the table and grabs my arm, pulling me up from my chair with surprising strength.">>
<<dialog "Rylan" "faceembarrassed" "Wait, Serin! I haven't even finished my breakfast-">>
<<dialog "Serin" "facelaugh" "You can eat later! The morning is perfect for training, and I'm not taking no for an answer.">>
<<narrative "She starts dragging me toward the door, her grip firm and determined.">>
<<dialog "Nimeria" "facesmile" "Oh my, looks like you're busy this morning, $humanName. We can talk later when you're free.">>
<<dialog "Liora" "faceembarrassedshortpink" "Be careful, you two...">>
<<dialog "Mariel" "facelaugh" "Have fun, but don't overdo it!">>
<<narrative "I manage one last helpless look back at the table as Serin continues pulling me out of the kitchen, her emerald eyes sparkling with mischief and determination.">>
<<dialog "Serin" "face" "Come on, slowpoke! Time to see what you're really made of!">>
<<continueBox "TrainingWithSerinChapter2" "Training Session" "">>
<<set $serin_NimeriaAffection = ($serin_NimeriaAffection || 0) + 3>><<trackAffection "Serin" "Nimeria" 3>><<set $nimeria_SerinAffection = ($nimeria_SerinAffection || 0) + 2>><<trackAffection "Nimeria" "Serin" 2>><<set $nimeria_RylanAffection = ($nimeria_RylanAffection || 0) + 4>><<trackAffection "Nimeria" $humanName 4>><<set $nimeria_RylanAttraction = ($nimeria_RylanAttraction || 0) + 3>><<trackAttraction "Nimeria" $humanName 3>>
</div>
<</nobr>>
<<pov "rylan" "default2.mp3">><<nobr>>
<<set _baseThreshold = 65>><<set _lustMod = Math.floor(($rylan_Lust || 0) / 20) * -7>><<set _attractionMod = Math.floor(($rylan_NimeriaAttraction || 0) / 20) * -5>><<set _affectionMod = Math.floor(($rylan_NimeriaAffection || 0) / 20) * -3>><<set _finalThreshold = _baseThreshold + _lustMod + _attractionMod + _affectionMod>><<set _resistRoll = random(1, 100)>><<set _resistSuccess = _resistRoll <= _finalThreshold>>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">⚔️ Final Resistance ⚔️</p>
<p style="color: white; font-size: 1.1em;">The last moment to pull back...</p>
</div>
<<narrative "As her lips draw closer to mine, I make one final, desperate attempt to resist. My mind screams at me to think of Liora, to remember what's right.">>
<<dialog "Rylan" "faceembarrassed" "Wait... I... I can't... Liora...">>
<<narrative "But her scent is overwhelming, her touch intoxicating. She's so close now, her breath warm against my lips.">>
<<dialog "Nimeria" "face" "Shh... don't think so much. Just feel...">>
<div style="background: rgba(60,60,65,0.9); border: 1px solid rgba(120,120,120,0.5); border-radius: 6px; padding: 15px; margin: 20px 0; font-family: monospace;">
<p style="color: #FFD700; margin: 0; font-weight: bold;">🎲 Final Resistance Roll: <<print _resistRoll>> vs <<print _finalThreshold>></p>
<p style="color: #87CEEB; margin: 5px 0 0 0; font-size: 0.9em;">
Base Threshold: <<print _baseThreshold>> (Harder to resist now)<<if _lustMod < 0>> | Lust Penalty: <<print _lustMod>><</if>><<if _attractionMod < 0>> | Attraction Penalty: <<print _attractionMod>><</if>><<if _affectionMod < 0>> | Affection Penalty: <<print _affectionMod>><</if>>
</p>
</div>
<<if _resistSuccess>>
<<narrative "At the very last moment, I find the strength to pull away. My love for Liora burns brighter than my desire, and I manage to break free from Nimeria's spell.">>
<<dialog "Rylan" "facesad" "No! I won't betray Liora like this. I... I have to go.">>
<<narrative "I pull away from her completely, standing up despite my body's protests. Nimeria looks shocked, then hurt, then angry.">>
<<dialog "Nimeria" "faceangry" "You... you're making a mistake, $humanName. You'll regret this.">>
<<narrative "Her voice carries a dangerous edge now, her mask of sweetness slipping for just a moment.">>
<<dialog "Rylan" "face" "Maybe... but it's the right thing to do.">>
<<continueBox "MorningActivitiesEnd" "Resistance Successful" "You've resisted her ultimate temptation.">>
<<set $rylan_NimeriaAffection = ($rylan_NimeriaAffection || 0) - 5>><<set $nimeria_RylanAffection = ($nimeria_RylanAffection || 0) - 7>><<set $rylan_NimeriaAttraction = ($rylan_NimeriaAttraction || 0) - 2>><<set $nimeria_RylanAttraction = ($nimeria_RylanAttraction || 0) - 4>><<trackAffection "Rylan" "Nimeria" -5>><<trackAffection "Nimeria" "Rylan" -7>><<trackAttraction "Rylan" "Nimeria" -2>><<trackAttraction "Nimeria" "Rylan" -4>>
<<else>>
<<narrative "Despite my final desperate attempt, I can't find the strength to resist. Her overwhelming presence, her intoxicating scent, the pleasure she's giving me - it's all too much.">>
<center><img src="images/nimeria/chapter2/morningactivities/2.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facesmile" "That's it... stop fighting it. Let me take care of you...">>
<<narrative "My resistance crumbles completely, and I surrender to the inevitable.">>
<<continueBox "NimeriaKissAndClimax" "Resistance Failed" "Your final resistance has failed.">>
<<set $rylan_NimeriaAttraction = ($rylan_NimeriaAttraction || 0) + 1>><<set $nimeria_RylanAttraction = ($nimeria_RylanAttraction || 0) + 2>><<set $rylan_Lust = ($rylan_Lust || 0) + 3>><<trackAttraction "Rylan" "Nimeria" 1>><<trackAttraction "Nimeria" "Rylan" 2>><<trackLust "Rylan" 3>>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "nimeria.mp3">><<script>>
window.AudioSystem.playSFX('hsounds/kiss.wav');
setTimeout(function () {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 5000);
<</script>>
<<nobr>>
<<set $nimeriamaderylancum = true>><<set $rylanNimeriaKissed = true>>
<<quickSexTrack "kiss" "rylan" "nimeria" 1>>
<<quickSexTrack "kiss" "nimeria" "rylan" 1>>
<<addSoulCorruption "rylan" 1>>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">💋 The Kiss 💋</p>
<p style="color: white; font-size: 1.1em;">A moment of pure temptation...</p>
</div>
<<narrative "I can't resist anymore. As her face draws closer to mine, I close my eyes and let it happen. Her lips meet mine in a soft, tender kiss that sends electricity through my entire body.">>
<center><img src="images/nimeria/chapter2/morningactivities/5.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The kiss is unlike anything I've ever experienced. Her lips are impossibly soft, and that sweet, intoxicating scent fills my senses completely. Her hand continues its rhythmic motion, bringing me closer and closer to the edge.">>
<<dialog "Nimeria" "facesmile" "Mmm... just let go, $humanName. Let me take care of you...">>
<<narrative "Her whispered words against my lips are the final push I need. The combination of her kiss, her touch, and her overwhelming presence pushes me completely over the edge.">>
<center><img src="images/nimeria/chapter2/morningactivities/cum.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I can't hold back any longer. With a shuddering gasp against her lips, I reach my climax right there in my pants. Waves of intense pleasure crash over me as she continues to kiss me gently, her hand pressing against me through the fabric as I release.">>
<<narrative "The release is more intense than anything I've ever experienced before. It's as if she's drawn something out of me - not just physical pleasure, but something deeper, something that leaves me feeling both satisfied and strangely empty. I can feel the warm wetness spreading in my underwear.">>
<center><img src="images/nimeria/chapter2/morningactivities/3.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "faceembarrassed" "I... I can't believe we just... I'll need to go clean up...">>
<<dialog "Nimeria" "facesmile" "Shh... it's okay. You needed that release, didn't you? I could see how much stress you were carrying.">>
<center><img src="images/nimeria/chapter2/morningactivities/4.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She sits back with a satisfied smile on her face, but also something else - a look of possession, as if she's claimed something precious. I shift uncomfortably, very aware of the mess in my pants.">>
<<dialog "Nimeria" "face" "Remember, $humanName - you can always lean on me when it gets stressful again. When the pressure builds up, I'll always be here to help you... release it.">>
<<narrative "Her words carry a promise - or perhaps a warning. I can already feel a strange dependency forming, a desire to experience this again.">>
<<dialog "Nimeria" "facesmile" "You know... that was my first kiss too. I've been saving it for someone special, and I'm glad it was you, $humanName.">>
<<narrative "Her confession makes this moment even more significant. We've both crossed a line together, sharing something precious and intimate.">>
<<dialog "Nimeria" "facesmile" "This will be our little secret, won't it? Just between you and me...">>
<<dialog "Rylan" "faceembarrassed" "Y-yes... our secret.">>
<div class="corruption-showcase" style="background: linear-gradient(145deg, rgba(139,0,139,0.3), rgba(75,0,130,0.4)); border: 2px solid rgba(139,0,139,0.5); border-radius: 10px; padding: 20px; margin: 25px 0; text-align: center; box-shadow: 0 0 15px rgba(139,0,139,0.3);">
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0 0 10px 0; font-size: 1.3em;">💜 Soul Corruption Gained 💜</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 1.1em; margin: 0;">Your soul has been marked by forbidden pleasure...</p>
<p style="color: #DDA0DD; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 10px 0 0 0; font-style: italic;">+1 Soul Corruption</p>
</div>
<<continueBox "MorningActivitiesEnd" "Aftermath" "A line has been crossed.">>
<<changeAffection "Rylan" "Nimeria" 5>>
<<changeAffection "Nimeria" "Rylan" 4>>
<<changeAttraction "Rylan" "Nimeria" 4>>
<<changeAttraction "Nimeria" "Rylan" 5>>
<<changeLust "Rylan" -100>>
<<changeLust "Nimeria" 12>>
<<quickSexTrack "handjob" "Nimeria" "Rylan" 1>>
<<quickSexTrack "orgasm" "Nimeria" "Rylan" 1>>
</div>
<</nobr>>
<<pov "rylan" "nimeria.mp3">>
<<soulDisplay "rylan">><<nobr>>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">🌸 Private Conversation 🌸</p>
<p style="color: white; font-size: 1.1em;">A moment alone with Nimeria...</p>
</div>
<<narrative "I knock softly on Nimeria's door and hear her gentle voice inviting me in. As I step inside, I'm immediately struck by a strange scent - bitter yet sweet, almost intoxicating. <<if $serinChapter2ArmpitSeen>>It reminds me oddly of those pantyhose I was forced to smell during that embarrassing encounter with Serin, though this is somehow more... alluring.<</if>>">>
<center><img src="images/nimeria/chapter2/morningactivities/sittingbed.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "face" "Oh, $humanName! Please, come in and make yourself comfortable. I'm so glad you decided to visit me.">>
<<narrative "Her room is cozy and feminine, with soft fabrics and delicate decorations. She gestures for me to sit on a comfortable chair while she settles across from me, her dark hair catching the morning light beautifully.">>
<<dialog "Nimeria" "facesmile" "I hope I'm fitting in well here. Everyone has been so welcoming to me, especially you.">>
<<dialog "Rylan" "face" "You definitely are! We're all glad to have you here. Actually, I wanted to ask you something... You mentioned someone called Zarn this morning. Who is that?">>
<<narrative "Nimeria's expression grows more serious, though her smile never completely fades.">>
<<dialog "Nimeria" "facesad" "Oh, he was my only friend during my childhood. You know, demons hate people like me who have black hair. They think children with black hair are a bad omen, so I never had any friends. But Zarn never minded - he had black hair just like me.">>
<<narrative "She runs her fingers through her dark locks, and I notice how the light makes it shine with an almost ethereal beauty.">>
<<dialog "Nimeria" "face" "By the way, do you like my hair?">>
<<dialog "Rylan" "faceembarrassed" "Erm, yeah. I think it's beautiful.">>
<<dialog "Nimeria" "faceecstatic" "Oh really? You truly think so?">>
<<narrative "Her face lights up with what looks almost like ecstatic joy at the compliment, and I can't help but feel a warmth in my chest at making her so happy.">>
<<dialog "Rylan" "face" "What happened to Zarn?">>
<<dialog "Nimeria" "facesad" "Oh... he was killed during the war...">>
<<dialog "Rylan" "facesad" "Oh... I'm sorry to hear that.">>
<<dialog "Nimeria" "facesmile" "But never mind that. Let's talk about happier things. What's your dream, $humanName? What do you want to achieve in life?">>
<<dialog "Rylan" "face" "I want to become a strong adventurer, maybe reach S-rank someday. I want to prove myself and make my family proud.">>
<<dialog "Nimeria" "face" "That's wonderful, but... this all must be really stressful for you. The pressure, the expectations... I want you to know that when you visit me, you can just be yourself. I want to be the one you can lean on when it becomes too stressful.">>
<<narrative "Her voice becomes softer, more intimate, and I find myself drawn to her caring words.">>
<<dialog "Nimeria" "facesmile" "You should be more confident, you know. Someone like you is made to become a king. Don't make the same mistakes as Thalor - you are made for so much more.">>
<<dialog "Nimeria" "face" "You should be more ambitious too. Look around you - you're surrounded by beautiful women. Someone special like you should have his own harem. And just maybe... you could sometimes look at me too...">>
<<narrative "Her words catch me off guard. The way she says it, with that gentle smile and those knowing eyes, makes my heart race.">>
<<dialog "Rylan" "faceembarrassed" "But this wouldn't be allowed. I already have Liora.">>
<<dialog "Nimeria" "facesmile" "Nah... that's how a servant thinks. You will be a king. You should decide what is right and wrong, not some 'law' that was made by old men who are already dead.">>
<<narrative "Her words are seductive, challenging everything I've been taught about loyalty and relationships.">>
<<dialog "Nimeria" "face" "Come, sit here on the bed with me. It's much more comfortable, and we can talk more easily.">>
<<narrative "She pats the soft mattress beside her invitingly. My heart races at the intimate suggestion, but I find myself moving toward her, drawn by her gentle charm and the promise of closer conversation.">>
<<dialog "Nimeria" "face" "How far did you get with Liora yet?">>
<<if $rylanFirstKiss === "Liora">>
<<dialog "Rylan" "faceembarrassed" "Not far yet... we only kissed.">>
<<else>>
<<dialog "Rylan" "faceembarrassed" "Not far yet... we've just hugged and held hands.">>
<</if>>
<<dialog "Nimeria" "face" "Oh, how come?">>
<<dialog "Rylan" "facesad" "Well, I don't know how to initiate it.">>
<<dialog "Nimeria" "facesmile" "Oh, that's no problem. Just ask the women and girls around for help.">>
<<narrative "As she speaks, her eyes drift downward, and I notice her gaze lingering on the growing bulge in my pants. The intimate conversation and her close presence have had an undeniable effect on me.">>
<<narrative "Suddenly, she reaches out and gently touches the bulge in my pants. The contact sends a shock through my entire body.">>
<center><img src="images/nimeria/chapter2/morningactivities/rubbulge.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facesmile" "How about I start giving you some confidence?">>
<<narrative "It's getting dangerous... what should I do?">>
<<choiceBox "Nimeria's Advance" "Silently nod" "NimeriaSilentAcceptance" "NimeriaMorningActivity=silent" "Try to resist" "NimeriaResistAttempt" "NimeriaMorningActivity=resist">>
<<set $rylan_NimeriaAffection = ($rylan_NimeriaAffection || 0) + 3>> <<set $nimeria_RylanAffection = ($nimeria_RylanAffection || 0) + 2>> <<set $rylan_NimeriaAttraction = ($rylan_NimeriaAttraction || 0) + 2>> <<set $nimeria_RylanAttraction = ($nimeria_RylanAttraction || 0) + 3>> <<set $rylan_Lust = ($rylan_Lust || 0) + 8>> <<set $nimeria_Lust = ($nimeria_Lust || 0) + 5>> <<trackAffection "Rylan" "Nimeria" 3>> <<trackAffection "Nimeria" "Rylan" 2>> <<trackAttraction "Rylan" "Nimeria" 2>> <<trackAttraction "Nimeria" "Rylan" 3>> <<trackLust "Rylan" 8>> <<trackLust "Nimeria" 5>>
</div>
<</nobr>>
<<pov "rylan" "nimeria.mp3">><<nobr>>
<<set _baseThreshold = 65>><<set _lustMod = Math.floor(($rylan_Lust || 0) / 20) * -5>><<set _attractionMod = Math.floor(($rylan_NimeriaAttraction || 0) / 20) * -3>><<set _affectionMod = Math.floor(($rylan_NimeriaAffection || 0) / 20) * -2>><<set _finalThreshold = _baseThreshold + _lustMod + _attractionMod + _affectionMod>><<set _resistRoll = random(1, 100)>><<set _resistSuccess = _resistRoll <= _finalThreshold>>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">⚔️ Trying to Resist ⚔️</p>
<p style="color: white; font-size: 1.1em;">Fighting against temptation...</p>
</div>
<center><img src="images/nimeria/chapter2/morningactivities/rubbulge.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I try to pull back, to resist the temptation. My mind races with thoughts of Liora, of what's right and wrong.">>
<<dialog "Rylan" "faceembarrassed" "N-Nimeria, I... I can't. This isn't right. I have Liora, and...">>
<<narrative "She looks at me with understanding eyes, but her hand doesn't move away. Instead, she speaks in that soothing, hypnotic voice.">>
<<dialog "Nimeria" "face" "Shh... it's okay, $humanName. You're just confused. Let me help you think clearly...">>
<div style="background: rgba(60,60,65,0.9); border: 1px solid rgba(120,120,120,0.5); border-radius: 6px; padding: 15px; margin: 20px 0; font-family: monospace;">
<p style="color: #FFD700; margin: 0; font-weight: bold;">🎲 Resistance Roll:<<print _resistRoll>> vs <<print _finalThreshold>></p>
<p style="color: #87CEEB; margin: 5px 0 0 0; font-size: 0.9em;">
Base Threshold: <<print _baseThreshold>>
<<if _lustMod < 0>> | Lust Penalty: <<print _lustMod>><</if>>
<<if _attractionMod < 0>> | Attraction Penalty: <<print _attractionMod>><</if>>
<<if _affectionMod < 0>> | Affection Penalty: <<print _affectionMod>><</if>>
</p>
</div>
<<if _resistSuccess>>
<<narrative "Somehow, I find the strength to pull away. My love for Liora and my sense of what's right gives me the willpower to resist.">>
<<dialog "Rylan" "facesad" "I'm sorry, Nimeria. I can't do this. I care about you, but... I love Liora.">>
<<dialog "Nimeria" "facesad" "I... I understand. I'm sorry for pushing you. I just thought... never mind.">>
<<narrative "She pulls her hand away, looking genuinely hurt but trying to hide it behind a forced smile.">>
<<dialog "Nimeria" "face" "You should go. I need some time to... think.">>
<<narrative "You successfully resisted temptation, but at what cost?">>
<<continueBox "MorningActivitiesEnd" "Resistance Successful" "You resisted temptation.">>
<<set $rylan_NimeriaAffection = ($rylan_NimeriaAffection || 0) - 2>><<set $nimeria_RylanAffection = ($nimeria_RylanAffection || 0) - 3>><<trackAffection "Rylan" "Nimeria" -2>><<trackAffection "Nimeria" "Rylan" -3>>
<<else>>
<<narrative "Despite my best efforts, I can't find the strength to pull away. Her touch, her scent, her presence - it's all too overwhelming. My resistance crumbles.">>
<<dialog "Nimeria" "facesmile" "It's okay... you don't have to fight it. Just let me help you...">>
<<narrative "My body betrays my mind, and I find myself leaning into her touch rather than pulling away.">>
<<narrative "Your resistance has failed... you're drawn deeper into her web.">>
<<continueBox "NimeriaSilentAcceptance" "Resistance Failed" "You're drawn deeper into temptation.">>
<<set $rylanxnimeriahandjob = true>>
<<changeAttraction "Rylan" "Nimeria" 2>>
<<changeAttraction "Nimeria" "Rylan" 1>>
<<changeLust "Rylan" 5>>
<<changeLust "Nimeria" 4>>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "nimeria.mp3">><<nobr>>
<div class="passage-container nimeria">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">⚡ The Truth Revealed ⚡</p>
<p style="color: white; font-size: 1.1em;">A dark history unfolds...</p></div>
<<narrative "We walk outside in tense silence, away from the house where curious ears might overhear. The night air feels heavy with unspoken accusations as we find a secluded spot under the moonlight.">>
<<dialog "Nimeria" "facesmile" "Tell me, Seryk... do you know what our people were called before the world branded us 'demons'?">>
<<dialog "Seryk" "faceangry" "What does ancient history have to do with-">>
<<dialog "Nimeria" "face" "Everything, you muscle-brained fool. And I suppose you've never heard of Veryn either?">>
<<dialog "Seryk" "faceangry" "Nimeria, I didn't come here for a history lesson! We need to discuss what you've been doing to-">>
<<dialog "Nimeria" "faceangry" "Silence! You want answers? Then you'll listen to the whole truth, not just the parts that make you comfortable.">>
<<dialog "Seryk" "face" "Fine... but make it quick.">>
<<dialog "Nimeria" "face" "Three centuries ago, there lived an elf named Veryn. Brilliant, compassionate, devoted to helping others through his mastery of alchemy. He could restore barren lands, purify poisoned waters, heal wounds that should have been fatal. The poor adored him as a savior.">>
<<narrative "Seryk's expression shifts from anger to reluctant interest as I weave the tale.">>
<<dialog "Nimeria" "face" "He had a beautiful wife, heavy with child. Every journey away from her filled him with worry, but how could he ignore the desperate pleas of those who needed his help?">>
<<narrative "My voice takes on a darker tone as the story continues.">>
<<dialog "Nimeria" "face" "One fateful evening, he returned home to find his house ablaze. Inside, he discovered his wife's mutilated corpse... and the unborn child torn from her womb.">>
<<dialog "Seryk" "faceangry" "What kind of monster would do such a thing?">>
<<dialog "Nimeria" "facesmile" "The kind born from jealousy and greed. Nobles who saw his good works as a threat to their power over the masses. Less suffering means fewer people to exploit, after all.">>
<<dialog "Nimeria" "face" "As Veryn carried his wife's remains outside, the assassins were waiting. They taunted him, boasted of their deed, even revealed who had paid them - the Elven King himself.">>
<<dialog "Seryk" "face" "And he killed them for it?">>
<<dialog "Nimeria" "facesmile" "Oh, he slaughtered them easily enough. But do you know what he regretted most? That their deaths were too quick, too merciful.">>
<<narrative "I can see Seryk's unease growing as the implications become clear.">>
<<dialog "Nimeria" "face" "From that night forward, Veryn lived only for revenge. He gathered the downtrodden, the exploited, the forgotten. Together they stormed the Elven capital and took what they pleased - including the King's daughter and her handmaidens.">>
<<dialog "Nimeria" "face" "The princess was exquisite - golden hair like spun sunlight, skin like fresh snow. She reminded him of his murdered wife in her younger days. And what did this broken, brilliant man do with his captives?">>
<<narrative "My smile turns cruel.">>
<<dialog "Nimeria" "face" "He used them as subjects for his experiments. And when the scientific curiosity wasn't enough... he took his pleasure from them as well.">>
<<dialog "Nimeria" "face" "You see, Veryn had a theory - that magical potential isn't truly fixed at birth, but rather limited by the soul's capacity. He believed that with the right catalyst, one could expand those boundaries.">>
<<dialog "Seryk" "face" "The soulstones...">>
<<dialog "Nimeria" "facesmile" "Precisely. He infused crystallized dark energy into seeds, scattered them across the world, and observed the results. Monsters grew more vicious, some developed unnatural abilities. When he forced his captives to consume them...">>
<<narrative "The horrifying implications hang in the air between us.">>
<<dialog "Nimeria" "face" "Their magical capacity increased dramatically. They could wield powers completely foreign to their nature. But that wasn't enough for dear Veryn. He wondered... what would happen if he filled those stones with essence from other creatures? Could a human woman bear the offspring of a demon beast?">>
<<dialog "Seryk" "faceangry" "How could you possibly know all this?">>
<<dialog "Nimeria" "face" "Because I've read his journals, every twisted page. Years of abuse finally broke the princess completely. She began to crave his attention, to beg for his touch. When she became pregnant with his child, she wept with joy.">>
<<narrative "My voice drops to a whisper.">>
<<dialog "Nimeria" "face" "She wanted to give their son a name that would strike fear into the hearts of those who had destroyed their happiness. A name that would become legend. Azgorth.">>
<<dialog "Seryk" "face" "Gods above and below... No wonder you're so twisted, if that's the bedtime story you grew up with.">>
<<dialog "Seryk" "faceangry" "So you made us swallow those abominations, knowing full well what they were? What they could do to us?">>
<<dialog "Nimeria" "facesmile" "Of course I did.">>
<<dialog "Seryk" "faceangry" "You're insane! What if I had died? What if I'd transformed into some mindless beast?">>
<<dialog "Nimeria" "facesmile" "Oh, don't be so dramatic. I calculated a 65% chance you'd retain your sanity and only a 35% chance of... explosive failure. Those are excellent odds!">>
<<dialog "Seryk" "face" "...">>
<<narrative "The horrifying truth about their powers is about to be revealed...">>
<<continueBox "NimeriaSerykPowers" "The Powers Revealed" "Learn about the true nature of their abilities.">>
</div>
<</nobr>>
<<pov "nimeria" "seryknimeriaconfrontation.mp3">><<nobr>>
<div class="passage-container nimeria">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">🔥 Power Transfer Revealed 🔥</p>
<p style="color: white; font-size: 1.1em;">The horrifying truth...</p>
</div>
<<dialog "Seryk" "face" "Ever since I swallowed that cursed thing, I've been in a constant state of arousal. And everyone around me... they're getting affected too. Tell me this is just some temporary side effect.">>
<<dialog "Nimeria" "facesmile" "Oh, it's no side effect at all. You remember how we both lost our natural mana after... that incident? And you've surely noticed how my scent and touch can make people more pliable, more eager to please?">>
<<narrative "Her smile grows more predatory as she explains.">>
<<dialog "Nimeria" "facesmile" "My body produces mana-infused fluids now, just as your muscles are saturated with magical energy. I wondered... what would happen if I combined Veryn's soulstone experiment with my own essence? The results exceeded even my expectations.">>
<<dialog "Seryk" "faceangry" "You're completely mad...">>
<<dialog "Nimeria" "facesmile" "Mad? I've given you everything you need - strength, looks, and my own seductive abilities. You just lack the intellect to use them properly. Fortunately, there are plenty of beautiful people around us who can help satisfy your... needs.">>
<<dialog "Seryk" "face" "These people trust us, Nimeria. They've welcomed us into their home, their lives. How can you even suggest betraying that trust?">>
<<dialog "Nimeria" "face" "Betrayal? I prefer to think of it as... filling their hearts with passion they never knew they wanted.">>
<<dialog "Seryk" "face" "And these powers you claimed the soulstones would give us?">>
<<dialog "Nimeria" "facesmile" "Mostly lies, I'm afraid. The mana regeneration from your body fluids is real enough - a delightful side effect of our mana-saturated bodies. But the true power of unmanipulated soulstones is far more... personal.">>
<<narrative "Her expression becomes wickedly amused.">>
<<dialog "Nimeria" "facesmile" "They reshape the soul according to one's deepest desires. But desires can be so easily... influenced. People rarely want what they think they want.">>
<<narrative "Her smile turns absolutely sinister.">>
<<dialog "Nimeria" "facesmile" "Take dear $humanName, for instance. He desperately wants to be strong and masculine like his $humanToThalor. But wouldn't he look absolutely divine with silky smooth skin, soft curves, flowing hair, and feminine grace?">>
<<narrative "The horrifying scope of her manipulations becomes clear.">>
<<dialog "Nimeria" "facesmile" "And Serin - she yearns to be more feminine, more like sweet Liora. But imagine the delicious irony if she suddenly sprouted something decidedly masculine instead! As for Mariel... well, she's already perfect for breeding, but a little enhancement never hurt anyone.">>
<<dialog "Seryk" "facesad" "This breaks my heart, Nimeria. I keep wondering... was it something we did? Something that made you become this twisted version of yourself?">>
<<narrative "Seryk's voice carries genuine pain as he searches for answers.">>
<<dialog "Seryk" "face" "The village where we lived... did you orchestrate its destruction? Was that all part of some grand plan?">>
<<dialog "Nimeria" "facesmile" "Let's just say I recognized an opportunity when it presented itself, and I took full advantage.">>
<<dialog "Seryk" "faceangry" "You heartless monster! Those people cared for you, protected you!">>
<<dialog "Seryk" "face" "You were their little doll, Nimeria. Always treated well, pampered even... especially for being a slave.">>
<<dialog "Nimeria" "faceangry" "While you were worked to the bone, beaten for sport when the day's labor was done. Is that what you call fair treatment?">>
<<dialog "Seryk" "facesad" "Nimeria... we were slaves. Both of us. That was our reality.">>
<<dialog "Nimeria" "face" "You were a slave, Seryk. I was never meant for such degradation.">>
<<narrative "Her voice takes on a regal, imperious tone.">>
<<dialog "Nimeria" "facesmile" "I am a queen. I always have been.">>
<<dialog "Nimeria" "face" "And weren't you just a little bit relieved when it happened? When we finally had our freedom?">>
<<dialog "Seryk" "faceangry" "Relieved?! I can still hear their screams echoing in my nightmares!">>
<<narrative "His voice breaks with the weight of traumatic memories.">>
<<dialog "Nimeria" "facesmile" "But I saw you that night... you were smiling as the flames consumed everything. You smiled as the village burnt...">>
<<continueBox "ISmiledAsTheVillageBurnt" "Confrontation Climax" "The confrontation reaches its climax.">>
<<set $seryk_NimeriaAffection -= 5>><<trackAffection "Seryk" "Nimeria" -5>>
</div>
<</nobr>>
<<pov "nimeria" "seryknimeriaconfrontation.mp3">><<nobr>>
<<set $rylanxnimeriahandjob = true>>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">💜 Giving In 💜</p>
<p style="color: white; font-size: 1.1em;">A moment of weakness...</p>
</div>
<center><img src="images/nimeria/chapter2/morningactivities/rubbulge.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I find myself unable to speak, unable to resist. I give a small, almost imperceptible nod. Nimeria's smile widens with satisfaction and something else - something predatory yet caring.">>
<<dialog "Nimeria" "facesmile" "Good... just relax, $humanName. Let me help you build that confidence.">>
<<narrative "She begins to rub my member through my pants, her touch gentle yet purposeful. The sensation is overwhelming, and I can't help but let out a soft gasp.">>
<<dialog "Rylan" "faceembarrassed" "No... we shouldn't... Liora...">>
<<narrative "Even as I protest weakly, my body betrays me, responding eagerly to her touch. She continues her ministrations, her fingers working expertly through the fabric.">>
<<dialog "Nimeria" "face" "Don't worry... just relax. It's not cheating. I'm just helping you out.">>
<<narrative "Her voice is like honey, sweet and intoxicating. She moves closer, and that strange, alluring scent becomes stronger. It's overwhelming, making my head spin with desire.">>
<<narrative "Before I can react, she gracefully moves to straddle my lap, her soft thighs pressing against mine through the fabric of her dress. The intimate position makes my heart race even faster as she settles herself comfortably on top of me, never stopping her rhythmic movements.">>
<center><img src="images/nimeria/chapter2/morningactivities/sitonlap.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facesmile" "Just relax... breathe in and out, in and out...">>
<<narrative "I find myself following her instructions, breathing deeply. Each breath fills my lungs with her intoxicating scent, making me more compliant, more willing to let this happen.">>
<center><img src="images/nimeria/chapter2/morningactivities/1.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She draws nearer and nearer, her face moving closer to mine. I can feel her warm breath on my skin, see the desire in her eyes. Her hand never stops its rhythmic motion, driving me closer to the edge.">>
<<narrative "She's so close now... what should I do?">>
<<narrative "She's leaning in for a kiss...">>
<center><img src="images/nimeria/chapter2/morningactivities/2.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<choiceBox "The Moment of Truth" "Let it happen" "NimeriaKissAndClimax" "NimeriaSilentAcceptance=letItHappen" "Try to resist one more time" "NimeriaFinalResist" "NimeriaSilentAcceptance=resist">>
<<set $rylan_NimeriaAttraction = ($rylan_NimeriaAttraction || 0) + 3>><<set $nimeria_RylanAttraction = ($nimeria_RylanAttraction || 0) + 2>><<changeLust "Rylan" 10>><<changeLust "Nimeria" 8>><<trackAttraction "Rylan" "Nimeria" 3>><<trackAttraction "Nimeria" "Rylan" 2>><<trackLust "Rylan" 10>><<trackLust "Nimeria" 8>>
</div>
<</nobr>>
<<pov "rylan" "nimeria.mp3">><<nobr>>
<<script>>window.AudioSystem.playBGM('ismiledasthevillageburnt.mp3');<</script>>
<div class="transition-container" style="background: linear-gradient(135deg, rgba(139, 0, 139, 0.9), rgba(75, 0, 130, 0.95), rgba(139, 69, 19, 0.9)); min-height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 20px;">
<div class="chapter-title-section" style="text-align: center; margin-bottom: 60px;">
<h1 style="color: #FFD700; font-size: 4.5em; font-weight: bold; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); margin-bottom: 20px; letter-spacing: 3px;">Chapter 3</h1>
<h2 style="color: #F0E68C; font-size: 2.8em; font-style: italic; text-shadow: 2px 2px 4px rgba(0,0,0,0.7); margin-bottom: 30px;">Sparks in the Fog</h2>
<div style="width: 300px; height: 3px; background: linear-gradient(90deg, transparent, #FFD700, transparent); margin: 0 auto;"></div>
</div>
<div class="transition-text" style="max-width: 800px; text-align: center; margin: 40px 0;">
<div id="fade1" style="opacity: 0; transition: opacity 1s ease-in-out; color: #F0F8FF; font-size: 1.4em; line-height: 1.8; margin-bottom: 30px;">
<p style="font-style: italic;">The night air carries the weight of terrible revelations as demons confront their darkest truths...</p>
</div>
<div id="fade2" style="opacity: 0; transition: opacity 1s ease-in-out; color: #DDA0DD; font-size: 1.4em; line-height: 1.8; margin-bottom: 30px;">
<p style="font-style: italic;">While in the quiet sanctuary of home, painful letters arrive bearing news that will reshape everything...</p>
</div>
<div id="fade3" style="opacity: 0; transition: opacity 1s ease-in-out; color: #F5DEB3; font-size: 1.4em; line-height: 1.8; margin-bottom: 30px;">
<p style="font-style: italic;">The bonds that once seemed unbreakable begin to strain as hidden desires and buried memories surface...</p>
</div>
</div>
<div id="continueLink" style="opacity: 0; transition: opacity 1s ease-in-out; text-align: center; margin-top: 40px;">
<div style="background: rgba(139, 69, 19, 0.8); border: 2px solid #D4AF37; border-radius: 12px; padding: 20px; display: inline-block;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('StartOfChapter3')" style="color: #FFD700; font-size: 1.3em; font-weight: bold; text-decoration: none; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Continue to Chapter 3</a>
</div>
</div>
</div>
<script>
setTimeout(function() {
document.getElementById('fade1').style.opacity = '1';
}, 1000);
setTimeout(function() {
document.getElementById('fade2').style.opacity = '1';
}, 3000);
setTimeout(function() {
document.getElementById('fade3').style.opacity = '1';
}, 5000);
setTimeout(function() {
document.getElementById('continueLink').style.opacity = '1';
}, 7000);
setTimeout(function() {
SugarCube.Engine.play('StartOfChapter3');
}, 12000);
</script>
<style>
.transition-container {
animation: backgroundShift 15s ease-in-out infinite;
}
@keyframes backgroundShift {
0% {
background: linear-gradient(135deg, rgba(139, 0, 139, 0.9), rgba(75, 0, 130, 0.95), rgba(139, 69, 19, 0.9));
}
50% {
background: linear-gradient(135deg, rgba(75, 0, 130, 0.95), rgba(139, 69, 19, 0.9), rgba(160, 82, 45, 0.9));
}
100% {
background: linear-gradient(135deg, rgba(139, 0, 139, 0.9), rgba(75, 0, 130, 0.95), rgba(139, 69, 19, 0.9));
}
}
</style>
<</nobr>><<nobr>>
<<script>>window.AudioSystem.playBGM('default2.mp3');<</script>>
<<timed 0.5s>>
<div class="pov-transition-container" style="background: linear-gradient(45deg, rgba(40, 30, 60, 0.95), rgba(20, 40, 80, 0.95)); min-height: 300px; padding: 40px; border-radius: 15px; text-align: center; border: 2px solid rgba(255,255,255,0.2);">
<p style="color: #e0e0ff; font-size: 1.4em; margin-bottom: 20px; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Elsewhere in the house...</p>
</div>
<</timed>>
<<timed 3s>>
<div class="pov-transition-container" style="background: linear-gradient(45deg, rgba(40, 30, 60, 0.95), rgba(20, 40, 80, 0.95)); min-height: 300px; padding: 40px; border-radius: 15px; text-align: center; border: 2px solid rgba(255,255,255,0.2);">
<p style="color: #e0e0ff; font-size: 1.4em; margin-bottom: 20px; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Elsewhere in the house...</p>
<p style="color: #b0d0ff; font-size: 1.2em; margin-bottom: 30px; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">The perspective shifts to <<print $humanName>></p>
<center><img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid #87CEEB; margin: 20px 0;"></center>
</div>
<</timed>>
<<timed 5s>>
<<goto "HumanNameDecision">>
<</timed>>
<center>
<<link "Continue" "HumanNameDecision">>
<</link>>
</center>
<</nobr>><<nobr>>
<<set $rylan_LioraAffection += 1>><<set $liora_RylanAffection += 1>><<set $serin_RylanAffection -= 1>><<trackAffection "Rylan" "Liora" 1>><<trackAffection "Liora" "Rylan" 1>><<trackAffection "Serin" "Rylan" -1>><<set $gold += 200>>
<div class="passage-container rylan">
<center><img src="images/landscapes/guildhall.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Back at the guild hall, Elena's eyes widen in amazement as we report our success. Forty-three goblins eliminated instead of the requested five, plus a full pouch of Moonbell flowers for Nimeria.">>
<<dialog "Elena" "face" "Incredible work, all of you! This is exactly the kind of performance we expect from rising adventurers. Well done!">>
<<dialog "Serin" "facelaugh" "Elena, you should have seen it! $humanName actually used his brain instead of just his sword! I think we're witnessing a miracle here!">>
<<dialog "Rylan" "faceembarrassed" "Serin, come on...">>
<<dialog "Elena" "face" "Well, whatever sparked this new approach, keep it up! Your payment is ready at the counter.">>
<<narrative "After collecting our payment, we make our way home. The successful mission has lifted everyone's spirits, and Liora seems particularly cheerful, carrying her pouch of carefully collected Moonbell flowers.">>
<<dialog "Liora" "facesmile" "I managed to collect so many beautiful Moonbell flowers! Nimeria is going to be so happy with these.">>
<<dialog "Seryk" "face" "You all worked well as a team today. $humanName and Serin handled the combat while you gathered what was needed. Perfect coordination.">>
<<dialog "Rylan" "face" "It really was a successful mission. Everyone contributed exactly what they do best.">>
<<narrative "As we're about to head home, I find myself wanting to spend more time with Liora. The successful mission has given me confidence, and I don't want this day to end just yet.">>
<<dialog "Rylan" "face" "Actually, Liora... would you like to go somewhere with me? Just the two of us? We could get some food, or just walk around town for a bit.">>
<<dialog "Liora" "facesmile" "I'd love that, $humanName! That sounds wonderful after such an intense day.">>
<<narrative "I notice Serin's expression shift slightly - her smile becomes a bit more forced, and there's a flash of something in her eyes that she quickly masks. But she recovers smoothly, as she always does.">>
<<dialog "Serin" "face" "Oh, how sweet! You two have fun! Seryk and I can head back and let everyone know you're safe.">>
<<dialog "Liora" "face" "Oh! Serin, could you do me a favor? Could you bring these Moonbell flowers to Nimeria? I promised her we'd deliver them today.">>
<<dialog "Serin" "face" "Of course. I'll make sure she gets them right away. You two enjoy your... date.">>
<<dialog "Seryk" "face" "Enjoy yourselves. You've both earned some relaxation.">>
<<narrative "As Serin turns to leave with Seryk, clutching the flower pouch, I catch a glimpse of her clenched fist at her side, but she keeps her cheerful facade perfectly in place. Liora, meanwhile, seems genuinely excited about our impromptu date.">>
<<narrative "With our date plans set, Liora and I wave goodbye to Serin and Seryk before heading into town together.">>
<<continueBox "DateWithLiora" "Date with Liora" "Begin the romantic date.">>
</div>
<</nobr>>
<<pov "rylan" "default2.mp3">><<nobr>>
<<set $rylan_LioraAffection += 2>><<set $rylan_SerinAffection += 2>><<set $rylan_SerykAffection += 2>><<set $liora_RylanAffection += 2>><<set $liora_SerinAffection += 2>><<set $liora_SerykAffection += 2>><<set $serin_RylanAffection += 2>><<set $serin_LioraAffection += 2>><<set $serin_SerykAffection += 2>><<set $seryk_RylanAffection += 2>><<set $seryk_LioraAffection += 2>><<set $seryk_SerinAffection += 2>><<trackAffection "Rylan" "Liora" 1>><<trackAffection "Rylan" "Serin" 1>><<trackAffection "Rylan" "Seryk" 1>><<trackAffection "Liora" "Rylan" 1>><<trackAffection "Liora" "Serin" 1>><<trackAffection "Liora" "Seryk" 1>><<trackAffection "Serin" "Rylan" 1>><<trackAffection "Serin" "Liora" 1>><<trackAffection "Serin" "Seryk" 1>><<trackAffection "Seryk" "Rylan" 1>><<trackAffection "Seryk" "Liora" 1>><<trackAffection "Seryk" "Serin" 1>>
<div class="passage-container rylan">
<center><img src="images/liora/chapter2/violetflowers.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "We find Liora exactly where we left her, kneeling peacefully among the Moonbell flowers with a satisfied smile on her face. Her herb gathering pouch is full, and she looks up with relief as we approach.">>
<<dialog "Liora" "facesmile" "You're back! I was starting to worry. How did everything go?">>
<<dialog "Rylan" "facesmile" "Better than expected. We cleared out the entire goblin nest - over forty of them total.">>
<<dialog "Liora" "facesmile" "Forty?! The guild only asked for five! That's incredible!">>
<<dialog "Serin" "facelaugh" "Can you believe it, Liora? $humanName actually learned the word 'teamwork'! No charging ahead solo, no trying to prove himself - he actually listened to strategy for once!">>
<<dialog "Rylan" "faceembarrassed" "Hey, I'm not that bad at teamwork! I just... needed to learn when to use it properly.">>
<<dialog "Liora" "facelaughshortpinkdress" "Oh my, Serin's right! This is a historic moment! $humanName discovered that other people can actually help instead of just getting in his way!">>
<<dialog "Seryk" "facegrin" "Next thing you know, he'll be asking for advice before charging into situations! Though I have to admit, bro, you handled it well today.">>
<<dialog "Liora" "facesmile" "That's wonderful! And I managed to gather plenty of Moonbell flowers too. This should be more than enough for Nimeria's request.">>
<<narrative "With both parts of our mission successfully completed, we gather our equipment and prepare for the journey back to town.">>
<<dialog "Serin" "facelaugh" "Elena's going to be impressed with this report. 'Dear Elena, miraculously, $humanName didn't charge ahead and get himself killed. Mission successful.'">>
<<dialog "Rylan" "face" "Very funny. It feels good to have a mission go smoothly for once. No complications, no emergencies - just good planning and execution.">>
<<dialog "Serin" "facelaugh" "Look at him using big words like 'planning' and 'execution.'">>
<<dialog "Liora" "face" "I'm proud of all of you. This is what real adventuring should be like - working together and helping people.">>
<<dialog "Seryk" "face" "Little Bird's right. This is how a proper team operates. Let's head home and celebrate a job well done.">>
<<narrative "With our successful mission complete, we begin the journey home through the peaceful forest, spirits high and bonds strengthened.">>
<<continueBox "ReturnHomeSuccessful" "Mission Complete" "Return to the guild to report success.">>
</div>
<</nobr>>
<<pov "rylan" "forestofbeginningnorth.mp3">><<nobr>>
<<set $rylan_LioraAffection = ($rylan_LioraAffection || 0) + 2>><<set $liora_RylanAffection = ($liora_RylanAffection || 0) + 2>><<set $rylan_LioraAttraction = ($rylan_LioraAttraction || 0) + 1>><<set $liora_RylanAttraction = ($liora_RylanAttraction || 0) + 1>><<changeLust "Rylan" 5>><<changeLust "Liora" 3>><<trackAffection "Rylan" "Liora" 2>><<trackAffection "Liora" "Rylan" 2>><<trackAttraction "Rylan" "Liora" 1>><<trackAttraction "Liora" "Rylan" 1>><<trackLust "Rylan" 5>><<trackLust "Liora" 3>>
<div class="passage-container rylan">
<<narrative "Instead of leaning in for a kiss, I wrap my arms around her in a warm, protective embrace. I hold her close, feeling her heartbeat against my chest as I pour all my love and relief into this gentle moment.">>
<center><img src="images/liora/chapter2/rylanhug/1.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "facesmile" "$humanName...">>
<<narrative "We stay like this for a long moment, just holding each other. There's something deeply comforting about this gentle intimacy, this tender expression of care and affection.">>
<<dialog "Rylan" "facesmile" "I'm just so grateful you're safe. I don't know what I'd do if something happened to you.">>
<<dialog "Liora" "facesmile" "I'm okay, thanks to everyone looking out for me. Thanks to you.">>
<<narrative "When we finally part from the embrace, both of us are smiling warmly. There's a gentle glow in Liora's eyes, a sense of safety and security that makes my heart feel full.">>
<<dialog "Rylan" "facesmile" "I care about you so much, Liora. You mean everything to me.">>
<<dialog "Liora" "facesmile" "I care about you too, $humanName. More than you know.">>
<<continueBox "MorningAfterKiss" "Gentle Moment" "A gentle moment of care.">>
</div>
<</nobr>>
<<pov "rylan" "liorarylandate.mp3">><<nobr>>
<<set $rylan_LioraAffection = ($rylan_LioraAffection || 0) + 2>><<set $liora_RylanAffection = ($liora_RylanAffection || 0) + 2>><<set $rylan_LioraAttraction = ($rylan_LioraAttraction || 0) + 1>><<set $liora_RylanAttraction = ($liora_RylanAttraction || 0) + 1>><<changeLust "Rylan" 5>><<changeLust "Liora" 3>><<trackAffection "Rylan" "Liora" 2>><<trackAffection "Liora" "Rylan" 2>><<trackAttraction "Rylan" "Liora" 1>><<trackAttraction "Liora" "Rylan" 1>><<trackLust "Rylan" 5>><<trackLust "Liora" 3>>
<div class="passage-container rylan">
<<narrative "Instead of leaning in for a kiss, I wrap my arms around her in a warm, protective embrace. I hold her close, feeling her heartbeat against my chest as I pour all my love and relief into this gentle moment.">>
<center><img src="images/liora/chapter2/rylanhug/1.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "facesmile" "$humanName...">>
<<narrative "We stay like this for a long moment, just holding each other. There's something deeply comforting about this gentle intimacy, this tender expression of care and affection.">>
<<dialog "Rylan" "facesmile" "I'm just so grateful you're safe. I don't know what I'd do if something happened to you.">>
<<dialog "Liora" "facesmile" "I'm okay, thanks to everyone looking out for me. Thanks to you.">>
<<narrative "When we finally part from the embrace, both of us are smiling warmly. There's a gentle glow in Liora's eyes, a sense of safety and security that makes my heart feel full.">>
<<dialog "Rylan" "facesmile" "I care about you so much, Liora. You mean everything to me.">>
<<dialog "Liora" "facesmile" "I care about you too, $humanName. More than you know.">>
<<continueBox "LioraAfterShowerNow" "Gentle Moment" "A gentle moment of care.">>
</div>
<</nobr>>
<<pov "rylan" "liorarylandate.mp3">><<nobr>>
<<quickSexTrack "kiss" "rylan" "liora" 1>>
<<addSoulBlessing "rylan" 1>>
<<changeAttraction "rylan" "liora" 2>><<changeAttraction "liora" "rylan" 2>><<changeAffection "rylan" "liora" 3>><<changeAffection "liora" "rylan" 3>>
<div class="passage-container rylan">
<<narrative "Unable to hold back any longer, I lean forward and press my lips gently against hers. The kiss is soft, tender, filled with all the relief and love I've been holding inside.">>
<center><img src="images/liora/chapter2/rylankiss/1.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if not $rylanFirstKiss or $rylanFirstKiss === "Liora">>
<<narrative "This is my first kiss, and it's even more incredible than I ever imagined. My heart feels like it might burst from the pure, overwhelming joy of this moment.">>
<div class="blessing-showcase" style="background: linear-gradient(135deg, rgba(255,215,0,0.8), rgba(255,255,255,0.6)); border: 2px solid rgba(255,215,0,0.8); border-radius: 12px; padding: 25px; margin: 25px 0; text-align: center;">
<p style="color: #8b4513; font-size: 1.3em; font-weight: bold; text-shadow: 2px 2px 4px rgba(0,0,0,0.3); margin-bottom: 15px;">✨ Soul Blessing ✨</p>
<p style="color: #654321; font-size: 1.1em; margin-bottom: 10px;">$humanName's heart soars with pure love...</p>
<p style="color: #8b4513; font-size: 1em;">+1 Soul Blessing - First Kiss</p>
</div>
<</if>>
<<narrative "When we finally part, both of us are breathing heavily. Liora's cheeks are even more flushed now, and there's something in her eyes I can't quite read - surprise, maybe even a hint of confusion.">>
<<dialog "Liora" "facewet" "That was...">>
<<if $liora_RylanKissCount === 1 and $lioraFirstKiss === "Seryk">>
<<narrative "There's something strange in her expression, as if she's comparing this kiss to something else. But I push the thought away, lost in the moment.">>
<</if>>
<<dialog "Rylan" "facesmile" "I love you, Liora. More than anything.">>
<<dialog "Liora" "facesmile" "I... I love you too, $humanName.">>
<<continueBox "LioraKissReflection" "Kiss Reflection" "Reflect on the moment.">>
</div>
<</nobr>>
<<if not $rylanFirstKiss or $rylanFirstKiss === "Liora">><<soulDisplay "rylan">><</if>>
<<pov "rylan" "liorarylandate.mp3">><<nobr>>
<<quickSexTrack "kiss" "rylan" "liora" 1>>
<<changeAffection "rylan" "liora" 3>><<changeAffection "liora" "rylan" 3>><<changeAttraction "rylan" "liora" 2>><<changeAttraction "liora" "rylan" 2>>
<div class="passage-container rylan">
<<narrative "Unable to hold back any longer, I lean forward and press my lips gently against hers. The kiss is soft, tender, filled with all the relief and love I've been holding inside.">>
<center><img src="images/liora/chapter2/rylankiss/1.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "This is both our first kiss, and it's even more incredible than I ever imagined. My heart feels like it might burst from the pure, overwhelming joy of this moment.">>
<div class="blessing-showcase" style="background: linear-gradient(135deg, rgba(255,215,0,0.8), rgba(255,255,255,0.6)); border: 2px solid rgba(255,215,0,0.8); border-radius: 12px; padding: 25px; margin: 25px 0; text-align: center;">
<p style="color: #8b4513; font-size: 1.3em; font-weight: bold; text-shadow: 2px 2px 4px rgba(0,0,0,0.3); margin-bottom: 15px;">✨ Soul Blessing ✨</p>
<p style="color: #654321; font-size: 1.1em; margin-bottom: 10px;">$humanName's heart soars with pure love...</p>
<p style="color: #8b4513; font-size: 1em;">+1 Soul Blessing - First Kiss</p>
</div>
<<narrative "When we finally part, both of us are breathing heavily. Liora's cheeks are flushed, and her eyes are wide with wonder and amazement.">>
<<dialog "Liora" "facewet" "That was... my first kiss. It was beautiful, $humanName.">>
<<dialog "Rylan" "facesmile" "Mine too. I love you, Liora. More than anything.">>
<<dialog "Liora" "facesmile" "I love you too, $humanName. With all my heart.">>
<<narrative "There's no confusion in her eyes, no uncertainty. Just pure love and happiness. This moment feels perfect, like everything in the world has aligned just for us.">>
<<continueBox "LioraAfterShowerNow" "Perfect Moment" "A perfect moment of love.">>
</div>
<</nobr>>
<<soulDisplay "rylan">>
<<pov "rylan" "liorarylandate.mp3">><<nobr>>
<<if $visitChoice === "now">><<goto "MorningAfterKiss">><</if>><<set $currentFace = $currentRylanFace>><<set $gold += 200>><<trackOther "Party" "gold" 200>>
<div class="passage-container rylan">
<<narrative "I wait outside Liora's door, my heart pounding with worry about how today's mission went. When the door finally opens, I'm relieved to see her standing there, though something seems different.">>
<center><img src="images/liora/chapter2/ntr2/ntrface1.webp" style="width: 300px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "face" "Liora, how are you feeling?">>
<<dialog "Liora" "facesmile" "A lot better, actually. Much better than before.">>
<<narrative "There's something in her tone I can't quite place, but I'm just glad she's okay.">>
<<dialog "Rylan" "facesad" "Liora, what happened today was completely my fault. I'm so sorry. I promise I'll improve! I'll get stronger, smarter, better at everything.">>
<<narrative "I take a deep breath, wanting to make sure she understands how much I've learned.">>
<<dialog "Rylan" "faceserious" "I learned today that teamwork is important. I won't do a one-man show again, just to prove myself. We're a team, and I should have trusted in that from the beginning.">>
<<dialog "Liora" "facesmile" "$humanName...">>
<<dialog "Rylan" "faceembarrassed" "Can I... can I come inside? I'd like to talk with you properly.">>
<<narrative "Liora glances back into her room quickly, as if checking something, then turns back to me with a nod.">>
<<dialog "Liora" "face" "Okay, come in.">>
<<narrative "I step into her room, immediately feeling more at ease in the familiar, comfortable space. The soft lighting and her gentle presence always make me feel calmer.">>
<<narrative "We sit on her bed and talk for a while about the mission, about our fears, our hopes for the future. Liora listens patiently as I pour out my frustrations and determination to do better.">>
<<dialog "Liora" "facesmile" "You don't have to carry everything by yourself, $humanName. We're partners in this. All of us.">>
<<dialog "Rylan" "facesmile" "You're right. I'm lucky to have you... to have all of you.">>
<<narrative "As our conversation winds down, I find myself looking into her beautiful blue eyes. There's something different about her tonight, a kind of glow that makes my heart race.">>
<<dialog "Rylan" "faceserious" "Liora... I'm so grateful you're okay. When I thought something might have happened to you...">>
<<narrative "I reach out and gently cup her face in my hands, my thumb brushing against her still-flushed cheek.">>
<<dialog "Liora" "faceembarrassedshortpink" "$humanName...">>
<<narrative "My heart pounds as I look at her beautiful face. I feel overwhelmed with emotion, wanting to show her just how much she means to me...">>
<<choiceBox "How do you want to express your feelings?" "Kiss her tenderly" "RylanKissChoice" "choice=kiss" "Give her a warm, loving hug" "RylanHugChoice" "choice=hug">>
</div>
<</nobr>>
<<pov "rylan" "liorarylandate.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>><<set $gold += 200>><<trackOther "Party" "gold" 200>>
<div class="passage-container rylan">
<<narrative "I wait outside Liora's door, my heart pounding with worry about how today's mission went. When the door finally opens, I'm relieved to see her standing there in her soft pink pajamas.">>
<center><img src="images/liora/sleepwear.webp" style="width: 300px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "face" "Liora, how are you feeling?">>
<<dialog "Liora" "facesmile" "Much better now, thank you for asking. I was just resting after that hot shower.">>
<<narrative "There's something calming about her presence that immediately puts me at ease.">>
<<dialog "Rylan" "facesad" "Liora, what happened today was completely my fault. I'm so sorry. I promise I'll improve! I'll get stronger, smarter, better at everything.">>
<<narrative "I take a deep breath, wanting to make sure she understands how much I've learned.">>
<<dialog "Rylan" "faceserious" "I learned today that teamwork is important. I won't do a one-man show again, just to prove myself. We're a team, and I should have trusted in that from the beginning.">>
<<dialog "Liora" "facesmile" "$humanName...">>
<<dialog "Rylan" "faceembarrassed" "Can I... can I come inside? I'd like to talk with you properly.">>
<<dialog "Liora" "face" "Of course, come in.">>
<<narrative "I step into her room, immediately feeling more at ease in the familiar, comfortable space. The soft lighting and her gentle presence always make me feel calmer.">>
<<narrative "We sit on her bed and talk for a while about the mission, about our fears, our hopes for the future. Liora listens patiently as I pour out my frustrations and determination to do better.">>
<<dialog "Liora" "facesmile" "You don't have to carry everything by yourself, $humanName. We're partners in this. All of us.">>
<<dialog "Rylan" "facesmile" "You're right. I'm lucky to have you... to have all of you.">>
<<narrative "As our conversation winds down, I find myself looking into her beautiful blue eyes. There's something pure and innocent about her that makes my heart race.">>
<<dialog "Rylan" "faceserious" "Liora... I'm so grateful you're okay. When I thought something might have happened to you...">>
<<narrative "I reach out and gently cup her face in my hands, my thumb brushing against her soft cheek.">>
<<dialog "Liora" "faceembarrassedshortpink" "$humanName...">>
<<narrative "My heart pounds as I look at her beautiful face. I feel overwhelmed with emotion, wanting to show her just how much she means to me...">>
<<choiceBox "How do you want to express your feelings?" "Kiss her tenderly" "RylanKissChoiceNow" "choice=kiss" "Give her a warm, loving hug" "RylanHugChoiceNow" "choice=hug">>
</div>
<</nobr>>
<<pov "rylan" "liorarylandate.mp3">><<nobr>>
<<addSoulCorruption "liora" 1>><<trackOther "Liora" "corruption" 1>>
<div class="passage-container liora">
<center><img src="images/liora/facewet.webp" style="width: 150px; height: 150px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 20px;"></center>
<div class="saliva-animation-container" style="text-align: center; margin: 20px 0;">
<img id="salivaAnimation" src="images/liora/chapter2/ntr1/salivaswap1.webp" style="width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<script>
(function() {
const images = [
'images/liora/chapter2/ntr1/salivaswap1.webp',
'images/liora/chapter2/ntr1/salivaswap2.webp',
'images/liora/chapter2/ntr1/salivaswap3.webp',
'images/liora/chapter2/ntr1/salivaswap4.webp',
'images/liora/chapter2/ntr1/salivaswap5.webp',
'images/liora/chapter2/ntr1/salivaswap6.webp',
'images/liora/chapter2/ntr1/salivaswallow1.webp'
];
let currentIndex = 0;
const animationElement = document.getElementById('salivaAnimation');
function nextFrame() {
if (currentIndex < images.length - 1) {
currentIndex++;
animationElement.src = images[currentIndex];
setTimeout(nextFrame, 2000);
}
}
setTimeout(nextFrame, 3000);
})();
</script>
<<narrative "As I close my eyes and open my mouth, trusting Seryk completely, I feel the first drop land on my tongue.">>
<<dialog "Liora" "facewet" "It tastes... bitter at first. Strange. Is this some kind of mana potion Nimeria made? It doesn't taste like any healing draught I've ever had...">>
<<narrative "I swallow obediently, feeling it slide down my throat. Another drop follows, then another.">>
<<dialog "Liora" "facewet" "Wait... it's getting... sweeter? More pleasant somehow. My body is starting to feel warm all over. What kind of medicine is this?">>
<center><img src="images/liora/chapter2/ntr1/mouthopen2.webp" style="width: 350px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "My breath comes faster as more drops land on my tongue. Each swallow sends a strange tingling sensation through my entire body.">>
<<dialog "Liora" "facewet" "This feeling... I've never experienced anything like this before. My chest feels tight, my skin is burning but in a good way? Why does my body want more? Why do I feel so... strange?">>
<div class="corruption-showcase" style="background: linear-gradient(45deg, rgba(120, 0, 120, 0.3), rgba(80, 0, 80, 0.4)); border: 2px solid rgba(150, 0, 150, 0.6); border-radius: 8px; padding: 15px; margin: 20px 0; text-align: center;">
<p style="color: #ff69b4; font-weight: bold; margin-bottom: 10px;">🌑 Soul Corruption Gained 🌑</p>
<p style="color: #dda0dd; font-style: italic;">Something deep within Liora's soul stirs... an unfamiliar hunger awakening...</p>
</div>
<<dialog "Liora" "facewet" "I want more... why do I want more? This medicine... it tastes so good now. Please don't stop, Seryk...">>
<<narrative "When I hear Rylan's voice calling my name, part of me feels... disappointed? As if I don't want this moment to end.">>
<<dialog "Liora" "facewet" "What's happening to me? Why do I feel so different? And why... why do I already miss the taste?">>
<<continueBox "LioraReunion" "Reunion" "Face the others while hiding your flushed state.">>
<<soulDisplay "liora">>
</div>
<</nobr>>
<<pov "liora" "ntr1.mp3">><<nobr>>
<<script>>window.AudioSystem.playBGM('theoneswithoutname.mp3');<</script>>
<<scrollingCredits 45>>
<div style="position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 10000; background: rgba(0,0,0,0.9); padding: 15px 25px; border-radius: 25px; border: 2px solid #ffd700;">
<p style="color: #ffd700; font-size: 1.1em; text-align: center; margin: 0;">
Cinematic credits will automatically continue to Chapter 3 in 45 seconds...
</p>
</div>
<<script>>
setTimeout(function() {
SugarCube.Engine.play('Chapter3');
}, 47000);
<</script>>
<<changeFace $currentRylanFace>>
<</nobr>><<nobr>>
<<script>>window.AudioSystem.playBGM('theoneswithoutname.mp3');<</script>>
<<scrollingCredits 30>>
<div style="position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 10000; background: rgba(0,0,0,0.9); padding: 15px 25px; border-radius: 25px; border: 2px solid #ffd700;">
<p style="color: #ffd700; font-size: 1.1em; text-align: center; margin: 0;">
Credits will automatically continue to Chapter 3 in 30 seconds...
</p>
</div>
<<script>>
setTimeout(function() {
SugarCube.Engine.play('Chapter3');
}, 32000);
<</script>>
<<changeFace $currentRylanFace>>
<</nobr>><<nobr>>
<<script>>window.AudioSystem.playBGM('theoneswithoutname.mp3');<</script>>
<<scrollingCredits 20>>
<div style="position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 10000; background: rgba(0,0,0,0.9); padding: 15px 25px; border-radius: 25px; border: 2px solid #ffd700;">
<p style="color: #ffd700; font-size: 1.1em; text-align: center; margin: 0;">
Quick credits will automatically continue to Chapter 3 in 20 seconds...
</p>
</div>
<<script>>
setTimeout(function() {
SugarCube.Engine.play('Chapter3');
}, 22000);
<</script>>
<<changeFace $currentRylanFace>>
<</nobr>><<nobr>>
<<set $currentFace = $currentSerinFace>><<set $serin_NimeriaAffection += 5>><<set $nimeria_SerinAffection += 3>><<trackAffection "Serin" "Nimeria" 5>><<trackAffection "Nimeria" "Serin" 3>>
<div class="scene-transition" style="background: linear-gradient(to bottom, rgba(0,0,0,0.8), rgba(50,50,50,0.6)); padding: 30px; border-radius: 10px; text-align: center; margin-bottom: 25px;">
<p style="color: #ffffff; font-size: 1.4em; font-weight: bold; margin-bottom: 15px;">Meanwhile...</p>
<div class="pov-change-animation" style="background: rgba(255,255,255,0.1); border: 2px solid rgba(255,255,255,0.3); border-radius: 10px; padding: 20px; margin: 20px 0;">
<p style="color: #cccccc; font-style: italic; margin-bottom: 10px;">POV Change</p>
<img src="images/chibi-models/serin.webp" style="width: 110px; height: 110px; margin: 10px;">
<p style="color: #90EE90; font-weight: bold;">Now playing as: Serin</p>
</div>
</div>
<div class="passage-container serin">
<center><img src="images/landscapes/rylanhome.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I stomp into the house, my mood as dark as a storm cloud. Seryk has already gone upstairs, leaving me alone with my bitter thoughts. The pouch of Moonbell flowers feels heavy in my hands - a reminder of how $humanName and Liora went off together while I was left to handle deliveries.">>
<<narrative "I find Nimeria in the sitting room, reading quietly. She looks up with her usual gentle smile as I enter.">>
<<dialog "Serin" "faceangry" "Here are your flowers," "I say flatly, tossing the pouch down on the table beside her.">>
<<dialog "Nimeria" "face" "Thank you, Serin. How did everything go today?" "Her voice is gentle, but there's something knowing in her eyes.">>
<<dialog "Serin" "faceangry" "Too well for $humanName," "I reply sarcastically, turning to leave." "He and Liora have their perfect little date. I'm done here.">>
<<dialog "Nimeria" "facesmile" "Wait." "Her voice stops me in my tracks." "Let's talk. Do you really love him?">>
<<dialog "Serin" "faceembarrassed" "What gave you that idea?" "I snap, my cheeks burning with embarrassment." "I don't know what you're talking about.">>
<<narrative "But Nimeria's expression grows serious, her usual gentle smile fading into something more intense.">>
<<dialog "Nimeria" "faceserious" "I ask again. Do you love him or not?">>
<<narrative "The directness in her voice cuts through my defenses like a blade. I can't look away from her piercing gaze.">>
<<dialog "Serin" "facesad" "Yes..." "I whisper, the word barely audible." "But he's with Liora.">>
<<dialog "Nimeria" "facecold" "Can you imagine him marrying Liora?">>
<<dialog "Serin" "faceangry" "Stop...">>
<<dialog "Nimeria" "facecold" "Both of them naked in bed, while he thrusts into her?">>
<<dialog "Serin" "faceangry" "Stop...">>
<<dialog "Nimeria" "facecold" "Liora pregnant with his child? Both of them having a family without you?">>
<<dialog "Serin" "facesad" "Stop...">>
<<narrative "Each word hits me like a physical blow. My voice gets weaker with each plea, the images flooding my mind against my will.">>
<<dialog "Nimeria" "faceserious" "Will you just continue swallowing everything down? Try to find another man? Or just be alone for the rest of your life? Is that the happiness you choose?">>
<<dialog "Serin" "facefurious" "STOP!!" "I scream, tears streaming down my face as the pain becomes unbearable.">>
<<narrative "Anger floods through me, hot and fierce, replacing the pain with something more manageable.">>
<<dialog "Serin" "facefurious" "Then what should I do?!" "I shout, my voice breaking." "What am I supposed to do?!">>
<<narrative "Nimeria's smile returns then, but it's different now. Colder. More dangerous.">>
<<dialog "Nimeria" "facesmileerie" "Simple," "she says softly, her voice carrying a hint of something dark." "Take back what is yours...">>
<<narrative "Her words hang in the air like a promise... or a threat. The sitting room seems to grow quieter, as if the very house itself is holding its breath.">>
<<continueBox "MorningAfterKiss" "Dark Seeds" "Seeds of jealousy have been planted.">>
</div>
<</nobr>>
<<pov "serin" "serinnimeriatalk.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>><<set $rylanxserincontent = true>><<set $serinChapter2ArmpitSeen = true>><<set $serinChapter2ProgressionLevel = 1>>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(50, 45, 40, 0.8); border: 1px solid rgba(255,255,255,0.5); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: #ffd700; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">⚔️ Training Match ⚔️</p>
<p style="color: #ffeb9c; font-size: 1.1em;"><<print $TrainingWithSerinChapter2>>A friendly competition turns serious...</p></div>
<<narrative "After finishing her stretching routine, Serin bounces on her toes, looking energized and ready for action.">>
<<dialog "Serin" "faceteasing" "Alright, $humanName, enough warming up. How about we make this interesting? Let's have a proper sparring match.">>
<<dialog "Rylan" "face" "A sparring match? Sure, I guess we could-">>
<<dialog "Serin" "facesmirk" "With a little wager. The loser has to do whatever the winner says for the rest of the training session.">>
<<narrative "I pause, immediately wary. Knowing Serin, her idea of "punishment" could be anything from embarrassing to... well, I'm not sure I want to find out.">>
<<dialog "Rylan" "faceembarrassed" "I don't know about that... Maybe we should just stick to regular sparring?">>
<<dialog "Serin" "facelaugh" "Oh, what's this? Are you afraid you'll lose to a girl, $humanName?">>
<<narrative "Her tone is deliberately mocking, and I can see that familiar glint in her emerald eyes - she's baiting me, and she knows exactly which buttons to push.">>
<<dialog "Serin" "faceteasing" "And here I thought you were stronger than that. I guess I was wrong about you being ready for real adventurer work.">>
<<narrative "That does it. My pride flares up, and I feel my jaw clench. She knows exactly how to get under my skin, especially after yesterday's failures.">>
<<dialog "Rylan" "faceangry" "Fine! You're on. But don't come crying to me when you lose.">>
<<dialog "Serin" "facesmirk" "That's more like it! Now you're talking like the $humanName I know.">>
<<narrative "We move to the center of the training hall, taking our fighting stances. The closed windows make the air feel thick and heavy, and I'm already starting to feel warm from the anticipation.">>
<<narrative "Serin drops into her usual agile stance, light on her feet, ready to dart in and out. I take a more defensive position, knowing her speed advantage.">>
<<narrative "We circle each other for a moment, then she makes the first move - a quick jab that I barely manage to deflect. The fight is on.">>
<<narrative "As we exchange blows and grapple for position, I quickly realize that Serin isn't holding back. She's using every trick she knows, and I'm having to work harder than I expected just to keep up.">>
<<narrative "The stuffy air of the closed training hall starts getting to me. I'm breathing harder, feeling sweat beginning to form on my forehead. The confined space is making everything feel more intense.">>
<<narrative "But it's not just the heat - there's something else. Every time Serin gets close during our grappling, I catch hints of her scent. The same musky, warm smell from when she was stretching earlier, now intensified by our physical exertion.">>
<<narrative "I make a tactical error, leaving myself open for just a moment. Serin takes advantage immediately, slipping behind me with lightning speed.">>
<center><img src="images/serin/chapter2/morningactivities/1.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<narrative "Before I can react, her arm wraps around my neck, pulling me into a tight headlock. My face is suddenly very close to her armpit, and the scent that I'd only caught hints of before hits me full force.">>
<<narrative "It's overwhelming - musky, warm, and intoxicating. The heat from our fight suddenly feels different, more intense. My breathing, which had been labored from exertion, becomes deeper and more deliberate as I find myself involuntarily inhaling more of her scent.">>
<<dialog "Serin" "faceteasing" "Gotcha! Ready to give up, $humanName?">>
<<narrative "But I'm barely listening to her words. There's something happening to me that I don't understand. The more I breathe in her scent, the more my body responds in ways I can't control. A warmth that has nothing to do with our fight starts spreading through me.">>
<<narrative "I should be struggling to break free, should be focused on winning this match. But instead, I find myself torn between two impulses.">>
<<narrative "Part of me wants to escape this hold and continue fighting. But another part of me, a part I'm only just becoming aware of, wants to... stay like this. To keep breathing in that intoxicating scent that's awakening something inside me I've never felt before.">>
<<narrative "What's wrong with me? Why does this feel so... arousing?">>
<<choiceBox "Choose Your Action" "Keep breathing in her intoxicating scent" "SerinHeadlockSmell" "SerinChapter2ArmpitScene=smell" "Try to resist and break free from the hold" "SerinHeadlockResist" "SerinChapter2ArmpitScene=resist">>
</div>
<</nobr>>
<<changeFetish "Rylan" "armpitFetish" 0.3>>
<<changeFetish "Rylan" "smellFetish" 0.2>>
<<changeLust "Rylan" 8>>
<<changeAttraction "Serin" "Rylan" 2>>
<<changeAttraction "Rylan" "Serin" 1>>
<<pov "rylan" "default2.mp3">><<nobr>>
<<set $serin_NimeriaAffection += 5>><<set $nimeria_SerinAffection += 3>><<trackAffection "Serin" "Nimeria" 2>><<trackAffection "Nimeria" "Serin" 3>>
<div class="passage-container serin">
<center><img src="images/landscapes/rylanhome.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I walk into the sitting room, the pouch of Moonbell flowers feeling heavier than it should in my hands. The successful mission should have lifted my spirits, but all I can think about is how $humanName was so worried about Liora while barely acknowledging my own contributions today.">>
<<narrative "I find Nimeria in the sitting room, reading quietly by the window. She looks up with her usual gentle smile as I enter.">>
<<dialog "Serin" "faceangry" "Here are your flowers," "I say, setting the pouch down on the table beside her with perhaps more force than necessary.">>
<<dialog "Nimeria" "face" "Thank you, Serin. How did everything go today?" "Her voice is gentle, but there's something knowing in her eyes." "You seem... troubled.">>
<<dialog "Serin" "faceangry" "Oh, it went perfectly for some people," "I reply sarcastically, crossing my arms." "Fought fifteen goblins by myself, helped clear out a whole cave, but all $humanName can think about is how worried he is for Liora.">>
<<dialog "Nimeria" "facesmile" "Wait." "Her voice stops me in my tracks." "Let's talk. Do you really love him?">>
<<dialog "Serin" "faceembarrassed" "What gave you that idea?" "I snap, my cheeks burning with embarrassment." "I don't know what you're talking about.">>
<<narrative "But Nimeria's expression grows serious, her usual gentle smile fading into something more intense.">>
<<dialog "Nimeria" "faceserious" "I ask again. Do you love him or not?">>
<<narrative "The directness in her voice cuts through my defenses like a blade. I can't look away from her piercing gaze.">>
<<dialog "Serin" "facesad" "Yes..." "I whisper, the word barely audible." "But he's with Liora.">>
<<dialog "Nimeria" "facecold" "Can you imagine him marrying Liora?">>
<<dialog "Serin" "faceangry" "Stop...">>
<<dialog "Nimeria" "facecold" "Both of them naked in bed, while he thrusts into her?">>
<<dialog "Serin" "faceangry" "Stop...">>
<<dialog "Nimeria" "facecold" "Liora pregnant with his child? Both of them having a family without you?">>
<<dialog "Serin" "facesad" "Stop...">>
<<narrative "Each word hits me like a physical blow. My voice gets weaker with each plea, the images flooding my mind against my will.">>
<<dialog "Nimeria" "faceserious" "Will you just continue swallowing everything down? Try to find another man? Or just be alone for the rest of your life? Is that the happiness you choose?">>
<<dialog "Serin" "faceangry" "STOP!!" "I scream, tears streaming down my face as the pain becomes unbearable.">>
<<narrative "Anger floods through me, hot and fierce, replacing the pain with something more manageable.">>
<<dialog "Serin" "facefurious" "Then what should I do?!" "I shout, my voice breaking." "What am I supposed to do?!">>
<<narrative "Nimeria's smile returns then, but it's different now. Colder. More dangerous.">>
<<dialog "Nimeria" "facesmileerie" "Simple," "she says softly, her voice carrying a hint of something dark." "Take back what is yours...">>
<<narrative "Her words hang in the air like a promise... or a threat. The sitting room seems to grow quieter, as if the very house itself is holding its breath.">>
<<narrative "Seeds of jealousy have been planted... and something dark begins to take root.">>
<<continueBox "POVTransitionSerinToHumanName" "Dark Seeds" "Seeds of jealousy have been planted.">>
</div>
<</nobr>>
<<pov "serin" "serinnimeriatalk.mp3">><<nobr>>
<<set _lustMod = Math.floor(($rylan_Lust || 0) / 20) * -5>><<set _attractionMod = Math.floor(($rylan_SerinAttraction || 0) / 20) * -5>><<set _smellFetishMod = Math.floor(($rylan_smellFetish || 0) / 10) * -5>><<set _totalMod = _lustMod + _attractionMod + _smellFetishMod>><<set _threshold = 35 + _totalMod>><<set _resistanceRoll = random(1, 100)>><<set _resistanceSuccess = _resistanceRoll > _threshold>>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(50, 45, 40, 0.8); border: 1px solid rgba(255,255,255,0.5); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: #ffd700; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">🛡️ Resistance Attempt 🛡️</p>
<p style="color: #ffeb9c; font-size: 1.1em;">Fighting against the overwhelming sensation...</p>
</div>
<<if _resistanceSuccess>>
<<narrative "No! I can't let myself get distracted like this. This is a fight, and I need to focus. With a surge of determination, I grab Serin's arm and use her own momentum against her.">>
<center><img src="images/serin/chapter2/morningactivities/1.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<narrative "I manage to break free from her hold, spinning around to face her. But even as I escape, that musky scent still lingers in my nostrils, and I can feel my heart racing from more than just the physical exertion.">>
<<dialog "Serin" "faceshock" "Oh! Not bad, $humanName. I didn't expect you to break out of that so easily.">>
<<narrative "But my moment of triumph is short-lived. In my haste to escape her hold, I've left myself completely open. Serin doesn't waste the opportunity.">>
<<narrative "Before I can recover my stance, she sweeps my legs and pins me to the ground. The fight is over.">>
<<dialog "Serin" "faceteasing" "Well, that was interesting. But you still lost, which means you owe me that punishment.">>
<<changeFetish "Rylan" "smellFetish" 0.1>>
<<changeLust "Rylan" 3>>
<<changeLust "Serin" 2>>
<<changeAttraction "Rylan" "Serin" 1>>
<<else>>
<<narrative "I try to focus, try to push away the strange sensations and break free. But the moment I take another breath, that intoxicating scent fills my lungs again, and my resolve crumbles.">>
<<narrative "My hands, which should be pushing against her arm, instead seem to relax. My breathing becomes deeper, more deliberate, as if my body is betraying my mind's attempts to resist.">>
<<narrative "I can feel myself sinking into some kind of trance, the heat and musk surrounding me becoming all I can think about. Even when Serin loosens her grip slightly, I don't try to escape.">>
<center><img src="images/serin/chapter2/morningactivities/3.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<dialog "Serin" "faceembarrassed" "$humanName? Are you... are you okay? You're not even trying to get away anymore.">>
<<narrative "I can hear the confusion in her voice, but it seems to come from far away. All I can focus on is that incredible scent, and without even realizing what I'm doing, I find myself pressing closer, my tongue darting out to taste...">>
<center><img src="images/serin/chapter2/morningactivities/2.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<dialog "Serin" "faceshock" "W-what are you... $humanName!">>
<<narrative "I can hear the shock in her voice, but it doesn't register. My failed attempt at resistance has somehow made the trance even deeper. When Serin's arm releases from around my neck completely, I don't pull away.">>
<<narrative "Instead, I press even closer, my hands coming up to steady myself as I continue what I was doing, completely lost in the overwhelming sensations.">>
<center><img src="images/serin/chapter2/morningactivities/lickingarmpit2.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<dialog "Serin" "faceembarrassed" "$humanName... I... I let go. You don't have to... why are you still...">>
<<narrative "Her voice is barely a whisper, filled with confusion and something else. But her words are meaningless to me now. All that exists is the taste, the scent, the warmth.">>
<<narrative "Long moments pass as I remain lost in my trance. Serin has gone completely still, neither encouraging nor stopping me. I can sense her conflicted emotions even through my clouded state.">>
<<dialog "Serin" "faceembarrassed" "This is... I don't understand... you tried to resist but now you're... oh god...">>
<center><img src="images/serin/chapter2/morningactivities/lickingarmpit3.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<narrative "Time becomes meaningless as I continue, my tongue moving in slow, deliberate motions. The failed resistance seems to have made the experience even more intense, as if my body is rebelling against my mind's attempt to deny what it wants.">>
<<narrative "Eventually, gradually, the fog begins to clear. The trance-like state starts to fade, and reality comes crashing back. The shock in her voice finally breaks through whatever spell I was under.">>
<<narrative "I suddenly realize what I was doing and jerk back, my face burning with embarrassment and confusion. The taste still lingers on my tongue, and I can see the deep blush on Serin's face.">>
<<changeFetish "Rylan" "smellFetish" 0.3>>
<<changeFetish "Rylan" "armpitFetish" 0.4>>
<<changeLust "Rylan" 12>>
<<changeLust "Serin" 10>>
<<changeAttraction "Serin" "Rylan" 3>>
<<changeAttraction "Rylan" "Serin" 2>>
<</if>>
<<dialog "Rylan" "faceembarrassed" "I... I'm sorry, I don't know what came over me...">>
<<narrative "Serin stands up, her face still flushed, looking just as confused as I feel. There's something different in her expression now - a mixture of surprise, curiosity, and something else I can't quite identify.">>
<<dialog "Serin" "faceembarrassed" "That was... unexpected. But a win is a win.">>
<<narrative "Before I can say anything else, she steps closer and, to my complete shock, presses her lips against mine in a quick but firm kiss. My heart nearly stops.">>
<center><img src="images/serin/chapter2/morningactivities/kissrylan.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<quickSexTrack "kiss" "Rylan" "Serin" 1>>
<<if not $rylanFirstKiss>><<addSoulCorruption "rylan" 2>><</if>><<if not $serinFirstKiss>><<addSoulCorruption "serin" 1>><</if>><<if ($rylan_SerinKissCount || 0) === 0>><<addSoulCorruption "rylan" 1>><<addSoulCorruption "serin" 1>><</if>><<if _resistanceSuccess !== true>><<addSoulCorruption "rylan" 1>><</if>>
<<dialog "Serin" "faceteasing" "Meet me in my room in five minutes for your punishment, $humanName. And don't keep me waiting.">>
<<narrative "She grabs the nylon fabric that was lying on the table nearby and heads toward the door, pausing only to look back at me with that mischievous smile of hers.">>
<<dialog "Serin" "facesmirk" "Five minutes, $humanName. Don't make me come looking for you.">>
<<narrative "And with that, she's gone, leaving me alone in the training hall, trying to process what just happened and what this "punishment" might entail.">>
<div class="corruption-showcase" style="background: linear-gradient(135deg, rgba(120,0,0,0.8), rgba(80,0,40,0.6)); border: 2px solid rgba(150,0,0,0.8); border-radius: 12px; padding: 25px; margin: 25px 0; text-align: center;">
<p style="color: #ff6b6b; font-size: 1.3em; font-weight: bold; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin-bottom: 15px;">⚫ Soul Corruption ⚫</p>
<p style="color: #ffaaaa; font-size: 1.1em; margin-bottom: 10px;">Both <<print $humanName>> and Serin's souls darken with forbidden desire...</p>
<p style="color: #ff8888; font-size: 1em;">Corruption increases from this intimate encounter</p>
</div>
<<soulDisplay "rylan">><<soulDisplay "serin">>
<<continueBox "SerinRoomPunishment" "Punishment Time" "Head to Serin's room for the punishment.">>
</div>
<</nobr>>
<<pov "rylan" "ntr1.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(50, 45, 40, 0.8); border: 1px solid rgba(255,255,255,0.5); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: #ffd700; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">🌀 Giving In to Temptation 🌀</p>
<p style="color: #ffeb9c; font-size: 1.1em;">Surrendering to the overwhelming sensation...</p>
</div>
<<narrative "I can't fight it anymore. Whatever this feeling is, whatever's happening to me, I don't want it to stop. Instead of struggling, I take a deeper breath, letting that intoxicating scent fill my lungs completely.">>
<<narrative "It's like nothing I've ever experienced before. The musky, warm smell seems to seep into every part of me, making my body feel heavy and my mind fog over with a strange, pleasant haze.">>
<center><img src="images/serin/chapter2/morningactivities/2.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<dialog "Serin" "faceembarrassed" "$humanName? You're... you're not even trying to escape. What's gotten into you?">>
<<narrative "I can hear her voice, but it seems distant, unimportant. All that matters is this incredible sensation, this scent that's driving me deeper into some kind of trance.">>
<<narrative "I feel Serin's grip loosen slightly, probably expecting me to break free now that I have the chance. But instead, I press closer, breathing even deeper, lost in the overwhelming sensation.">>
<center><img src="images/serin/chapter2/morningactivities/2.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<narrative "My mind is completely clouded now, operating on pure instinct. The scent is so powerful, so intoxicating, that I find myself wanting more than just to smell it.">>
<<dialog "Serin" "faceshock" "W-what are you doing? $humanName, this is...">>
<<narrative "Before I even realize what I'm doing, my tongue darts out, tasting the source of that incredible scent. The salty, musky flavor only intensifies the trance I'm in.">>
<center><img src="images/serin/chapter2/morningactivities/3.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<dialog "Serin" "faceshock" "Oh god... $humanName, you're actually... you're actually licking my...">>
<<narrative "I can hear the shock in her voice, but I'm too far gone to care. The taste, the scent, the warmth - it's all consuming me completely. My tongue moves of its own accord, exploring, tasting, completely lost in this new sensation.">>
<<narrative "Suddenly, I feel Serin's arm release from around my neck completely. She's let go of the headlock entirely, probably expecting me to pull away now that I'm free.">>
<<narrative "But I don't. I can't. Instead of pulling back, I actually press closer, my hands coming up to steady myself as I continue what I was doing, completely lost in the trance.">>
<<dialog "Serin" "faceembarrassed" "$humanName... you... you don't have to... I'm not even holding you anymore...">>
<<narrative "Her voice is barely a whisper, filled with confusion and something else I can't identify in my current state. But her words don't register. All I can focus on is the intoxicating taste and scent.">>
<<narrative "Minutes pass, though they feel like hours in my trance-like state. Serin has gone completely still, neither encouraging nor stopping me. I can feel her body trembling slightly, hear her breathing becoming uneven.">>
<center><img src="images/serin/chapter2/morningactivities/lickingarmpit2.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<dialog "Serin" "faceembarrassed" "I... I don't understand what's happening... this isn't... people don't usually...">>
<<narrative "She trails off, and I can sense her internal struggle. Part of her wants to stop this, but another part... another part seems curious, maybe even enjoying the strange intimacy of the moment.">>
<<narrative "I continue, lost in my own world, my tongue moving in slow, deliberate motions. The salty taste, the musky scent, the warmth of her skin - it's all I can think about, all that exists in my clouded mind.">>
<<dialog "Serin" "faceembarrassed" "$humanName... this is so... I've never... oh god...">>
<<narrative "Time seems to stand still as I remain lost in this trance, completely unaware of how long I've been doing this, completely focused on the overwhelming sensations that have taken control of my mind and body.">>
<<narrative "Even in my trance-like state, I can sense Serin's confusion. She's clearly never experienced anything like this before, and neither have I. Her tough, teasing demeanor has completely cracked.">>
<center><img src="images/serin/chapter2/morningactivities/lickingarmpit3.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<dialog "Serin" "faceembarrassed" "This... this isn't normal, is it? People don't usually... I mean, I've never had someone react like this to...">>
<<narrative "She trails off, clearly flustered and uncertain. I can feel her body tense and then relax, as if she's fighting her own conflicted feelings about what's happening.">>
<<narrative "But I'm lost in my own world, completely absorbed in this new sensation that I never knew existed. Time seems to slow down as I continue, driven by pure instinct.">>
<<narrative "Gradually, slowly, the fog in my mind begins to clear. The trance-like state starts to fade, and reality comes crashing back to me like a cold wave.">>
<<narrative "I suddenly realize what I've been doing, what position I'm in, and the taste that's still on my tongue. Horror and embarrassment flood through me as I jerk back, my face burning with shame.">>
<<dialog "Rylan" "faceshock" "Oh god... what did I... I'm so sorry, Serin, I don't know what came over me!">>
<<dialog "Serin" "faceembarrassed" "I... that was... unexpected. I've never seen anyone react like that before.">>
<<narrative "We both sit there for a moment, trying to process what just happened. The air between us feels charged with a new kind of tension I've never experienced before.">>
<<dialog "Serin" "faceteasing" "Well... I definitely won that match. Which means you owe me that punishment.">>
<<narrative "Before I can say anything, she steps closer and, to my complete shock, presses her lips against mine in a firm, lingering kiss. My heart pounds as I taste something new on her lips.">>
<center><img src="images/serin/chapter2/morningactivities/kissrylan.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<quickSexTrack "kiss" "Rylan" "Serin" 1>>
<<if ($rylanFirstKiss || "") === "">><<addSoulCorruption "rylan" 2>><</if>><<if ($serinFirstKiss || "") === "">><<addSoulCorruption "serin" 1>><</if>><<if ($rylan_SerinKissCount || 0) === 0>><<addSoulCorruption "rylan" 1>><<addSoulCorruption "serin" 1>><</if>><<addSoulCorruption "rylan" 1>>
<<dialog "Serin" "facesmirk" "Meet me in my room in five minutes for your punishment, $humanName. After what just happened, I think we need to have a more... private conversation.">>
<<narrative "She grabbed the nylon fabric that was lying on the table nearby and heads toward the door, pausing to look back at me with an expression I can't quite read - part teasing, part curious, part something else entirely.">>
<<dialog "Serin" "faceteasing" "Five minutes, $humanName. Don't make me come looking for you... though after that display, I'm not sure you'd mind if I did.">>
<<narrative "And with that, she's gone, leaving me alone to try to understand what just happened to me and what this "punishment" might involve after such an intimate encounter.">>
<div class="corruption-showcase" style="background: linear-gradient(135deg, rgba(120,0,0,0.8), rgba(80,0,40,0.6)); border: 2px solid rgba(150,0,0,0.8); border-radius: 12px; padding: 25px; margin: 25px 0; text-align: center;">
<p style="color: #ff6b6b; font-size: 1.3em; font-weight: bold; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin-bottom: 15px;">⚫ Soul Corruption ⚫</p>
<p style="color: #ffaaaa; font-size: 1.1em; margin-bottom: 10px;">Both <<print $humanName>> and Serin's souls darken with forbidden desire...</p>
<p style="color: #ff8888; font-size: 1em;">Deep corruption from embracing temptation</p>
</div>
<<soulDisplay "rylan">><<soulDisplay "serin">>
<<continueBox "SerinRoomPunishment" "Punishment Time" "Head to Serin's room for the punishment.">>
</div>
<</nobr>>
<<changeFetish "Rylan" "armpitFetish" 0.5>>
<<changeFetish "Rylan" "smellFetish" 0.4>>
<<changeFetish "Rylan" "salivaFetish" 0.3>>
<<changeLust "Rylan" 15>>
<<changeLust "Serin" 12>>
<<changeAttraction "Serin" "Rylan" 4>>
<<changeAttraction "Rylan" "Serin" 3>>
<<pov "rylan" "ntr1.mp3">><<nobr>>
<<set $currentFace = $currentSerinFace>>
<div class="passage-container serin">
<div class="scene-header" style="background: rgba(60, 40, 60, 0.8); border: 1px solid rgba(255,255,255,0.5); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: #ff69b4; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">💜 Serin's Report 💜</p>
<p style="color: #ffccdd; font-size: 1.1em;">Time to share the news...</p>
</div>
<<narrative "I can barely contain my excitement as I practically skip down the hallway to Nimeria's room. My heart is still racing from what just happened with $humanName.">>
<<if $serinChapter2ArmpitSeen>>
<<narrative "It worked exactly like Nimeria said it would!">>
<<elseif $rylanxserincontent>>
<<narrative "Even though he chose the boring training path, I still managed to make some progress.">>
<<else>>
<<narrative "I didn't get to train with him at all today. He completely avoided me.">>
<</if>>
<<narrative "I knock on her door, trying to keep my voice calm.">>
<<dialog "Serin" "facelaugh" "Nimeria? Are you in there? I have some... interesting news to share.">>
<<narrative "The door opens, and Nimeria appears with that knowing smile of hers. She somehow always seems to know what's coming.">>
<<dialog "Nimeria" "facesmile" "Oh? Come in, Serin. Tell me everything.">>
<<if $serinChapter2ArmpitSeen>>
<<narrative "I step inside her room, closing the door behind me. I can't help but grin as I recall what just happened.">>
<<dialog "Serin" "faceteasing" "Nimeria, it went exactly as you said it would! He completely submitted to the smell of those pantyhose. I've never seen anything like it!">>
<<dialog "Nimeria" "facesmile" "I'm so happy to hear that, Serin. Did he... respond as we hoped?">>
<<dialog "Serin" "facelaugh" "He actually climaxed just from the scent! I couldn't believe it. But Nimeria... what's so special about those pantyhose? They worked so perfectly, like magic.">>
<<narrative "Nimeria's smile becomes even more mysterious, if that's possible. There's something in her eyes that makes me curious about her true nature.">>
<<dialog "Nimeria" "facesmileerie" "That's my little secret, Serin. Let's just say I have my ways of making things... more effective.">>
<<dialog "Serin" "faceembarrassed" "You're so mysterious sometimes. But thank you so much for letting me borrow them.">>
<<dialog "Nimeria" "facesmile" "Oh, you won't need them anymore from now on. The seed has been planted. $humanName is already slightly addicted to your smell now. If you continue listening to me, you'll 100% reach your goal.">>
<<elseif $rylanxserincontent>>
<<narrative "I step inside her room, closing the door behind me. I feel a bit disappointed but still hopeful.">>
<<dialog "Serin" "faceembarrassed" "Nimeria, he chose the boring training path instead of the armpit scene. But I still managed to get a kiss out of him!">>
<<dialog "Nimeria" "facesmile" "That's still progress, Serin. Every little step counts. How did he react to the kiss?">>
<<dialog "Serin" "faceteasing" "He was completely shocked! His eyes went wide and he couldn't speak for a moment. It was actually kind of cute.">>
<<narrative "Nimeria nods thoughtfully, her smile encouraging rather than disappointed.">>
<<dialog "Nimeria" "facesmile" "Don't worry, Serin. Sometimes the slower approach works better. The fact that he let you kiss him shows he's not completely resistant to your advances.">>
<<dialog "Serin" "face" "You think so? I was worried he'd be angry or something.">>
<<dialog "Nimeria" "facelaugh" "Trust me, if he was truly against it, he would have pushed you away immediately. The shock means he was surprised but not necessarily opposed. We'll just need to be more patient with him.">>
<<else>>
<<narrative "I step inside her room, closing the door behind me. I feel frustrated and disappointed.">>
<<dialog "Serin" "facesad" "Nimeria, he completely avoided me today. I didn't get to train with him at all.">>
<<dialog "Nimeria" "face" "Oh? What happened? Did he give you a reason?">>
<<dialog "Serin" "faceembarrassed" "He just said he was busy or had other plans. I tried to convince him, but he was really firm about it.">>
<<narrative "Nimeria thinks for a moment, then smiles reassuringly.">>
<<dialog "Nimeria" "facesmile" "Don't worry, Serin. Sometimes people need space, especially when they're confused about their feelings. This might actually be a good sign.">>
<<dialog "Serin" "face" "A good sign? How?">>
<<dialog "Nimeria" "facelaugh" "If he's avoiding you, it might mean he's afraid of how he feels around you. That's actually progress! We just need to be more subtle in our approach.">>
<</if>>
<<if $serinChapter2ArmpitSeen>>
<<narrative "I can't contain my excitement and gratitude anymore. I rush forward and wrap my arms around Nimeria in a tight hug.">>
<<dialog "Serin" "facelaugh" "Thank you so much, Nimeria! I never thought this could actually work, but you made it possible!">>
<<elseif $rylanxserincontent>>
<<narrative "I feel grateful for her encouragement and support. I step forward and give her a warm hug.">>
<<dialog "Serin" "facelaugh" "Thank you for believing in me, Nimeria. Even if it's slower than we hoped, I'm not giving up!">>
<<else>>
<<narrative "I feel grateful for her understanding and support. I step forward and give her a warm hug.">>
<<dialog "Serin" "facelaugh" "Thank you for not giving up on me, Nimeria. I'll try harder next time!">>
<</if>>
<<narrative "She hugs me back warmly, and I feel a strange sense of comfort and trust with her. But a question has been nagging at me.">>
<<dialog "Serin" "face" "But Nimeria... why do you do all this for me? What's in it for you?">>
<<dialog "Nimeria" "facesmile" "I really like you, Serin, and I want to be just. I like Liora too, but she had an unfair start in the race of love. I want to spread love for everyone.">>
<<narrative "Her words make sense, but I still feel a twinge of guilt about what we're doing. Liora is my $serinLioraRelation, after all.">>
<<dialog "Serin" "facesad" "But... I feel like I'm doing something wrong. Liora trusts me.">>
<<dialog "Nimeria" "face" "Don't you think that $humanName is someone really special?">>
<<dialog "Serin" "face" "Yes... he really is.">>
<<dialog "Nimeria" "facesmile" "I think so too. He deserves so much, and it would be greedy for a woman to keep him only for herself, don't you agree?">>
<<narrative "I think about her words. There's a logic to them that I can't deny, even if it feels strange.">>
<<dialog "Serin" "faceembarrassed" "Maybe... I never thought about it that way.">>
<<dialog "Nimeria" "facesmileerie" "So what do you think? Would you rather be without him, or have him and share him with the people you love?">>
<<narrative "When she puts it like that, the answer seems obvious. Being without him would be unbearable.">>
<<dialog "Serin" "face" "The latter, I guess... Sharing him would be better than not having him at all.">>
<<dialog "Nimeria" "facesmile" "Then we both see eye to eye, don't we?">>
<<dialog "Serin" "face" "Okay... I think I understand now. What's next?">>
<<narrative "Nimeria's smile brightens, and she claps her hands together with obvious excitement.">>
<<if $serinChapter2ArmpitSeen>>
<<dialog "Nimeria" "facelaugh" "Next we go shopping! There are some things we'll need for the next phase of our plan.">>
<<elseif $rylanxserincontent>>
<<dialog "Nimeria" "facelaugh" "Next we go shopping! We'll need some special items to help speed up the process.">>
<<else>>
<<dialog "Nimeria" "facelaugh" "Next we go shopping! We'll need some special items to help us be more... persuasive.">>
<</if>>
<<dialog "Serin" "facelaugh" "Shopping? That sounds fun! I can't wait to see what you have in mind.">>
<<narrative "As we prepare to leave her room, I feel a renewed sense of purpose and excitement. With Nimeria's help, I really might have a chance with $humanName after all.">>
<<continueBox "MorningActivities" "Morning Activities" "Continue to morning activities.">>
</div>
<</nobr>>
<<set $serin_NimeriaAffection = ($serin_NimeriaAffection || 0) + 3>><<trackAffection "Serin" "Nimeria" 3>><<set $nimeria_SerinAffection = ($nimeria_SerinAffection || 0) + 3>><<trackAffection "Nimeria" "Serin" 3>><<set $nimeria_RylanAffection = ($nimeria_RylanAffection || 0) + 3>><<trackAffection "Nimeria" $humanName 3>><<set $nimeria_RylanAttraction = ($nimeria_RylanAttraction || 0) + 2>><<trackAttraction "Nimeria" $humanName 2>><<set $nimeria_Lust = ($nimeria_Lust || 0) + 5>><<trackLust "Nimeria" 5>>
<<pov "serin" "serinxnimeriareport.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>><<set $serinChapter2PunishmentSeen = true>>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(60, 40, 60, 0.8); border: 1px solid rgba(255,255,255,0.5); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: #ff69b4; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">👑 Serin's Punishment 👑</p>
<p style="color: #ffccdd; font-size: 1.1em;">Time to pay for losing the match...</p>
</div>
<<narrative "I knock on Serin's door and hear her call me in. As I step inside, I'm immediately hit by that same musky, intoxicating scent from the training hall, but here it's even stronger, more concentrated.">>
<<narrative "My eyes immediately notice something different about Serin. Instead of her usual white socks, she's wearing black pantyhose that hug her legs perfectly. I've never seen her wear anything like this before, and the sight makes my heart race for reasons I don't fully understand.">>
<center><img src="images/serin/chapter2/morningactivities/feet/portrait.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<dialog "Serin" "facesmirk" "Good, you actually came. Close the door behind you.">>
<<narrative "There's something different in her tone - more commanding, more confident than I've ever heard before. I do as she says, closing the door with a soft click.">>
<<dialog "Serin" "faceteasing" "Now, $humanName, I want you to get on your knees and put your hands behind your back.">>
<<dialog "Rylan" "faceshock" "What?! Serin, what are you talking about? This is crazy!">>
<<narrative "Her expression changes instantly, becoming more serious and dominant than I've ever seen her. She steps closer, and I can smell that intoxicating scent even stronger now.">>
<<dialog "Serin" "faceangry" "I said, get on your knees. NOW. You lost the match, and this is your punishment. Don't make me ask again.">>
<<narrative "Something in her voice, combined with that overwhelming scent in the room, makes me feel strangely compelled to obey. My body seems to move on its own as I slowly sink to my knees and place my hands behind my back.">>
<<dialog "Serin" "facesmirk" "That's better. Good boy.">>
<<narrative "I hear her moving around behind me, and then I feel something soft but strong wrapping around my wrists. She's binding my hands with what feels like fabric - probably one of her hair ties or something similar.">>
<<dialog "Serin" "faceteasing" "There we go. Now you can't run away from your punishment.">>
<<narrative "Before I can protest, I feel something soft covering my eyes - it smells familiar, like one of her old socks. Everything goes dark as she ties it securely behind my head.">>
<<dialog "Rylan" "faceembarrassed" "Serin, what are you doing? This is getting weird...">>
<<dialog "Serin" "facelaugh" "Shh. Just be a good boy and accept your punishment.">>
<<narrative "Suddenly, I feel something warm and damp pressing against my face. The smell is overwhelming - musky, salty, and incredibly strong. It's so intense that my first instinct is to pull away.">>
<<dialog "Rylan" "faceshock" "Ew! What is that?! It smells so strong!">>
<<dialog "Serin" "facesmirk" "That's your punishment, $humanName. And you're going to smell it whether you like it or not.">>
<<narrative "I try to turn my head away, but she grabs my hair firmly and keeps whatever it is pressed against my face.">>
<<dialog "Serin" "faceangry" "Keep your face right there and keep smelling it. Don't you dare pull away.">>
<<narrative "Something about her commanding tone makes me stop resisting. I keep my face pressed against whatever she's holding, breathing in the intense scent despite myself.">>
<<dialog "Serin" "facesmirk" "Good boy. Now keep inhaling like it's the best thing in the world. Deep breaths.">>
<<narrative "I do as she says, taking deeper breaths. At first, the smell is almost vinegar-like and overwhelming, but as I continue inhaling, something strange happens. My body starts to relax, and the scent begins to smell... different. Sweeter. More intoxicating.">>
<<narrative "I can feel my heart racing and a warmth spreading through my body. What started as disgust is slowly transforming into something else entirely - something I don't understand but can't deny.">>
<<narrative "Suddenly, I feel the sock being pulled away from my eyes. As my vision adjusts, I'm shocked to see exactly what's been pressed against my face - Serin's foot encased in the black pantyhose, the fabric slightly damp with moisture and still pressed firmly against my nose and mouth.">>
<center><img src="images/serin/chapter2/morningactivities/feet/1.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<dialog "Rylan" "faceshock" "Oh my god... your foot?!">>
<<dialog "Serin" "facelaugh" "That's right! My sweaty, pantyhose-covered foot has been pressed against your face this whole time. And you've been breathing it in like a good little foot boy.">>
<<narrative "She presses her foot harder against my face, her toes curling slightly through the black pantyhose as she rubs the nylon-covered sole against my nose and lips.">>
<<dialog "Serin" "facesmirk" "Can you feel how warm and damp my pantyhose are? I've been wearing these all morning during training. They're absolutely soaked with my sweat.">>
<<narrative "I can't form words, completely overwhelmed by the sight and scent. The black nylon fabric is indeed damp with her sweat, and the musky aroma is even more intense now that I can see its source.">>
<center><img src="images/serin/chapter2/morningactivities/feet/2.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<dialog "Serin" "faceteasing" "What's wrong, $humanName? Cat got your tongue? Or are you too busy sniffing my feet to speak?">>
<<narrative "She wiggles her toes through the pantyhose, the fabric stretching slightly as she does. I can see every detail through the sheer black material - the shape of her toes, the curves of her sole, everything.">>
<<dialog "Serin" "facelaugh" "I never knew you had such a perverted side, $humanName. Getting all excited from the smell of my sweaty feet.">>
<<narrative "She switches to her other foot, and this one is even more intense. The scent is stronger, the fabric damper with sweat. My breathing becomes even more labored as she presses it firmly against my face.">>
<center><img src="images/serin/chapter2/morningactivities/feet/3.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<dialog "Serin" "facesmirk" "This foot is even sweatier. I bet you can really taste the salt through the nylon, can't you? Go ahead, take a deep breath.">>
<<dialog "Rylan" "faceembarrassed" "Serin... this is so... I can't believe...">>
<<dialog "Serin" "faceteasing" "Can't believe what? That you're getting turned on by this? I can see it in your eyes, $humanName. You're loving every second of this.">>
<<narrative "She begins alternating between both feet, sometimes pressing both against different parts of my face simultaneously. The overwhelming sensation of being completely surrounded by her scent is driving me deeper into this strange trance.">>
<center><img src="images/serin/chapter2/morningactivities/feet/4.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<dialog "Serin" "facelaugh" "Look at you, completely helpless. My little foot slave, aren't you? Tell me how much you love the smell.">>
<<dialog "Rylan" "faceembarrassed" "I... I don't understand what's happening to me...">>
<<dialog "Serin" "facesmirk" "What's happening is that you're discovering your true nature. You're a foot boy, $humanName. My foot boy.">>
<<narrative "She becomes more aggressive now, rubbing her pantyhose-covered soles all over my face, making sure I'm completely covered in her scent. The nylon fabric creates a unique texture against my skin.">>
<center><img src="images/serin/chapter2/morningactivities/feet/5.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<dialog "Serin" "faceteasing" "I want you to remember this smell, $humanName. Every time you see me in pantyhose from now on, you're going to think about this moment.">>
<<narrative "She uses her toes to grip my nose through the fabric, forcing me to breathe even deeper. The combination of the visual, the scent, and her dominating words is completely overwhelming my senses.">>
<<dialog "Serin" "facelaugh" "You're completely addicted now, aren't you? I can see it in your breathing, in your eyes. You never want me to stop.">>
<<narrative "The climax is building as she continues her relentless teasing. She presses both feet against my face now, completely enveloping me in the intoxicating scent of her pantyhose-covered feet.">>
<center><img src="images/serin/chapter2/morningactivities/feet/6.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<dialog "Serin" "facesmirk" "This is what you are now, $humanName. My personal foot worshiper. Say it. Tell me what you are.">>
<<dialog "Rylan" "faceembarrassed" "I'm... I'm your...">>
<<dialog "Serin" "faceangry" "Say it properly! What are you?">>
<<dialog "Rylan" "faceembarrassed" "I'm your foot boy...">>
<<dialog "Serin" "facelaugh" "Good boy! Now show me how much you worship my feet. Keep smelling them until you can't take it anymore.">>
<<narrative "As the overwhelming sensations reach their peak, she positions both feet perfectly, completely enveloping my face in the intoxicating scent of her pantyhose-covered soles. This is the moment of complete submission.">>
<center><img src="images/serin/chapter2/morningactivities/feet/7.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<dialog "Serin" "facelaugh" "This is it, $humanName! This is what you are now - completely owned by the scent of my feet. Look at you! You're completely addicted to the smell of my pantyhose-covered feet. What would Liora think if she could see you now?">>
<<narrative "The combination of her humiliating words, the intense scent completely surrounding me, and the feeling of her soft, nylon-covered soles pressing against every part of my face becomes too much. My body reaches its absolute limit, and I climax completely unexpectedly, my whole body shuddering as waves of overwhelming pleasure wash over me.">>
<<dialog "Serin" "facesmirk" "Yes! That's it! Come for my feet, you perverted little foot slave!">>
<<dialog "Serin" "facelaugh" "Oh my god! Did you really just come from smelling my feet?! That's hilarious!">>
<<narrative "She pulls her feet away, and I'm left kneeling there, completely overwhelmed and embarrassed by what just happened. The reality of the situation crashes down on me like a wave.">>
<<dialog "Rylan" "faceembarrassed" "Oh god... I don't know what's wrong with me. I've never... I mean, I don't understand what just happened.">>
<<dialog "Serin" "faceteasing" "You know what? Let's ask Liora what she thinks is wrong with you. I'm sure she'd love to hear about this.">>
<<dialog "Rylan" "faceshock" "No! Please, no! You can't tell her about this!">>
<<narrative "She unties my hands and helps me to my feet, but her mischievous expression tells me she's enjoying every second of my embarrassment.">>
<<dialog "Serin" "facesmirk" "Well, if you don't want me to tell Liora about your little... discovery... then I guess we'll just have to continue with your punishment sessions in the future.">>
<<dialog "Rylan" "faceembarrassed" "What do you mean?">>
<<dialog "Serin" "faceteasing" "Oh, you'll see. Now get out of here before someone notices how long you've been in my room. And $humanName... this stays between us, understood?">>
<<narrative "I nod quickly, still trying to process everything that just happened. As I leave her room, I can still smell her scent on my face, and I know that something fundamental has changed between us.">>
<div class="corruption-showcase" style="background: linear-gradient(135deg, rgba(120,0,0,0.8), rgba(80,0,40,0.6)); border: 2px solid rgba(150,0,0,0.8); border-radius: 12px; padding: 25px; margin: 25px 0; text-align: center;">
<p style="color: #ff6b6b; font-size: 1.3em; font-weight: bold; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin-bottom: 15px;">⚫ Soul Corruption ⚫</p>
<p style="color: #ffaaaa; font-size: 1.1em; margin-bottom: 10px;">$humanName's soul darkens with forbidden fetish desires...</p>
<p style="color: #ff8888; font-size: 1em;">Deep corruption from complete submission and climax</p>
</div>
<<continueBox "SerinReportsToNimeria" "Morning Activities" "Continue to morning activities.">>
</div>
<</nobr>>
<<addSoulCorruption "serin" 1>>
<<changeFetish "Rylan" "feetFetish" 0.8>>
<<changeFetish "Rylan" "smellFetish" 0.6>>
<<changeFetish "Rylan" "submissionFetish" 0.4>>
<<changeFetish "Serin" "dominanceFetish" 0.5>>
<<changeLust "Rylan" -25>>
<<changeLust "Serin" 15>>
<<changeAttraction "Serin" "Rylan" 5>>
<<changeAttraction "Rylan" "Serin" 4>>
<<quickSexTrack "orgasm" "Serin" "Rylan" 1>>
<<soulDisplay "rylan">><<soulDisplay "serin">>
<<pov "rylan" "ntr1.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>><<set $rylanxserincontent = true>><<set $serinChapter2ArmpitSeen = false>>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(50, 45, 40, 0.8); border: 1px solid rgba(255,255,255,0.5); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: #ffd700; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">⚔️ Quick Training Match ⚔️</p>
<p style="color: #ffeb9c; font-size: 1.1em;">Focus on the basics...</p>
</div>
<<narrative "I decide to focus on the training itself rather than getting distracted. Whatever that strange atmosphere is in here, I need to concentrate on improving my skills.">>
<<dialog "Rylan" "face" "Alright, Serin. Let's do some proper sparring. I want to work on my technique.">>
<<dialog "Serin" "faceteasing" "Oh, how responsible of you, $humanName. Fine, let's see what you've got.">>
<<narrative "There's something in her tone that suggests she's not entirely pleased with my serious approach, but she gets into a fighting stance anyway.">>
<<narrative "We begin our sparring match, and it quickly becomes apparent that Serin is not holding back. She moves with a fluid grace that I struggle to match.">>
<<narrative "I try to land a few hits, but she easily dodges and counters. Within just a few minutes, she has me pinned to the ground, her hand pressed against my chest.">>
<<dialog "Serin" "facesmirk" "Well, that was disappointing, $humanName. I thought you'd put up more of a fight.">>
<<dialog "Rylan" "faceembarrassed" "You're... you're really good at this. I guess I need more practice.">>
<<narrative "She looks down at me with that mischievous glint in her eyes, and I can tell she's planning something.">>
<<dialog "Serin" "faceteasing" "Since you lost so quickly, I think you deserve a punishment.">>
<<narrative "Before I can ask what she means, she leans down and presses her lips against mine in a firm, surprising kiss. My eyes widen in shock.">>
<center><img src="images/serin/chapter2/morningactivities/kissrylan.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<if ($rylanFirstKiss || "") === "">><<addSoulCorruption "rylan" 2>><</if>><<if ($serinFirstKiss || "") === "">><<addSoulCorruption "serin" 1>><</if>><<if ($rylan_SerinKissCount || 0) === 0>><<addSoulCorruption "rylan" 1>><<addSoulCorruption "serin" 1>><</if>>
<<quickSexTrack "kiss" "rylan" "serin" 1>>
<<narrative "The kiss lasts only a few seconds, but it feels like an eternity. When she pulls back, I'm left staring up at her, completely speechless.">>
<<dialog "Serin" "facesmirk" "There. That's what you get for being so boring during training.">>
<<narrative "She gets up and stretches, as if nothing unusual just happened, while I'm still lying there trying to process what just occurred.">>
<<dialog "Rylan" "faceshock" "Serin... what was that...?">>
<<dialog "Serin" "facelaugh" "Just a little motivation for next time. Maybe you'll try harder if you know what's at stake.">>
<<narrative "With that, she heads toward the door, leaving me alone to wonder what just happened and what it might mean for our relationship going forward.">>
<div class="corruption-showcase" style="background: linear-gradient(135deg, rgba(120,0,0,0.8), rgba(80,0,40,0.6)); border: 2px solid rgba(150,0,0,0.8); border-radius: 12px; padding: 25px; margin: 25px 0; text-align: center;">
<p style="color: #ff6b6b; font-size: 1.3em; font-weight: bold; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin-bottom: 15px;">⚫ Soul Corruption ⚫</p>
<p style="color: #ffaaaa; font-size: 1.1em; margin-bottom: 10px;">Both $humanName and Serin's souls darken with forbidden desire...</p>
<p style="color: #ff8888; font-size: 1em;">Corruption from an unexpected intimate moment</p>
</div>
<<soulDisplay "rylan">><<soulDisplay "serin">>
<<continueBox "MorningActivities" "Morning Activities" "Continue to morning activities.">>
</div>
<</nobr>>
<<pov "rylan" "default2.mp3">><<nobr>>
<<run window.AudioSystem.playSFX('gasp.mp3')>>
<<changeLust "Liora" 25>>
<<changeLust "Seryk" 20>>
<<changeLust "Liora" -50>>
<<changeAttraction "Seryk" "Liora" 3>>
<<changeAttraction "Liora" "Seryk" 3>>
<<changeAffection "Seryk" "Liora" 3>>
<<changeAffection "Liora" "Seryk" -3>>
<<addSoulCorruption "liora" 1>>
<<quickSexTrack "kiss" "Seryk" "Liora" 1>>
<<quickSexTrack "orgasm" "Seryk" "Liora" 1>>
<div class="passage-container liora">
<<narrative "My eyes flutter open in surprise to see Seryk's face inches from mine, his lips pressed against mine.">>
<center><img src="images/liora/chapter2/ntr2/serkyliorakiss.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "At first, I'm shocked, but I don't pull away. The kiss feels... good. Really good. Like nothing I've ever experienced before.">>
<<narrative "Suddenly, something like an electric shock courses through my entire body, starting from where our lips touch and spreading everywhere. My body trembles and I make a small sound against his lips as waves of pleasure I don't understand wash over me.">>
<center><img src="images/liora/facewet.webp" style="width: 200px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I slowly calm down, my breathing still uneven, completely confused by what just happened to my body. When I finally come back to my senses, I realize what we were doing.">>
<<dialog "Liora" "facecrying" "You kissed me!" "I gasp, touching my lips with my fingertips." "But I'm $humanName's girlfriend!">>
<<dialog "Seryk" "faceembarrassed" "Sorry, I couldn't help myself. I don't know why, but I've been feeling so hot recently...">>
<<dialog "Liora" "faceembarrassedshortpink" "Oh... me too, but..." "I admit quietly, my cheeks burning.">>
<<dialog "Seryk" "face" "Don't worry, I won't tell anybody. I'll keep it a secret.">>
<<narrative "With that, he heads toward the door, leaving me alone with my racing thoughts.">>
<<dialog "Liora" "facesadshortpink" "That was... my first kiss," "I whisper to myself.">>
<<dialog "Liora" "faceangryshortpink" "Wait! You can't just leave after... after that!" "I call out, my voice shaking with emotion." "I want answers. What was really in that potion you gave me?">>
<<narrative "Seryk stops at the door, his hand on the handle. For a moment, he doesn't turn around.">>
<<dialog "Seryk" "faceworried" "Little Bird... you don't want to know.">>
<<dialog "Liora" "faceangryshortpink" "Yes, I do! Tell me the truth!">>
<<narrative "Seryk slowly turns around, his expression heavy with guilt and resignation.">>
<<dialog "Seryk" "faceembarrassed" "It was... my saliva," "he admits quietly, unable to meet my eyes.">>
<<dialog "Liora" "faceshock" "Your... what?!">>
<<dialog "Seryk" "faceembarrassed" "Don't you remember what Nimeria said? That my body fluids can heal mana circuits. My saliva has healing properties.">>
<<dialog "Liora" "faceangryshortpink" "You made me drink what?!" "I gasp, my face burning with embarrassment and shock.">>
<<changeFetish "Liora" "SalivaFetish" 1>>
<<dialog "Seryk" "faceserious" "I'm sorry, Little Bird. But it was the only choice after what happened in the cave. Your mana circuits were completely fried. You would have died without immediate treatment.">>
<<narrative "His voice becomes more serious, more responsible.">>
<<dialog "Seryk" "faceserious" "I take full responsibility for what I did. Both in the cave and just now. I crossed a line I shouldn't have.">>
<<narrative "I sit there in stunned silence, trying to process everything. My mind is reeling with the implications of what he's telling me.">>
<<dialog "Liora" "faceembarrassedshortpink" "So when I asked for more... you actually..." "I can't even finish the sentence, my cheeks burning with mortification.">>
<<narrative "Suddenly, there's a knock at my door.">>
<p style="color: #ff6b6b; font-weight: bold; text-align: center; font-size: 1.2em;">*Knock knock*</p>
<<dialog "Rylan" "face" "Liora? Are you okay? I wanted to check on you after today's mission...">>
<<narrative "Both Seryk and I freeze, our eyes meeting in panic. The weight of what just happened between us hangs heavy in the air. My heart pounds even harder - it's $humanName!">>
<div class="corruption-showcase" style="background: linear-gradient(135deg, rgba(120,0,0,0.8), rgba(80,0,40,0.6)); border: 2px solid rgba(150,0,0,0.8); border-radius: 12px; padding: 25px; margin: 25px 0; text-align: center;">
<p style="color: #ff6b6b; font-size: 1.3em; font-weight: bold; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin-bottom: 15px;">⚫ Soul Corruption ⚫</p>
<p style="color: #ffaaaa; font-size: 1.1em; margin-bottom: 10px;">Liora's innocent heart begins to darken...</p>
<p style="color: #ff8888; font-size: 1em;">+1 Soul Corruption</p>
</div>
<<soulDisplay "liora">>
<<continueBox "RylanVisitsLiora" "$humanName's Visit" "$humanName comes to check on Liora.">>
</div>
<</nobr>>
<<pov "liora" "ntr1.mp3">><<nobr>>
<<run window.AudioSystem.playSFX('gasp.mp3')>>
<<changeLust "Liora" 25>>
<<changeLust "Seryk" 20>>
<<changeLust "Liora" -50>>
<<changeAttraction "Seryk" "Liora" 3>>
<<changeAttraction "Liora" "Seryk" 3>>
<<changeAffection "Seryk" "Liora" 3>>
<<changeAffection "Liora" "Seryk" -3>>
<<addSoulCorruption "liora" 1>>
<<quickSexTrack "kiss" "Seryk" "Liora" 1>>
<<quickSexTrack "orgasm" "Seryk" "Liora" 1>>
<div class="passage-container liora">
<<narrative "My eyes flutter open in surprise to see Seryk's face inches from mine, his lips pressed against mine.">>
<center><img src="images/liora/chapter2/ntr2/serkyliorakiss.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $lioraFirstKiss === "Rylan">>
<<narrative "At first, I'm shocked. I just shared my first kiss with $humanName earlier, and now...">>
<<narrative "But then something incredible happens. This kiss feels completely different from the one with $humanName. Where his was sweet and gentle, this is... electric. Overwhelming.">>
<<else>>
<<narrative "At first, I'm shocked, but I don't pull away. The kiss feels... incredible. Like nothing I've ever experienced before.">>
<</if>>
<<narrative "Suddenly, something like an electric shock courses through my entire body, starting from where our lips touch and spreading everywhere. My body trembles and I make a small sound against his lips as waves of pleasure I don't understand wash over me.">>
<center><img src="images/liora/facewet.webp" style="width: 200px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I slowly calm down, my breathing still uneven, completely stunned by the intensity of what just happened. When I finally come back to my senses, I realize what we were doing.">>
<<if $lioraFirstKiss === "Rylan">>
<<dialog "Liora" "facecrying" "You kissed me!" "I gasp, touching my lips with my fingertips." "But I just... $humanName and I just...">>
<<narrative "I can't finish the sentence. The guilt is overwhelming, but so is the memory of how incredible this kiss felt compared to the earlier one.">>
<<else>>
<<dialog "Liora" "facecrying" "You kissed me!" "I gasp, touching my lips with my fingertips." "But I'm $humanName's girlfriend!">>
<</if>>
<<dialog "Seryk" "faceembarrassed" "Sorry, I couldn't help myself. I don't know why, but I've been feeling so hot recently...">>
<<dialog "Liora" "faceembarrassedshortpink" "Oh... me too, but..." "I admit quietly, my cheeks burning.">>
<<dialog "Seryk" "face" "Don't worry, I won't tell anybody. I'll keep it a secret.">>
<<narrative "With that, he heads toward the door, leaving me alone with my racing thoughts and confusing feelings.">>
<<if $lioraFirstKiss === "Rylan">>
<<dialog "Liora" "facesadshortpink" "But that wasn't... that wasn't my first kiss anymore," "I whisper to myself, the words heavy with guilt and confusion.">>
<<else>>
<<dialog "Liora" "facesadshortpink" "That was... my first kiss," "I whisper to myself.">>
<</if>>
<<dialog "Liora" "faceangryshortpink" "Wait! You can't just leave after... after that!" "I call out, my voice shaking with emotion." "I want answers. What was really in that potion you gave me?">>
<<narrative "Seryk stops at the door, his hand on the handle. For a moment, he doesn't turn around.">>
<<dialog "Seryk" "faceworried" "Little Bird... you don't want to know.">>
<<dialog "Liora" "faceangryshortpink" "Yes, I do! Tell me the truth!">>
<<narrative "Seryk slowly turns around, his expression heavy with guilt and resignation.">>
<<dialog "Seryk" "faceembarrassed" "It was... my saliva," "he admits quietly, unable to meet my eyes.">>
<<dialog "Liora" "faceshock" "Your... what?!">>
<<dialog "Seryk" "faceembarrassed" "Don't you remember what Nimeria said? That my body fluids can heal mana circuits. My saliva has healing properties.">>
<<dialog "Liora" "faceangryshortpink" "You made me drink what?!" "I gasp, my face burning with embarrassment and shock.">>
<<changeFetish "Liora" "SalivaFetish" 1>>
<<dialog "Seryk" "faceserious" "I'm sorry, Little Bird. But it was the only choice after what happened in the cave. Your mana circuits were completely fried. You would have died without immediate treatment.">>
<<narrative "His voice becomes more serious, more responsible.">>
<<dialog "Seryk" "faceserious" "I take full responsibility for what I did. Both in the cave and just now. I crossed a line I shouldn't have.">>
<<narrative "I sit there in stunned silence, trying to process everything. My mind is reeling with the implications of what he's telling me.">>
<<dialog "Liora" "faceembarrassedshortpink" "So when I asked for more... you actually..." "I can't even finish the sentence, my cheeks burning with mortification.">>
<<narrative "Seryk glances toward my door, then back at me.">>
<<dialog "Seryk" "faceserious" "I should go. This conversation... it's probably better if we keep it between us.">>
<<narrative "He moves toward the door, then pauses to look back at me one more time.">>
<<dialog "Seryk" "faceworried" "I'm sorry, Little Bird. For everything.">>
<<narrative "With that, he quietly leaves my room, closing the door softly behind him. I'm left alone with my racing thoughts and the overwhelming memory of two very different kisses in one evening.">>
<div class="corruption-showcase" style="background: linear-gradient(135deg, rgba(120,0,0,0.8), rgba(80,0,40,0.6)); border: 2px solid rgba(150,0,0,0.8); border-radius: 12px; padding: 25px; margin: 25px 0; text-align: center;">
<p style="color: #ff6b6b; font-size: 1.3em; font-weight: bold; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin-bottom: 15px;">⚫ Soul Corruption ⚫</p>
<p style="color: #ffaaaa; font-size: 1.1em; margin-bottom: 10px;">Liora's innocent heart begins to darken...</p>
<p style="color: #ff8888; font-size: 1em;">+1 Soul Corruption</p>
</div>
<<soulDisplay "liora">>
<<continueBox "LioraKissReflectionSerykBetter" "Kiss Reflection" "Reflect on the experience.">>
</div>
<</nobr>>
<<pov "liora" "ntr1.mp3">><<nobr>>
<<set $serykMorningBathScene = true>><<set $rylan_SerykMorningBath = true>>
<div class="passage-container rylan">
<center><img src="images/landscapes/hotbath.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I decide to start the morning with a relaxing hot bath. The warm water feels incredible against my skin as I settle into the tub, letting the heat work out any lingering tension from yesterday's adventures.">>
<<dialog "Rylan" "face" "This is exactly what I needed...">>
<<narrative "The steam rises around me as I close my eyes and enjoy the peaceful moment. The house is quiet, everyone else probably still getting ready for the day.">>
<center><img src="images/seryk/chapter2/morningactivities/standingsoaked.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Just as I'm getting comfortable, I hear footsteps approaching. The door opens and Seryk peeks in, his blue skin glistening slightly with morning perspiration.">>
<<dialog "Seryk" "face" "Oh hey bro! Mind if I join you? I could really use a good soak after my morning workout.">>
<<dialog "Rylan" "faceembarrassed" "I... uh... well...">>
<<dialog "Seryk" "face" "Don't worry about it, bro. We're both guys - nothing we haven't seen before, right?">>
<<narrative "Without waiting for an answer, he strips off his boxers and slides into the bath beside me. The water level rises as his muscular frame settles in, and suddenly the spacious tub feels much more intimate.">>
<center><img src="images/seryk/chapter2/morningactivities/1.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "face" "This feels amazing after training. Nothing beats a hot bath to relax the muscles.">>
<<narrative "He settles in comfortably, completely at ease with the situation. I try to act natural, but something about being this close to him, both of us naked, is making me feel strangely warm - and not just from the bath water.">>
<<dialog "Rylan" "faceembarrassed" "Yeah... it's very... relaxing...">>
<<dialog "Seryk" "face" "So how are you feeling about our adventures so far? Pretty intense stuff for a new E-rank, right?">>
<<narrative "As he talks, I find myself getting hotter despite the fact that I should be getting used to the water temperature. There's something about his presence, his natural confidence, that's affecting me in ways I don't understand.">>
<center><img src="images/seryk/chapter2/morningactivities/2.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I try to focus on the conversation, but my eyes keep drifting downward through the clear water. I can see his... his member, relaxed but impressive even in its current state. I shouldn't be looking, but something compels me to steal glances.">>
<<dialog "Seryk" "face" "The guild system is pretty interesting, don't you think? Working your way up through the ranks, proving yourself...">>
<<narrative "He continues talking casually, completely unaware of my internal struggle. But as I watch, I notice his member beginning to stir, growing slightly larger. The sight is mesmerizing - I can't seem to look away even though I know I should.">>
<<narrative "My own body is responding in ways I don't understand. I'm not gay - I've never been attracted to men before. So why is this happening? Why am I getting so aroused just from being near him? My breathing becomes shallow as I continue stealing glances at his growing arousal.">>
<<narrative "Almost without realizing it, my hand drifts down to touch myself under the water. The contact sends a jolt through me, and I quickly pull my hand away, embarrassed. What am I doing? This is wrong...">>
<center><img src="images/seryk/chapter2/morningactivities/erectioninbath.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "face" "You know, bro, you're doing really well for someone who just made E-rank. Most people take months to get comfortable with the higher-level quests.">>
<<narrative "I try to respond, but my voice comes out strained. My eyes dart back to his member again - it's definitely getting harder now, standing more upright in the water. The sight makes my heart race even faster.">>
<<dialog "Rylan" "faceembarrassed" "T-thanks... I'm just trying to... to do my best...">>
<<narrative "As he continues talking, I find my hand drifting down again, almost of its own accord. This time I don't even realize I'm touching myself until the pleasure makes me gasp softly. I jerk my hand away again, hoping he didn't notice.">>
<<narrative "But within moments, my hand is moving again. It's like I'm in a trance, completely unable to control myself. I keep glancing at his impressive size, then touching myself, then stopping in shame, only to start the cycle all over again.">>
<center><img src="images/seryk/chapter2/morningactivities/erectioninbath.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "face" "The water's getting pretty warm, isn't it? I can feel the heat building up.">>
<<narrative "He shifts slightly in the water, and the movement causes his now fully erect member to sway. I can't tear my eyes away from it. It's so much larger than mine, so commanding and powerful. The sight fills me with a confusing mix of arousal and something else I can't identify.">>
<<narrative "My hand moves to touch myself again, this time more deliberately. The pleasure is intense, heightened by whatever strange effect Seryk's presence is having on me. I stroke myself slowly, trying to be subtle, but I'm losing control of my actions.">>
<<narrative "I realize what I'm doing and force my hand away, but it's getting harder and harder to stop. Each time I look at him, each breath I take of the steamy air that carries his masculine scent, I feel more compelled to touch myself.">>
<<dialog "Rylan" "faceembarrassed" "Y-yeah... very warm...">>
<<narrative "My hand drifts down once more, and this time I don't pull it away immediately. The sensation is overwhelming, made even more intense by the forbidden nature of what I'm doing. I'm touching myself while staring at another man's erection, and I can't seem to stop.">>
<<dialog "Seryk" "face" "Well, I think I'm getting a bit too warm in here. Time to cool off.">>
<<narrative "Suddenly, Seryk stands up to exit the bath. Water cascades down his muscular blue form as he rises, his fully erect member now at eye level. In my dazed, aroused state, I'm still staring upward, completely transfixed by the sight.">>
<<narrative "As he turns to step out of the tub, his hard member swings around and slaps directly across my face. The warm, firm contact against my cheek and lips sends an electric shock through my entire body. The proximity is overwhelming - I can smell his masculine musk stronger than ever, a potent, intoxicating scent that fills my nostrils and seems to penetrate every fiber of my being.">>
<center><img src="images/seryk/chapter2/morningactivities/3.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The combination of the physical contact, the intense scent, and my already heightened arousal from touching myself pushes me completely over the edge. I can't help myself - a powerful, involuntary climax overtakes me right there in the bath water. My body convulses and shudders as waves of pleasure crash over me, more intense than anything I've ever experienced before.">>
<center><img src="images/seryk/chapter2/morningactivities/cum.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<center><img src="images/seryk/chapter2/morningactivities/cockslap.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "faceembarrassed" "Whoa, sorry about that, bro! Didn't mean to bump into you. I'm getting really hot in here - must be the steam getting to me.">>
<center><img src="images/seryk/chapter2/morningactivities/cockslap2.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "He seems completely oblivious to what just happened to me, already reaching for a towel.">>
<<dialog "Seryk" "face" "I'll go chill outside for a bit. Enjoy the rest of your bath!">>
<<narrative "As the door closes behind him, I'm left alone with my shame and confusion. What just happened to me? I'm not supposed to react this way to another man. I love Liora, I've always been attracted to women.">>
<<dialog "Rylan" "facesad" "What's wrong with me...?">>
<<narrative "The warm bath water that felt so relaxing before now feels like evidence of my shame. I can't understand these new feelings, these reactions I can't control. Something is changing in me, and I don't know how to stop it.">>
<<narrative "I remain in the bath for a few more minutes, trying to process what just happened and hoping these confusing feelings will fade. But deep down, I suspect this is just the beginning of something I'm not ready to face.">>
<<continueBox "MorningActivities" "Confusing Experience" "Questioning yourself after overwhelming events.">>
<<changeLust "Rylan" 8>><<changeLust "Seryk" 6>><<changeFetish "Rylan" "smellFetish" 0.3>><<changeFetish "Rylan" "muscleFetish" 0.2>><<changeFetish "Rylan" "GayValue" 0.4>><<changeFetish "Seryk" "GayValue" 0.6>><<changeAffection "Rylan" "Seryk" 2>><<changeAffection "Seryk" "Rylan" 2>><<changeAttraction "Rylan" "Seryk" 3>><<changeAttraction "Seryk" "Rylan" 2>>
</div>
<</nobr>>
<<pov "rylan" "ntr1.mp3">><<nobr>>
<div class="passage-container liora">
<<narrative "I stand up from my bed and pad over to the door, opening it cautiously. My breath catches when I see Seryk standing there, his tall frame filling the doorway.">>
<center><img src="images/seryk/boxers.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "face" "Hey, Little Bird. Just wanted to check on you after today.">>
<<dialog "Liora" "face" "Oh! Please, come in," "I say, stepping aside to let him enter.">>
<<narrative "As he steps into my room, he turns to look at me with a serious expression.">>
<<dialog "Seryk" "faceserious" "You know, Little Bird, you shouldn't just let any guy into your room like that.">>
<<dialog "Liora" "faceembarrassedshortpink" "Hmm? Why not?" "I ask innocently, tilting my head in confusion.">>
<<narrative "Seryk just shakes his head with a slight smile, not explaining further.">>
<<narrative "I move to sit on the edge of my bed, the soft mattress dipping slightly under my weight.">>
<<dialog "Seryk" "face" "Are you feeling alright? How are your magic circuits?">>
<<dialog "Liora" "face" "Yes, thanks to you. But they're still strained," "I admit, unconsciously placing a hand over my chest." "I can feel that my mana doesn't regenerate as fast as it used to. But it should get better in a few days.">>
<<narrative "I look up at him curiously, remembering the strange but pleasant experience in the cave.">>
<<dialog "Liora" "faceembarrassedshortpink" "What was in that potion you gave me in the cave?">>
<<dialog "Seryk" "faceembarrassed" "Potion? Oh... right..." "he says, a slight flush crossing his features.">>
<<dialog "Liora" "facesmile" "Do you have more? I really liked the taste, and it might help me get better faster.">>
<<dialog "Seryk" "faceworried" "No, I can't..." "he starts, then stops himself.">>
<<dialog "Liora" "facesadshortpink" "Oh right, they must have been expensive. I'm sorry for asking.">>
<<narrative "Seryk looks at me for a long moment, something intense flickering in his eyes.">>
<<dialog "Seryk" "facewet" "Alright... Close your eyes again and open your mouth like in the cave...">>
<<narrative "Without hesitation, I close my eyes and part my lips, just like before. I trust Seryk completely.">>
<center><img src="images/liora/chapter2/ntr1/mouthopen.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I feel my mouth fill with that familiar liquid, warm and slightly thick. There's the taste, I think happily. At first bitter, but as I swallow, it becomes sweeter and more pleasant.">>
<<narrative "Again and again, I feel the liquid fill my mouth and I swallow eagerly. I can hear both our breathing getting heavier, and I sense Seryk moving closer to me.">>
<<narrative "Suddenly, I feel something soft and warm approaching my lips...">>
<<continueBox "SerykLioraKiss" "The Kiss" "Continue to the intimate moment.">>
</div>
<</nobr>>
<<pov "liora" "ntr1.mp3">><<nobr>>
<div class="passage-container liora">
<<narrative "I stand up from my bed and pad over to the door, opening it cautiously. My breath catches when I see Seryk standing there, his tall frame filling the doorway.">>
<center><img src="images/seryk/boxers.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "face" "Hey, Little Bird. Just wanted to check on you after today.">>
<<dialog "Liora" "face" "Oh! Please, come in," "I say, stepping aside to let him enter." "$humanName was just here earlier checking on me too.">>
<<narrative "As he steps into my room, he turns to look at me with a serious expression.">>
<<dialog "Seryk" "faceserious" "You know, Little Bird, you shouldn't just let any guy into your room like that.">>
<<dialog "Liora" "faceembarrassedshortpink" "Hmm? Why not?" "I ask innocently, tilting my head in confusion.">>
<<narrative "Seryk just shakes his head with a slight smile, not explaining further.">>
<<narrative "I move to sit on the edge of my bed, the soft mattress dipping slightly under my weight.">>
<<dialog "Seryk" "face" "Are you feeling alright? How are your magic circuits?">>
<<dialog "Liora" "face" "Yes, thanks to you. But they're still strained," "I admit, unconsciously placing a hand over my chest." "I can feel that my mana doesn't regenerate as fast as it used to. But it should get better in a few days.">>
<<narrative "I look up at him curiously, remembering the strange but pleasant experience in the cave.">>
<<dialog "Liora" "faceembarrassedshortpink" "What was in that potion you gave me in the cave?">>
<<dialog "Seryk" "faceembarrassed" "Potion? Oh... right..." "he says, a slight flush crossing his features.">>
<<dialog "Liora" "facesmile" "Do you have more? I really liked the taste, and it might help me get better faster.">>
<<dialog "Seryk" "faceworried" "No, I can't..." "he starts, then stops himself.">>
<<dialog "Liora" "facesadshortpink" "Oh right, they must have been expensive. I'm sorry for asking.">>
<<narrative "Seryk looks at me for a long moment, something intense flickering in his eyes.">>
<<dialog "Seryk" "facewet" "Alright... Close your eyes again and open your mouth like in the cave...">>
<<narrative "Without hesitation, I close my eyes and part my lips, just like before. I trust Seryk completely.">>
<center><img src="images/liora/chapter2/ntr1/mouthopen.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I feel my mouth fill with that familiar liquid, warm and slightly thick. There's the taste, I think happily. At first bitter, but as I swallow, it becomes sweeter and more pleasant.">>
<<narrative "Again and again, I feel the liquid fill my mouth and I swallow eagerly. I can hear both our breathing getting heavier, and I sense Seryk moving closer to me.">>
<<narrative "Suddenly, I feel something soft and warm approaching my lips...">>
<<continueBox "SerykLioraKissNow" "The Kiss" "Continue to the intimate moment.">>
</div>
<<pov "liora" "ntr1.mp3">>
<</nobr>><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<div class="scene-header" style="background: rgba(50, 45, 40, 0.8); border: 1px solid rgba(255,255,255,0.5); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: #ffd700; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">🏛️ Old Training Hall 🏛️</p>
<p style="color: #ffeb9c; font-size: 1.1em;">The place where $thalorToHuman once honed his skills...</p>
</div>
<center><img src="images/landscapes/traininghall.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<narrative "Serin drags me through the house until we reach the old training hall that $humanToThalor used to frequent. As we step inside, I'm immediately hit by a distinctive smell - musky but with an oddly sweet undertone that makes my nose twitch.">>
<<narrative "Looking around, I notice all the windows are tightly shut, making the air feel thick and stifling. Despite this, the room appears to have been cleaned recently. The equipment is organized, the floor is swept, but there's still that lingering... atmosphere.">>
<<narrative "My eyes drift to a table near the corner where some black, wet fabric is lying draped across it. It looks like it might be nylon or some kind of athletic material, still damp from recent use.">>
<<dialog "Rylan" "face" "Uh, Serin? Maybe we should open some windows first? It's pretty stuffy in here...">>
<<dialog "Serin" "faceteasing" "No way! I don't want anyone to hear what we're doing in here." "She grins mischievously, completely unbothered by the closed-off atmosphere.">>
<<narrative "Before I can ask what exactly she means by that, Serin moves to the center of the room and begins stretching. She raises her arms above her head, arching her back in a way that shows off her athletic form.">>
<center><img src="images/serin/poses/stretch.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.4);"></center>
<<dialog "Serin" "face" "Come on, $humanName! Don't just stand there gawking. We need to warm up properly before we get started.">>
<<narrative "She continues her stretching routine, reaching down to touch her toes, then twisting her torso from side to side. Every movement is fluid and controlled, showing the results of years of training.">>
<<narrative "As she raises her arms again, I can't help but notice how the confined air seems to carry her scent more strongly. The combination of the closed windows and her preparations is creating quite an... intense atmosphere.">>
<center><img src="images/serin/poses/stretchstinky2.webp" style="width: 300px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "face" "This is going to be fun, $humanName. I've got some very... special techniques I want to show you today.">>
<<narrative "The way she emphasizes 'special' makes me wonder exactly what kind of training she has in mind. Standing here in this enclosed space, watching her stretch, I feel like I'm at some kind of crossroads...">>
<div class="warning-choices" style="background: rgba(60, 35, 35, 0.8); border: 2px solid rgba(255, 100, 100, 0.6); border-radius: 10px; padding: 25px; margin-bottom: 25px;">
<p style="color: #ff6b6b; font-size: 1.3em; font-weight: bold; text-align: center; margin-bottom: 20px;">⚠️ WARNING: CONTENT PATH SELECTION ⚠️</p>
<p style="color: #ffcccc; font-size: 1.1em; text-align: center; margin-bottom: 20px;">Your choice here will determine the type of content you experience.</p>
<div style="background: rgba(40, 40, 40, 0.7); padding: 15px; border-radius: 8px; margin-bottom: 15px;">
<p style="color: #ff9999; font-weight: bold;">Options 1-2: Enable Reverse NTR/Seduction Path</p>
<p style="color: #ffcccc;">These choices begin Serin's seduction route and potential cheating scenarios.</p>
</div>
<div style="background: rgba(40, 40, 40, 0.7); padding: 15px; border-radius: 8px;">
<p style="color: #99ff99; font-weight: bold;">Option 3: Avoid Serin x $humanName Content</p>
<p style="color: #ccffcc;">This choice will minimize future intimate content between Serin and $humanName.</p>
</div>
</div>
<<choiceBox "What do you do?" "Look at Serin's form as she stretches overhead (⚠️ Armpit/Feet smell fetish content)" "SerinChapter2ArmpitScene" "TrainingWithSerinChapter2=armpit" "Focus on getting ready for training (⚠️ Seduction route, skips fetish scene)" "SerinTrainingStart" "TrainingWithSerinChapter2=seduction" "Make an excuse and leave while you still can (Avoids most future Serin x $humanName intimate content)" "AvoidSerinTraining" "TrainingWithSerinChapter2=avoid">>
</div>
<<pov "rylan" "default2.mp3">> <</nobr>><<nobr>>
<<set $currentFace = $currentCelindraFace>>
<div class="passage-container celindra">
<div class="scene-header" style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #4682B4; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); font-size: 2em; margin-bottom: 10px;">The Throne of Stormark</h2>
<p style="color: #6495ED; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-style: italic; font-size: 1.1em;">In the pristine halls of the Holy Kingdom, wisdom and justice hold court...</p></div>
<<narrative "The throne room of Stormark gleams with polished marble and ethereal light, its soaring columns reaching toward stained glass windows that cast rainbow patterns across the floor. At its heart sits a magnificent white throne, carved from a single block of pristine alabaster, its surface smooth as silk and gleaming like fresh snow.">>
<<narrative "Upon this throne sits Queen Celindra, her flowing blue hair cascading over her shoulders like a waterfall of sapphires. Her piercing blue eyes survey the chamber with intelligence and quiet authority. She wears simple attire - black fitted pants and a crisp white blouse, her feet bare against the cool marble steps. Despite her casual dress, her presence commands the vast space with natural grace.">>
<<narrative "Before her, various advisors and courtiers stand in respectful attendance, their formal robes and rigid postures contrasting sharply with their young queen's relaxed demeanor. The morning sun streams through the windows, bathing everything in golden light.">>
<center><img src="images/celindra/portrait.webp" style="width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The great doors of the throne room swing open with a resonant echo, and a tall figure strides purposefully across the marble floor. Velkira's footsteps are silent despite her confident pace, her demonic grace evident in every movement.">>
<<dialog "Velkira" "face" "Your Majesty, I bring urgent news from the eastern territories. The situation at Mistfen Reach has been... resolved.">>
<<narrative "Celindra's expression remains composed, though her fingers tighten slightly on the armrest of her throne. She has learned to read between the lines of such diplomatic language.">>
<<dialog "Celindra" "face" "By 'resolved,' I assume you mean completely destroyed. Mistfen Reach has been burnt to the ground, hasn't it? No survivors.">>
<<narrative "Velkira's eyes widen slightly in surprise at the queen's directness. The other advisors shift uncomfortably, unused to such blunt conversation in the formal setting of the throne room.">>
<<dialog "Velkira" "face" "Your Majesty is... remarkably well-informed. Yes, the settlement was completely razed. Our scouts report no signs of life. The attack was swift and thorough.">>
<<dialog "Celindra" "face" "I already know about the destruction, Velkira. What concerns me more is that this happened so close to our border. A neutral settlement, completely razed by what appears to be bandits. Either they're growing far too bold, or someone is organizing them.">>
<<narrative "A concerned look passes between queen and demon. Both women understand the implications of such violence occurring so close to their kingdom's borders.">>
<<dialog "Velkira" "face" "Our scouts found no survivors to question about the attackers. The destruction was thorough, but the methods suggest organized bandits rather than a formal military force. Still, the timing and location are troubling.">>
<<narrative "Celindra's expression softens slightly, and she waves a dismissive hand. The formal distance between them has always felt uncomfortable, especially with someone she considers a trusted friend.">>
<<dialog "Celindra" "face" "Gods above, Velkira, enough with the 'Your Highness' nonsense. You know how much I despise all that formal protocol. We've been through too much together for such artificial barriers.">>
<<narrative "A rare smile crosses Velkira's usually stoic features. It's moments like these that remind her why she chose to serve this particular monarch - not out of duty, but out of genuine respect and friendship.">>
<<dialog "Velkira" "face" "Very well, Celin. Truth be told, I never was fond of all this courtly posturing either. It feels... constraining. Unnecessary theater for people who should be focused on more important matters.">>
<<narrative "From the side of the throne room, one of the elderly advisors - a man whose face bears the permanent scowl of someone who has never approved of change - clears his throat loudly and steps forward.">>
<<dialog "Male NPC" "face" "Such... informality in the presence of the crown is highly inappropriate. Your Majesty, this casual discourse with a demon undermines the dignity of the throne. As your father's loyal advisor, I must protest this breach of protocol.">>
<<narrative "The temperature in the throne room seems to drop several degrees as Celindra's eyes narrow dangerously. When she speaks, her voice carries the unmistakable authority of someone who has grown tired of being questioned by those who serve her.">>
<<dialog "Celindra" "faceangry" "Old man, let me be perfectly clear about something. The only reason I keep you and the rest of your generation in this council is out of respect for your years of service to my father. Your experience has value, I won't deny that." "However, I don't expect brilliant innovations from you or any of the other fossils who cling to the old ways. Your role is to provide counsel when asked, not to lecture me about who I choose to call my friends or how I choose to conduct myself in MY throne room." "So would you be so kind as to shut the hell up and go back to whatever withered administrative tasks occupy your time? I have actual important matters to discuss with someone whose opinions I value. Thank you.">>
<<narrative "The old advisor's face turns several shades of red as he bows stiffly and retreats to his corner, muttering under his breath. The other elderly councilors suddenly find their scrolls and documents extremely fascinating. Velkira struggles to hide her amusement.">>
<<dialog "Celindra" "face" "Now then, Velkira, let's discuss something that actually matters. I've already dispatched Elariel with half our standing army to positions near the border. They should be in place by tomorrow's dawn.">>
<<narrative "Velkira's expression grows serious as the conversation turns to military matters. The casual friendliness remains, but both women understand the gravity of the situation they face.">>
<<dialog "Velkira" "face" "Do you believe these bandits might turn their attention to us next? The attack seemed unusually organized and thorough for typical raiders. Almost like they had specific objectives.">>
<<dialog "Celindra" "face" "That's exactly what worries me. If these are just desperate bandits, they'd take what they could and move on. But total destruction of a neutral settlement? That suggests either madness or someone pulling their strings. Either way, we need to be prepared.">>
<<dialog "Celindra" "face" "I need you to select one of our most capable and discreet generals. Someone who can blend in and gather intelligence without drawing attention. Send them to Lindale immediately.">>
<<dialog "Velkira" "face" "What specific intelligence are you looking for? Troop movements? Political developments? Something more targeted?">>
<<dialog "Celindra" "face" "Everything. I want to know every detail of what's happening in that town. Who's coming and going, what the local mood is like, whether there are any unusual visitors or activities. If someone is organizing these attacks, they might be using Lindale as a staging ground.">>
<<dialog "Celindra" "face" "I'm particularly interested in any groups of armed men gathering in the area. Former soldiers, mercenaries, anyone who might have the skills and organization to orchestrate such a thorough attack. We need to identify these threats before they strike again.">>
<<dialog "Velkira" "face" "Understood, Celin. I'll have General ____ depart within the hour. They're our best at gathering intelligence without attracting notice. If there's any connection between these attacks and activities in Lindale, they'll uncover it.">>
<<narrative "The throne room falls into a contemplative silence as both women consider the implications of recent events. In the distance, the sound of training soldiers can be heard through the windows - a reminder that even in this peaceful kingdom, the shadow of war is never far away.">>
<<narrative "Queen Celindra's bare feet touch the cold marble as she shifts on her throne, the weight of responsibility heavy on her young shoulders. The morning light continues to stream through the stained glass, casting ever-changing patterns of color across the chamber where difficult decisions shape the fate of nations.">>
<<continueBox "POVTransitionCelindraToRylan" "Continue" "">>
</div>
<</nobr>>
<<pov "celindra" "stormark.mp3">><<nobr>>
<<if not $rylanRomanceMariel>><<set $rylanRomanceMariel = false>><</if>><<if not $marielTransformationMother>><<set $marielTransformationMother = false>><</if>><<if not $humanTransformationFeminine>><<set $humanTransformationFeminine = false>><</if>>
<<playLoopingSounds "sounds/hsounds/longmoan.mp3"1>>
<div class="passage-container mariel">
<<if $NTRMarielxSeryk>>
<<narrative "I sit on the edge of my bed, still trembling from what I witnessed. The image of Seryk's powerful body haunts me, but I try to push the thoughts away.">>
<<dialog "Mariel" "face" "I can't... I shouldn't be thinking about this...">>
<<narrative "I whisper, but my body betrays me. My nipples are already hard, pressing against the fabric of my white blouse, and there's an unbearable ache between my thighs.">>
<<narrative "Without thinking, my hands slide under my white skirt and I quickly slip my panties down my trembling legs, stepping out of them. The delicate white fabric falls to the floor as I remain fully clothed but now exposed underneath.">>
<center><img src="images/seryk/chapter3/afternoonmarielntr/marielmasturbate1.webp" style="width: 350px; border-radius: 10px;"></center>
<<dialog "Mariel" "face" "Just... just once to calm down...">>
<<narrative "I whisper to myself as my hand slides under my skirt, finding my already wet entrance.">>
<<narrative "The stress and confusion from everything that's happened today overwhelms me. I begin to stroke myself gently, trying to find some relief from the tension. My movements are careful, restrained - I'm just trying to ease the ache, nothing more.">>
<<dialog "Mariel" "face" "This will help me think clearly...">>
<<narrative "I tell myself as I work my fingers in slow, deliberate circles.">>
<<narrative "The pleasure builds gradually, a gentle wave rather than the overwhelming storm I somehow expected. When the small climax finally comes, it's soft and brief - a moment of relief but not the satisfaction I desperately need.">>
<<dialog "Mariel" "face" "That should be enough...">>
<<narrative "I whisper, but even as I say it, I know it's not true. My body is still humming with need, still aching for something more.">>
<<trackExperience "Mariel" "Masturbation" 1>><<trackExperience "Mariel" "Orgasms" 1>><<set $mariel_Lust = 80>>
<<narrative "After several minutes, I hear Seryk's door open and his footsteps moving down the hallway. Once I'm sure he's gone, something draws me from my room.">>
<<narrative "I slip out quietly and approach his door, which he left slightly ajar. The moment I get close, I'm hit by it - a thick, musky scent that I've never experienced before.">>
<<narrative "The moment I step inside, I'm overwhelmed by the thick, masculine scent that fills the air. It's mixed with something else - something raw and potent that makes my head spin. The unmistakable aroma of his recent release.">>
<<dialog "Mariel" "face" "What... what is that smell?">>
<<narrative "I whisper, but my body already knows. My legs feel weak and I'm getting wet again despite my recent relief.">>
<<changeFetish "Mariel" "SmellFetish" 0.2>><<changeLust "Mariel" 15>>
<<narrative "I can't resist. I step fully into his room and close the door behind me. The scent is intoxicating, pulling me deeper into his space like some invisible force.">>
<center><img src="images/seryk/chapter3/afternoonmarielntr/marielmasturbate2.webp" style="width: 350px; border-radius: 10px;"></center>
<<dialog "Mariel" "face" "I shouldn't be here... but I can't leave...">>
<<narrative "I whisper as I sink onto his bed, still fully clothed in my white blouse and skirt.">>
<<narrative "My hand slides under my skirt again, finding my entrance still slick and sensitive from before. But this time it's different - the scent surrounding me makes every touch more intense, more desperate. I'm not just seeking relief anymore; I'm craving something I don't fully understand.">>
<<dialog "Mariel" "face" "Oh god... why does this feel so good?">>
<<narrative "I moan softly as I work my fingers faster, the combination of his scent and my own arousal driving me wild.">>
<<narrative "But I need more. Without thinking, I begin to undress, letting my blouse fall away, then my skirt, then my bra. I need to feel the air on my skin, need to be as exposed and vulnerable as possible in his space.">>
<center><img src="images/seryk/chapter3/afternoonmarielntr/marielmasturbate3.webp" style="width: 300px; border-radius: 10px;"></center>
<<narrative "Now completely naked on his bed, I spread my legs and continue touching myself, the scent making me dizzy with need. That's when I notice them - his boxers, tossed carelessly on the floor. And they're not just damp with sweat.">>
<<narrative "There are white stains on the dark fabric. Fresh ones.">>
<<dialog "Mariel" "face" "Is that... did he...?">>
<<narrative "I can't finish the thought, but my body responds instantly. I reach for them with trembling hands.">>
<center><img src="images/seryk/chapter3/afternoonmarielntr/marielmasturbate4.webp" style="width: 350px; border-radius: 10px;"></center>
<<narrative "The moment I lift them to my face, the concentrated scent hits me like a physical blow. It's him - all of him - and something more. I inhale deeply and nearly collapse from the overwhelming sensation.">>
<<dialog "Mariel" "face" "Oh fuck... what is happening to me?">>
<<narrative "I whisper into the fabric, but I can't stop myself from breathing it in again and again.">>
<center><img src="images/seryk/chapter3/afternoonmarielntr/marielmasturbate5.webp" style="width: 300px; border-radius: 10px;"></center>
<<narrative "I continue to inhale his scent while my other hand works frantically between my legs. Every breath makes me more desperate, more needy. The rational part of my mind is screaming that this is wrong, but my body doesn't care anymore.">>
<<changeFetish "Mariel" "SmellFetish" 0.3>><<changeLust "Mariel" 10>>
<<narrative "That's when I notice it - those white stains on the fabric. They're fresh, still glistening slightly. Without thinking, driven by a need I don't understand, I extend my tongue and taste one of the spots.">>
<<dialog "Mariel" "face" "Oh my god... what...?">>
<<narrative "The salty, masculine flavor explodes across my taste buds, and something inside me snaps.">>
<center><img src="images/seryk/chapter3/afternoonmarielntr/marielmasturbate6.webp" style="width: 350px; border-radius: 10px;"></center>
<<narrative "The effect is immediate and overwhelming. It's like liquid fire coursing through my veins, awakening every nerve ending in my body. This is what I've been craving without even knowing it - his essence, his very being.">>
<<dialog "Mariel" "face" "Yes... oh god, YES!">>
<<narrative "I cry out, no longer caring about being quiet or proper.">>
<<narrative "I lick the fabric desperately, seeking more of that incredible taste while my fingers pump in and out frantically. The combination of his scent and taste is driving me to heights of pleasure I never knew existed.">>
<center><img src="images/seryk/chapter3/afternoonmarielntr/marielmasturbate7.webp" style="width: 300px; border-radius: 10px;"></center>
<<dialog "Mariel" "face" "Seryk... I need... I need...">>
<<narrative "I can't even form coherent thoughts anymore as my body builds toward something massive.">>
<<narrative "I shift positions constantly, my body writhing as I chase sensation after sensation. The scent, the taste, the feeling of being surrounded by everything that is him - it's transforming me into something I don't recognize.">>
<<dialog "Mariel" "face" "I don't... I don't understand what's happening to me...">>
<<narrative "I whimper into his boxers as my body begins to tense, building toward what promises to be the most intense orgasm of my life.">>
<<narrative "My entire body is trembling with anticipation, every nerve ending alive with electricity. I can feel something massive building inside me, something I've never experienced before...">><<else>>
<<narrative "I sit on my bed, still shaken by Thalor's harsh letter and the comfort <<print $humanName>> provided. His embrace was so warm, so reassuring... but why do I feel this strange flutter in my chest when I think about it?">>
<<dialog "Mariel" "face" "He's like a son to me," "It's just... gratitude. Nothing more.">>
<<narrative "I whisper to myself, trying to rationalize the confusing feelings stirring within me.">>
<<narrative "But as I replay the moment in my mind - his strong arms around me, his gentle words, the way he looked at me with such care - I feel a warmth spreading through my body that has nothing to do with gratitude.">>
<center><img src="images/mariel/faceembarrassed.webp" style="width: 150px; border-radius: 10px;"></center>
<<dialog "Mariel" "faceembarrassed" "This is wrong... so wrong...">>
<<narrative "I whisper, but my body betrays me as heat pools between my legs.">>
<<narrative "The stress of the letter, the emotional vulnerability, the comfort of his touch - it's all mixing together into something I don't understand and can't control.">>
<<narrative "Without thinking, I lift my white skirt and slip my fingers into the waistband of my panties, sliding them down my trembling legs. The cool air against my exposed skin makes me gasp softly.">>
<center><img src="images/seryk/chapter3/afternoonmarielntr/marielmasturbategentle.webp" style="width: 300px; border-radius: 10px;"></center>
<<narrative "My hand finds its way between my legs tentatively, as if I'm afraid of what I might find there. I'm wet - shamefully, confusingly wet from thinking about <<print $humanName>>'s embrace.">>
<<dialog "Mariel" "face" "I shouldn't... he's... he's...">>
<<narrative "I can't even finish the thought as my fingers begin to move in slow, careful circles.">>
<<narrative "I close my eyes and try to think of Thalor, of our wedding day, of proper thoughts befitting a married woman. But unbidden, the memory of <<print $humanName>>'s protective arms returns, the way he called me by the pet name I've grown to love, the genuine care in his voice.">>
<<changeLust "Mariel" 8>><<changeFetish "Mariel" "SubmissionFetish" 0.1>>
<<dialog "Mariel" "face" "Oh... oh god...">>
<<narrative "I whisper as pleasure builds slowly, guilt and arousal warring within me.">>
<<narrative "The climax comes gently, like a warm wave washing over me rather than the overwhelming surge I expected. My body trembles as I bite my lip to stay quiet, tears of confusion and shame mixing with the pleasure.">>
<<trackExperience "Mariel" "Masturbation" 1>><<trackExperience "Mariel" "Orgasms" 1>><<changeLust "Mariel" -35>><<changeAffection "Mariel" "Rylan" 1>>
<<narrative "When it's over, I pull my panties back up with shaking hands and smooth down my skirt, staring at myself in the mirror across the room.">>
<<dialog "Mariel" "face" "What kind of woman am I?" "Thalor is serving the kingdom, and I'm... I'm...">>
<<narrative "I whisper to my reflection.">>
<<narrative "I can't finish the thought. The guilt is overwhelming, but beneath it, I can't deny the small part of me that felt... comforted. Protected. Desired.">>
<</if>>
<<continueBox "Chapter3Next" "Continue" "">>
</div>
<</nobr>>
<<pov "mariel" "marielinbedroom.mp3">><<nobr>>
<<set $currentFace = $currentThalorFace>>
<<set $timeOfDay = "morning">>
<<set $gameDay += 1>>
<div class="passage-container thalor">
<<narrative "The Journey Home">>
<<narrative "Morning mist clings to the carriage wheels as two veterans of war discuss the future...">>
<center><img src="images/landscapes/carriage.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The carriage rocks gently on the worn cobblestone road, its wooden wheels grinding against the ancient stones. Inside, two figures sit across from each other. One brooding in silence, the other seemingly oblivious to the tension that fills the cramped space like smoke from a dying fire.">>
<<narrative "Thalor stares out the small window, watching the morning countryside roll by. His weathered hands rest on his knees, calloused fingers occasionally twitching as if reaching for a sword that isn't there. Across from him, Gairos lounges with the casual arrogance of a man who has never known true consequence.">>
<<dialog "Gairos" "face" "You know, Thalor, that brunette at the tavern last night... she was practically throwing herself at you. Beautiful thing, probably twenty-five at most. Prime breeding age, if you catch my meaning.">>
<<narrative "Thalor's jaw tightens imperceptibly. He doesn't turn from the window, but his reflection shows the familiar weight of exhaustion that has haunted him for years.">>
<<dialog "Gairos" "face" "So tell me, old friend. Why didn't you give her your 'broadsword'? Everything still working properly down below? Or has age finally caught up with the great warrior?">>
<<dialog "Thalor" "face" "No. It doesn't...">>
<<narrative "The single word hangs in the air like a blade. Gairos's eyebrows rise with predatory interest, sensing weakness like a wolf scenting blood.">>
<<dialog "Gairos" "face" "Ah, right... you're married to that sanctimonious priestess. What was her name again? Jennifer? No, that was someone else entirely... Something with an M... Marlene? Marianne?">>
<<dialog "Thalor" "face" "Mariel.">>
<<dialog "Gairos" "face" "Wait, wait... did you just say 'no' when I asked about your equipment? *Erupts in cruel laughter* Oh, this is rich! Thalor the Strong has become Thalor the Limp!">>
<<narrative "Gairos pounds on the carriage wall, calling out to the driver with malicious glee.">>
<<dialog "Gairos" "facesmirk" "Hey! Driver! You're transporting Thalor the Limp! The legendary warrior who can't get his sword to stand at attention anymore! Hahaha!">>
<<narrative "Thalor's knuckles whiten as his hands clench into fists. The shame burns deeper than any wound he's ever received in battle. He stares harder out the window, trying to disappear into the passing landscape.">>
<<dialog "Gairos" "face" "*Wiping tears of laughter* Gods, you're all so dull these days. Tell me, since when has this... condition afflicted you?">>
<<dialog "Thalor" "face" "Since the night in the demon king's castle.">>
<<narrative "For a moment, even Gairos falls silent. The weight of that night, the screams of children, Mariel's broken sobs, the taste of victory turned to ash, hangs between them like a ghost.">>
<<dialog "Gairos" "face" "*Nodding with sudden understanding* Ah, I see. You miss the thrill of the kill. Since the war ended, you haven't had the chance to spill demon blood. I completely understand. I sometimes get aroused just thinking about ending those filthy creatures. *Cruel smile* And here I thought you'd lost your backbone! Don't worry, my friend... there will be opportunities soon enough.">>
<<thought "Thalor" "face" "God... he thinks I miss killing. He doesn't understand at all. It's not bloodlust I've lost. It's the ability to feel anything at all. How can I explain that watching children die broke something inside me that will never heal?">>
<<dialog "Gairos" "face" "*Leaning forward with renewed energy* Tell me, aren't you excited to see your wife and son again? Oh wait... *Mocking laugh* I forgot you married that self-righteous priestess, marlenne. My condolences, Thalor the Limp!">>
<<dialog "Thalor" "face" "Mariel.">>
<<dialog "Gairos" "face" "*Waving dismissively* Right, right. Now, where was I before you so rudely interrupted? Ah yes... opportunities. You see, Thalor, we're in what diplomats call a 'silent conflict' with the Holy Kingdom of Stormark.">>
<center><img src="images/items/map.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Thalor" "face" "Great... one war ends and we start another. When will it ever end?">>
<<dialog "Gairos" "face" "Their previous king died four years ago. Decent man, saw the world as we do. Understood the natural order of things. But his daughter... *Spits* She took the throne when she was barely more than a child. A woman ruling a kingdom! Can you imagine? Next they'll be telling men to sit when they piss! *Crude laughter*">>
<<dialog "Gairos" "face" "Since she took power, she's established the most ridiculous laws. First decree: no more public executions for demons or demi-humans. They get the same legal proceedings as humans! Can you believe that nonsense?">>
<<dialog "Gairos" "face" "Second: slaves are now 'workers' who must be paid and fed. No physical or verbal punishment from their masters. Can you imagine walking through a market with no hanging demons? How utterly boring. Recently, I had the misfortune of traveling through their so-called "kingdom". Children laughing alongside filthy beastfolk, and not a single chained neck in sight. It's enough to turn a man's stomach.">>
<<dialog "Thalor" "face" "Aren't we in conflict with them?">>
<<dialog "Gairos" "face" "*Arrogant smile* You think anyone could stop me from going where I please? Anyway, I traveled through their lands recently. Stayed at an inn in the countryside. They had the most delicious honey cake, and their young daughter was absolutely charming.">>
<<dialog "Gairos" "face" "But the next morning at breakfast... *Voice dripping with disgust* They were eating at the same table as a demon couple! Apparently, these creatures 'worked' there. In four short years, this princess has given demons and demi-humans the same treatment as humans. They're treated as equals, not property! Those demons might have even been coupling under the same roof!">>
<<dialog "Gairos" "face" "I really did love that honey cake though... such a shame I had to burn the entire inn down with the family inside....">>
<<thought "Thalor" "face" "God, Mariel... please don't have the demons there when I arrive. Please don't let Gairos discover what we've become...">>
<<dialog "Gairos" "face" "This is where I'll need your help soon. Once we're finished with whoever attacked Mistfen, we march on Stormark.">>
<<dialog "Thalor" "face" "You think Stormark attacked Mistfen?">>
<<dialog "Gairos" "face" "*Dismissive wave* No, they traded extensively with Mistfen. Like Lindale, they're a neutral region. Why did you move to that backwater anyway? You could have had an estate in the capital.">>
<<dialog "Thalor" "face" "Then why attack Stormark?">>
<<dialog "Gairos" "face" "*Cold smile* Simple. I don't like their laws. The natural order must be restored.">>
<<dialog "Thalor" "face" "Why do you need my help? Aren't you strong enough on your own?">>
<<dialog "Gairos" "face" "*Dangerous edge to his voice* Watch your tongue, boy! I'm considerably stronger now than during our battle with the Demon King. Unlike certain limp warriors I could mention.">>
<<dialog "Gairos" "face" "The problem is this new queen has united all the demi-human races under her banner. Many have joined her army, demons included. I've heard refugees from Bellgard have fled to her kingdom seeking sanctuary.">>
<<dialog "Gairos" "face" "Her army's power has grown exponentially, and rumors say she's tamed an angel to serve her.">>
<<dialog "Thalor" "face" "An angel?">>
<<dialog "Gairos" "face" "I'm not certain of their capabilities, but they can't be stronger than Azgorth. Otherwise they would have already launched an offensive. Still, it could prove... complicated. That's where you and your lovely wife mary, come into play.">>
<<dialog "Thalor" "face" "Mariel.">>
<<dialog "Gairos" "face" "Right. Tell me, is your son an adult now? Perhaps he could join us. Time to get his hands properly bloodied with demon and demi-human gore. Make a real man out of him, unlike his father.">>
<<thought "Thalor" "face" "Over my dead body will I let you corrupt $humanName. He's innocent... he doesn't know what we really did. What I did. And he never will if I can help it.">>
<<narrative "The carriage continues its relentless journey toward Lindale, carrying with it the weight of old sins and the promise of new atrocities. In the silence that follows Gairos's words, Thalor can only pray that Mariel had taken his words to heart-that the letter he sent, telling her firmly that there were to be no more demons in their home, had been understood. She never answered. Not a word. But her silence, he hopes, is not defiance.">>
<<continueBox "POVTransitionThalorToCelindra" "Continue the journey" "">>
</div>
<</nobr>>
<<pov "thalor" "thalorcarriage.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "🍳 Morning Plans 🍳">>
<<narrative "The morning sunlight streams through the kitchen windows as everyone sits around the familiar wooden table. The smell of fresh bread and tea fills the air. Mariel, Seryk, Nimeria and I are already seated when we hear footsteps approaching.">>
<<narrative "The kitchen door opens and Serin walks in, but something is immediately different about her. She's wearing a grey hoodie with comfortable shorts, but her whole appearance has changed dramatically.">>
<img src="images/serin/chapter3/standing.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);">
<<narrative "Her hair is neater, less messy than usual, and she seems to have grown a few centimeters taller. Her arms look more feminine and graceful now, but there's a subtle strength in her posture that suggests she hasn't lost any power. The way her hoodie fits hints at more defined abs underneath, and her overall bearing radiates a new confidence that wasn't there before.">>
<<dialog "Liora" "faceshortpink" "Oh, Serin. You look so different.">>
<<dialog "Serin" "face" "Yes, Nimeria helped me with my transformation. How do I look?">>
<<narrative "She stands a bit straighter, her posture radiating a new self-assurance as she looks directly at me. There's still a hint of nervousness in her eyes, but it's overshadowed by genuine confidence in her transformed appearance.">>
<img src="images/serin/chapter3/portrait.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);">
<<narrative "I feel heat rising to my cheeks as I take in her new appearance. She looks... more graceful somehow, yet still strong. The confidence in her posture is captivating.">>
<<dialog "Rylan" "faceembarrassed" "Yes, looks good...">>
<<narrative "Serin's smile widens at my response, and she moves to sit down at the table with us.">>
<<dialog "Nimeria" "face" "We bought so many beautiful clothes for you, with skirts. And you decided to wear a hoodie with shorts.">>
<<dialog "Serin" "face" "I can't get used to wearing a skirt...">>
<<dialog "Liora" "faceshortpink" "Oh my! I have to see!">>
<<dialog "Serin" "face" "Maybe later...">>
<<changeLust "Rylan" 4>>
<<changeAttraction "Rylan" "Serin" 2>>
<<changeFetish "Rylan" "muscleFetish" 0.5>>
<<narrative "With Serin now settled at the table, the conversation turns to more serious matters.">>
<<dialog "Rylan" "face" "I was planning to visit the guild today to check for new quests, but first...">>
<<narrative "I take a deep breath, looking around at everyone seated at the table.">>
<<if $serykxliorantr>>
<<dialog "Rylan" "face" "I need to apologize to all of you. What happened with the goblin quest was entirely my fault. I put everyone at risk just because I was trying to prove myself as a leader.">>
<<else>>
<<dialog "Rylan" "face" "I need to apologize to all of you. Serin, I should have listened to you and not followed the goblins by myself just to prove myself. I'll try to rely more on the team.">>
<</if>>
<<if $rylanRomanceMariel>>
<<dialog "Mariel" "facesmile" "Oh, and $humanName... thank you for helping me to bed last night. I don't remember much after that wine, but I'm grateful you were there to make sure I got to my room safely.">>
<<narrative "She speaks casually, clearly having no memory of what actually happened between us. But the way she looks at me with such innocent gratitude makes my stomach twist with guilt.">>
<<narrative "My face burns with shame and I can barely meet her eyes. The memory of her desperate kisses, the way she clung to me, the heat of her body against mine - it all floods back in vivid detail while she sits there completely oblivious.">>
<<dialog "Rylan" "faceembarrassed" "I... it was nothing, $marielToHuman. Just... just making sure you were safe.">>
<<narrative "My voice comes out strained and I look down at my hands, unable to face her innocent smile knowing what I let happen.">>
<</if>>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facesmile" "You're such a good boy, sweetheart. Always looking out for others, even when they're being foolish like I was.">>
<<narrative "Her maternal tone makes the guilt even worse. She's treating me like an innocent child when I took advantage of her vulnerability.">>
<<dialog "Mariel" "facesmile" "Now, about leadership - you don't need to worry so much about being the strongest or proving yourself to anyone. You're still so young, and you have plenty of time to grow into a wonderful leader.">>
<<dialog "Mariel" "facesmile" "The best leaders are the ones who protect their family, just like how you protected me last night. Just focus on keeping everyone safe and cared for, okay my dear?">>
<<dialog "Mariel" "facesmile" "Promise me you won't try to be like that awful old Master Gairos - harsh, cold, and thinking power is everything. You have such a gentle heart, sweetheart - that's your real strength, not being some cruel tyrant.">>
<<else>>
<<dialog "Mariel" "face" "You're always so thoughtful. Now, let me tell you something important about leadership - it's not about being the strongest person in the team that makes a good leader.">>
<<narrative "Mariel's expression grows slightly darker as old memories surface, but I can barely focus on her words with the guilt eating at me.">>
<<dialog "Mariel" "face" "Master Gairos was the most powerful mage any of us had ever seen, but he was never a great leader. A true leader brings the team together and considers every situation for the best outcome of the whole group, not just their own glory.">>
<<dialog "Mariel" "face" "Don't become some white-bearded old jerk who thinks power is everything!">>
<</if>>
<<dialog "Seryk" "face" "Bro, by apologizing like this, you've already proven real strength. Not everyone can admit their mistakes and take responsibility.">>
<<narrative "Seryk gives me an encouraging nod, his usual friendly demeanor carrying extra warmth.">>
<<if $rylanxserincontent>>
<<narrative "As the conversation continues around the table, I suddenly feel something soft and warm pressing against my leg under the table. At first, I think it's accidental, but then I realize it's deliberate - Serin's foot is slowly sliding along my calf.">>
<div style="text-align: center; margin: 25px 0;">
<img src="images/serin/chapter3/atkitchentable/1.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></div>
<<narrative "Her sock-covered toes begin to trace patterns against my skin through the fabric of my pants, the soft cotton material creating an incredibly pleasant sensation. When I glance at her, she maintains perfect eye contact with the others while speaking, as if nothing is happening. Only the slight smirk playing at the corner of her mouth gives her away.">>
<<narrative "The sensation is maddening. Her foot moves higher, sliding along my shin with deliberate slowness. The soft fabric glides smoothly against my pants, creating a gentle friction that's both comforting and arousing. I try to focus on the conversation, but every nerve in my leg is hyperaware of her touch.">>
<div style="text-align: center; margin: 25px 0;">
<img src="images/serin/chapter3/atkitchentable/2.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></div>
<<narrative "Now her foot reaches my knee, and she starts making small circular motions with her toes. The warmth from her foot radiates through the soft sock material, creating a cozy heat that seems to burn through the fabric of my pants. I have to grip my fork tighter to keep from reacting visibly.">>
<<narrative "When Mariel asks her opinion on something, Serin answers perfectly normally, but her foot grows bolder, sliding up to press against my thigh. The innocent expression on her face is a complete lie - this is pure mischief.">>
<div style="text-align: center; margin: 25px 0;">
<img src="images/serin/chapter3/atkitchentable/3.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></div>
<<narrative "My breathing becomes slightly uneven as her foot explores higher up my thigh. The table conceals everything from the others, but I'm acutely aware of every movement. Her toes flex and relax against my muscle through the soft cotton, creating a gentle massage that's both relaxing and incredibly arousing.">>
<<narrative "I risk a glance at her face and see that her cheeks are slightly flushed now too. She's enjoying this game as much as I am, the thrill of doing something so intimate while surrounded by our friends and family.">>
<div style="text-align: center; margin: 25px 0;">
<img src="images/serin/chapter3/atkitchentable/4.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></div>
<<narrative "Her foot reaches the sensitive area of my inner thigh, and I have to suppress a small gasp. The pressure is light but constant, her toes creating small circles through the soft material that send electric shocks through my entire body. My heart is pounding so hard I'm sure everyone can hear it.">>
<<narrative "Finally, as the conversation starts to wind down, her foot slowly retreats, trailing down my leg with the same deliberate slowness it used to climb up. But just before she pulls away completely, she gives my calf one final, lingering caress with her soft cotton-covered toes.">>
<div style="text-align: center; margin: 25px 0;">
<img src="images/serin/chapter3/atkitchentable/5.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></div>
<<narrative "When she finally withdraws her foot completely, she gives me the most innocent smile, as if she's done nothing more scandalous than pass the salt. But the heat in her eyes tells a different story entirely.">>
<<narrative "I'm left sitting there, trying to compose myself while my body still tingles from her touch. Every time I think about what just happened, warmth pools in my stomach. That was definitely not innocent.">>
<</if>>
<<if $humanTransformationFeminine>>
<<dialog "Mariel" "facesmile" "You know, it's so wonderful to have more girls living here. I've always dreamed of having a daughter someday...">>
<<narrative "Her eyes light up with genuine excitement as she looks between Liora, Serin, and Nimeria. There's something almost wistful in her expression, and then her gaze lingers on me for a moment longer than the others.">>
<<dialog "Mariel" "facesmile" "I used to imagine all the things we could do together - dressing each other up, switching clothes, doing each other's hair, having those late-night talks about everything and nothing...">>
<<narrative "Nimeria's smile widens slightly, as if she's pleased by this direction of conversation.">>
<<dialog "Nimeria" "facesmile" "That sounds lovely, Mariel. I'd love to experience those kinds of... sisterly bonding activities.">>
<<dialog "Mariel" "facesmile" "Oh, and we could have shopping trips together! Picking out cute outfits, trying on different styles, maybe even sharing jewelry and accessories. There's something so special about the bond between girls, you know?">>
<<narrative "She pauses, looking thoughtful as her eyes drift to me again. There's something contemplative in her expression, as if she's considering something.">>
<<dialog "Mariel" "facesmile" "You know, $humanName, you have such gentle features. Sometimes I wonder... well, never mind. It's just a silly thought.">>
<<narrative "I feel heat rising to my cheeks at her words and the way she's looking at me. There's something in her gaze that makes me feel... evaluated somehow.">>
<<dialog "Rylan" "faceembarrassed" "What kind of thought, $marielToHuman?">>
<<dialog "Mariel" "facesmile" "Oh, it's nothing really. Just... sometimes I think about how nice it would be to have someone else join in on all those feminine activities. Someone who might appreciate the softer side of things, you know?">>
<<narrative "Her smile becomes more maternal, almost hopeful, as if she's planting a seed of an idea.">>
<<dialog "Liora" "faceshortpink" "That actually sounds really fun! I'd love to have more girl time with everyone.">>
<<dialog "Serin" "facesmile" "Yeah, could be interesting. Though I'm not much for the girly stuff usually...">>
<<narrative "Nimeria's eyes glint with something that might be satisfaction as she watches Mariel's subtle hints toward me.">>
<<dialog "Nimeria" "face" "I think it would be wonderful for everyone to explore different sides of themselves. There's so much we could all learn from each other...">>
<<dialog "Mariel" "facesmile" "Exactly! We could have weekly girls' nights, do each other's nails, practice different hairstyles... I have so many pretty dresses that never get worn. It would be wonderful to share them with someone who might appreciate them.">>
<<narrative "The enthusiasm in her voice is infectious, and I can see how much this idea means to her. It's like she's envisioning the daughter she always wanted, and somehow I feel included in that vision.">>
<</if>>
<<dialog "Nimeria" "face" "Actually, I'd like to join you from now on. On your adventures, I mean.">>
<<narrative "The announcement hits the table like a thunderbolt. Everyone stares at Nimeria in shock, forks frozen halfway to mouths.">>
<<dialog "Seryk" "face" "Nim, are you sure about this? You can't really fight, and your body is... well, it's always been sickly...">>
<<narrative "Seryk's protective concern is obvious, worry creasing his features.">>
<<dialog "Nimeria" "face" "Shut up, Seryk! I'll be fine. I know I can't fight directly, but I think I can give useful tips and strategic advice at least.">>
<<narrative "Her tone carries that familiar sharp edge, but there's determination underneath the irritation.">>
<<narrative "I consider this carefully. Nimeria is intelligent, that's undeniable. But the risks...">>
<<dialog "Rylan" "face" "Okay, fine. But you need to watch yourself out there, and Seryk should keep an eye on you.">>
<<dialog "Nimeria" "facesmile" "But I'd prefer if *you* had an eye on me...">>
<<narrative "She gives me a playful wink that makes heat rise to my cheeks.">>
<<dialog "Rylan" "faceembarrassed" "*cough* Anyway... what about Nimeria's and Seryk's collars? Shouldn't we remove them?">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facesmile" "Oh honey, that's a very thoughtful question. Let me explain this properly so you understand...">>
<<narrative "She speaks in a patient, nurturing tone, as if teaching an important lesson to a young person.">>
<<dialog "Mariel" "facesmile" "You see sweetheart, those collars actually work like protection for them. They keep Seryk and Nimeria safe from demon hunters who might think they're dangerous if they saw them without any identification. It's not fair, but that's how the world works right now.">>
<<narrative "Her tone and the way she's explaining this feels oddly... parental? Like she's treating me as if I'm younger than I am. It's not unpleasant, just... strange.">>
<<dialog "Mariel" "facesmile" "I know it looks wrong, but sometimes we have to accept things that protect the people we care about, even if we don't like them. Do you understand what I mean, dear?">>
<<else>>
<<dialog "Mariel" "face" "They don't seem to be active right now, but it wouldn't be a good idea to remove them. In a way, they actually protect them.">>
<<dialog "Mariel" "face" "Demons without collars means they aren't owned or they've fled from their masters. That makes them free targets for demon hunters and bounty seekers.">>
<</if>>
<<dialog "Rylan" "facesad" "This really isn't right. I even hear other adventurers whispering behind our backs - \"Look, there go the demon cuddlers.\"">>
<<narrative "The bitterness in my voice is hard to hide. Those whispered comments sting more than I'd like to admit.">>
<<dialog "Nimeria" "face" "Don't worry about that. This is just how the world is. Seryk told me how you attacked him without listening to him first when you met.">>
<<narrative "I feel my face flush with embarrassment at the reminder of that shameful first encounter.">>
<<narrative "Suddenly, I feel her small, warm hand slip into mine across the table, her fingers interlacing with mine in a comforting gesture.">>
<<dialog "Nimeria" "face" "Don't worry, I don't judge you for that. But as you can see, everyone has their prejudices. The difference is that some people can change with time and experience.">>
<<dialog "Nimeria" "face" "I'm sure if you really want to, you can change their views too. People respect actions more than words, after all.">>
<<changeLust "Rylan" 3>>
<<changeAffection "Rylan" "Nimeria" 2>>
<<changeAffection "Rylan" "Mariel" 1>>
<<changeAffection "Rylan" "Seryk" 1>>
<<if $rylanRomanceMariel>>
<<changeLust "Rylan" 5>>
<</if>>
<<choiceBox "What do you want to do?" "Head to the guild to check for quests" "GuildMorningChapter3" "Chapter3MorningKitchen=guild" "Ask more about demon rights and laws" "DemonRightsDiscussion" "Chapter3MorningKitchen=demonrights">>
</div>
<</nobr>>
<<pov "rylan" "default3.mp3">><<nobr>>
<<set $currentFace = $currentMarielFace>>
<<stopLoopingAndPlay "sounds/hsounds/orgasm.mp3">>
<div class="passage-container mariel">
<<if $NTRMarielxSeryk>>
<<dialog "Mariel" "face" "Mmmph... ahhhh... oh god...">>
<<narrative "I moan helplessly into his boxers as the sensation builds to an unbearable peak.">>
<<narrative "The climax that follows is unlike anything I've ever experienced. It starts deep in my core and radiates outward, consuming every part of my being. My back arches off the bed, my toes curl, and I scream his name into the fabric as wave after wave of impossible pleasure washes over me.">>
<<dialog "Mariel" "face" "SERYK! Oh god... OH GOD!">>
<<narrative "I cry out as something incredible happens - my body releases in a way it never has before. I feel myself squirting, liquid pleasure gushing from me as my entire being convulses with the most intense orgasm of my life.">>
<center><img src="images/seryk/chapter3/afternoonmarielntr/marielmasturbate8.webp" style="width: 350px; border-radius: 10px;"></center>
<<narrative "The intensity finally becomes too much, and I collapse onto his bed, gasping and trembling, still clutching his boxers against my face as the last waves of pleasure fade into exhausted confusion.">>
<<changeFetish "Mariel" "SmellFetish" 0.6>>
<<changeFetish "Mariel" "CumAddiction" 0.5>>
<<addSoulCorruption "mariel" 1>>
<<trackExperience "Mariel" "Masturbation" 2>>
<<trackExperience "Mariel" "Orgasms" 2>>
<<set $mariel_CumNeed = 0>>
<<set $mariel_Lust = 0>>
<<changeAttraction "Mariel" "Seryk" 5>>
<<set $marielMasturbatedToSerykBoxers = true>>
<<dialog "Mariel" "face" "What... what just happened to me?">>
<<narrative "I whisper in confusion and horror, looking around at the evidence of my complete loss of control.">>
<<narrative "The bed beneath me is soaked, my body still trembling from the aftermath. I've never experienced anything like that before - the way my body responded to his scent and taste was beyond anything I thought possible.">>
<<narrative "I scramble to my feet on unsteady legs, hastily arranging his bedding to hide what I've done. But I can't bring myself to put down his boxers - not yet. I hold them to my face for one last, deep breath before finally, reluctantly, placing them back where I found them.">>
<<dialog "Mariel" "face" "I have to get out of here... before he comes back...">>
<<narrative "I whisper, gathering my scattered clothes with trembling hands.">>
<<narrative "I dress quickly, my body still hypersensitive from what just happened. Every brush of fabric against my skin sends little aftershocks through me, reminders of the incredible pleasure I just experienced.">>
<<narrative "I flee back to my room, closing the door behind me and leaning against it, my heart pounding. My body is still humming with satisfaction, but my mind is reeling with confusion and shame.">>
<<dialog "Mariel" "face" "What kind of wife am I? What kind of woman does something like that?">>
<<narrative "I whisper to my reflection in the mirror.">>
<<narrative "But even as shame overwhelms me, I can't deny the deep satisfaction still coursing through my body, or the way I'm already craving more of his intoxicating presence. Something fundamental has changed in me today, and I'm not sure I can ever go back to who I was before.">>
<<else>>
<<dialog "Mariel" "face" "Mmm... oh... oh god...">>
<<narrative "I moan softly as the gentle climax washes over me.">>
<<narrative "The release is warm and comforting rather than overwhelming, but it brings with it a confusing mix of guilt and satisfaction. I think of $humanName's protective embrace as the pleasure fades, leaving me feeling both ashamed and strangely content.">>
<<dialog "Mariel" "face" "This is so wrong... but why did it feel so right?">>
<<narrative "I whisper to myself as I straighten my clothing.">>
<<trackExperience "Mariel" "Masturbation" 1>>
<<trackExperience "Mariel" "Orgasms" 1>>
<<changeLust "Mariel" -35>>
<<changeAffection "Mariel" "Rylan" 1>>
<<narrative "The guilt settles in as I return to my normal routine, but beneath it, there's a new awareness of feelings I don't fully understand. The comfort he provided awakened something in me, something I'm not sure how to handle.">>
<</if>>
<<continueBox "NimeriasLaboratory" "Continue..." "">>
</div>
<</nobr>>
<<pov "mariel" "marielinbedroom.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "night">>
<div class="passage-container rylan">
<<narrative "🌙 Late Night Restlessness 🌙">>
<<if $serykxliorantr>>
<<thought "Rylan" "face" "I toss and turn in my bed, unable to find sleep despite the late hour. My mind keeps replaying yesterday's goblin hunt over and over again. What was I thinking? Charging ahead like that, ignoring Serin's experience and putting everyone in danger just because I wanted to prove myself...">>
<<thought "Rylan" "face" "The moonlight streaming through my window seems to mock me, illuminating my shame. Liora could have been seriously hurt - or worse. All because I was too proud to listen, too desperate to show I wasn't the failure who ran from a single goblin before.">>
<<else>>
<<thought "Rylan" "face" "I toss and turn in my bed, unable to find sleep despite the late hour. My mind keeps replaying yesterday's goblin hunt over and over again. What was I thinking? It was stupid of me to charge ahead just to prove myself...">>
<<thought "Rylan" "face" "The moonlight streaming through my window illuminates my restless thoughts. Everything went well in the end, but it could have gotten so much worse. I need to be smarter about these things.">>
<</if>>
<<thought "Rylan" "face" "I need to apologize to everyone properly, and more importantly, I need to actually become someone worthy of their trust.">>
<<narrative "With a heavy sigh, I slip out of bed and pad barefoot across the cool wooden floor. My bladder is demanding attention, but my mind is still wrestling with how to make things right. The house is eerily quiet as I make my way to the bathroom, trying not to wake anyone with the sound of my shame-filled footsteps.">>
<<thought "Rylan" "face" "After taking care of business, I quietly wash my hands and stare at my reflection in the small mirror. The face looking back at me still looks young, uncertain. How can I expect others to trust me when I keep making such terrible decisions?">>
<<narrative "As I start making my way back to my room, the floorboards creak softly under my feet despite my efforts to move silently. Just as I'm about to reach my door, something catches my attention - there's a faint glow coming from the direction of the kitchen. Someone else is awake at this hour.">>
<<thought "Rylan" "face" "I pause in the hallway, wondering if someone else is also struggling with thoughts about yesterday. Maybe this is my chance to start making amends, to have an honest conversation about how badly I messed up. Or maybe I should just let them have their peace and return to wrestling with my guilt alone.">>
<<thought "Rylan" "face" "Maybe this is my chance to finally start making things right...">>
<<narrative "⚠️ IMPORTANT CHOICE ⚠️">>
<<narrative "This decision will determine whether you pursue romantic content with your $marielToHuman or miss this opportunity entirely. Choose carefully!">>
<<choiceBox "What should I do?" "💕 Check out the kitchen light (Mariel romance)" "KitchenNightEncounter" "Chapter3NightActivity=romance" "😴 Just go back to sleep" "SkipMarielContent" "Chapter3NightActivity=sleep">>
</div>
<</nobr>>
<<pov "rylan" "default3.mp3">><<script>>window.AudioSystem.playBGM('stormark.mp3');<</script>> <<scrollingCredits 200>> <div style="position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 10000; background: rgba(0,0,0,0.9); padding: 20px 30px; border-radius: 25px; border: 2px solid #ffd700; text-align: center;"> <h3 style="color: #ffd700; font-size: 1.3em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);"> 🎬 End of Chapter 3 🎬 </h3> <p style="color: #ffffff; font-size: 1em; margin: 0; text-shadow: 1px 1px 3px rgba(0,0,0,0.7);"> Thank you for playing <strong style="color: #ffd700;">Bonds Defiled</strong> </p> <p style="color: #dda0dd; font-size: 0.9em; margin: 8px 0 0 0; text-shadow: 1px 1px 3px rgba(0,0,0,0.7);"> Credits will complete automatically... </p> </div> <div style="position: fixed; bottom: 20px; right: 30px; z-index: 10001;"> <button onclick="document.getElementById('scrolling-credits-container').style.display = 'none'; SugarCube.Engine.backward();" style="background: rgba(139,0,0,0.8); color: #ffffff; border: 2px solid #ffd700; padding: 12px 20px; border-radius: 25px; cursor: pointer; font-size: 1em; font-weight: bold; transition: all 0.3s ease;"> ⬅️ Go Back </button> </div><<script>>
setTimeout(function() {
SugarCube.Engine.backward();
}, 203000); // 200s credits + 3s buffer
<</script>>
<<changeFace $currentRylanFace>><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "⚖️ Rights and Laws ⚖️">>
<<narrative "Chapter 3 - Serious Discussion">>
<<dialog "Rylan" "facesad" "I want to understand this better. What exactly are the laws regarding demons? Do they have any rights at all?">>
<<narrative "The conversation takes on a more serious tone as I lean forward, genuinely wanting to understand the legal reality that Seryk and Nimeria face.">>
<<dialog "Mariel" "facesad" "Legally speaking, demons are considered... property. They cannot own land, enter contracts, or represent themselves in court.">>
<<narrative "Mariel's expression darkens as she continues, clearly uncomfortable with the topic.">>
<<dialog "Mariel" "facesad" "The collar system exists because 'unowned' demons are considered threats to public safety. They can be captured or killed on sight by licensed demon hunters.">>
<<dialog "Mariel" "facesad" "An 'owned' demon, however, is the responsibility of their master. They can't be harmed without going through the owner first.">>
<<dialog "Seryk" "face" "She's right, bro. Technically, we're considered less than human in the eyes of the law. We can't testify in trials, can't defend ourselves legally, can't even complain if we're mistreated.">>
<<narrative "Despite the heavy topic, Seryk's tone remains surprisingly calm and matter-of-fact.">>
<<dialog "Seryk" "face" "The irony is that these collars actually give us more freedom than we'd have without them. At least this way, people assume we belong to someone who vouches for our behavior.">>
<<dialog "Liora" "facesadshortpink" "That's... that's horrible. I never realized it was that bad.">>
<<narrative "Liora looks genuinely distressed by this information, her healing nature clearly troubled by such systematic injustice.">>
<<dialog "Nimeria" "face" "The system was designed after the Demon King's defeat. Fear drove the legislation - demons were seen as an existential threat that needed to be controlled or eliminated.">>
<<narrative "Nimeria's analytical tone carries a hint of bitterness as she explains the historical context.">>
<<dialog "Nimeria" "face" "What's particularly cruel is that demons who refuse to submit to the collar system are labeled as 'dangerous separatists' and hunted down. There's no legal path to freedom.">>
<<dialog "Serin" "facesad" "I had no idea either. I always thought the collars were just... tradition or something. This makes me feel terrible about all the times I complained about people staring at us.">>
<<narrative "Serin looks genuinely ashamed, her newfound confidence dampened by the weight of this knowledge.">>
<<dialog "Rylan" "face" "So what happens if someone mistreats their 'owned' demon? Are there any protections at all?">>
<<dialog "Mariel" "facesad" "Technically, there are laws against 'destruction of property' and 'animal cruelty' that could apply. But since demons can't testify on their own behalf, and few humans are willing to speak up for them...">>
<<narrative "She trails off, the implication clear. Her hands clench slightly as old memories seem to surface.">>
<<dialog "Mariel" "facesad" "I've seen... terrible things during my travels. Demons treated worse than livestock. And there was nothing we could do legally.">>
<<dialog "Seryk" "face" "Hey, don't look so gloomy, everyone. Things are slowly changing. There are more people like you all - humans who see demons as individuals rather than threats.">>
<<dialog "Seryk" "face" "Every positive interaction, every friendship, every act of kindness helps change minds. That's more powerful than any law in the long run.">>
<<dialog "Nimeria" "facesmile" "Seryk's right. Social change often precedes legal change. The more successful demon-human partnerships people see, the harder it becomes to maintain the fiction that we're inherently dangerous.">>
<<dialog "Nimeria" "facesmile" "That's part of why I want to join your adventures. Demonstrating that demons can be valuable allies, not just controlled servants, could help shift public perception.">>
<<dialog "Rylan" "face" "Then that's what we'll do. We'll show everyone that demons and humans can work together as equals. Even if we get called 'demon cuddlers' for it.">>
<<narrative "I feel a surge of determination. This conversation has opened my eyes to just how important our friendship and partnership really is.">>
<<dialog "Rylan" "face" "Maybe someday, demons won't need collars for protection. Maybe they'll have real rights, real freedom.">>
<<narrative "The weight of this conversation hangs in the air, but there's also a sense of unity. We're not just friends anymore - we're allies in something bigger than ourselves.">>
<<dialog "Liora" "face" "I'll help however I can. Everyone deserves to be treated with dignity and respect.">>
<<dialog "Serin" "face" "Count me in. I won't let anyone talk badly about our friends anymore.">>
<<dialog "Mariel" "face" "This conversation reminds me why we fought against the Demon King in the first place - not to subjugate an entire race, but to protect innocent people. All innocent people.">>
<<changeLust "Rylan" 2>>
<<changeAffection "Rylan" "Seryk" 3>>
<<changeAffection "Rylan" "Nimeria" 3>>
<<changeAffection "Liora" "Seryk" 2>>
<<changeAffection "Liora" "Nimeria" 2>>
<<changeAffection "Serin" "Seryk" 2>>
<<changeAffection "Serin" "Nimeria" 2>>
<<changeAffection "Mariel" "Seryk" 1>>
<<changeAffection "Mariel" "Nimeria" 1>>
<<continueBox "GuildMorningChapter3" "Head to the guild to check for quests" "">>
</div>
<</nobr>>
<<pov "rylan" "default3.mp3">><<script>>window.AudioSystem.playBGM('seryknimeriaconfrontation.mp3');<</script>><<set $timeOfDay = "night">><div class="dream-transition" style="background: linear-gradient(to bottom, rgba(0,0,0,0.95), rgba(30,20,50,0.9)); min-height: 500px; padding: 40px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3); text-align: center;"><div id="serykDreamFade" style="opacity: 1; transition: all 3s ease-in-out;"><p style="color: #87CEEB; font-size: 1.3em; font-style: italic; margin-bottom: 20px;">*Seryk's memories of guilt fade into the darkness...*</p><p style="color: white; font-size: 1.1em; margin-bottom: 25px;">✦ ✧ ✦</p><p style="color: #DDA0DD; font-size: 1.1em; font-style: italic;">*But dreams have a way of traveling...*</p></div><div id="transitionText" style="opacity: 0; transition: all 2s ease-in-out; margin-top: 30px;"><p style="color: white; font-size: 1.2em; margin-bottom: 25px;">✧ ✦ ✧</p><p style="color: #FFB6C1; font-size: 1.1em; font-style: italic; margin-bottom: 20px;">*Across the house, another mind stirs...*</p><p style="color: #90EE90; font-size: 1.0em;">*The transformation's effects begin to manifest...*</p></div><div id="marielIntro" style="opacity: 0; transition: all 2s ease-in-out; margin-top: 30px;"><p style="color: #DDA0DD; font-size: 1.3em; font-weight: bold;">*Mariel's Dreams*</p><p style="color: white; font-size: 1.0em; margin-top: 15px;">Where Healing Becomes Something More</p></div><div id="continueLink" style="opacity: 0; transition: all 1s ease-in-out; margin-top: 40px;">
[[Continue|MarielsTransformdreamChapter3]]
</div></div><script>
setTimeout(function() {
document.getElementById('serykDreamFade').style.opacity = '0';
document.getElementById('transitionText').style.opacity = '1';
}, 1000);
setTimeout(function() {
document.getElementById('marielIntro').style.opacity = '1';
}, 3000);
setTimeout(function() {
document.getElementById('continueLink').style.opacity = '1';
}, 5000);
</script>
<<changeFace $currentMarielFace>><<script>>window.AudioSystem.playBGM('seryknimeriaconfrontation.mp3');<</script>><<set $timeOfDay = "night">><div class="dream-transition2" style="background: linear-gradient(to bottom, rgba(138, 43, 226, 0.8), rgba(0,0,0,0.95)); min-height: 500px; padding: 40px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3); text-align: center;"><div id="marielDreamFade" style="opacity: 1; transition: all 3s ease-in-out;"><p style="color: #DDA0DD; font-size: 1.3em; font-style: italic; margin-bottom: 20px;">*Mariel's transformation dreams fade into peaceful sleep...*</p><p style="color: white; font-size: 1.1em; margin-bottom: 25px;">✦ ✧ ✦</p><p style="color: #FFB6C1; font-size: 1.1em; font-style: italic;">*The seeds are planted, ready to grow...*</p></div><div id="returningText" style="opacity: 0; transition: all 2s ease-in-out; margin-top: 30px;"><p style="color: white; font-size: 1.2em; margin-bottom: 25px;">✧ ✦ ✧</p><p style="color: #87CEEB; font-size: 1.1em; font-style: italic; margin-bottom: 20px;">*But across the house, guilt still weighs heavy...*</p><p style="color: #DDA0DD; font-size: 1.0em;">*The memories continue to unfold...*</p></div><div id="serykReturn" style="opacity: 0; transition: all 2s ease-in-out; margin-top: 30px;"><p style="color: #87CEEB; font-size: 1.3em; font-weight: bold;">*Switching to Seryk's Dream*</p><p style="color: white; font-size: 1.0em; margin-top: 15px;">The Weight of the Past</p></div><div id="continueLink" style="opacity: 0; transition: all 1s ease-in-out; margin-top: 40px;">
[[Continue|SeryksDream1]]
</div></div><script>
setTimeout(function() {
document.getElementById('marielDreamFade').style.opacity = '0';
document.getElementById('returningText').style.opacity = '1';
}, 1000);
setTimeout(function() {
document.getElementById('serykReturn').style.opacity = '1';
}, 3000);
setTimeout(function() {
document.getElementById('continueLink').style.opacity = '1';
}, 5000);
</script><<changeFace $currentSerykFace>><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "🏛️ Guild Morning 🏛️">>
<<narrative "Our group makes its way through the bustling streets toward the guild. The morning air is crisp, and the familiar sight of the guild building comes into view. As we walk, I can't help but notice the way people's eyes follow us - particularly lingering on Seryk and Nimeria's collars.">>
<center><img src="images/landscapes/guildhall.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The whispers start almost immediately as we approach the guild entrance.">>
<<narrative "The familiar murmur of disapproving voices reaches our ears as we enter the guild hall.">>
<<dialog "Male NPC" "face" "There they go again with their pet demons...">>
<<dialog "Female NPC" "face" "I heard they actually let them fight alongside them. Disgusting.">>
<<dialog "Male NPC" "face" "Mark my words, those demons will turn on them eventually.">>
<<narrative "I clench my fists, but try to ignore the comments as we make our way toward Elena's reception desk.">>
<<narrative "Suddenly, a large, muscular man with a beer gut blocks our path. His arms are thick as tree trunks, and his face is flushed with anger and alcohol. He reeks of stale beer even this early in the morning.">>
<<dialog "Thomas" "face" "What's this scrawny little demon doing here? Looks like she'd break if someone sneezed too hard. This isn't a daycare!">>
<<narrative "Before anyone else can react, Liora steps forward. Her small frame looks tiny compared to the massive man, but her voice is steady and clear.">>
<<dialog "Liora" "faceangryshortpink" "That's enough! Nimeria has every right to be here, and she's done nothing wrong to you!">>
<<narrative "I'm stunned. This is the same shy, innocent Liora who can barely speak up in group conversations, now standing fearlessly against a man three times her size.">>
<<dialog "Nimeria" "face" "Thank you, Liora, but leave it be. People like this aren't worth our time.">>
<<narrative "Nimeria's voice is calm and composed, but I can see the appreciation in her eyes for Liora's unexpected defense.">>
<<narrative "The man's face turns an even deeper shade of red as he refocuses on Nimeria, clearly not intimidated by Liora's intervention.">>
<<dialog "Thomas" "face" "Careful, demon. I might trip over you and mistake you for spilled ink.">>
<<dialog "Nimeria" "facesmile" "With how often you trip over your own words, I'm surprised you made it this far.">>
<<dialog "Thomas" "face" "Funny. I didn't know demons were trained to talk back.">>
<<dialog "Nimeria" "facesmile" "And I didn't know barn animals were allowed in here. Guild's really relaxed its standards.">>
<<narrative "The crowd is starting to gather, sensing blood in the water. Some adventurers are actually grinning at the exchange.">>
<<dialog "Male NPC" "face" "This is getting interesting...">>
<<dialog "Thomas" "face" "You've got a sharp tongue for something that fits in a birdcage.">>
<<dialog "Nimeria" "facesmile" "And you've got a round head for someone who clearly skipped every intelligence stat. Impressive symmetry - your wit and your waistline are both a perfect zero.">>
<<narrative "A few people actually gasp at that one. The man's face is turning purple with rage.">>
<<dialog "Thomas" "face" "Watch it. I eat things like you for breakfast.">>
<<dialog "Nimeria" "facesmile" "Looking at you, I'd say you eat everything for breakfast. And lunch. And second lunch.">>
<<dialog "Thomas" "face" "You little bitch! When I'm done with you, you'll be begging me to stop! I'll show you what a real man does to smart-mouthed whores like you!">>
<<narrative "The guild hall goes dead silent. That crossed a line. Even the drunks look uncomfortable.">>
<<dialog "Nimeria" "facesmile" "Bold threat... from someone so fat he hasn't seen his own cock since the last king's coronation.">>
<<narrative "The guild hall EXPLODES in laughter. Someone starts slow clapping. The man looks around in shock as he realizes he's been completely destroyed in front of everyone.">>
<<dialog "Female NPC" "face" "Oh my gods, she destroyed him!">>
<<dialog "Male NPC" "face" "That was brutal! I'm never messing with her!">>
<<narrative "The big man roars in fury and swings a massive fist toward Nimeria's face. Time seems to slow as I watch the attack coming.">>
<<narrative "Without thinking, I throw myself between them. My own fist connects with his jaw with a sickening crack, and the massive man crumples to the floor like a felled tree.">>
<center><img src="images/rylan/chapter3/punch.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I stare down at my fist in shock. When did I become this strong? The man who seemed so intimidating moments ago is now completely unconscious on the guild floor.">>
<<narrative "Behind me, I don't notice Nimeria's expression - her eyes wide with excitement and admiration as she stares at my back.">>
<center><img src="images/nimeria/faceecstatic.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Elena" "face" "Okay, okay! Can someone drag the pig out? I have work to do here.">>
<<narrative "Elena's voice cuts through the tension with practiced authority. Two other adventurers grudgingly grab the unconscious man's arms and drag him toward the exit.">>
<<dialog "Elena" "face" "Well, that was entertaining. Now, what can I do for you today?">>
<center><img src="images/elenor/standing.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "face" "We're looking for a quest. Preferably something that would let us work together as a team.">>
<<dialog "Elena" "faceworried" "Sorry, all the E-Rank quests are taken today. Early birds got them all.">>
<<narrative "Elena pauses, tapping her finger on the counter thoughtfully.">>
<<dialog "Elena" "faceworried" "Hmm, even though it's usually too early for your rank, I'd be willing to let you visit D-Rank locations. How about you patrol the Blightwood?">>
<<dialog "Rylan" "face" "Sure, but why do you need patrols there?">>
<<dialog "Elena" "face" "Well, a drunk adventurer said he met a talking goblin there - something called 'Effnain' or so. Even though I can't take it seriously, better safe than sorry, right?">>
<<dialog "Elena" "face" "Anyway, there's a reason why it's a D-Rank location. The monsters there are weak, but the atmosphere is poisonous. It won't kill you if you don't stay too long, but it slowly drains your health.">>
<<narrative "Elena looks pointedly at Liora.">>
<<dialog "Elena" "face" "Since you've got a good healer, I think I don't have to worry.">>
<<dialog "Elena" "face" "If the quest goes well, I'm willing to let you visit more D-Rank locations in the future. For those, one or two strong healers are an obligation though.">>
<<dialog "Elena" "face" "During fights, you better not let Liora engage directly. She should conserve her mana and heal everyone while you rest between encounters.">>
<<dialog "Elena" "face" "But I'm sure Seryk, $humanName, and Serin will be more than enough to defeat a few goblins and slimes.">>
<<dialog "Rylan" "face" "Sure, leave it to us. Wait... Seryk said Nimeria is fragile...">>
<<dialog "Nimeria" "face" "I'm fine. I have a resistance against poisons since I was four...">>
<<narrative "She glances meaningfully at Seryk, and I catch something unspoken passing between them.">>
<<dialog "Seryk" "facesad" "Sorry about that, Nim...">>
<<narrative "Seryk scratches his head awkwardly, looking genuinely regretful about something.">>
<<dialog "Rylan" "face" "Okay, we'll take the mission. But safety first - if anyone starts feeling the effects of the poison too strongly, we retreat immediately.">>
<<narrative "I look around at my companions, making sure everyone understands the seriousness of what we're undertaking.">>
<<dialog "Elena" "face" "Perfect. The Blightwood is about two hours north of here. Good luck, and try not to punch any more customers unconscious on your way out.">>
<<narrative "Elena's wink takes the sting out of her words as she hands us the official quest documentation.">>
<<changeLust "Rylan" 2>>
<<changeAffection "Liora" "Nimeria" 4>>
<<changeAffection "Nimeria" "Liora" 3>>
<<changeAffection "Nimeria" "Rylan" 3>>
<<changeAffection "Rylan" "Liora" 2>>
<<changeAffection "Seryk" "Nimeria" 1>>
<<changeCombatStat "Rylan" "physicalPower" 0.3>>
<<choiceBox "What should we do next?" "🚀 Head to the Blightwood immediately" "BlightwoodJourney" "GuildMorningChapter3=immediate" "💭 Take some time to discuss strategy" "StrategyDiscussion" "GuildMorningChapter3=strategy">>
</div>
<</nobr>>
<<pov "rylan" "chapter1default.mp3">><<stopLoopingSounds>>
<<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "night">>
<<set $rylanRomanceMariel = true>>
<div class="passage-container rylan">
<<narrative "🍷 Late Night Encounter 🍷">>
<<narrative "I quietly approach the kitchen, my bare feet silent on the cold wooden floor. The warm glow I noticed earlier comes from a single candle flickering on the kitchen table. As I peer around the corner, I freeze.">>
<center><img src="images/mariel/stage2/facesad.webp" style="width: 110px; height: 110px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "$marielToHuman sits at the table, still in her nightgown, her golden blonde hair slightly disheveled. In front of her is a nearly empty bottle of wine and a glass that's been refilled multiple times, judging by the red stains on the table.">>
<<narrative "She doesn't notice me at first, staring into her wine glass with a melancholy expression. Her usually perfect posture is slumped, and even from here I can see the flush in her cheeks.">>
<<narrative "I should probably leave her be, but something about her defeated posture makes me hesitate. She looks so... lonely.">>
<<narrative "I clear my throat softly.">>
<<dialog "Rylan" "face" "$marielToHuman? Are you alright?">>
<<narrative "She looks up, her emerald eyes unfocused and glassy. A wobbly smile crosses her face as she tries to straighten up in her chair.">>
<<dialog "Mariel" "face" "Oh! $humanName... didn't... didn't hear you come in.">>
<<narrative "Her words slur slightly as she gestures to the empty chair across from her.">>
<<dialog "Mariel" "face" "Join your... your $marielToHuman for a drink? This wine is... is really good.">>
<<narrative "I can tell she's much more intoxicated than I initially thought. Her movements are unsteady, and she's having trouble focusing on my face.">>
<<dialog "Rylan" "face" "I think you've had enough wine for tonight. Maybe we should get you to bed?">>
<<narrative "Her expression immediately crumbles, and she lets out a bitter laugh that doesn't suit her gentle nature at all.">>
<<dialog "Mariel" "facesad" "Bed? Hah... what's the point? Just... just gonna lie there alone anyway.">>
<<narrative "She takes another sip of wine, her hand shaking slightly.">>
<<dialog "Mariel" "facesad" "Do you know... do you know what it's like to be... to be unwanted? Even by your own husband?">>
<<narrative "My heart sinks. I've never seen her like this before - so vulnerable, so broken.">>
<<dialog "Mariel" "facesad" "So many years... so many years since we came back from that... that horrible place. And he... he can barely look at me. Won't touch me. Won't even...">>
<<narrative "She trails off, staring into her glass again.">>
<<dialog "Mariel" "facesad" "Maybe I deserve it though. Maybe... maybe this is my punishment for... for what I did. Or what I didn't do. I was supposed to be pure, supposed to be a priestess of light, but I...">>
<<narrative "She's starting to cry now, tears streaming down her flushed cheeks.">>
<<dialog "Mariel" "facesad" "I'm just... I'm just a useless woman. Can't even... can't even be a proper wife anymore.">>
<<narrative "I feel a mix of emotions - pity, anger at $humanToThalor, and something else I don't want to acknowledge.">>
<<narrative "I can't leave her like this. She needs help getting to bed safely.">>
<<continueBox "MarielTooBed" "💔 Help her to her room" "I need to help her to bed.">>
</div>
<</nobr>>
<<pov "rylan" "marielinbedroom.mp3">><<playLoopingSounds "sounds/hsounds/deepkissintense.mp3" 1>>
<<nobr>>
<<set $rylan_MarielNightEncounter = true>>
<<changeLust "Rylan" 20>>
<<quickSexTrack "kiss" "Rylan" "Mariel" 1>>
<div class="passage-container rylan">
<<narrative "💔 The Breaking Point 💔">>
<<narrative "Chapter 3 - Mariel's Room">>
<<narrative "I try to sit up, to regain some control of the situation, but she's already climbing onto the bed beside me, her movements unsteady but determined.">>
<center><img src="images/mariel/chapter3/nightactivities1/11.webp" style="max-width: 400px; width: 100%; height: auto; border-radius: 8px; margin: 20px 0;"></center>
<<dialog "Mariel" "facewet" "Don't run from me, Thalor... please...">>
<<narrative "She presses against me, and I can feel the heat of her body through the thin fabric of her nightgown.">>
<<narrative "Before I can respond, she's kissing me again, more desperately than before. Her body moves against mine in ways that make my head spin with guilt and unwanted desire.">>
<center><img src="images/mariel/chapter3/nightactivities1/12.webp" style="max-width: 400px; width: 100%; height: auto; border-radius: 8px; margin: 20px 0;"></center>
<<narrative "I try one last time to push her away, but my strength is gone. My resolve has crumbled completely.">>
<<narrative "She pulls at my boxers with desperate hands, and I'm too overwhelmed to stop her. When she pushes me back down onto the bed, I fall without resistance.">>
<center><img src="images/mariel/chapter3/nightactivities1/13.webp" style="max-width: 400px; width: 100%; height: auto; border-radius: 8px; margin: 20px 0;"></center>
<<dialog "Mariel" "facewet" "That's it... let me take care of you...">>
<<narrative "she whispers, her voice thick with need and wine.">>
<<narrative "The intensity becomes too much. My body responds despite my horror at the situation. The guilt is eating me alive, but I can't stop what's happening.">>
<center><img src="images/mariel/chapter3/nightactivities1/14.webp" style="max-width: 400px; width: 100%; height: auto; border-radius: 8px; margin: 20px 0;"></center>
<<narrative "I try to escape one more time, but she wraps her legs around me, holding me in place with surprising strength.">>
<center><img src="images/mariel/chapter3/nightactivities1/15.webp" style="max-width: 400px; width: 100%; height: auto; border-radius: 8px; margin: 20px 0;"></center>
<<narrative "My resistance finally breaks completely. The overwhelming sensations, her desperate need, the way she clings to me - it all becomes too much.">>
<center><img src="images/mariel/chapter3/nightactivities1/16.webp" style="max-width: 400px; width: 100%; height: auto; border-radius: 8px; margin: 20px 0;"></center>
<<narrative "I can feel myself responding despite everything, my body betraying every moral principle I thought I had.">>
<center><img src="images/mariel/chapter3/nightactivities1/17.webp" style="max-width: 400px; width: 100%; height: auto; border-radius: 8px; margin: 20px 0;"></center>
<<narrative "The shame is overwhelming, but my body has taken control. In my confusion and guilt, I find myself responding to the intense sensations.">>
<center><img src="images/mariel/chapter3/nightactivities1/18.webp" style="max-width: 400px; width: 100%; height: auto; border-radius: 8px; margin: 20px 0;"></center>
<<narrative "I can't hold back anymore... everything is spiraling out of control...">>
<<narrative "There's no stopping what happens next...">>
<<continueBox "MarielFinalMoments" "💥 The final moment" "">>
<<quickSexTrack "kiss" "Rylan" "Mariel" 1>>
<<changeLust "Rylan" 10>>
</div>
<</nobr>>
<<pov "rylan" "marielmakeoutchapter3.mp3">><<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "night">>
<<changeLust "Rylan" -50>>
<<quickSexTrack "kiss" "Rylan" "Mariel" 1>>
<<quickSexTrack "orgasm" "Rylan" "Mariel" 1>>
<<set $rylan_MarielIntimateCount = ($rylan_MarielIntimateCount || 0) + 1>>
<<addSoulCorruption "rylan" 1>>
<<changeAffection "Rylan" "Mariel" -5>>
<<changeAttraction "Rylan" "Mariel" 3>>
<<changeAttraction "Mariel" "Rylan" 3>>
<div class="passage-container rylan">
<<narrative "💥 The Final Moment 💥">>
<<narrative "Chapter 3 - Mariel's Room">>
<<narrative "Finally, overwhelmed by everything - the guilt, the physical sensations, the emotional turmoil - my body reaches its limit.">>
<center><img src="images/mariel/chapter3/nightactivities1/19.webp" style="max-width: 400px; width: 100%; height: auto; border-radius: 8px; margin: 20px 0;"></center>
<<narrative "As soon as it's over, the full weight of what just happened crashes down on me. The wine finally overtakes her completely, and she collapses beside me, unconscious within moments.">>
<img src="images/mariel/stage2/face.webp" style="width: 110px; height: 110px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 20px 15px 0; clear: left;">
<<narrative "I lie there in horror, staring at the ceiling. What have I done? This was my $marielToHuman, and she was too drunk to know what she was doing. I should have been stronger. I should have stopped this.">>
<<narrative "The shame is crushing. I can barely breathe under the weight of it. This isn't who I'm supposed to be. This isn't what I should have done.">>
<<narrative "Carefully, I extract myself from the bed and pull a blanket over her sleeping form. She looks so peaceful now, so innocent. Tomorrow she probably won't even remember this happened.">>
<<narrative "But I will. I'll remember this for the rest of my life.">>
<<narrative "I gather my clothes and slip out of her room as quietly as possible, my hands shaking with shame and self-disgust. Each step down the hallway feels like I'm carrying a tremendous weight.">>
<<narrative "As I reach my own door, I pause for a moment, listening to make sure I haven't woken anyone. The house is silent, peaceful, completely unaware of the terrible thing that just happened.">>
<<narrative "I slip into my room and close the door behind me, sliding down against it until I'm sitting on the floor. The shame is overwhelming. How could I have let that happen? How could I have been so weak?">>
<<narrative "But as I sit there in the darkness, I realize something chilling - I wasn't the only one awake in this house tonight.">>
<<narrative "Just as I closed my door, I caught a glimpse of a shadow moving at the end of the hallway. Someone else was up, and they might have seen me leaving her room.">>
<<narrative "The horror of what I've done is now compounded by the fear of discovery. What if someone knows? What if they saw everything?">>
<<narrative "I am the worst kind of person. And someone might have witnessed my shame.">>
<<soulDisplay "rylan">>
<<narrative "I need to get some sleep... if I even can after this.">>
<<quickSexTrack "orgasm" "Rylan" "Mariel" 1>>
<<quickSexTrack "orgasm" "Mariel" "Rylan" 1>>
<<continueBox "NimeriasIntervention" "😰 Try to sleep" "">>
</div>
<</nobr>>
<<pov "rylan" "marielmakeoutchapter3.mp3">><<playLoopingSounds "sounds/hsounds/deepkissintense.mp3" 1>>
<<nobr>>
<div class="passage-container rylan">
<<narrative "💔 Resistance Crumbling 💔">>
<<dialog "Rylan" "facesad" "Please, $marielToHuman, we can't... this is wrong..." "I try one more time to push her away, but my voice lacks conviction now">>
<<narrative "She doesn't listen. Instead, she pulls me down into another kiss, more passionate than before. Her tongue parts my lips, and I can't help but respond despite my moral objections screaming in my head.">>
<center><img src="images/mariel/chapter3/nightactivities1/5.webp" style="max-width: 500px; width: 100%; height: auto; border-radius: 8px; margin: 20px 0;"></center>
<<dialog "Mariel" "facewet" "Stop calling me that..." "she whispers breathlessly between kisses" "Tonight... tonight I'm just a woman who needs you.">>
<<narrative "My resistance is crumbling with each passing second. The way she holds me, the desperation in her touch, the heat of her body against mine - it's breaking down every wall I've tried to build.">>
<<narrative "She kisses me again and again, each one more intense than the last. I find myself responding despite everything, my hands moving to her waist without conscious thought.">>
<center><img src="images/mariel/chapter3/nightactivities1/6.webp" style="max-width: 500px; width: 100%; height: auto; border-radius: 8px; margin: 20px 0;"></center>
<<dialog "Mariel" "facewet" "There... that's my Thalor. I knew you still wanted me." "Her voice is thick with emotion and desire" "It's been so long since you've touched me like this.">>
<<narrative "The guilt is eating me alive, but my body is betraying me completely now. When she presses closer, I can feel myself responding in ways that make me hate myself.">>
<center><img src="images/mariel/chapter3/nightactivities1/7.webp" style="max-width: 500px; width: 100%; height: auto; border-radius: 8px; margin: 20px 0;"></center>
<<narrative "This is spiraling out of control, and I'm powerless to stop it.">>
<<narrative "Her kisses become more urgent, more demanding. Her tongue explores my mouth with a hunger that's been building for years, and despite my horror at the situation, I find myself kissing her back.">>
<center><img src="images/mariel/chapter3/nightactivities1/8.webp" style="max-width: 500px; width: 100%; height: auto; border-radius: 8px; margin: 20px 0;"></center>
<<dialog "Mariel" "facewet" "Yes... yes, like that..." "she moans against my lips, her hands roaming over my chest" "I've needed this so much.">>
<<narrative "Suddenly, with surprising strength for someone so intoxicated, she pushes me backward onto the bed. I land with a soft thud, looking up at her with a mixture of fear, guilt, and unwanted arousal.">>
<center><img src="images/mariel/chapter3/nightactivities1/9.webp" style="max-width: 500px; width: 100%; height: auto; border-radius: 8px; margin: 20px 0;"></center>
<<narrative "She's completely lost in her desire, and I'm drowning in guilt and confusion...">>
<center><img src="images/mariel/chapter3/nightactivities1/10.webp" style="max-width: 500px; width: 100%; height: auto; border-radius: 8px; margin: 20px 0;"></center>
<<continueBox "MarielClimax" "😰 This has gone too far" "I can't think straight anymore...">>
<<quickSexTrack "kiss" "Rylan" "Mariel" 1>>
<<changeLust "Rylan" 30>>
</div>
<</nobr>>
<<pov "rylan" "marielmakeoutchapter3.mp3">><<playLoopingSounds "sounds/hsounds/deepkiss.mp3" 1>>
<<nobr>>
<div class="passage-container rylan">
<<narrative "💋 Point of No Return 💋">>
<<narrative "Before I can react, she leans forward and presses her lips against mine. Her kiss is desperate, hungry, filled with years of longing and rejection. The taste of wine mingles with something sweeter, more intoxicating.">>
<center><img src="images/mariel/chapter3/nightactivities1/2.webp" style="max-width: 500px; width: 100%; height: auto; border-radius: 8px; margin: 20px 0;"></center>
<<dialog "Mariel" "facewet" "Thalor... I've missed you so much..." "she whispers against my lips, her voice thick with emotion and alcohol">>
<<narrative "My mind screams at me to stop this, to push her away, but my body betrays me. For a moment, I'm frozen by the intensity of her need, by the way she clings to me like I'm her salvation.">>
<<narrative "Then reality crashes back down on me.">>
<<dialog "Rylan" "facesad" "$marielToHuman, stop! I'm not Thalor!" "I try to push her away gently, but she's stronger than I expected in her desperation">>
<<narrative "She pulls me closer instead, her hands tangling in my hair as she kisses me again, more insistently this time. The warmth of her body, the softness of her lips, the way she tastes - it's overwhelming.">>
<center><img src="images/mariel/chapter3/nightactivities1/3.webp" style="max-width: 500px; width: 100%; height: auto; border-radius: 8px; margin: 20px 0;"></center>
<<dialog "Mariel" "facesad" "Please... don't reject me tonight. I need... I need to feel wanted." "Her voice breaks as she speaks, and I can taste her tears mixed with the wine">>
<<narrative "This is wrong. This is so wrong. She's my $marielToHuman, she's drunk, she doesn't know what she's doing. But God help me, part of me doesn't want her to stop.">>
<<dialog "Rylan" "facesad" "This isn't right... you're drunk, you don't know what you're doing...">>
<<narrative "But even as I say the words, I can feel my resolve weakening. When was the last time someone looked at me with such desperate need? When was the last time I felt truly wanted?">>
<<narrative "She pulls back slightly, her eyes meeting mine with a clarity that surprises me despite her intoxication.">>
<center><img src="images/mariel/chapter3/nightactivities1/4.webp" style="max-width: 500px; width: 100%; height: auto; border-radius: 8px; margin: 20px 0;"></center>
<<dialog "Mariel" "facewet" "I know exactly what I'm doing, Thalor. I'm finally... finally being honest about what I want." "Her tongue darted out to wet her lips, and I can see the hunger in her eyes" "Don't you want me too?">>
<<narrative "Every fiber of my being is screaming that this is wrong, but I'm losing the battle against my own desires...">>
<<continueBox "MarielIntensifies" "😰 Try to resist harder" "I'm losing control of the situation...">>
<<quickSexTrack "kiss" "Rylan" "Mariel" 1>>
<<changeLust "Rylan" 30>>
</div>
<</nobr>>
<<pov "rylan" "marielmakeoutchapter3.mp3">><<stopLoopingSounds>>
<<nobr>>
<div class="passage-container rylan">
<<narrative "🚶 Walking to Her Room 🚶">>
<<narrative "I move around the table and gently help her to her feet. She leans heavily against me, her body warm and soft against my arm. The sweet scent of wine mingles with her usual lavender perfume.">>
<<dialog "Rylan" "face" "Come on, let's get you to bed. You'll feel better in the morning.">>
<<narrative "She nods weakly, but her legs are unsteady. I have to support most of her weight as we slowly make our way out of the kitchen and down the hallway toward her bedroom.">>
<<narrative "As we walk, she keeps stumbling, her head lolling against my shoulder. I try to focus on just getting her safely to her room, but I can't help but be aware of how her nightgown has shifted, how her curves press against me with each unsteady step.">>
<<narrative "Halfway to her room, she suddenly stops and looks up at me with unfocused eyes. A strange smile crosses her face.">>
<<dialog "Mariel" "facesmile" "Thalor? You... you came to me tonight?" "Her voice is slurred but carries a note of hope I've never heard before" "I thought... I thought you didn't want me anymore.">>
<<narrative "My blood runs cold. She's so drunk she thinks I'm her husband.">>
<<dialog "Rylan" "facesad" "$marielToHuman, I'm not... I'm $humanName. Remember?">>
<<narrative "But she's not listening. Her hand moves to rest on my chest, and she looks at me with such longing it makes my heart race and my stomach turn at the same time.">>
<<dialog "Mariel" "facesmile" "You feel... different tonight. Younger. Have you been... been working out?" "She giggles, a sound so unlike her usual composed self" "And you're... you're excited to see me. I can tell.">>
<<narrative "I realize with horror that my body is reacting to her closeness, to her touch, despite my mind screaming that this is wrong. This is my $marielToHuman, and she's too drunk to know what she's doing.">>
<<narrative "I practically carry her the rest of the way to her bedroom, my face burning with shame and confusion. Once we're inside, I try to help her sit on the edge of the bed.">>
<<dialog "Rylan" "face" "There. Now you should get some sleep. In the morning you'll-">>
<<narrative "But as I try to step back, she loses her balance and starts to fall backward. Instinctively, I reach out to catch her, my arms wrapping around her waist to keep her from hitting the bed hard.">>
<<narrative "Suddenly we're very close, her face just inches from mine. Her emerald eyes, though glassy with wine, seem to look right through me.">>
<<narrative "This is the moment everything changes.">>
<<narrative "Time seems to slow as I hold her in my arms...">>
<center><img src="images/mariel/chapter3/nightactivities1/1.webp" style="width: 600px; border-radius: 15px; border: 3px solid rgba(255,255,255,0.4); margin: 30px 0; box-shadow: 0 10px 30px rgba(0,0,0,0.5);"></center>
<<continueBox "MarielKissBegins" "😰 This is wrong..." "She's looking at me with such intensity...">>
<<changeLust "Rylan" 20>>
</div>
<</nobr>>
<<pov "rylan" "marielmakeoutchapter3.mp3">><<nobr>>
<<set $timeOfDay = "night">><<if not $marielTransformationMother>><<set $marielTransformationMother = false>><</if>><<if not $humanTransformationFeminine>><<set $humanTransformationFeminine = false>><</if>>
<div class="passage-container mariel">
<<narrative "💭 Mariel's Transformation Dream 💭">>
<<if not $marielTransformationMother>>
<<thought "Mariel" "facesmile" "The nightmare begins as it always does - the throne room, the demon children's cries, the blood...">>
<<thought "Mariel" "facesmile" "But suddenly, the scene shimmers and transforms. The darkness lifts like morning mist, replaced by warm sunlight streaming through familiar windows.">>
<<thought "Mariel" "facesmile" "Instead of horror, she sees herself in the kitchen, laughing with $humanName and the others. Thalor's arm around her shoulders, everyone safe and happy. The weight in her chest... it's gone.">>
<<thought "Mariel" "facesmile" "For the first time in years, she dreams of simple moments. Healing small wounds, preparing meals, watching everyone grow and flourish under her care.">>
<<thought "Mariel" "facesmile" "The trauma that has haunted her sleep for so long simply... isn't there anymore. In its place, only warmth, love, and the deep satisfaction of a life well-lived.">>
<<narrative "The healing has begun. For the first time in years, the guilt feels... lighter.">>
<<else>>
<<thought "Mariel" "facewet" "The nightmare of the throne room begins to fade, but instead of peace, something else stirs within her sleeping mind...">>
<<thought "Mariel" "facewet" "She finds herself sitting on the edge of her bed, strange sensations coursing through her body. Her nipples feel tight, almost itchy, and there's a peculiar fullness in her breasts.">>
<center><img src="images/nimeria/chapter3/transform1/breastmilk2.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 20px;"></center>
<<dialog "Mariel" "face" "What's... what's happening to me? They feel so full, so heavy...">>
<<thought "Mariel" "face" "Warm droplets begin to leak from her nipples - milk, rich and creamy. The pressure is building, becoming almost painful. She needs relief, needs someone to help her...">>
<<dialog "Mariel" "face" "$humanName... my sweet child... come to me...">>
<<thought "Mariel" "facesmile" "In her dream, $humanName appears at the doorway, looking confused but drawn by some instinct they don't understand.">>
<<dialog "Mariel" "facesmile" "Come here, my precious one. It's time for dinner... Mama has what you need.">>
<<thought "Mariel" "facesmile" "She pats her lap invitingly, her maternal instincts completely overwhelming any other thoughts. This feels so natural, so right...">>
<<if $humanTransformationFeminine>>
<<thought "Mariel" "face" "$humanName approaches and begins to drink from her breast, but something feels... different. Wrong somehow.">>
<center><img src="images/nimeria/chapter3/transform1/male/suckbreast1male.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 15px;"></center>
<<dialog "Mariel" "face" "Hmm... something isn't quite right...">>
<<thought "Mariel" "face" "The image of $humanName becomes blurry, shifting and changing before her eyes...">>
<center><img src="images/nimeria/chapter3/transform1/female/suckbreast1maleblurry.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 15px;"></center>
<<dialog "Mariel" "face" "Ah, there we go... my beautiful daughter. I always wanted a daughter to take care of.">>
<center><img src="images/nimeria/chapter3/transform1/female/suckbreast1female.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 15px;"></center>
<<dialog "Mariel" "facewet" "That's it, my sweet girl... drink all you want. Mama has so much milk for you...">>
<center><img src="images/nimeria/chapter3/transform1/female/suckbreast2female.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 15px;"></center>
<<thought "Mariel" "facewet" "Waves of euphoria wash over her as the pressure in her breasts finally finds relief. This is what she was meant for - to nurture, to provide, to love unconditionally.">>
<center><img src="images/nimeria/chapter3/transform1/female/suckbreast3female.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 15px;"></center>
<<dialog "Mariel" "facewet" "You're such a good baby... Mama loves you so much. Always remember that you're my precious little one...">>
<<thought "Mariel" "facewet" "The feeding continues, each moment filling her with deeper maternal satisfaction. Her daughter needs her, depends on her, and that makes everything else fade into insignificance.">>
<center><img src="images/nimeria/chapter3/transform1/female/suckbreast4female.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 15px;"></center>
<<else>>
<center><img src="images/nimeria/chapter3/transform1/male/suckbreast1male.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 15px;"></center>
<<dialog "Mariel" "facewet" "That's it, my precious boy... drink deeply. Mama has so much nourishment for you...">>
<center><img src="images/nimeria/chapter3/transform1/male/suckbreast2male.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 15px;"></center>
<<thought "Mariel" "facewet" "Pure bliss floods through her as the painful pressure finally finds release. This is her purpose - to care for her family, to provide everything they need with her own body.">>
<<dialog "Mariel" "facewet" "You're growing so strong, my handsome son... Mama will always take care of you. You'll always be my baby...">>
<center><img src="images/nimeria/chapter3/transform1/male/suckbreast3male.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 15px;"></center>
<<thought "Mariel" "facewet" "Each gentle pull sends waves of maternal pleasure through her entire being. This is what love truly means - complete devotion, total sacrifice for the ones who matter most.">>
<center><img src="images/nimeria/chapter3/transform1/male/suckbreast4male.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 15px;"></center>
<<dialog "Mariel" "facewet" "Sleep now, my sweet boy... Dream of Mama's love. Tomorrow we'll do this again...">>
<</if>>
<</if>>
<<thought "Mariel" "face" "As the dream fades, Mariel's face shows a peaceful smile she hasn't worn in years. The first seeds have been planted.">>
<<narrative "When she wakes, she'll feel different somehow... but the real changes will come slowly, gradually, as the seeds are nurtured through care and attention...">>
<<continueBox "DreamTransition2" "Continue..." "">>
</div>
<</nobr>>
<<pov "mariel" "marielinbedroom.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "📚 Mysterious Discovery 📚">>
<<narrative "A Strange New Shop">>
<<thought "Rylan" "face" "As we walk through the familiar streets toward home, something catches my attention. Between the blacksmith and the tavern, where I'm certain there was just an empty alley this morning, stands a small shop I've never seen before.">>
<<thought "Rylan" "face" "The shop has an ornate wooden sign that reads 'Whispers & Wisdom' in flowing script. Mysterious purple light emanates from its windows, and there's something almost hypnotic about the way the shadows seem to dance around its entrance.">>
<<dialog "Rylan" "face" "Wait... has this shop always been here? I don't remember seeing it before.">>
<<dialog "Serin" "faceworried" "That's... definitely new. I walk this street every day, and I've never seen that place before.">>
<<dialog "Liora" "faceworried" "Something feels... strange about it. Like it just appeared out of nowhere.">>
<<dialog "Seryk" "faceworried" "Magic shops sometimes do that, bro. They appear when someone needs what they're selling.">>
<<dialog "Nimeria" "faceworried" "*staring at the shop intently* That's... definitely magical. I can sense powerful enchantments from here.">>
<<thought "Rylan" "face" "There's something compelling about the shop that draws my curiosity. After the bizarre day we've had, what's one more strange discovery?">>
<<dialog "Rylan" "face" "I'm going to check it out. After everything that happened today, I'm curious what kind of shop just appears out of nowhere.">>
<<dialog "Serin" "face" "We'll wait out here. Magic shops can be... unpredictable with multiple people.">>
<<dialog "Liora" "face" "Be careful, $humanName. Don't buy anything too expensive or dangerous!">>
<<thought "Rylan" "face" "I approach the shop entrance. As I get closer, I can hear faint whispers coming from inside, though I can't make out the words. The door handle feels warm to the touch, almost inviting.">>
<<continueBox "MysteriousBookshop" "Enter the mysterious shop" "">>
</div>
<</nobr>>
<<pov "rylan" "default3.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "📚 Whispers & Wisdom 📚">>
<<narrative "A Shop of Self-Discovery">>
<center><img src="images/landscapes/bookshopinterior.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "face" "Inside, the shop is far larger than it appeared from outside. Towering bookshelves stretch up into shadows that seem to move of their own accord. Ethereal lights float between the shelves, illuminating different sections as I pass by.">>
<<if not $mysteriousBookshopVisited>>
<<thought "Rylan" "face" "I step inside and look around in wonder. The shop defies logic - it's impossibly vast inside, with shelves that seem to stretch into infinity. As I take in the mystical atmosphere, I hear soft footsteps approaching.">>
<<thought "Rylan" "face" "A breathtakingly beautiful woman emerges from the shadows. She has flowing white hair that seems to shimmer with its own light, piercing blue eyes that feel ancient and knowing, and wears an elegant black dress that moves like liquid shadow. There's something otherworldly about her presence.">>
<center><img src="images/veloria/portrait.webp" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Veloria" "face" "Welcome, $humanName.">>
<<dialog "Rylan" "faceworried" "Have we met before? How do you know my name?">>
<<dialog "Veloria" "face" "Not in your time yet. I'm Veloria. For you, Madame Veloria. I sell books that might be useful for you in the future.">>
<<dialog "Rylan" "faceworried" "...Ok...">>
<<dialog "Veloria" "face" "Hmm. Soon a time will come when you find no way out and everything seems lost. Your path is plagued with death. Visit me and I might help you... for a price.">>
<<dialog "Rylan" "face" "Yes, sure... Can I take a look at the books?">>
<<dialog "Veloria" "face" "I currently have these books available. In the future I might have more for you.">>
<<set $mysteriousBookshopVisited = true>>
<<else>>
<<thought "Rylan" "face" "Madame Veloria nods knowingly as I enter her shop again. Her piercing blue eyes seem to see right through me, as if she knows exactly what has transpired since my last visit.">>
<<dialog "Veloria" "face" "Ah, you return. The threads of fate continue to weave around you. What wisdom do you seek today?">>
<</if>>
<<narrative "--- Exploring the Shop ---">>
<<thought "Rylan" "face" "I wander through the shop, marveling at its impossible architecture. The shelves seem to stretch infinitely upward, and books float gently between sections as if deciding where they belong. Each aisle feels like stepping into a different realm of knowledge.">>
<<thought "Rylan" "face" "The books themselves are unlike anything I've seen - some have covers that shimmer and shift, others seem to whisper as I pass by. There's a distinct separation between two main sections, each with its own ethereal aura.">>
<<thought "Rylan" "face" "Madame Veloria watches me with those ancient eyes, a knowing smile playing at her lips. 'Choose carefully, young seeker,' she says softly. 'Each book will teach you something new about yourself... for better or worse.'">>
<<thought "Rylan" "face" "I feel drawn toward the mystical book collection, ready to explore what knowledge awaits me.">>
<<choiceBox "What do you do?" "Browse the book collection" "WhispersWisdomShop" "MysteriousBookshop=browse" "Leave without browsing" "ExitMysteriousBookshop" "MysteriousBookshop=leave">>
</div>
<</nobr>>
<<pov "rylan" "mystical.mp3">><<nobr>>
<div class="passage-container rylan">
<<thought "Rylan" "face" "As I step out of the mysterious shop, I feel the cool evening air on my face. The others are waiting where I left them, looking slightly concerned.">>
<<dialog "Serin" "faceworried" "$humanName! You were in there for quite a while. Everything alright?">>
<<dialog "Rylan" "face" "Yeah, just... an interesting bookshop. Nothing to worry about.">>
<<dialog "Liora" "face" "You look... different somehow. More contemplative.">>
<<dialog "Nimeria" "face" "Magical knowledge has a way of changing people. Are you ready to head home now?">>
<<thought "Rylan" "face" "I take one last look at the shop. The sign reading 'Whispers & Wisdom' seems to shimmer slightly, and I have the feeling it will be here whenever I need it again.">>
<<continueBox "ReturnHomeAfterBlightwood" "Continue home" "">>
</div>
<</nobr>>
<<pov "rylan" "chapter1default.mp3">><<nobr>>
<<set $timeOfDay = "evening">>
<div class="passage-container nimeria">
<center><img src="images/nimeria/face.webp" style="max-width: 200px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Nimeria" "face" "I close my bedroom door behind me and immediately lean against it, my carefully maintained composure finally cracking. The exhaustion hits me like a wave - that journey through the Blightwood was more draining than I let on.">>
<<thought "Nimeria" "face" "Cough... cough... The lingering effects of the corrupted air still burn in my lungs. I press a hand to my chest, trying to steady my breathing. Being around so much poisoned air for hours... it took more effort than expected to maintain my innocent facade.">>
<center><img src="images/nimeria/faceworried.webp" style="max-width: 200px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Nimeria" "face" "I stumble toward my bed, my legs feeling weaker than they should. The constant mental effort of appearing harmless while analyzing every plant, every potential ingredient... it's exhausting work.">>
<<thought "Nimeria" "face" "Cough... cough... I need to rest, just for a moment. Just until-">>
<<thought "Nimeria" "face" "Knock knock knock">>
<<thought "Nimeria" "face" "I freeze, my tired expression immediately shifting. No one can see me like this. I quickly smooth my hair and force my usual bright smile.">>
<<dialog "Seryk" "face" "Nim? Everything alright in there? You seemed pretty quiet during dinner.">>
<<thought "Nimeria" "face" "I take a deep breath, but I don't need to force the cheerful act with Seryk. In private, I can be myself - which means being direct and often unpleasant.">>
<<dialog "Nimeria" "face" "What do you want, Seryk? I'm busy.">>
<<thought "Nimeria" "face" "He enters, and I can see the concern in his eyes. I don't bother hiding my irritation - he's used to my private demeanor by now.">>
<<dialog "Seryk" "faceworried" "You sure you're okay? You look a bit pale.">>
<<thought "Nimeria" "face" "I wave my hand dismissively, my irritation clear even as my chest still aches.">>
<<dialog "Nimeria" "face" "I'm fine. Stop fussing. Don't you have something better to do?">>
<<thought "Nimeria" "face" "He hesitates, still looking worried, but I glare at him until he finally gives up.">>
<<dialog "Seryk" "face" "Alright... but if you need anything, just call.">>
<<thought "Nimeria" "face" "Once the door closes behind him, I finally allow myself to drop the act. My smile fades as I move to my bed, exhaustion washing over me like a tide.">>
<<thought "Nimeria" "face" "I collapse onto my bed, finally letting my guard down completely. The coughing returns, and I press my face into my pillow to muffle the sound.">>
<<thought "Nimeria" "face" "As I close my eyes, memories begin to surface - dark fragments from a time before I learned to wear masks, before I understood the necessity of deception...">>
<center><img src="images/nimeria/faceworried.webp" style="max-width: 200px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Nimeria" "face" "The past calls to me as consciousness begins to fade, and I remember a time when I was truly alone, abandoned to survive in a world that showed no mercy...">>
<<changeAffection "Nimeria" "Seryk" 1>>
<<changeLust "Nimeria" -10>>
<<narrative "Even the most innocent masks can hide the deepest exhaustion...">>
<<continueBox "NimeriaPastMemoryDay1" "Continue..." "">>
</div>
<</nobr>>
<<pov "nimeria" "default3.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "💔 Alone With Doubts 💔">>
<<narrative "A Few Minutes Later - Nimeria's Room">>
<<thought "Nimeria" "facesad" "I collapse onto my bed, utterly drained. The seeds are planted - Mariel's transformation, the kiss with Liora, the choices I've made... but gods, I'm so tired.">>
<<narrative "She stares at her reflection in the small mirror beside her bed, her usually perfect facade cracking to reveal the exhaustion beneath.">>
<<thought "Nimeria" "facesad" "I hate this weak body. So fragile, so... human. Maybe if I was stronger, more voluptuous, $humanName would notice me the way he notices the others.">>
<<thought "Nimeria" "face" "Should I cut my hair? Would a different look make me more appealing? More... memorable?">>
<<narrative "She runs her fingers through her long hair, considering the drastic change. Her mind races with possibilities, each more desperate than the last.">>
<<thought "Nimeria" "facesad" "And this inability to use magic... it's crippling...">>
<<thought "Nimeria" "face" "What if... what if I cut open my stomach and implanted some mana crystals directly into my body? Force my magic back through sheer will and crystal power?">>
<<narrative "The thought is terrifying and tempting in equal measure. She can almost feel the blade against her skin, the crystals burning as they fuse with her flesh.">>
<<thought "Nimeria" "facesad" "But would I even survive such a procedure? This body is so fragile. One mistake and I'd bleed out on the floor of my own room.">>
<<thought "Nimeria" "face" "No... not yet. I need to be smarter about this. There are other ways to gain power, other paths to take.">>
<<narrative "She forces herself to breathe deeply, pushing down the desperate urges. Tomorrow will bring new opportunities, new chances to prove her worth.">>
<<continueBox "NimeriaSerinPlans" "Continue to tomorrow's plans" "">>
</div>
<</nobr>>
<<pov "nimeria" "nimeria.mp3">><<script>>window.AudioSystem.playBGM('nimeria.mp3');<</script>>
<<set $currentFace = $currentNimeriaFace>><div class="dream-choice-container" style="background: linear-gradient(135deg, rgba(75, 0, 130, 0.95), rgba(139, 0, 139, 0.98), rgba(25, 25, 112, 0.95)); min-height: 700px; padding: 40px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.4);">
<div class="scene-header" style="background: rgba(30,30,35,0.95); border: 2px solid rgba(200,150,255,0.8); border-radius: 12px; padding: 25px; margin-bottom: 30px; text-align: center;">
<p style="color: #FFD700; font-size: 1.8em; font-weight: bold; margin-bottom: 15px;">🌙 Dream Manipulation 🌙</p>
<p style="color: #E6E6FA; font-size: 1.2em;">The Resonance Connection</p></div>
<div class="nimeria-explanation" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(120,80,160,0.6); border-radius: 10px; padding: 25px; margin-bottom: 30px;">
<img src="images/nimeria/facesmile.webp" style="width: 110px; height: 110px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 20px 15px 0; clear: left;">
<p style="color: white; line-height: 1.6; margin-bottom: 15px;"><span class="dialog-nimeria">*Since the party uses the resonance system, I should be able to connect <<print $humanName>>'s and Seryk's dreams and influence them. If that works... there are many possibilities.*</span></p><div style="clear: left;"></div>
<img src="images/nimeria/face.webp" style="width: 110px; height: 110px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 20px 15px 0; clear: left;">
<p style="color: white; line-height: 1.6; margin-bottom: 15px;"><span class="dialog-nimeria">*Three mana crystals should be enough to bridge their sleeping minds. I can weave a dream that will... explore new possibilities between them.*</span></p><div style="clear: left;"></div>
<p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*She reaches for her small pouch of mana crystals, feeling their power thrumming against her fingertips. The magic required would be delicate, intimate - connecting two minds in ways they've never experienced.*</p></div>
<div class="mana-cost-display" style="background: linear-gradient(145deg, rgba(100,150,200,0.3), rgba(80,120,180,0.4)); border: 2px solid rgba(150,200,255,0.4); border-radius: 12px; padding: 20px; margin: 20px auto; max-width: 400px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); backdrop-filter: blur(5px); text-align: center;">
<h3 style="color: #b3d9ff; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0 0 10px 0; font-size: 1.3em;">💎 Mana Crystal Cost 💎</h3>
<p style="color: #99ccff; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 1.1em; margin: 0; font-weight: bold;">3 Mana Crystals</p>
<p style="color: #80b3ff; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 5px 0 0 0; font-style: italic;">Required for dream connection</p></div>
<div class="choice-presentation" style="background: rgba(45,45,50,0.9); border: 2px solid rgba(200,150,255,0.8); border-radius: 12px; padding: 30px; margin-bottom: 30px;">
<p style="color: #FFD700; font-size: 1.4em; font-weight: bold; margin-bottom: 25px; text-align: center;">What kind of dream should I weave?</p><div style="display: flex; justify-content: center; gap: 40px; margin-top: 30px; flex-wrap: wrap;">
<<if not $nimeriaGayDreamUsed>><div class="dream-option" style="text-align: center; cursor: pointer; transition: transform 0.3s ease, box-shadow 0.3s ease;" onclick="SugarCube.State.variables.nimeriaGayDreamUsed = true; SugarCube.Engine.play('NimeriaGayDreamScene');">
<div style="background: linear-gradient(135deg, rgba(255, 20, 147, 0.3), rgba(138, 43, 226, 0.4)); border: 3px solid rgba(255, 105, 180, 0.6); border-radius: 15px; padding: 25px; box-shadow: 0 8px 20px rgba(255, 20, 147, 0.3); backdrop-filter: blur(5px); min-width: 280üx;"><div style="font-size: 4em; margin-bottom: 15px;">🌈</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0 0 15px 0; font-size: 1.3em; font-weight: bold;">Intimate Connection</h3>
<p style="color: #FFC0CB; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 1em; line-height: 1.4; margin: 0;">Create a shared dream where <<print $humanName>> and Seryk explore their deepest desires together</p>
<div style="margin-top: 15px; padding: 8px 16px; background: rgba(255, 20, 147, 0.2); border: 1px solid rgba(255, 105, 180, 0.5); border-radius: 8px;">
<p style="color: #FFE4E1; font-size: 0.9em; margin: 0; font-weight: bold;">✨ Unlock New Possibilities ✨</p></div></div></div><<else>><div class="dream-option-locked" style="text-align: center; opacity: 0.6;">
<div style="background: linear-gradient(135deg, rgba(100, 100, 100, 0.3), rgba(80, 80, 80, 0.4)); border: 3px solid rgba(150, 150, 150, 0.6); border-radius: 15px; padding: 25px; box-shadow: 0 8px 20px rgba(100, 100, 100, 0.3); backdrop-filter: blur(5px); min-width: 280üx; position: relative;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div><div style="font-size: 4em; margin-bottom: 15px; filter: grayscale(100%);">🌈</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0 0 15px 0; font-size: 1.3em; font-weight: bold;">Already Used</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 1em; line-height: 1.4; margin: 0;">This dream has already been woven tonight</p>
</div></div><</if>><div class="back-option" style="text-align: center; cursor: pointer; transition: transform 0.3s ease, box-shadow 0.3s ease;" onclick="SugarCube.Engine.play('NimeriasMischief1');">
<div style="background: linear-gradient(135deg, rgba(120, 80, 160, 0.3), rgba(100, 60, 140, 0.4)); border: 3px solid rgba(200, 150, 255, 0.6); border-radius: 15px; padding: 25px; box-shadow: 0 8px 20px rgba(120, 80, 160, 0.3); backdrop-filter: blur(5px); min-width: 280üx;">
<div style="font-size: 4em; margin-bottom: 15px;">🔙</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0 0 15px 0; font-size: 1.3em; font-weight: bold;">Go Back</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 1em; line-height: 1.4; margin: 0;">Return to choose a different target</p>
<div style="margin-top: 15px; padding: 8px 16px; background: rgba(120, 80, 160, 0.2); border: 1px solid rgba(200, 150, 255, 0.5); border-radius: 8px;">
<p style="color: #F0E6FF; font-size: 0.9em; margin: 0; font-weight: bold;">💭 Reconsider Options 💭</p>
</div></div></div></div></div></div>
<style>
.dream-option:hover {
transform: translateY(-8px) scale(1.05);
box-shadow: 0 12px 30px rgba(255, 20, 147, 0.5);
}
.back-option:hover {
transform: translateY(-8px) scale(1.05);
box-shadow: 0 12px 30px rgba(120, 80, 160, 0.5);
}
.dream-option:active, .back-option:active {
transform: translateY(-4px) scale(1.02);
}
@keyframes dreamGlow {
0% { box-shadow: 0 8px 20px rgba(255, 20, 147, 0.3); }
50% { box-shadow: 0 8px 25px rgba(255, 20, 147, 0.5); }
100% { box-shadow: 0 8px 20px rgba(255, 20, 147, 0.3); }
}
.dream-option > div {
animation: dreamGlow 3s ease-in-out infinite;
}
</style><<changeFace $currentNimeriaFace>><<statSummary>><<nobr>>
<<set $rylanxserykgaydream = true>>
<<set $timeOfDay = "night">>
<div class="passage-container rylan">
<<narrative "🌙 The Dream Connection 🌙">>
<<narrative "A Shared Fantasy">>
<center><img src="images/rylan/chapter3/gaydreamseryk1/1.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
<<thought "Rylan" "face" "I find myself lying naked on a bed, my body still tingling from what felt like Liora's soft touch. The sensation was so vivid, so real... but when I reach out, she's gone. Just... vanished into the darkness.">>
<<narrative "The room feels strange, dreamlike, with shadows that seem to shift and move on their own. I try to make sense of what just happened when suddenly...">>
<center><img src="images/rylan/chapter3/gaydreamseryk1/2.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
<<narrative "Seryk materializes out of nowhere, his blue skin seeming to glow in the dim light. His eyes widen as he takes in my naked form sprawled across the bed.">>
<<dialog "Seryk" "faceembarrassed" "What are you doing here, bro?">>
<<narrative "I scramble to cover myself, confusion and embarrassment flooding through me.">>
<<dialog "Rylan" "face" "I could ask you the same! I just got a handjob from Liora and then she disappeared and you suddenly spawned.">>
<center><img src="images/rylan/chapter3/gaydreamseryk1/3.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
<<dialog "Seryk" "faceembarrassed" "This must be a dream... or a nightmare.">>
<<narrative "I try to sit up, to move away, but my body won't respond. Panic begins to set in as I realize I'm completely paralyzed.">>
<<dialog "Rylan" "face" "What?! I can't move!">>
<<dialog "Seryk" "faceembarrassed" "What the fuck, me too!">>
<center><img src="images/rylan/chapter3/gaydreamseryk1/4.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
<<narrative "Then, from the shadows, a voice rings out - melodious, yet commanding. It carries a power that seems to resonate through the very air around us.">>
<<dialog "Nimeria" "face" "How rude of you, Seryk, to interrupt $humanName's pleasure. You should take responsibility.">>
<<narrative "Against his will, Seryk begins moving closer to me. His movements are jerky, unnatural, like a puppet on strings.">>
<center><img src="images/rylan/chapter3/gaydreamseryk1/5.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
<<dialog "Seryk" "faceembarrassed" "What the fuck! I'm moving on my own! Who the hell are you? Stop this!">>
<<narrative "But the voice doesn't respond to his protests. Instead, Seryk continues his involuntary approach until he's standing directly in front of me, then slowly kneels down.">>
<center><img src="images/rylan/chapter3/gaydreamseryk1/6.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
<<dialog "Rylan" "face" "Seryk?! Stop this!">>
<<narrative "But he can't stop. His hand reaches out, trembling, and makes contact with my most intimate area. The touch sends shockwaves through my paralyzed body.">>
<center><img src="images/rylan/chapter3/gaydreamseryk1/7.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
<<dialog "Seryk" "faceembarrassed" "I can't stop. I'm moving on my own!">>
<<dialog "Nimeria" "face" "Exactly like this. You can go once $humanName climaxes.">>
<<dialog "Rylan" "face" "Stop, please!">>
<center><img src="images/rylan/chapter3/gaydreamseryk1/8.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
<<dialog "Seryk" "faceembarrassed" "It's okay, bro. Just close your eyes...">>
<<narrative "Despite the situation, there's genuine care in his voice. He's as trapped as I am, but he's trying to comfort me through this nightmare. His hand begins to move, creating sensations I never expected to feel from another man.">>
<center><img src="images/rylan/chapter3/gaydreamseryk1/5.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
<<narrative "Time seems to blur as Seryk's controlled movements continue. Despite my protests, my body begins to respond in ways that shame and confuse me. The voice watches, seemingly pleased with the progress.">>
<img src="images/rylan/chapter3/gaydreamseryk1/6.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);">
<<dialog "Nimeria" "face" "This is taking too long...">>
<<narrative "Suddenly, Seryk's face moves closer, much closer than before. I can feel his breath against my skin as his face makes contact with my most sensitive area.">>
<center><img src="images/rylan/chapter3/gaydreamseryk1/7.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
<<dialog "Nimeria" "face" "Now rub it against your face, then give it a little kiss.">>
<img src="images/rylan/chapter3/gaydreamseryk1/8.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);">
<<dialog "Seryk" "faceembarrassed" "Stop!">>
<<narrative "But he can't stop. His face moves as commanded, the intimate contact sending waves of unwanted pleasure through my body. I can see the anguish in his eyes as he's forced to comply.">>
<center><img src="images/rylan/chapter3/gaydreamseryk1/9.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
<<narrative "My body betrays me completely now. Despite my mental protests, I'm becoming more aroused, my body responding to the intimate contact. Pre-cum begins to leak, evidence of my body's unwilling response.">>
<<narrative "Seryk's movements become more intense, more focused. The forced intimacy is building toward something I can't stop.">>
<center><img src="images/rylan/chapter3/gaydreamseryk1/10.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
<img src="images/rylan/chapter3/gaydreamseryk1/11.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);">
<img src="images/rylan/chapter3/gaydreamseryk1/12.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);">
<<dialog "Nimeria" "face" "Oh, Seryk... you started rubbing it on your own?">>
<img src="images/rylan/chapter3/gaydreamseryk1/13.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);">
<<dialog "Seryk" "faceembarrassed" "What?!">>
<<narrative "The realization hits us both at the same moment - he's no longer just being controlled. Something in him has awakened, responding to the intimate contact. And in that moment of shock and confusion...">>
<<narrative "I can't hold back anymore. The combination of forced intimacy, shame, and unwanted pleasure pushes me over the edge. My climax hits with overwhelming intensity, and I release directly onto Seryk's face.">>
<center><img src="images/rylan/chapter3/gaydreamseryk1/14.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
<img src="images/rylan/chapter3/gaydreamseryk1/15.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);">
<<narrative "The aftermath is intense - shame, confusion, and strange satisfaction all mixing together. Seryk looks as shocked as I feel, my essence dripping down his face. The voice seems satisfied with what it has accomplished.">>
<<narrative "Then, suddenly, everything begins to fade. The room, Seryk, the mysterious voice - all of it dissolves into darkness as the dream ends, leaving me gasping and confused in my own bed.">>
<<narrative "But the memory remains vivid, disturbingly real. The sensations, the shame, the unwanted pleasure - all of it lingers as I wake, leaving me questioning everything I thought I knew about myself.">>
<<if not $rylan_GayValue>><<set $rylan_GayValue = 0>><</if>>
<<if not $seryk_GayValue>><<set $seryk_GayValue = 0>><</if>>
<<if not $rylan_sexualExperience>><<set $rylan_sexualExperience = 0>><</if>>
<<if not $seryk_sexualExperience>><<set $seryk_sexualExperience = 0>><</if>>
<<if not $rylan_basicExperience>><<set $rylan_basicExperience = 0>><</if>>
<<if not $seryk_basicExperience>><<set $seryk_basicExperience = 0>><</if>>
<<if not $rylan_SerykAttraction>><<set $rylan_SerykAttraction = 0>><</if>>
<<if not $seryk_RylanAttraction>><<set $seryk_RylanAttraction = 0>><</if>>
<<if not $rylan_lust>><<set $rylan_lust = 0>><</if>>
<<if not $seryk_lust>><<set $seryk_lust = 0>><</if>>
<<changeFetish "Rylan" "GayValue" 0.5>>
<<changeFetish "Seryk" "GayValue" 0.3>>
<<changeLust "Rylan" 10>>
<<changeLust "Seryk" 8>>
<<changeAttraction "Rylan" "Seryk" 2>>
<<changeAttraction "Seryk" "Rylan" 3>>
<<addSoulCorruption "rylan" 1>>
<<soulDisplay "rylan">>
<<continueBox "NimeriaGayDreamChoice" "Wake up from the dream..." "">>
</div>
<</nobr>>
<<pov "rylan" "ntr1.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "💭 Nimeria's Strategic Planning 💭">>
<<narrative "Plans for the Future">>
<<thought "Nimeria" "face" "While I'm at it, I should think about my plans for the girls. There's Mariel, Liora, Serin, and myself... and any future female characters we might encounter. The bonds between us could be... useful.">>
<<narrative "The question is whether I should pursue intimate relationships with them. It could strengthen our connections, give me more influence, and honestly... some of them are quite attractive.">>
<<narrative "⚠️ Content Decision ⚠️">>
<<narrative "Should Nimeria pursue intimate relationships with the female characters (Mariel, Liora, Serin, and future female characters)?">>
<<narrative "Note: You will still get decisions to skip certain scenes, but some lesbian content may become unavoidable once this path is chosen, as it will affect character relationships and story development.">>
<<choiceBox "Content Decision" "Enable Lesbian Content" "NimeriaRylanContentChoice" "lesbianContentEnabled=true" "Disable Lesbian Content" "NimeriaRylanContentChoice" "lesbianContentEnabled=false">>
</div>
<</nobr>>
<<pov "nimeria" "nimeria.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "💔 Matters of the Heart 💔">>
<<narrative "Deciding on $humanName">>
<<if $lesbianContentEnabled>>
<<thought "Nimeria" "face" "Good, I've decided to explore relationships with the girls. Mariel's mature beauty, Liora's innocent charm, Serin's athletic confidence... they all have their appeal. This could be quite... educational for all of us.">>
<<narrative "Plus, building these intimate connections will give me more influence over the group dynamics. If I can't have $humanName directly, perhaps I can work through the women around him. After all, they trust me... and trust can be such a powerful thing.">>
<</if>>
<<if not $nimeriaxrylancontent>>
<<thought "Nimeria" "face" "$humanName hasn't shown any real interest in me romantically. He's been polite, friendly even, but there's no spark there. The question is... should I keep trying to seduce him, or should I give up and show my love by supporting him from the shadows?">>
<<narrative "Part of me wants to keep trying. I could be more direct, use my powers, make him notice me. But another part of me thinks... maybe true love means letting him be happy with Liora, and just being there for him when he needs me.">>
<<narrative "What should Nimeria do about $humanName?">>
<<choiceBox "Decision" "Keep trying to seduce him" "NimeriaHelpsLiora" "nimeriaxrylancontent=true" "Support him from the shadows" "NimeriaHelpsLiora" "nimeriaxrylancontent=false">>
<<else>>
<<thought "Nimeria" "face" "I've already decided to pursue $humanName. The path is set, and I'll continue with my plans to win his heart.">>
<<continueBox "NimeriaHelpsLiora" "Continue with the plan" "">>
<</if>>
</div>
<</nobr>>
<<pov "nimeria" "nimeria.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "🔮 The Lesson Begins 🔮">>
<<narrative "Magical Guidance">>
<<thought "Nimeria" "face" "Alright then, let's start. I should have gotten enough mana crystals from our trip in the Blightwood. This should work perfectly.">>
<<narrative "Nimeria places her hand gently on Liora's forehead, channeling a soft magical energy. The spell is subtle but effective - it will help Liora understand sensations from a different perspective.">>
<<thought "Liora" "face" "Liora's eyes flutter open, feeling refreshed and somehow... different.">>
<<dialog "Liora" "face" "Nimeria? What did you do? I feel... strange.">>
<<dialog "Nimeria" "face" "I gave you a little magical enhancement. Next time when you want to get frisky with $humanName, use your healing touch on your stomach while thinking that you want to feel like $humanName. Trust me, it will help you understand what he experiences.">>
<<dialog "Liora" "faceembarrassedshortpink" "W-what? That sounds... that sounds really strange, Nimeria.">>
<<dialog "Nimeria" "face" "Trust me, it's magical. You'll understand him better that way.">>
<<if $lesbianContentEnabled>>
<<dialog "Nimeria" "face" "Speaking of which, have you considered training, Liora?">>
<<dialog "Liora" "face" "Like fighting?">>
<<dialog "Nimeria" "face" "That too, it could build your stamina. Maybe ask Serin for that. But I mean like kissing and other stuff.">>
<<dialog "Liora" "faceembarrassedshortpink" "But that would be cheating!">>
<<dialog "Nimeria" "face" "Haha, that's not cheating with two girls. Men would even like it. Believe me, he would be glad.">>
<<dialog "Liora" "face" "I... I'm not sure about this, Nimeria. It sounds so wrong.">>
<<dialog "Nimeria" "face" "Think about it, Liora. You want to be good for $humanName, don't you? You want to make him happy? This is just... practice.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... well... if you really think it would help him be happy... maybe we could try?">>
<<continueBox "POVTransitionNimeriaToLiora" "Continue to training" "">>
<<else>>
<<narrative "The conversation continues in a more innocent direction, with Nimeria giving Liora general advice about relationships and understanding $humanName better.">>
<<continueBox "POVTransitionNimeriaHelpsSkipped" "Continue..." "">>
<</if>>
</div>
<</nobr>>
<<pov "nimeria" "nimeria.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/deepkiss.mp3" 1>>
<div class="passage-container liora">
<<narrative "💋 First Lesson 💋">>
<<quickSexTrack "kiss" "nimeria" "liora" 1>>
<<quickSexTrack "kiss" "liora" "nimeria" 1>>
<<dialog "Nimeria" "face" "Alright, Liora. Let's start with something simple. Just... let me show you how it feels.">>
<<narrative "Nimeria moves closer, her movements graceful and confident. There's something almost hypnotic about the way she approaches, her eyes holding mine with gentle intensity.">>
<<dialog "Liora" "faceembarrassedshortpink" "N-Nimeria... I'm nervous. What if I'm not good at this?">>
<<dialog "Nimeria" "face" "Don't worry, sweetie. There's no right or wrong way. Just... follow your instincts.">>
<<narrative "Her hand gently cups my cheek, and I can feel my heart racing. There's something different about her touch - it's warm, but there's also this strange tingling sensation that spreads through my skin.">>
<center><img src="images/nimeria/chapter3/kissliora/1.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if not $lioraFirstKiss>>
<<narrative "This is my first kiss ever. My heart is pounding so hard I'm sure Nimeria can hear it. When our lips finally meet, it's nothing like I imagined - it's soft, warm, and there's this incredible sweetness that seems to flow between us.">>
<<narrative "A small voice in my head whispers that this might be wrong, but... Nimeria said it's not cheating between girls. She's just teaching me to be better for $humanName. That makes it okay, right?">>
<<narrative "🌑 Soul Corruption 🌑">>
<<narrative "Liora's moral boundaries begin to shift...">>
<<narrative "+1 Soul Corruption - First Kiss Justification">>
<<else>>
<<if $serykxliorantr === true || $serykxliorantr === "stage1">>
<<narrative "As our lips meet, I can't help but compare it to when Seryk kissed me. This feels... different. Softer, more gentle, but there's this strange sweetness that seems to flow between us. It feels just as good, maybe even better in some ways.">>
<<else>>
<<narrative "When our lips meet, it's incredibly soft and gentle. There's this strange sweetness that seems to flow between us, making my whole body feel warm and tingly.">>
<</if>>
<</if>>
<center><img src="images/nimeria/chapter3/kissliora/2.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<center><img src="images/nimeria/chapter3/kissliora/3.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "facewet" "Oh... that's... that's really nice...">>
<center><img src="images/nimeria/chapter3/kissliora/4.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "face" "How do you like kissing a woman, Liora? How does it feel different?">>
<<dialog "Liora" "facewet" "Your lips feel so soft... and my body warms up every time we kiss. It's like... like there's this sweet taste that makes me want more.">>
<<narrative "I can taste something sweet on her lips - almost like honey mixed with something else I can't identify. It's addictive, making me lean closer for more.">>
<center><img src="images/nimeria/chapter3/kissliora/6.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "face" "That's good, Liora. You're a natural at this. Try pressing a little firmer... like this.">>
<center><img src="images/nimeria/chapter3/kissliora/5.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She guides me gently, her hands soft but confident. There's something about the way she touches me that makes my skin tingle, and I find myself wanting to get closer.">>
<<dialog "Liora" "facewet" "Nimeria... this feels so good. I never knew kissing could feel like this...">>
<<narrative "My whole body is warming up, and I can feel this strange tingling sensation spreading from my lips throughout my entire body. Whatever is in her saliva, it's making me feel... different. More sensitive, more aware.">>
<center><img src="images/nimeria/chapter3/kissliora/7.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "face" "You're doing wonderfully, Liora. I can feel how much you're enjoying this.">>
<<narrative "Her lips are so soft and warm against mine. I can't help but notice how her saliva tastes - sweet and intoxicating. It's making me feel lightheaded in the most wonderful way.">>
<center><img src="images/nimeria/chapter3/kissliora/8.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "facewet" "I... I want to keep doing this. It feels so right somehow.">>
<<narrative "I can feel myself getting lost in the sensation. Her touch, her taste, the way she makes me feel so safe and wanted - it's overwhelming in the best possible way.">>
<center><img src="images/nimeria/chapter3/kissliora/9.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "We hold each other close as the kiss deepens. I can feel her heartbeat against my chest, and mine is racing just as fast. This feels so natural, so right - like we were meant to be sharing this moment.">>
<<narrative "When we finally part, both of us are breathing heavily. I can still taste her on my lips, and my whole body feels warm and tingly.">>
<<dialog "Nimeria" "face" "How was it, Liora?">>
<<dialog "Liora" "facewet" "Amazing... You must be really experienced.">>
<<dialog "Nimeria" "face" "No, I'm basically a virgin still. I kept myself for 'the right person'.">>
<<dialog "Liora" "face" "Oh that's wonderful. You're so pure and special.">>
<<dialog "Nimeria" "face" "I guess we can learn together then. There's still so much to learn... Visit me soon again, okay? Today I'm a bit exhausted.">>
<<narrative "I nod, still feeling the lingering effects of her kiss. My lips still tingle, and I can't shake the feeling that something has changed in me. The sweet taste of her saliva seems to have awakened something new.">>
<<continueBox "POVTransitionLioraToNimeria" "Continue..." "">>
<<if not $nimeriaFirstKiss>>
<<addSoulBlessing "nimeria" 1>>
<</if>>
<<quickSexTrack "kiss" "Nimeria" "Liora" 1>>
<<changeLust "Nimeria" 15>>
<<changeLust "Liora" 20>>
<<changeAffection "Nimeria" "Liora" 4>>
<<changeAffection "Liora" "Nimeria" 5>>
<<changeAttraction "Nimeria" "Liora" 3>>
<<changeAttraction "Liora" "Nimeria" 4>>
<<changeFetish "Liora" "SalivaFetish" 0.3>>
<<changeFetish "Liora" "LesbianValue" 0.4>>
<<changeFetish "Nimeria" "SalivaFetish" 0.2>>
<<changeFetish "Nimeria" "LesbianValue" 0.3>>
<<addSoulCorruption "liora" 1>>
<<if $lioraFirstKiss === "Nimeria">>
<<addSoulCorruption "liora" 1>>
<</if>>
<<soulDisplay "liora">>
<<set $nimeriaLioraKissed = 1>>
</div>
<</nobr>>
<<pov "liora" "intimate.mp3">><<nobr>>
<<set $lesbianContentEnabled = false>>
<div class="passage-container nimeria">
<<narrative "🚫 Lesbian Content Disabled 🚫">>
<<narrative "Focusing on Other Paths">>
<<thought "Nimeria" "face" "Nimeria considers this carefully. No, perhaps it's better to keep things simpler for now. The girls can bond in other ways - through friendship, through shared experiences, through their mutual connection to $humanName.">>
<<narrative "There are other paths to power, other ways to influence and control. She doesn't need to complicate things with romantic entanglements between the women. Focus on the main goal.">>
<<continueBox "NimeriaWakesUp" "Continue to Next Choice" "">>
</div>
<</nobr>>
<<pov "nimeria" "default3.mp3">><<nobr>>
<<set $timeOfDay = "evening">>
<div class="passage-container nimeria">
<<narrative "💭 The Abandoned Child 💭">>
<<narrative "A Memory of Betrayal - Long Ago">>
<<narrative "The memory shifts from Seryk's perspective to hers, as consciousness fades into the past...">>
<center><img src="images/nimeria/past/face.webp" style="max-width: 200px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Four-year-old Nimeria opens her eyes, and the forest materializes around her...">>
<<narrative "...ninety-eight... ninety-nine... one hundred!">>
<<dialog "Nimeria" "face" "Ready or not, here I come!">>
<<narrative "Little Nimeria's heart races with excitement. Finally, she gets to play with the big kids! Maybe she can make some friends, maybe they'll stop calling her the cursed child. She starts searching behind trees, under bushes, calling out their names with growing enthusiasm.">>
<<dialog "Nimeria" "face" "Seryk? Torin? Drevon? Where are you hiding?">>
<<narrative "She searches for what feels like hours, her initial excitement slowly turning to confusion. The sun begins to dip below the trees, casting long shadows through the forest.">>
<<narrative "Exhaustion sets in, and she starts coughing - her weak constitution always made her prone to illness. She sits down, panting, and calls out again.">>
<<dialog "Nimeria" "facesad" "I give up! You can come out now!">>
<<narrative "Silence. Only the rustling of leaves and distant animal sounds. She calls again, her voice growing more desperate.">>
<<dialog "Nimeria" "facesad" "Please come out! I'm tired!">>
<<narrative "Still nothing. The forest grows darker, and fear begins to creep into her tiny heart.">>
<center><img src="images/nimeria/past/day1.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She leans against a tree, coughing more frequently now. Her stomach growls with hunger, but she tries to stay positive.">>
<<dialog "Nimeria" "face" "Big brother Seryk will come find me. Or maybe Malrik. They'll come soon...">>
<<narrative "With that hope, the exhausted four-year-old drifts into an uneasy sleep, shivering in the cold night air.">>
<<narrative "Morning light filters through the trees. Nimeria wakes up thirsty and hungry, her throat parched from coughing all night.">>
<<narrative "Still no one has come. She tries to remember the path they took to get here, but everything looks the same in the forest. She starts walking, hoping to find her way back to the castle.">>
<<narrative "As she walks, she tries to recall what she read in the castle library about survival. Something about poisonous mushrooms having bright colors, and how you can survive longer without food than without water...">>
<<narrative "After hours of walking, exhaustion overwhelms her again. She collapses against another tree, her legs too weak to carry her further.">>
<<narrative "As she rests, dark thoughts begin to surface. Why was she born with this black hair and red eyes? Why does everyone hate her? Why does everyone call her cursed?">>
<<dialog "Nimeria" "facesad" "Maybe it would be better if I died here... then everyone would be happy...">>
<<narrative "With these despairing thoughts, she falls asleep again, too weak to continue.">>
<<narrative "Another morning dawns. Her stomach cramps with terrible pain. She desperately needs water but can't find any clean source. Finally, she drinks from a dirty puddle, knowing it might make her sick but too desperate to care.">>
<<narrative "The pain worsens until she collapses again, writhing in agony on the forest floor.">>
<<narrative "When she wakes up again, she doesn't care about anything anymore. She just wanders through the forest in a daze, eating whatever she can find - uncooked mushrooms, bark from dead trees, even the maggots underneath.">>
<<narrative "On her aimless journey, she encounters a Goremaw - a furious bear that can reach five to six meters in size. The massive creature charges toward her, its roar shaking the trees.">>
<<dialog "Nimeria" "face" "*hysterical laughter* Finally, it ends!">>
<<narrative "But then, abruptly, the Goremaw stops and runs away, leaving her standing there in confusion.">>
<<dialog "Nimeria" "facesad" "*crying* Not even a monster wants to kill me...">>
<<narrative "She sits down, defeated. 'I'll just wait till it ends,' she thinks. As her mind begins to slip, she starts daydreaming about the human stories she read in the castle library - stories of princesses being rescued by blonde princes or knights.">>
<<narrative "She begins to hallucinate, seeing a blonde human knight riding on his black horse coming for her. In her fevered imagination, they fall in love and ride toward the sunset together.">>
<<dialog "Nimeria" "face" "My knight... you came for me...">>
<<narrative "As she collapses into unconsciousness, a wild black demon hound finds her nearly dead body. These extremely intelligent monster dogs are known for their ferocity, but instead of killing her, this one gently picks her up and carries her toward the castle.">>
<<narrative "A furious Azgorth finds them at the castle gates. The demon king is enraged that his daughter was missing for so long without anyone noticing. He rewards the monster dog by adopting it into the royal family.">>
<<narrative "After weeks of recovery, Nimeria finally wakes up. The demon dog takes an immediate liking to her, and she names him Zarn.">>
<<narrative "But from that day forward, the four-year-old girl never smiled again. Azgorth forbids her to ever leave the castle again. She never tells anyone how it really happened - she simply says she went out to wander and got lost.">>
<<narrative "The beginning of a seven-day ordeal that would change everything...">>
<<continueBox "NimeriaPastMemoryDay1" "Begin the Full Memory..." "">>
</div>
<</nobr>>
<<pov "nimeria" "seryksdream.mp3">><<nobr>>
<<set $timeOfDay = "evening">>
<div class="passage-container nimeria">
<<narrative "💭 Day One - The Betrayal 💭">>
<<narrative "A Memory of Abandonment - Long Ago">>
<<narrative "The memory shifts from Seryk's perspective to hers, as consciousness fades into the past...">>
<center><img src="images/nimeria/past/face.webp" style="max-width: 200px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Four-year-old Nimeria opens her eyes, and the forest materializes around her...">>
<<narrative "...ninety-eight... ninety-nine... one hundred!">>
<<dialog "nimeria" "past/face" "Ready or not, here I come!">>
<<narrative "Little Nimeria's heart races with excitement. Finally, she gets to play with the big kids! Maybe she can make some friends, maybe they'll stop calling her the cursed child. She starts searching behind trees, under bushes, calling out their names with growing enthusiasm.">>
<<dialog "nimeria" "past/face" "Seryk? Torin? Drevon? Where are you hiding?">>
<<narrative "She searches for what feels like hours, her initial excitement slowly turning to confusion. The sun begins to dip below the trees, casting long shadows through the forest.">>
<<narrative "Exhaustion sets in, and she starts coughing - her weak constitution always made her prone to illness. She sits down, panting, and calls out again.">>
<<dialog "nimeria" "past/face" "I give up! You can come out now!">>
<<narrative "Silence. Only the rustling of leaves and distant animal sounds. She calls again, her voice growing more desperate.">>
<<dialog "nimeria" "past/face" "Please come out! I'm tired!">>
<<narrative "Still nothing. The forest grows darker, and fear begins to creep into her tiny heart.">>
<center><img src="images/nimeria/past/day1.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She leans against a tree, coughing more frequently now. Her stomach growls with hunger, but she tries to stay positive.">>
<<dialog "nimeria" "past/face" "Big brother Seryk will come find me. Or maybe Malrik. They'll come soon...">>
<<narrative "With that hope, the exhausted four-year-old drifts into an uneasy sleep, shivering in the cold night air.">>
<<narrative "The first night of many, when hope still lingered...">>
<<continueBox "NimeriaPastMemoryDay2" "Continue to Day Two..." "">>
</div>
<</nobr>>
<<pov "nimeria" "seryksdream.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "💭 Day Two - The Search 💭">>
<<narrative "A Memory of Desperation - Long Ago">>
<<narrative "Morning light filters through the trees. Nimeria wakes up thirsty and hungry, her throat parched from coughing all night.">>
<<narrative "Still no one has come. She tries to remember the path they took to get here, but everything looks the same in the forest. She starts walking, hoping to find her way back to the castle.">>
<<narrative "As she walks, she tries to recall what she read in the castle library about survival. Something about poisonous mushrooms having bright colors, and how you can survive longer without food than without water...">>
<<narrative "After hours of walking, exhaustion overwhelms her again. She collapses against another tree, her legs too weak to carry her further.">>
<<narrative "As she rests, dark thoughts begin to surface. Why was she born with this black hair and red eyes? Why does everyone hate her? Why does everyone call her cursed?">>
<<dialog "nimeria" "past/face" "Maybe it would be better if I died here... then everyone would be happy...">>
<center><img src="images/nimeria/past/day2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "With these despairing thoughts, she falls asleep again, too weak to continue.">>
<<narrative "When hope begins to fade, darkness takes its place...">>
<<continueBox "NimeriaPastMemoryDay3" "Continue to Day Three..." "">>
</div>
<</nobr>>
<<pov "nimeria" "seryksdream.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "💭 Day Three - The Despair 💭">>
<<narrative "A Memory of Abandonment - Long Ago">>
<<narrative "Another morning dawns. Her stomach cramps with terrible pain. She desperately needs water but can't find any clean source. Finally, she drinks from a dirty puddle, knowing it might make her sick but too desperate to care.">>
<<narrative "The pain worsens until she collapses again, writhing in agony on the forest floor.">>
<<narrative "When she wakes up again, she doesn't care about anything anymore. She just wanders through the forest in a daze, eating whatever she can find - uncooked mushrooms, bark from dead trees, even the maggots underneath.">>
<<narrative "On her aimless journey, she encounters a Goremaw - a furious bear that can reach five to six meters in size. The massive creature charges toward her, its roar shaking the trees.">>
<center><img src="images/nimeria/past/goremaw.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "nimeria" "past/face" "*hysterical laughter* Finally, it ends!">>
<center><img src="images/nimeria/past/day3laugh.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "But then, abruptly, the Goremaw stops and runs away, leaving her standing there in confusion.">>
<center><img src="images/nimeria/past/day3.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "nimeria" "past/facesad" "*crying* Not even a monster wants to kill me...">>
<<narrative "When even death rejects you, what hope remains?">>
<<continueBox "NimeriaPastMemoryDay4" "Continue to Day Four..." "">>
</div>
<</nobr>>
<<pov "nimeria" "seryksdream.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "💭 Day Four - Time Blurs 💭">>
<<narrative "A Memory of Confusion - a long time ago">>
<<narrative "The days begin to blur together. She can no longer remember if it's been three days or four. The hunger and thirst have become constant companions, and her mind starts playing tricks on her.">>
<<narrative "She sees shadows moving in the corner of her vision, hears voices calling her name that aren't really there. The forest seems to whisper to her, and she starts talking back to the trees.">>
<<dialog "nimeria" "past/facesad" "Why won't you help me? I'm just a little girl...">>
<<narrative "She finds a small stream and drinks greedily, but the water makes her sick again. She vomits until there's nothing left in her stomach, then collapses beside the water.">>
<<narrative "In her fevered state, she begins to see things that aren't there. She sees her mother walking through the trees, calling her name. She runs toward the vision, but it disappears when she gets close.">>
<<dialog "nimeria" "past/facesad" "Mama? Mama, please don't leave me again!">>
<<narrative "She sees Seryk too, her big brother, standing in a clearing. He looks sad and worried, reaching out to her. But when she tries to touch him, her hand passes through empty air.">>
<<dialog "nimeria" "past/facesad" "Seryk, why didn't you come for me? I thought you loved me...">>
<<narrative "When reality and dreams become one, survival becomes instinct...">>
<<continueBox "NimeriaPastMemoryDay5" "Continue to Day Five..." "">>
</div>
<</nobr>>
<<pov "nimeria" "seryksdream.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "💭 Day Five - Lost in Time 💭">>
<<narrative "A Memory of Madness - a long time ago">>
<<narrative "Time has lost all meaning. She doesn't know if it's been days or weeks. The sun and moon blur together in her fevered mind. She can barely walk anymore, her legs shaking with every step.">>
<<narrative "The forest has become a nightmare landscape. Trees seem to move when she's not looking, shadows dance in impossible ways, and the air itself feels thick and suffocating.">>
<<dialog "nimeria" "past/facesad" "*delirious* Is this real? Am I real? Maybe I died and this is hell...">>
<<narrative "The hallucinations become more vivid and terrifying. She sees her father Azgorth standing before her, his purple skin and green hair glowing in the darkness. He reaches out to her with clawed hands.">>
<<dialog "Nimeria" "past/faceangry" "*screaming* No! Get away from me! I'm not cursed, I'm not!">>
<<narrative "She runs from the vision, but everywhere she turns, she sees more monsters. Goremaws, shadow demons, and creatures from the darkest corners of her imagination.">>
<<narrative "Finally, she collapses in a small clearing, too exhausted to run anymore. She curls into a ball, sobbing uncontrollably.">>
<<dialog "nimeria" "past/facesad" "*crying* Please, someone... anyone... help me...">>
<center><img src="images/nimeria/past/day5.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "In the depths of madness, an unexpected companion appears...">>
<<continueBox "NimeriaPastMemoryDay6" "Continue to Day Six..." "">>
</div>
<</nobr>>
<<pov "nimeria" "seryksdream.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "💭 Day Six - The Hound 💭">>
<<narrative "A Memory of Abandonment - a long time ago">>
<<narrative "As she lies there, barely conscious, she hears the sound of heavy paws approaching. A large black demon hound emerges from the shadows, its red eyes glowing in the darkness.">>
<<narrative "The hound is massive and powerful, its fur sleek and healthy. It stops a few feet away from her and simply looks at her with those intelligent red eyes. For a moment, she thinks it might be another hallucination, but this one feels completely real.">>
<center><img src="images/nimeria/past/demonhound.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "nimeria" "past/facesad" "*weakly* Please... help me...">>
<<narrative "The hound continues to stare at her, its gaze penetrating and knowing. It seems to understand her situation, to see the desperation in her eyes. But then, without any warning, it simply turns and walks away, disappearing into the forest.">>
<<dialog "nimeria" "past/facesad" "*crying* Even the animals abandon me...">>
<center><img src="images/nimeria/past/day6.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She watches the hound go, her last hope fading with it. The encounter was brief but devastating - even a wild animal could see she wasn't worth saving.">>
<<narrative "When even the wild creatures reject you, what hope remains?">>
<<continueBox "NimeriaPastMemoryDay7" "Continue to Day Seven..." "">>
</div>
<</nobr>>
<<pov "nimeria" "seryksdream.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "💭 Day Seven - The Rescue 💭">>
<center><img src="images/nimeria/past/day6.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "nimeria" "past/facesad" "I'll just wait till it ends," "she thinks. As her mind begins to slip, she starts daydreaming about the human stories she read in the castle library - stories of princesses being rescued by blonde princes or knights.">>
<<narrative "She begins to hallucinate, seeing a blonde human knight riding on his black horse coming for her. In her fevered imagination, they fall in love and ride toward the sunset together.">>
<center><img src="images/nimeria/past/blondeknight.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "nimeria" "past/facesad" "My knight... you came for me...">>
<<narrative "Darkness closes in as she collapses, her tiny body barely clinging to life. Out of the night, a wild demon hound appears-its fur as black as midnight, its eyes glowing a deep, unnatural red, just like hers. Instead of tearing her apart, the beast lowers its massive head and gently lifts her in its jaws, carrying her with surprising care toward the distant lights of the castle.">>
<center><img src="images/nimeria/past/demonhoundback.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "At the castle gates, Azgorth's rage is thunderous-his voice echoing through the night as he demands to know how his daughter could vanish for so long. But when he sees the hound, its black fur matted with blood, cradling Nimeria's broken form, his anger falters. He rewards the beast, adopting it into the royal family, and commands the household to tend to Nimeria's every need.">>
<<narrative "Weeks pass in a haze of fever and nightmares. When Nimeria finally wakes, the demon hound is always there-its red eyes watching over her, a silent guardian. She names him Zarn, and he becomes her only friend, a shadow always at her side.">>
<<narrative "But something inside her is lost forever. From that day, the little girl never truly smiles again. Azgorth forbids her from ever leaving the castle. She never tells anyone what really happened-only that she wandered too far and got lost, the truth hidden behind her crimson eyes.">>
<<narrative "Some wounds never heal, they just become part of who you are...">>
<<continueBox "NimeriaWakesUp" "Continue..." "">>
</div>
<</nobr>>
<<pov "nimeria" "seryksdream.mp3">><<nobr>>
<div class="passage-container nimeria">
<<thought "Nimeria" "face" "Ok then, let's start. I should have gotten enough mana crystals from our trip in the Blightwood.">>
<<narrative "Hours later, Liora's eyes flutter open, the hypnosis wearing off. She sits up slowly, dazed.">>
<<dialog "Liora" "faceshortpink" "What... what happened? I feel so strange, like I understand something I didn't before.">>
<<dialog "Nimeria" "face" "That's exactly what I hoped for. Next time you want to get frisky with $humanName, use your healing touch on your stomach while thinking you want to feel like him. It will help you understand his perspective better.">>
<<if $lesbianContentEnabled>>
<<dialog "Nimeria" "face" "Oh, and Liora? Have you ever considered... training?">>
<<dialog "Liora" "faceshortpink" "Training? Like fighting? I suppose I could ask Serin for that, it might help build my stamina.">>
<<dialog "Nimeria" "face" "That too, it could build your stamina. Maybe ask Serin for that. But I mean like kissing and other stuff.">>
<<dialog "Liora" "faceembarrassedshortpink" "But... but that would be cheating on $humanName!">>
<<dialog "Nimeria" "face" "Haha, that's not cheating with two girls, Liora. Believe me, men actually like that sort of thing. $humanName would be glad to know you're getting practice. It's just... educational.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I don't know. It feels wrong somehow.">>
<<dialog "Nimeria" "face" "Think of it as preparation. You want to be the best lover possible for $humanName, don't you? This is just... research. Besides, it might help you understand what he likes.">>
<<dialog "Liora" "faceshortpink" "Well... when you put it that way... I suppose it couldn't hurt to try. Just once, to see what it's like.">>
<<dialog "Nimeria" "face" "Perfect. Just relax and let me guide you through this. It will be... educational.">>
<<continueBox "NimeriaLioraTraining" "Continue to Training" "">>
<</if>>
<<if not $lesbianContentEnabled>>
<<dialog "Liora" "faceshortpink" "Thank you, Nimeria. I feel like I understand things better now. I'll try that next time.">>
<<dialog "Nimeria" "face" "You're welcome, Liora. Remember, the key is to trust your instincts. Now get some rest - tomorrow will be another busy day.">>
<<continueBox "Chapter3Morning" "Return to Sleep" "">>
<</if>>
</div>
<</nobr>>
<<pov "nimeria" "default3.mp3">><<nobr>>
<<set $nimeriaxrylancontent = true>>
<div class="passage-container nimeria">
<<narrative "💕 Seduction Path Chosen 💕">>
<<narrative "Love Through Temptation">>
<<thought "Nimeria" "face" "Nimeria's eyes gleam with determination. No, she won't give up so easily. $humanName may not have shown interest yet, but that doesn't mean he won't. She has time, and she has patience. Love can be... cultivated.">>
<<narrative "She thinks of all the ways she can make herself irresistible to him. Her demonic nature gives her certain advantages, after all. She can be patient, subtle, persistent. Love is a game, and she's very good at games.">>
<<narrative "Besides, watching him with the other girls only makes her want him more. There's something about his innocence, his determination, his pure heart that calls to her. She'll make him see her, really see her.">>
<<continueBox "NimeriaWakesUp" "Continue to Awakening" "">>
</div>
<</nobr>>
<<pov "nimeria" "default3.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "💭 Decision Made 💭">>
<<narrative "Chapter 3 - Serin's Future">><<if $serinFutanariTransformation>>
<<thought "Nimeria" "facesmile" "Yes... something special indeed. Serin deserves to be unique, to have options that others don't. A gift that will make her truly one-of-a-kind.">>
<<thought "Nimeria" "face" "She'll still be herself - strong, athletic, beautiful. But she'll also have something that makes her special, something that gives her new ways to connect with others.">>
<<narrative "The plan forms in her mind - a transformation that will give Serin the best of both worlds, making her truly unique among the group.">><<else>>
<<thought "Nimeria" "face" "No... she's perfect as she is. Strong, athletic, beautiful in her own tomboyish way. Sometimes the greatest gift is simply allowing someone to be themselves.">>
<<thought "Nimeria" "facesmile" "Serin's natural beauty and strength are already extraordinary. I'll help her in other ways - building her confidence, supporting her dreams, helping her find her place in the group.">>
<<narrative "The decision feels right. Sometimes the most profound changes come from within, not from external transformation.">>
<</if>>
<<thought "Nimeria" "face" "Tomorrow will bring new opportunities. I need to be patient, to let my plans unfold naturally. The seeds have been planted, and now I must tend to them carefully.">>
<<thought "Nimeria" "facesmile" "Mariel, Liora, Serin... each of them represents a different path, a different possibility. And $humanName... he remains the center of it all, the one I'm doing this for.">>
<<narrative "With her plans set in motion, Nimeria finally allows herself to rest. Tomorrow will bring new challenges, new opportunities to shape the future according to her vision.">>
<<thought "Nimeria" "face" "Just one last thing before I give in to sleep... maybe there's still something I can do. Gods, I'm starting to feel nearly as exhausted as the author...">>
<<narrative "She exhales, half amused, half resigned. Sleep can wait-if only for a moment more.">>
<<continueBox "NimeriasMischief1" "Continue..." "">>
</div>
<</nobr>>
<<pov "nimeria" "nimeria.mp3">><<nobr>>
<<if not $serinFutanariTransformation>><<set $serinFutanariTransformation = false>><</if>>
<div class="passage-container nimeria">
<<narrative "💭 Tomorrow's Possibilities 💭">>
<<narrative "Chapter 3 - Planning for Serin">>
<<thought "Nimeria" "face" "What should be my plan for tomorrow... and little Serin going forward? I really like her for some reason.">>
<<thought "Nimeria" "facesmile" "Maybe because we're a bit similar? Both of us are fighters, both of us have had to be strong in our own ways. Under different circumstances, Serin might have become as broken as me...">>
<<narrative "She thinks about Serin's fierce independence, her athletic prowess, the way she hides her vulnerabilities behind a tough exterior. So much like herself, in some ways.">>
<<thought "Nimeria" "face" "She's strong, but she's also lonely. I can see it in her eyes when she looks at $humanName and Liora together. That longing, that sense of being left behind...">>
<<thought "Nimeria" "facesad" "I know that feeling all too well. The pain of watching someone you care about choose someone else, of being strong enough to protect others but not strong enough to protect your own heart.">>
<<narrative "The parallel hits closer to home than she'd like to admit. Perhaps that's why she feels such kinship with the athletic girl.">>
<<thought "Nimeria" "face" "But what about her future? How would $humanName prefer Serin to be? She's already perfect as she is - strong, athletic, beautiful in her own tomboyish way.">>
<<thought "Nimeria" "facesmile" "Or... maybe she could be even more unique? What if she had the best of both worlds? Strong and feminine, but also possessing something special that would make her truly one-of-a-kind?">>
<<narrative "The idea takes shape in her mind - a transformation that would give Serin new possibilities, new ways to express herself and connect with others.">>
<<narrative "What path would bring Serin the most happiness and uniqueness?">>
<div style="display: flex; justify-content: center; gap: 30px; margin-top: 30px;">
<div style="text-align: center;">
<p style="color: #DDA0DD; font-weight: bold; margin-bottom: 15px;">Natural Beauty</p>
<img src="images/serin/chapter3/portrait.webp" style="height: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); cursor: pointer;" onclick="SugarCube.State.variables.serinFutanariTransformation = false; SugarCube.Engine.play('NimeriaSerinDecision');">
<p style="color: white; font-size: 0.9em; margin-top: 10px;">Keep her perfect as she is</p>
</div>
<div style="text-align: center;">
<p style="color: #DDA0DD; font-weight: bold; margin-bottom: 15px;">Unique Gift</p>
<img src="images/serin/chapter3/serinfuta/1.webp" style="height: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); cursor: pointer;" onclick="SugarCube.State.variables.serinFutanariTransformation = true; SugarCube.Engine.play('NimeriaSerinDecision');">
<p style="color: white; font-size: 0.9em; margin-top: 10px;">Give her something special</p>
</div>
</div>
</div>
<</nobr>>
<<pov "nimeria" "nimeria.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "🖤 Support Path Chosen 🖤">>
<<narrative "Love Through Devotion">>
<<thought "Nimeria" "face" "Nimeria's expression softens with a bittersweet smile. Perhaps it's better this way. $humanName has his own path to walk, his own choices to make. She can love him without possessing him.">>
<<thought "Nimeria" "face" "She'll support him from the shadows, guide him when he needs guidance, protect him when he needs protection. Her love will be pure, selfless, devoted. Sometimes the greatest love is the one that sets free.">>
<<thought "Nimeria" "face" "Besides, watching him find happiness with others... it hurts, but it also makes her heart swell with pride. He deserves to be happy, even if that happiness doesn't include her romantically. She'll be his guardian angel, his silent protector.">>
<<continueBox "NimeriaWakesUp" "Continue to Awakening" "Nimeria's decision is made...">>
</div>
<</nobr>>
<<pov "nimeria" "default3.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "🌙 Night Awakening 🌙">>
<<narrative "The Past Shapes the Present">>
<<thought "Nimeria" "face" "Nimeria's eyes flutter open, the haunting memories of her past still lingering in her mind like shadows at the edge of consciousness. She sits up slowly, running her fingers through her hair as she processes the weight of those old wounds.">>
<<thought "Nimeria" "face" "That day changed everything. Since then, she decided to learn everything she could about this world - its people, its magic, its secrets. After all, she was alone in this world, truly alone. But the irony isn't lost on her - even with all her knowledge and power, she still needs help from others. Humans, demons, everyone around her...">>
<<thought "Nimeria" "face" "She stretches her arms above her head, feeling the familiar weight of responsibility settle back onto her shoulders. There's still work to be done, plans to be set in motion. She glances around the room, wondering if Liora is still awake.">>
<<dialog "Nimeria" "face" "Liora? Are you still awake?">>
<<dialog "Liora" "faceshortpink" "Hmm? Oh, Nimeria! Yes, I'm awake. I was just... thinking about things.">>
<<dialog "Nimeria" "face" "Thinking about $humanName, perhaps?">>
<<dialog "Liora" "faceembarrassedshortpink" "W-well... maybe a little. How did you know?">>
<<dialog "Nimeria" "face" "I have my ways. So tell me, how far have you gotten with him?">>
<<dialog "Liora" "facesadshortpink" "Not very far at all, honestly. We're both so inexperienced, and I... I don't know when the right time is to go further. What if I do something wrong? What if he doesn't like it?">>
<<dialog "Nimeria" "face" "Oh, Liora. You're overthinking this. Just imagine how $humanName feels, and it will come naturally. Trust your instincts.">>
<<dialog "Liora" "faceembarrassedshortpink" "But how? I'm a girl and he's a boy. I don't know what he wants or how he thinks about these things. It's all so confusing!">>
<<dialog "Nimeria" "face" "I have an idea, actually. And your healing power is perfect for this. Lie down on your bed for me.">>
<<dialog "Liora" "faceshortpink" "What are you going to do?">>
<<dialog "Nimeria" "face" "Just trust me. I'm going to help you understand what $humanName feels. Now, close your eyes and relax...">>
<<narrative "Nimeria leans close, her scent and the warmth of her skin washing over Liora. Her presence is strangely calming, almost hypnotic, and there's a subtle arousal in the air.">>
<<narrative "Liora's breathing slows, her body relaxing as her mind drifts, open to suggestion.">>
<<continueBox "NimeriaLesbianContentChoice" "Continue..." "The hypnosis begins...">>
</div>
<</nobr>>
<<pov "nimeria" "default3.mp3">><<nobr>>
<<set $timeOfDay = "night">>
<<if not $marielTransformationMother>><<set $marielTransformationMother = false>><</if>>
<<if not $humanTransformationFeminine>><<set $humanTransformationFeminine = false>><</if>>
<div class="passage-container nimeria">
<<narrative "🌙 The Watcher's Compassion 🌙">>
<<narrative "Chapter 3 - Nimeria's Perspective">>
<<if $rylanRomanceMariel>>
<<thought "Nimeria" "face" "I watch from the shadows as the poor boy stumbles out of her room, his face twisted with shame and confusion.">>
<<thought "Nimeria" "face" "Such delicious drama! The forbidden fruit consumed in darkness, the sweet corruption of innocence... but no.">>
<<thought "Nimeria" "face" "This isn't about my amusement. This is about her suffering. My beautiful, broken priestess.">>
<<else>>
<<thought "Nimeria" "face" "The boy chose restraint - how boring, yet... perhaps admirable. Still, it changes nothing about her pain.">>
<<thought "Nimeria" "face" "My beautiful, broken priestess suffers alone, and that simply won't do.">>
<</if>>
<<thought "Nimeria" "face" "I've seen this before, you know. The trauma that festers in the soul, the rejection that poisons everything it touches. It's not fair. She doesn't deserve this.">>
<<narrative "I slip through the hallway like a whisper, my bare feet making no sound on the wooden floor. The door to her room is slightly ajar - how convenient.">>
<<narrative "Inside, she lies sprawled across her bed, still unconscious from the wine. Her golden hair is spread across the pillow like a halo, and her face... oh, her face still bears the tracks of tears.">>
<center><img src="images/nimeria/chapter3/transform1/marielsleeping.webp" style="width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Nimeria" "face" "Her mental defenses are at their weakest - the alcohol, the emotional trauma, the deep sleep. If I'm going to help her, it has to be now.">>
<<thought "Nimeria" "face" "I... I care about this family. More than I expected to. Watching them all suffer because of old wounds, because of things that happened before I even arrived... it breaks my heart.">>
<<thought "Nimeria" "face" "Mariel blames herself for something that wasn't her fault. Thalor pushes away the woman he loves because he's drowning in his own guilt. $humanName suffers watching his $marielToHuman in pain. None of them deserve this.">>
<<thought "Nimeria" "face" "I could simply ease her trauma, help her heal naturally and find her own way forward. Let her keep who she is, just without the pain that's been eating at her soul.">>
<<thought "Nimeria" "face" "Or... I could give her something that would transform her completely. The Mother's Seed would awaken in her a love so profound that no pain could touch her. She would find purpose in caring for others, in nurturing and protecting everyone around her.">>
<<thought "Nimeria" "face" "She would become someone who could heal this broken family, someone who could show them all the love they deserve. The maternal instinct would bloom in her like a flower, bringing peace to everyone in this household.">>
<<thought "Nimeria" "face" "But... it would change her. She would become something new, focused entirely on nurturing others. I just... I want her to be happy. I want all of them to be happy. What's the right choice?">>
<<narrative "I want to help her so badly, but I don't know what's right. How can I ease her suffering?">>
<div style="display: flex; justify-content: center; gap: 30px; margin-top: 30px;">
<div style="text-align: center;">
<p style="color: #DDA0DD; font-weight: bold; margin-bottom: 15px;">The Mother's Seed</p>
<img src="images/nimeria/chapter3/transform1/breastmilk.webp" style="width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); cursor: pointer;" onclick="SugarCube.State.variables.marielTransformationMother = true; SugarCube.Engine.play('NimeriasSecondChoice');">
<p style="color: white; font-size: 0.9em; margin-top: 10px;">Transform her pain into maternal purpose</p>
</div>
<div style="text-align: center;">
<p style="color: #DDA0DD; font-weight: bold; margin-bottom: 15px;">Gentle Healing</p>
<img src="images/nimeria/chapter3/transform1/normal.webp" style="width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); cursor: pointer;" onclick="SugarCube.State.variables.marielTransformationMother = false; SugarCube.Engine.play('NimeriasSecondChoice');">
<p style="color: white; font-size: 0.9em; margin-top: 10px;">Simply ease her trauma and let her heal</p>
</div>
</div>
</div>
<</nobr>>
<<pov "nimeria" "nimeria.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "🧪 Nimeria's Laboratory 🧪">>
<<thought "Nimeria" "facesmile" "What a productive day! Serin and I managed to acquire everything I need for my... special projects. The poor dear looks absolutely exhausted though, struggling with those heavy bags while I carry the lighter ones. Such dedication!">>
<<narrative "We push through the front door, our arms laden with purchases. Serin's face is flushed with exertion, sweat beading on her forehead as she sets down the heavy bags with a relieved sigh.">>
<<dialog "Nimeria" "face" "Seeeryk!">>
<<narrative "I call out sweetly through the house, my voice echoing cheerfully. Heavy footsteps approach, and soon Seryk appears, looking curious about the commotion.">>
<<dialog "Seryk" "face" "What's up, Nim? Sounds like you two had quite the shopping trip.">>
<<dialog "Nimeria" "facesmile" "Oh, we did! We bought lots of equipment outside. Could you be a dear and carry them inside for us?" "I flash him my brightest smile, batting my eyelashes just a little">>
<<dialog "Seryk" "face" "Sure thing, no problem.">>
<<narrative "He immediately moves toward the bags, ever the helpful gentleman.">>
<<narrative "While he handles the heavy lifting, I skip over to where Mariel is, putting on my most innocent expression.">>
<<dialog "Nimeria" "face" "Mariel? Could I pretty please use one of the empty rooms to store our new equipment?" "I ask sweetly, clasping my hands together in the most adorable way possible">>
<<dialog "Mariel" "face" "Equipment? What's this all for, dear?">>
<<dialog "Nimeria" "facesmile" "Oh, it's for making better potions! You know, to help everyone stay healthy and strong. Most of the stuff was actually bought by Serin - she's so generous!">>
<<narrative "Mariel glances over at Serin, who's now slumped against the wall catching her breath.">>
<<dialog "Mariel" "face" "Well, I suppose that's fine, as long as you're not doing anything dangerous.">>
<<dialog "Nimeria" "facesmile" "Of course not! Safety first!" "I beam at her">>
<<dialog "Mariel" "face" "What's in those other bags?">>
<<narrative "I lean in close to Mariel, lowering my voice to a conspiratorial whisper.">>
<<dialog "Nimeria" "facesmile" "Clothes for Serin. She needed some new things.">>
<<narrative "From across the room, Serin rolls her eyes dramatically, though I catch the hint of a smile tugging at her lips.">>
<<dialog "Mariel" "facesmile" "Oh, how nice! Please show me.">>
<<dialog "Serin" "faceexhausted" "I'm exhausted. Let's do it tomorrow, alright?" "Serin interjects, wiping sweat from her brow">>
<<dialog "Nimeria" "facesmile" "Okay! You can rest for one hour, then come to the old storeroom." "I say cheerfully, as if I'm being incredibly generous with this whole hour of rest">>
<<narrative "Just then, Seryk comes back inside carrying what appears to be distillation equipment - glass tubes, metal stands, and various scientific apparatus.">>
<<dialog "Seryk" "face" "This is some pretty sophisticated stuff, Nim. You sure you know how to use all this?">>
<<dialog "Nimeria" "facesmile" "Of course I do! Now come with me, I need to show you where everything goes.">>
<<narrative "I turn to head toward the storeroom, naturally not carrying anything myself. After all, that's what strong, helpful demons are for!">>
<<dialog "Seryk" "face" "Right behind you.">>
<<narrative "He chuckles, hefting more equipment as he follows. Perfect. Everything is proceeding exactly as planned.">>
<<thought "Nimeria" "face" "Those crystals will come in handy later too... hihi.">>
<<narrative "Just then, $humanName walks into the room, taking in the scene.">>
<<dialog "Mariel" "facesmile" "Oh my, Serin, you look so good!">>
<<narrative "$humanName glances over at Serin, studying her for a moment, then shrugs.">>
<<dialog "Rylan" "face" "Looks the same way as always to me.">>
<<narrative "Both Mariel and I exchange a look and simultaneously roll our eyes.">>
<<dialog "Mariel" "face" "So dense...">>
<<dialog "Nimeria" "face" "So dense...">>
<<narrative "At that exact moment, Seryk walks back in carrying more bags, overhearing the conversation.">>
<<dialog "Seryk" "face" "So dense...">>
<<narrative "$humanName looks around confused as everyone stares at him with amused expressions.">>
<<if not $crystals>><<set $crystals = 0>><</if>>
<<set $crystals += 5>>
<<continueBox "SettingUpLaboratory" "Continue" "">>
</div>
<</nobr>>
<<pov "nimeria" "default3.mp3">><<script>>window.AudioSystem.playBGM('nimeria.mp3');<</script>><<set $currentFace = $currentNimeriaFace>><<if not $nimeriaGayDreamUsed>><<set $nimeriaGayDreamUsed = false>><</if>>
<div class="nimeria-mischief-container" style="background-image: url('images/landscapes/night.webp'); background-size: cover; background-position: center; min-height: 600px; position: relative; border-radius: 10px; overflow: hidden;">
<div class="night-overlay" style="background: linear-gradient(to bottom, rgba(75, 0, 130, 0.8), rgba(139, 0, 139, 0.9)); position: absolute; top: 0; left: 0; right: 0; bottom: 0;"></div>
<div class="mischief-content" style="position: relative; z-index: 2; padding: 30px; text-align: center;">
<h2 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin-bottom: 20px; font-size: 1.8em;">🌙 Nimeria's Midnight Mischief 🌙</h2>
<div class="nimeria-thoughts" style="background: linear-gradient(145deg, rgba(120,80,160,0.3), rgba(100,60,140,0.4)); border: 2px solid rgba(200,150,255,0.4); border-radius: 12px; padding: 20px; margin: 20px auto; max-width: 600px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/nimeria/facesmile.webp" style="width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; line-height: 1.6;"><span class="dialog-nimeria">*Maybe I don't have to sleep just yet. There are... opportunities in the darkness. Ways to influence dreams, to plant seeds that will bloom in the morning light.*</span></p><div style="clear: left;"></div></div>
<div class="character-influence-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 40px 0;">
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<<if ($rylan_GayValue || 0) > 0.5>><div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>></h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"His dreams are... accessible to me..."</p></div>
<<link "Influence his dreams" "NimeriaGayDreamChoice">><</link>>
<<else>><div class="locked-option" style="position: relative; opacity: 0.6;"><div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div></div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>></h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"His orientation (<<print $rylan_GayValue>>) isn't developed enough..."</p></div><</if>></div>
<div class="influence-option-wrapper" style="text-align: center; position: relative;"><div class="locked-option" style="position: relative; opacity: 0.6;"><div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/liora/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div></div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Liora</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Not yet ready for my influence..."</p></div></div>
<div class="influence-option-wrapper" style="text-align: center; position: relative;"><div class="locked-option" style="position: relative; opacity: 0.6;"><div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/serin/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div></div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Serin</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Her mind is too guarded tonight..."</p></div></div>
<div class="influence-option-wrapper" style="text-align: center; position: relative;"><div class="locked-option" style="position: relative; opacity: 0.6;"><div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/mariel/stage2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div></div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $marielToHuman>></h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Her transformation shields her dreams..."</p></div></div>
<div class="influence-option-wrapper" style="text-align: center; position: relative;"><div class="locked-option" style="position: relative; opacity: 0.6;"><div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/seryk/chapter2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div></div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Seryk</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"His mind is too strong to influence directly..."</p>
</div></div></div><div class="sleep-option" style="margin-top: 50px;"><div class="return-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease;">
<div style="background: linear-gradient(145deg, rgba(120,80,160,0.2), rgba(100,60,140,0.3)); border: 2px solid rgba(200,150,255,0.3); border-radius: 10px; padding: 15px 25px; display: inline-block; box-shadow: 0 4px 8px rgba(0,0,0,0.3); backdrop-filter: blur(3px);">
<h3 style="color: #DDA0DD; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; font-size: 1.1em;">Give in to sleep</h3>
<p style="color: #C0A0C0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 5px 0 0 0; font-style: italic;">"Even I need rest eventually..."</p></div></div>
<div style="margin-top: 15px;"><<link "End the night" "POVTransitionNimeriaToThalor">><</link>></div></div></div></div>
<style>
.influence-option:hover {
transform: translateY(-5px) scale(1.05);
opacity: 0.9;
}
.influence-option:hover .character-frame {
border-color: rgba(255,255,255,0.5);
box-shadow: 0 12px 24px rgba(0,0,0,0.4);
}
.influence-option:hover img {
border-color: rgba(255,255,255,0.6);
transform: scale(1.05);
}
.influence-option:hover h3 {
color: #FFE6FF;
}
.return-option:hover {
transform: translateY(-3px) scale(1.02);
opacity: 0.9;
}
.mischief-content a {
color: #DDA0DD;
text-decoration: none;
background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(255,255,255,0.1));
border: 1px solid rgba(255,255,255,0.3);
border-radius: 8px;
padding: 10px 20px;
display: inline-block;
margin-top: 10px;
transition: all 0.3s ease;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
font-weight: bold;
font-size: 1.1em;
}
.mischief-content a:hover {
color: #FFE6FF;
background: linear-gradient(145deg, rgba(255,255,255,0.25), rgba(255,255,255,0.15));
border-color: rgba(255,255,255,0.5);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}
</style>
<<changeFace $currentNimeriaFace>>
<<statSummary>><<nobr>>
<<set $currentFace = $currentNimeriaFace>>
<<set $timeOfDay = "night">>
<<if not $rylanRomanceMariel>><<set $rylanRomanceMariel = false>><</if>>
<<if not $marielTransformationMother>><<set $marielTransformationMother = false>><</if>>
<<if not $humanTransformationFeminine>><<set $humanTransformationFeminine = false>><</if>>
<div class="passage-container nimeria">
<<narrative "💭 A Second Consideration 💭">>
<<narrative "Chapter 3 - Nimeria's Desires">>
<<if $marielTransformationMother>>
<<thought "Nimeria" "facesmile" "Yes... the Mother's Seed will give her purpose. She'll become the perfect caretaker, the loving nurturer this family needs. Her pain will transform into the most beautiful maternal love.">>
<<else>>
<<thought "Nimeria" "face" "Gentle healing it is... let her keep her true self, just without the crushing weight of undeserved guilt. Sometimes the simplest kindness is the most profound.">>
<</if>>
<<thought "Nimeria" "facesmile" "But while I'm at it... what about my dear knight $humanName?">>
<<thought "Nimeria" "facesmile" "He's such a conflicted soul, isn't he? Struggling with his identity, his desires, his place in the world. I could help him too, guide him toward what would make him truly happy.">>
<<thought "Nimeria" "facesmile" "I could give him the confidence he needs - by strengthening his masculinity, shaping him into the man he might wish to see in the mirror.">>
<<thought "Nimeria" "facesmile" "Or... I could give him that same confidence by bringing out his feminine beauty - the kind that turns heads and bends hearts without ever dimming his strength.">>
<<thought "Nimeria" "facesmile" "The feminine path could lead him to discover a side of himself he never knew existed - perhaps he'd find comfort in different roles, or develop a taste for wearing beautiful things that make him feel powerful in a different way. Some call it being a femboy, but I see it as embracing all aspects of one's nature.">>
<<thought "Nimeria" "facesmile" "Both paths can be dominant or submissive, bold or gentle - this choice is simply about which expression will help him shine brightest.">><div class="choice-presentation" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin-bottom: 25px;">
<p style="color: white; line-height: 1.6; margin-bottom: 20px; text-align: center; font-weight: bold;">*What path would bring <<print $humanName>> the most fulfillment?*</p><div style="display: flex; justify-content: center; gap: 30px; margin-top: 30px;"><div style="text-align: center;">
<p style="color: #DDA0DD; font-weight: bold; margin-bottom: 15px;">Embrace Strength</p>
<img src="images/rylan/dungeon/male/breastfetish/face4.webp" style="height: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); cursor: pointer;" onclick="SugarCube.State.variables.humanTransformationFeminine = false; SugarCube.Engine.play('NimeriasTransformation');">
<p style="color: white; font-size: 0.9em; margin-top: 10px;">Guide him toward masculine strength</p></div><div style="text-align: center;"><p style="color: #DDA0DD; font-weight: bold; margin-bottom: 15px;">Discover Grace</p>
<img src="images/rylan/dungeon/femboy/breastfetish/face4.webp" style="height: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); cursor: pointer;" onclick="SugarCube.State.variables.humanTransformationFeminine = true; SugarCube.Engine.play('NimeriasTransformation');">
<p style="color: white; font-size: 0.9em; margin-top: 10px;">Help him embrace feminine beauty</p>
</div></div></div>
</div>
<<pov "nimeria" "nimeria.mp3">>
<</nobr>><<nobr>>
<<set $currentFace = $currentNimeriaFace>>
<<set $timeOfDay = "night">>
<<if not $rylanRomanceMariel>><<set $rylanRomanceMariel = false>><</if>>
<<if not $marielTransformationMother>><<set $marielTransformationMother = false>><</if>>
<<if not $humanTransformationFeminine>><<set $humanTransformationFeminine = false>><</if>>
<<if not $crystals>><<set $crystals = 5>><</if>>
<<if not $mariel_mindControlResistance>><<set $mariel_mindControlResistance = 80>><</if>>
<<if not $mariel_mindControlSusceptibility>><<set $mariel_mindControlSusceptibility = 20>><</if>>
<<if not $mariel_mindBreakProgress>><<set $mariel_mindBreakProgress = 0>><</if>>
<div class="passage-container nimeria">
<<narrative "🔮 The Transformation Begins 🔮">>
<<narrative "Chapter 3 - Nimeria's Sacrifice">>
<<thought "Nimeria" "face" "Now comes the difficult part. To influence her mind so deeply, to plant the seeds of transformation... I'll need to use two of my precious mana crystals.">>
<<thought "Nimeria" "face" "The risk is enormous. Using this much power could seriously harm me, but it's the only way to reach deep enough into her psyche.">>
<<narrative "I retrieve two mana crystals from my pouch, feeling their dark energy pulse against my palms. The crystals begin to glow with an ominous purple light as I channel my power through them.">>
<<thought "Nimeria" "facesmile" "This is going to hurt... but it's necessary.">>
<<narrative "I place my hands on her temples, the mana crystals floating between us, pulsing with otherworldly energy. The connection forms instantly - I can feel her mind, her dreams, her deepest thoughts and fears.">>
<<narrative "The process begins. I reach into the darkest corners of her psyche, finding the trauma, the self-blame, the crushing weight of guilt that has been destroying her from within.">>
<<if $marielTransformationMother>>
<<narrative "I begin to weave the Mother's Seed into her very essence. The transformation is profound - her pain slowly dissolves, replaced by an overwhelming need to nurture, to protect, to love unconditionally.">>
<<narrative "She will become the perfect caretaker, the loving heart this family needs. Her maternal instincts will bloom like a flower, bringing healing to everyone around her.">>
<<else>>
<<narrative "I work carefully, gently removing the trauma without changing who she is. The guilt dissolves like morning mist, leaving her true self intact but finally free from the crushing weight she's carried.">>
<<narrative "She will still be Mariel - kind, gentle, loving - but without the self-blame that has been poisoning her happiness. She deserves to be free.">>
<</if>>
<<thought "Nimeria" "facesad" "The strain is... incredible. Both mana crystals are cracking, their power flowing through me like liquid fire. I can feel something tearing inside me...">>
<<narrative "Suddenly, pain explodes through my chest. I double over, gasping, as something warm and metallic fills my mouth. Blood. I'm coughing up blood.">>
<<narrative "I stagger backward, crimson droplets staining my lips and chin. The mana crystals shatter completely, their fragments dissolving into purple mist.">>
<<thought "Nimeria" "facesmile" "But it's done. I can feel it - the first seed is planted deep within her mind. How quickly it blooms will depend entirely on how well it's nurtured, but the foundation has been laid.">>
<<thought "Nimeria" "facesmile" "Her mental defenses are slightly weaker now. Slowly, gradually, she'll become more susceptible to influence, more open to... guidance. The old barriers protecting her independence will erode bit by bit.">>
<<thought "Nimeria" "facesmile" "Good. The seed is implanted. Now it just has to be carefully tended - the more attention and care it receives, the faster it will grow and blossom.">>
<<thought "Nimeria" "facesmile" "Sweet dreams, Mariel. When you wake, you'll start down a path toward becoming the woman you were always meant to be.">>
<<narrative "Mana Crystals Used: -2">>
<<narrative "The price of planting the first seeds...">>
<<continueBox "MarielsTransformdreamChapter3" "Continue..." "The transformation begins to take effect...">>
<<set $crystals -= 2>>
<<set $mariel_mindControlResistance -= 5>>
<<set $mariel_mindControlSusceptibility += 5>>
<<set $mariel_mindBreakProgress += 1>>
<<trackOther "Mariel" "MindControlResistance" -5>>
<<trackOther "Mariel" "MindControlSusceptibility" 5>>
<<trackOther "Mariel" "MindBreakProgress" 1>>
<<if $marielTransformationMother>><<addSoulCorruption "mariel" 1>><<soulDisplay "mariel">><</if>>
</div>
<</nobr>>
<<pov "nimeria" "nimeria.mp3">><<stopLoopingSounds>>>
<<script>>window.AudioSystem.playBGM('default3.mp3');<</script>>
<div class="pov-transition" style="background: linear-gradient(135deg, rgba(255, 182, 193, 0.95) 0%, rgba(30, 30, 35, 0.98) 50%, rgba(120, 80, 160, 0.95) 100%); min-height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 40px;">
<div class="transition-text" style="opacity: 0; animation: fadeIn 1s ease-in-out forwards;">
<p style="color: #DDA0DD; font-size: 1.8em; font-weight: bold; text-shadow: 2px 2px 4px rgba(0,0,0,0.5); margin-bottom: 30px;">🌙 Returning Shadows 🌙</p>
<p style="color: #E6E6FA; font-size: 1.2em; margin-bottom: 20px;">As the moment fades...</p></div>
<div class="transition-description" style="opacity: 0; animation: fadeIn 1s ease-in-out 3s forwards;">
<p style="color: white; font-size: 1.1em; line-height: 1.6; max-width: 600px; margin: 0 auto 30px auto; font-style: italic;">The sweet taste lingers, but now we see through the eyes of the one who orchestrated this moment. Behind the gentle smile and caring words lies a mind constantly calculating, planning, weaving threads of influence...</p></div>
<div class="continue-link" style="opacity: 0; animation: fadeIn 1s ease-in-out 5s forwards;">
<p style="color: #FFD700; font-size: 1.3em; margin-bottom: 20px;">Through Nimeria's Eyes</p></div></div><style>
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
</style>
<<script>>
setTimeout(function() {
Engine.play('NimeriaAloneReflection');
}, 10000);
<</script>><<changeFace $currentLioraFace>><<script>>window.AudioSystem.playBGM('nimeria.mp3');<</script>><<set $currentFace = $currentNimeriaFace>>
<div class="transition-container" style="background: linear-gradient(145deg, rgba(120, 80, 160, 0.9), rgba(80, 50, 120, 0.95)); min-height: 500px; padding: 40px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.4); text-align: center;">
<div class="transition-content" style="background: rgba(30,30,35,0.95); border: 2px solid rgba(200,150,255,0.8); border-radius: 12px; padding: 30px; margin-bottom: 30px;">
<div class="transition-text" style="opacity: 0; animation: fadeIn 1s ease-in-out 1s forwards;">
<p style="color: #FFD700; font-size: 1.4em; font-weight: bold; margin-bottom: 20px;">✨ A Few Minutes Later ✨</p>
</div>
<div class="transition-text2" style="opacity: 0; animation: fadeIn 1s ease-in-out 3s forwards;">
<p style="color: white; font-size: 1.1em; line-height: 1.6; margin-bottom: 20px;">After giving Liora some gentle guidance about understanding relationships and being a supportive partner, Nimeria watches as the young healer returns to her tasks with a thoughtful expression.</p>
</div>
<div class="transition-text3" style="opacity: 0; animation: fadeIn 1s ease-in-out 5s forwards;">
<p style="color: #DDA0DD; font-size: 1.0em; font-style: italic;">The conversation was innocent but meaningful, focusing on emotional connection and communication rather than physical matters.</p>
</div>
</div>
<div class="continue-section" style="opacity: 0; animation: fadeIn 1s ease-in-out 5s forwards;">
<div style="margin-top: 20px;">
<a href="javascript:void(0)" onclick="setTimeout(() => SugarCube.Engine.play('NimeriaAloneReflection'), 100)" style="color: #FFD700; font-size: 1.2em; text-decoration: none; padding: 12px 25px; border: 2px solid #FFD700; border-radius: 8px; background: rgba(255,215,0,0.1); transition: all 0.3s;">Continue ➤</a>
</div>
</div>
</div>
<script>
// Auto-advance after 5 seconds
setTimeout(function() {
SugarCube.Engine.play('NimeriaAloneReflection');
}, 5000);
</script>
<<changeFace $currentNimeriaFace>><<stopLoopingSounds>>>
<<script>>window.AudioSystem.playBGM('default3.mp3');<</script>><div class="pov-transition" style="background: linear-gradient(135deg, rgba(120, 80, 160, 0.95) 0%, rgba(30, 30, 35, 0.98) 50%, rgba(255, 182, 193, 0.95) 100%); min-height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 40px;">
<div class="transition-text" style="opacity: 0; animation: fadeIn 1s ease-in-out forwards;">
<p style="color: #DDA0DD; font-size: 1.8em; font-weight: bold; text-shadow: 2px 2px 4px rgba(0,0,0,0.5); margin-bottom: 30px;">🌸 Shifting Perspectives 🌸</p>
<p style="color: #E6E6FA; font-size: 1.2em; margin-bottom: 20px;">As Nimeria's plan unfolds...</p></div>
<div class="transition-description" style="opacity: 0; animation: fadeIn 1s ease-in-out 3s forwards;">
<p style="color: white; font-size: 1.1em; line-height: 1.6; max-width: 600px; margin: 0 auto 30px auto; font-style: italic;">The moment shifts, and we see through different eyes. What began as Nimeria's careful manipulation becomes something more intimate, more personal. The perspective changes to the one experiencing these new sensations for the first time...</p></div>
<div class="continue-link" style="opacity: 0; animation: fadeIn 1s ease-in-out 5s forwards;">
<p style="color: #FFD700; font-size: 1.3em; margin-bottom: 20px;">Through Liora's Eyes</p></div></div><style>
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
</style><<script>>
setTimeout(function() {
Engine.play('NimeriaLioraKiss');
}, 10000);
<</script>>
<<changeFace $currentNimeriaFace>><<script>>window.AudioSystem.playBGM('falseutopia.mp3');<</script>>
<div class="transition-container" style="background: linear-gradient(135deg, rgba(75, 0, 130, 0.9) 0%, rgba(25, 25, 112, 0.95) 50%, rgba(139, 69, 19, 0.9) 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; position: relative; overflow: hidden;">
<div class="transition-stars" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-image: radial-gradient(2px 2px at 20px 30px, #eee, transparent), radial-gradient(2px 2px at 40px 70px, rgba(255,255,255,0.8), transparent), radial-gradient(1px 1px at 90px 40px, #fff, transparent); background-repeat: repeat; background-size: 200px 100px; animation: twinkle 3s linear infinite;"></div>
<div class="transition-content" style="position: relative; z-index: 2; max-width: 600px; padding: 40px;">
<div class="transition-text-1" style="opacity: 0; animation: fadeInOut 5s ease-in-out;">
<h2 style="color: #DDA0DD; text-shadow: 2px 2px 6px rgba(0,0,0,0.8); font-size: 2.2em; margin-bottom: 20px;">🌙 Night Fades to Dawn 🌅</h2>
<p style="color: #E6E6FA; font-size: 1.3em; line-height: 1.6; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">As Nimeria's influence settles into the dreams of the sleeping, the world shifts. Night gives way to morning, and other forces stir...</p>
</div>
<div class="transition-text-2" style="opacity: 0; animation: fadeInOut 5s ease-in-out 3s;">
<h2 style="color: #CD853F; text-shadow: 2px 2px 6px rgba(0,0,0,0.8); font-size: 2.2em; margin-bottom: 20px;">⚔️ Miles Away ⚔️</h2>
<p style="color: #F5DEB3; font-size: 1.3em; line-height: 1.6; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">A carriage rolls through the morning mist, carrying warriors whose past shadows their present...</p>
</div>
<div class="transition-text-3" style="opacity: 0; animation: fadeInOut 5s ease-in-out 6s;">
<h2 style="color: #B8860B; text-shadow: 2px 2px 6px rgba(0,0,0,0.8); font-size: 2.2em; margin-bottom: 20px;">🛤️ The Journey Home 🛤️</h2>
<p style="color: #FFFACD; font-size: 1.3em; line-height: 1.6; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">Old wounds and cruel laughter echo in the confines of their transport...</p>
</div>
<div class="continue-link" style="opacity: 0; animation: fadeIn 2s ease-in-out 8s forwards; margin-top: 40px;">
<<link "Continue" "Chapter3Morning2">><<set $timeOfDay = "morning">><</link>>
</div>
</div>
</div>
<style>
@keyframes fadeInOut {
0% { opacity: 0; transform: translateY(30px); }
20% { opacity: 1; transform: translateY(0); }
80% { opacity: 1; transform: translateY(0); }
100% { opacity: 0; transform: translateY(-30px); }
}
@keyframes fadeIn {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes twinkle {
0% { opacity: 0.3; }
50% { opacity: 1; }
100% { opacity: 0.3; }
}
.transition-container a {
color: #FFD700;
text-decoration: none;
background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1));
border: 2px solid rgba(255,215,0,0.5);
border-radius: 12px;
padding: 15px 30px;
display: inline-block;
transition: all 0.3s ease;
text-shadow: 1px 1px 3px rgba(0,0,0,0.8);
font-weight: bold;
font-size: 1.2em;
}
.transition-container a:hover {
color: #FFF;
background: linear-gradient(145deg, rgba(255,215,0,0.3), rgba(255,215,0,0.2));
border-color: rgba(255,215,0,0.8);
transform: translateY(-3px);
box-shadow: 0 6px 15px rgba(0,0,0,0.4);
}
</style>
<script>
setTimeout(function() {
if (typeof SugarCube !== 'undefined' && SugarCube.Engine) {
SugarCube.Engine.play('Chapter3Morning2');
}
}, 10000);
</script><<stopLoopingSounds>>>
<<script>>window.AudioSystem.playBGM('default3.mp3');<</script>><<set $currentFace = $currentNimeriaFace>> <div class="pov-transition-container" style="background: linear-gradient(135deg, rgba(25, 25, 35, 0.95), rgba(45, 35, 55, 0.9)); min-height: 400px; padding: 40px; border-radius: 15px; border: 2px solid rgba(148, 0, 211, 0.4); position: relative; overflow: hidden;"> <div class="transition-overlay" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at center, transparent 30%, rgba(148, 0, 211, 0.1) 70%); pointer-events: none;"></div> <div class="transition-content" style="position: relative; z-index: 2;"> <div class="fade-stage-1" style="opacity: 0; animation: fadeInOut 5s ease-in-out infinite;"> <p style="color: rgba(255, 255, 255, 0.8); font-size: 1.2em; text-align: center; margin: 20px 0; font-style: italic;">*The evening settles over the house like a gentle blanket...*</p> </div> <div class="fade-stage-2" style="opacity: 0; animation: fadeInOut 5s ease-in-out infinite; animation-delay: 1s;"> <p style="color: rgba(255, 255, 255, 0.9); font-size: 1.3em; text-align: center; margin: 30px 0; font-weight: bold;">*As dinner conversations fade into comfortable silence...*</p> </div> <div class="fade-stage-3" style="opacity: 0; animation: fadeInOut 5s ease-in-out infinite; animation-delay: 3s;"> <p style="color: rgba(255, 255, 255, 0.7); font-size: 1.1em; text-align: center; margin: 25px 0; font-style: italic;">*A different perspective emerges from the shadows...*</p> </div> <center><img src="images/nimeria/face.webp" style="max-width: 150px; border-radius: 50%; border: 3px solid rgba(148, 0, 211, 0.6); margin: 30px 0; opacity: 0; animation: fadeIn 5s ease-in-out infinite; animation-delay: 2s;"></center> <div class="transition-navigation" style="text-align: center; margin: 40px 0; opacity: 0; animation: fadeIn 2s ease-in-out 5s forwards;"> <p style="color: rgba(255, 255, 255, 0.8); font-size: 1.1em; margin-bottom: 20px;">*The story shifts to reveal hidden truths...*</p> [[Continue to Nimeria's Perspective|NimeriaAfterBlightwood]] </div> </div> </div>
<style>
@keyframes fadeInOut {
0%, 100% { opacity: 0; }
20%, 80% { opacity: 1; }
}
@keyframes fadeIn {
0% { opacity: 0; }
100% { opacity: 1; }
}
</style>
<script>
setTimeout(function() {
if (typeof window.AudioSystem !== 'undefined') {
window.AudioSystem.playBGM('default3.mp3');
}
}, 1000);
</script>
<<changeFace $currentNimeriaFace>><<script>>window.AudioSystem.playBGM('default3.mp3');<</script>>
<div style="background: linear-gradient(135deg, rgba(20,20,30,0.95), rgba(30,20,40,0.98)); min-height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; padding: 40px;">
<div style="max-width: 600px;">
<div id="transition-text-1" style="opacity: 0; transition: opacity 1s ease-in-out; color: rgba(200,200,200,0.9); font-size: 1.2em; line-height: 1.6; margin-bottom: 30px;">
<p style="margin-bottom: 20px;">🌅 As dawn breaks over the household...</p>
<p>The weight of old memories and fresh guilt settles upon one brother's shoulders...</p>
</div>
<div id="transition-text-2" style="opacity: 0; transition: opacity 1s ease-in-out; color: rgba(180,180,200,0.9); font-size: 1.1em; line-height: 1.6; margin-bottom: 30px;">
<p style="margin-bottom: 20px;">✨ While across the hall...</p>
<p>Another awakens, unaware of the dreams that have stirred his companion's conscience...</p>
</div>
<div id="transition-text-3" style="opacity: 0; transition: opacity 1s ease-in-out; color: rgba(220,220,240,0.9); font-size: 1.3em; line-height: 1.6; margin-bottom: 40px;">
<p style="margin-bottom: 20px;">🏠 In the kitchen below...</p>
<p style="font-style: italic;">The day begins with familiar voices and the scent of breakfast...</p>
</div>
<div id="continue-link" style="opacity: 0; transition: opacity 1s ease-in-out;">
<a data-passage="Chapter3MorningKitchen" style="display: inline-block; background: linear-gradient(45deg, rgba(100,60,120,0.8), rgba(80,40,100,0.9)); color: white; padding: 15px 30px; border-radius: 25px; text-decoration: none; font-weight: bold; border: 2px solid rgba(255,255,255,0.3); transition: all 0.3s ease;">Continue</a>
</div>
</div>
</div>
<script>
setTimeout(function() {
document.getElementById('transition-text-1').style.opacity = '1';
}, 100);
setTimeout(function() {
document.getElementById('transition-text-2').style.opacity = '1';
}, 1000);
setTimeout(function() {
document.getElementById('transition-text-3').style.opacity = '1';
}, 3000);
setTimeout(function() {
document.getElementById('continue-link').style.opacity = '1';
}, 5000);
</script><<script>>window.AudioSystem.playBGM('falseutopia.mp3');<</script>>
<div class="transition-container" style="background: linear-gradient(135deg, rgba(139, 69, 19, 0.9) 0%, rgba(70, 130, 180, 0.95) 50%, rgba(255, 255, 255, 0.9) 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; position: relative; overflow: hidden;">
<div class="transition-rays" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.1) 0%, transparent 50%); animation: pulse 4s ease-in-out infinite;"></div>
<div class="transition-content" style="position: relative; z-index: 2; max-width: 700px; padding: 40px;"><div class="transition-text-1" style="opacity: 0; animation: fadeInOut 5s ease-in-out;">
<h2 style="color: #8B4513; text-shadow: 2px 2px 6px rgba(0,0,0,0.8); font-size: 2.2em; margin-bottom: 20px;">The Carriage Rolls On</h2>
<p style="color: #D2B48C; font-size: 1.3em; line-height: 1.6; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">While old warriors speak of wars to come, the wheels of fate turn in distant lands...</p></div>
<div class="transition-text-2" style="opacity: 0; animation: fadeInOut 5s ease-in-out 3s;">
<h2 style="color: #4682B4; text-shadow: 2px 2px 6px rgba(0,0,0,0.8); font-size: 2.2em; margin-bottom: 20px;">🏰 The Holy Kingdom of Stormark 🏰</h2>
<p style="color: #87CEEB; font-size: 1.3em; line-height: 1.6; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">In marble halls where justice reigns, a young queen faces the storm of approaching darkness...</p></div>
<div class="transition-text-3" style="opacity: 0; animation: fadeInOut 5s ease-in-out 6s;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 6px rgba(0,0,0,0.8); font-size: 2.2em; margin-bottom: 20px;">👑 The Throne of Hope 👑</h2>
<p style="color: #F0F8FF; font-size: 1.3em; line-height: 1.6; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">Where wisdom meets compassion, and difficult decisions shape the fate of nations...</p></div>
<div class="continue-link" style="opacity: 0; animation: fadeIn 2s ease-in-out 8s forwards; margin-top: 40px;">
<<link "Continue" "CelindraThrone">><<set $currentFace = $currentCelindraFace>><</link>></div></div></div>
<style>
@keyframes fadeInOut {
0% { opacity: 0; transform: translateY(30px); }
20% { opacity: 1; transform: translateY(0); }
80% { opacity: 1; transform: translateY(0); }
100% { opacity: 0; transform: translateY(-30px); }
}
@keyframes fadeIn {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes pulse {
0% { opacity: 0.1; }
50% { opacity: 0.3; }
100% { opacity: 0.1; }
}
.transition-container a {
color: #4682B4;
text-decoration: none;
background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1));
border: 2px solid rgba(70,130,180,0.5);
border-radius: 12px;
padding: 15px 30px;
display: inline-block;
transition: all 0.3s ease;
text-shadow: 1px 1px 3px rgba(0,0,0,0.8);
font-weight: bold;
font-size: 1.2em;
}
.transition-container a:hover {
color: #FFF;
background: linear-gradient(145deg, rgba(70,130,180,0.3), rgba(70,130,180,0.2));
border-color: rgba(70,130,180,0.8);
transform: translateY(-3px);
box-shadow: 0 6px 15px rgba(0,0,0,0.4);
}
</style>
<script>
setTimeout(function() {
if (typeof SugarCube !== 'undefined' && SugarCube.Engine) {
SugarCube.Engine.play('CelindraThrone');
}
}, 10000);
</script><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "evening">>
<div class="passage-container rylan">
<<narrative "🏠 Home Sweet Home 🏠">>
<center><img src="images/landscapes/rylanhome.webp" style="border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "*The familiar sight of home is a welcome relief after our... unusual day in the Blightwood. As we approach the front door, we can smell something delicious cooking inside. The warmth and comfort of home feels especially appealing after trying to explain our mission to Elena.*">>
<<narrative "*I push open the door and we all file inside, looking somewhat tired but relieved to be back. The sound of our entrance draws Mariel from the kitchen.*">>
<<if $marielTransformationMother === true>>
<center><img src="images/mariel/stage2/facesmile.webp" style="max-width: 200px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "*Mariel appears from the kitchen, her face lighting up with genuine warmth and relief when she sees us. Her eyes immediately focus on me with the kind of caring attention I've noticed more and more lately.*">>
<<dialog "Mariel" "facesmile" "Welcome home, everyone! $humanName, sweetheart, how did your mission go? You all look a bit tired.">>
<<narrative "*She steps closer to me, her maternal instincts clearly wanting to check if I'm alright. There's something different about the way she looks at me now - more protective, more caring, like I'm someone precious who needs looking after.*">>
<<dialog "Mariel" "face" "You haven't been pushing yourself too hard, have you, dear? Come, let me look at you properly.">>
<<narrative "*She gently takes my shoulders and looks me over with concerned eyes, checking for any signs of injury or exhaustion. Her touch is warm and comforting, and I find myself oddly reassured by her attention.*">>
<<else>>
<<narrative "*Mariel emerges from the kitchen, wiping her hands on her apron. She gives us all a warm, welcoming smile - the kind that makes any house feel like home.*">>
<<dialog "Mariel" "facesmile" "Welcome back, everyone! How did the Blightwood mission go? You all look like you've had quite an adventure.">>
<<narrative "*Her eyes scan over each of us with practiced efficiency, checking for injuries or signs of trouble. It's the kind of quick assessment any experienced adventurer would make.*">>
<<dialog "Mariel" "face" "No injuries, I hope? You all look tired but unharmed, which is always good to see after a mission.">>
<</if>>
<<narrative "*I exchange glances with the others, silently reminding everyone of our agreement to never speak of the goblin encounter.*">>
<<dialog "Rylan" "face" "The mission went... perfectly normal, $marielToHuman. Nothing unusual happened at all. Just a standard patrol.">>
<<dialog "Liora" "faceembarrassedshortpink" "Yes! Very normal. No strange conversations whatsoever.">>
<<dialog "Serin" "face" "Nothing worth talking about. Just trees and... normal forest things.">>
<<dialog "Seryk" "face" "Completely routine mission, Sunflower. Nothing memorable about it at all.">>
<<dialog "Nimeria" "faceworried" "*still looking tired* Can we just... not talk about missions for a while?">>
<<narrative "*Mariel looks at us with slight confusion, clearly picking up on the odd undercurrents in our responses.*">>
<<if $marielTransformationMother === true>>
<<dialog "Mariel" "faceworried" "You're all acting rather strangely... $humanName, dear, are you sure you're feeling alright? You haven't been overexerting yourself, have you?">>
<<narrative "*Her concern for me specifically is obvious, and there's a gentleness in her voice that makes me feel both comforted and slightly confused by the attention.*">>
<<else>>
<<dialog "Mariel" "faceworried" "You're all acting rather strangely... but I suppose every mission has its own character. I'm just glad you're all home safe.">>
<</if>>
<<narrative "*The wonderful smell from the kitchen reminds us all that we haven't eaten since this morning.*">>
<<if $marielTransformationMother === true>>
<<dialog "Mariel" "facesmile" "I've made your favorite stew, $humanName. I know how much you love it after a long day. Everyone else is welcome too, of course!">>
<<narrative "*She smiles at me with such warmth and care that I can't help but feel touched by her thoughtfulness. When did she start paying such special attention to what I like?*">>
<<else>>
<<dialog "Mariel" "facesmile" "I've made a hearty stew for dinner. Perfect timing - you all must be starving after your mission!">>
<</if>>
<<dialog "Liora" "facesmile" "That sounds wonderful, Mariel. Thank you for cooking for all of us!">>
<<dialog "Serin" "facesmile" "Perfect! I could eat an entire dragon right now.">>
<<dialog "Seryk" "facesmile" "Your cooking is always appreciated, Sunflower. Thank you for taking care of us.">>
<<dialog "Nimeria" "facesmile" "A home-cooked meal sounds like exactly what we need after today.">>
<<narrative "*As we all head toward the kitchen together, I feel grateful for the normalcy of home life. Whatever strange things happened in the Blightwood today, at least here we can just be a family enjoying dinner together.*">>
<<if $marielTransformationMother === true>>
<<narrative "*Though I do notice Mariel walking close beside me, her protective presence feeling both comforting and slightly puzzling. When did she start treating me with such special care?*">>
<</if>>
<<changeAffection "Rylan" "Mariel" 2>>
<<changeAffection "Mariel" "Rylan" 2>>
<<changeAffection "Rylan" "Liora" 1>>
<<changeAffection "Rylan" "Serin" 1>>
<<changeAffection "Rylan" "Seryk" 1>>
<<changeAffection "Rylan" "Nimeria" 1>>
<<narrative "Home is where the heart is... and where secrets are kept.">>
<<continueBox "POVTransitionRylanToNimeria" "After Dinner..." "">>
</div>
<</nobr>>
<<pov "rylan" "default3.mp3">><<nobr>>
<<set $timeOfDay = "morning">>
<<set $gameDay += 1>>
<div class="passage-container seryk">
<<narrative "🌅 Morning Guilt 🌅">>
<<narrative "*Seryk's eyes snap open as dawn light filters through his window. For a moment, he's disoriented - caught between the innocent laughter of children and the crushing weight of adult understanding.*">>
<<dialog "Seryk" "faceserious" "*What a dream... No, not a dream. A memory.*">>
<<narrative "*He sits up slowly, running a hand through his hair. The images are still vivid - little Nimeria's hopeful smile, Torin's cruel grin, the sound of innocent counting that turned into abandonment.*">><<dialog "Seryk" "faceserious" "*We really treated Nimeria terribly back then. How could I have been so... so cruel?*">>
<<narrative "*The worst part isn't even the abandonment itself - it's how easily he went along with it. How the desire to fit in, to be accepted by his friends, made him betray the one person who should have been able to count on him.*">>
<<dialog "Seryk" "faceserious" "*I don't even remember how she came back to the castle. She was always so weak and delicate, with that sickly body of hers... and she was out there for nearly a week.*">><<narrative "*A week. A four-year-old child, alone in the demon realm's dangerous forests for an entire week. The guilt sits heavy in his chest like a stone.*">>
<<dialog "Seryk" "faceserious" "*I didn't tell anyone where she went. I was too scared of getting my friends in trouble, too afraid of being blamed. When Father and our mothers returned from the battlefield and found her missing...*">>
<<narrative "*The memory of his father's fury still makes him wince. The Demon King had raged for hours, demanding to know how his daughter had simply vanished. Seryk had been scolded until his ears rang, forced to help search every corner of the castle grounds.*">>
<<dialog "Seryk" "faceserious" "*If he had known I was at fault for her going missing in the first place... I probably wouldn't have survived his wrath.*">><<narrative "*But the question that haunts him most is the simplest one:*">>
<<narrative "*How did she survive?*">>
<<dialog "Seryk" "faceserious" "*A week in the forest, all alone. She was just a tiny child with no survival skills, no magic, no strength. The forests are full of wild beasts and dangerous plants. Any adult would struggle to last that long.*">>
<<narrative "*When she was finally found - dirty, thin, and half-wild - she never spoke about what happened during those seven days. Even now, as adults, she's never told him how she managed to survive.*">><<narrative "*What he does remember clearly is how everything changed after that week.*">>
<<dialog "Seryk" "faceserious" "*Around that time, Zarn joined our household. And Nimeria... she became completely different. Gloomy, bitter, sharp-tongued. She never smiled anymore.*">>
<<narrative "*The sweet, hopeful little girl who had begged to play with them was gone. In her place was a child who insulted anyone who tried to speak with her, who retreated into books and solitude, who looked at the world with eyes full of distrust and pain.*">>
<<dialog "Seryk" "faceserious" "*And no wonder. If even her own brother would abandon her to die in the forest, why would she trust anyone ever again?*">><<narrative "*The final blow came when their father made his decree.*">>
<<dialog "Seryk" "faceserious" "*Father forbade her from ever leaving the castle again. Said it was too dangerous, that she was too fragile, too important to risk. He even assigned her a personal maid to watch over her constantly.*">>
<<narrative "*It was meant to be protection, but Seryk now understands it for what it really was - a prison. Nimeria became a captive in her own home, cut off from the outside world because of his moment of childhood cruelty.*">>
<<dialog "Seryk" "faceserious" "*I should make it up to her. I should have made it up to her years ago.*">>
<<narrative "*But how do you apologize for destroying someone's childhood? How do you make amends for a betrayal that shaped the entire course of someone's life?*">>
<<dialog "Seryk" "faceserious" "*At least now... at least now she has a chance at a real life. Real friends, real experiences, real freedom. Maybe that's a start.*">>
<<narrative "*He rises from bed, determined to be the brother she deserved to have all those years ago. It's too late to change the past, but perhaps it's not too late to help her build a better future.*">>
<<continueBox "POVTransitionSerykToRylan" "Continue to morning activities" "">>
</div>
<</nobr>>
<<pov "seryk" "default3.mp3">><<nobr>>
<div class="passage-container seryk">
<<narrative "💭 Memories of Childhood 💭">>
<center><img src="images/seryk/past/portrait.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "*Five-year-old Seryk charges across the courtyard with his wooden sword raised high, his friends Torin and Drevon close behind. They're playing their favorite game - "Battle Against the Heroes" - reenacting the great tales of demon lords and their epic battles.*">>
<<dialog "seryk" "past/face" "For the demon realm! No hero shall pass!">>
<<narrative "*As they clash swords and laugh, young Seryk's eyes drift to a solitary figure sitting beneath the twisted oak tree at the courtyard's edge. Nimeria - barely four years old, pale and delicate, watching them with those strange, knowing eyes that always seemed too old for her face.*">>
<center><img src="images/nimeria/past/sitongrass.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center><<narrative "*Young Seryk shudders slightly. There's something unsettling about how she just... sits there. Always alone. Always watching.*">>
<<dialog "Male NPC" "face" "Look, your sister the cursed child is staring at us again, Seryk! Watch out or she'll curse us too!">>
<<dialog "Male NPC" "face" "Yeah! She already cursed my mom! Turned her into a pig!">>
<<dialog "Male NPC" "face" "pfft She isn't even that fat, Drevon...">>
<<dialog "Male NPC" "face" "Shut up!">>
<<narrative "*The boys snicker and point. Young Seryk feels a knot in his stomach, but the pressure to fit in, to be accepted by his friends, weighs heavier than his conscience.*">><<dialog "Male NPC" "face" "Hey Seryk, ask her to play with us. It'll be fun.">>
<<dialog "Seryk" "past/faceserious" "No, shut up.">>
<<dialog "Male NPC" "face" "Come on! It'll be hilarious. We can play a really fun game with the little princess.">>
<<narrative "*Young Seryk looks between his grinning friends and his sister's lonely figure. The cruel gleam in Torin's eyes should have been a warning, but at five years old, the desire to belong overwrites everything else.*">>
<<dialog "Nimeria" "past/face" "Oh! Hello, big brother Seryk!">>
<<dialog "Seryk" "past/faceserious" "Hey... Want to play with us?">>
<<narrative "*Nimeria's eyes widen with disbelief and hope. She looks past him to where Torin and Drevon are watching, their expressions unreadable.*">>
<<dialog "Nimeria" "past/face" "Really? But... don't you all hate me?">>
<<narrative "*The question cuts deeper than any sword. Young Seryk can't meet her eyes.*">>
<<dialog "Seryk" "past/faceserious" "...Just come on.">><<narrative "*The group ventures into the forest beyond the castle grounds. Nimeria practically bounces with excitement - when was the last time anyone included her in anything? Young Seryk's guilt gnaws at him, but he pushes it down.*">>
<<dialog "Male NPC" "face" "Alright, let's play hide and seek, Princess.">>
<<dialog "Nimeria" "past/facesad" "Hide and seek? But... isn't the forest dangerous?">>
<<dialog "Male NPC" "face" "Don't worry, little princess. Your brave knights will protect you. Now, close your eyes and count to one hundred. We'll hide, and then you try to find us!">>
<<narrative "*Nimeria beams with happiness, covering her eyes with her tiny hands.*">>
<<dialog "Nimeria" "past/face" "One... two... three... four...">>
<center><img src="images/nimeria/past/counting.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center><<narrative "*Torin grins wickedly and starts tiptoeing away from the counting child, gesturing for the others to follow.*">>
<<dialog "Male NPC" "face" "Let's go back to the castle.">>
<<dialog "Seryk" "past/faceserious" "Huh? But...">>
<<dialog "Male NPC" "face" "Come on, it's just a prank. She'll figure it out eventually.">>
<<narrative "*Young Seryk hesitates, looking back at his sister still innocently counting. Something feels terribly wrong, but Torin is already pulling him away. Fear of being left out, of losing his only friends, makes his feet move.*">>
<<dialog "Nimeria" "past/face" "...forty-seven... forty-eight... forty-nine...">>
<center><img src="images/nimeria/past/counting.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "*By the time she reaches one hundred, they're long gone, leaving the four-year-old alone in the vast, dark forest.*">><<narrative "*The boys return to the castle and continue playing until dinnertime. The great hall fills with demons, servants, and the usual chatter. Young Seryk sits at the long table, mechanically eating his food.*">>
<<narrative "*But something feels... empty. Wrong. No one mentions Nimeria's absence. They're so used to ignoring the "cursed child" that her empty chair goes completely unnoticed. Even the servants don't ask where she is.*">><<narrative "*Later that night, as young Seryk lies in his bed, a nagging thought creeps into his mind.*">>
<<dialog "Seryk" "past/faceserious" "Was Nimeria at dinner tonight? I... I can't remember seeing her...">>
<<narrative "*He tosses and turns, trying to convince himself.*">>
<<dialog "Seryk" "past/faceserious" "She must have been there. Someone would have said something if she wasn't, right? Right...">>
<<narrative "*With that weak reassurance, the five-year-old finally drifts off to sleep, unaware that his little sister is alone, cold, and terrified in the dark forest, calling out for him to come find her.*">>
<<continueBox "SerykWakesUp" "Continue" "">>
</div>
<</nobr>>
<<pov "seryk" "seryksdream.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "🧪 The Laboratory Setup 🧪">>
<<narrative "One hour later - Time for transformation...">>
<center><img src="images/landscapes/nimeriaslaboratory.webp" style="width: 400px; border-radius: 10px;"></center>
<<narrative "Perfect timing! Just as Seryk finishes placing the last piece of distillation equipment, I hear familiar footsteps approaching. Serin appears in the doorway, looking around at our makeshift laboratory with curious eyes.">>
<<narrative "I'm comfortably seated in the chair I had Seryk bring in, fanning myself dramatically with my hand.">>
<<dialog "Nimeria" "facesmile" "Perfect timing, Serin! We finally got everything set up. Phew, that was absolutely exhausting!">>
<<narrative "I dab at my forehead theatrically, as if I've been doing hard labor.">>
<<dialog "Seryk" "faceangry" "What the hell? I was the only one working here! You've been sitting in that chair giving me directions the entire time!">>
<<dialog "Nimeria" "facetongue" "Leadership is exhausting work, even if he doesn't appreciate it!">>
<<dialog "Serin" "face" "So... what's the plan exactly?">>
<<dialog "Nimeria" "face" "Well, as I mentioned before, with the right combination of alchemical enhancement and focused training, we can actually reshape your physical form. Normally I'd recommend a gradual approach, but... you seem rather desperate for results.">>
<<narrative "I lean forward in my chair, studying her expression carefully.">>
<<dialog "Nimeria" "facesmile" "Since I genuinely want to help you win him over as quickly as possible, I'm willing to accelerate the process. But first, I need to know exactly what you're envisioning. What's your ideal appearance?">>
<<narrative "Serin looks thoughtful for a long moment, clearly having given this considerable thought.">>
<<dialog "Serin" "face" "Hmm... longer hair definitely, much larger breasts, more traditionally feminine curves, fairer skin, and definitely no more freckles.">>
<<narrative "I blink at her in disbelief.">>
<<dialog "Nimeria" "faceserious" "Congratulations, you just perfectly described Liora. Now, what do YOU actually want to look like?">>
<<dialog "Serin" "faceconfused" "But... that's exactly what I said. Long hair, bigger chest, smoother skin-">>
<<dialog "Nimeria" "faceangry" "Stop! Just stop right there!">>
<<narrative "I stand up from my chair, pacing in frustration.">>
<<dialog "Nimeria" "faceserious" "Let me ask you something. If I cooked your absolute favorite meal and placed it next to something that was just similar to your favorite, which would you choose?">>
<<dialog "Serin" "face" "My favorite, obviously.">>
<<dialog "Nimeria" "face" "Exactly! So why are you being such an idiot, trying to become a cheap copy of Liora? You need to become something entirely new, something that will make him develop a completely different taste - something he's never experienced before!">>
<<dialog "Serin" "face" "Okay, okay... maybe you have a point. But surely getting rid of the freckles and having smoother skin would be-">>
<<dialog "Nimeria" "faceangry" "ARE YOU COMPLETELY INSANE?! Those freckles are literally your most distinctive and attractive feature! If anything, we should give you MORE freckles!">>
<<narrative "Even Seryk looks up from organizing the equipment.">>
<<dialog "Seryk" "face" "She's absolutely right about that...">>
<<dialog "Nimeria" "faceangry" "Seryk, would you mind giving us some privacy? This requires a more... delicate touch.">>
<<dialog "Seryk" "face" "Sure thing, Nim. I'll be outside if you need anything heavy moved.">>
<<narrative "Once he's gone, I turn back to Serin with a more serious expression.">>
<<dialog "Nimeria" "face" "Serin, I need to ask you something important. Do you trust me?">>
<<dialog "Serin" "face" "I... I suppose so. You seem to know what you're talking about.">>
<<dialog "Nimeria" "facesmile" "Good. Then let me design the perfect version of you - enhanced, refined, but unmistakably Serin. Trust me to make you irresistible in ways that Liora never could be.">>
<<narrative "But first, I need to gather some... specific measurements and preferences. This requires a more direct approach.">>
<<dialog "Nimeria" "faceserious" "Before we begin, I need you to relax completely. Look into my eyes, Serin. Focus only on my voice...">>
<<narrative "I reach out and gently place my hand on her forehead, channeling a subtle but potent mental influence. With her Resistance at 75 and Susceptibility at only 25, it takes more effort than usual, but her trust in me provides the opening I need.">>
<<dialog "Serin" "facerelaxed" "I... yes, Nimeria... I trust you...">>
<<narrative "Her eyes grow heavy and unfocused as my influence takes hold. Perfect. Now I can work with her subconscious mind directly, planting the necessary suggestions for the transformation while gathering the psychological profile I need.">>
<<narrative "~ 30 minutes later ~">>
<<dialog "Serin" "faceconfused" "I... what happened? I feel like I dozed off for a moment.">>
<<dialog "Nimeria" "facesmile" "I helped you relax and put your ideal look into your subconscious. My voice and... presence can influence the mind a little when someone trusts me and is in a relaxed state. I just helped plant the perfect image of what you should become.">>
<<dialog "Serin" "face" "You can do that?">>
<<dialog "Nimeria" "facesmile" "Just a bit. Nothing dramatic, but it helps the transformation process work more smoothly when your subconscious mind knows exactly what to aim for. Now, let me prepare your elixir.">>
<<narrative "I move to the equipment and begin mixing various compounds with practiced ease, my work now informed by the detailed psychological map I've just created.">>
<<narrative "Thirty-five minutes later, I hand her a small vial filled with a shimmering purple liquid.">>
<<dialog "Nimeria" "face" "Drink this tonight right before you go to sleep.">>
<<dialog "Serin" "face" "What exactly is this?">>
<<dialog "Nimeria" "facesmile" "A very powerful sedative.">>
<<dialog "Serin" "face" "Don't worry about me, I can handle pain just fine.">>
<<narrative "I give her a look that's both amused and slightly concerned.">>
<<dialog "Nimeria" "face" "'Some pain,' she says... Listen carefully, Serin. Because you're so desperate for rapid results, we're compressing what should be months of gradual change into a single night. Normally, I would never recommend this level of acceleration.">>
<<narrative "My voice takes on a more serious tone.">>
<<dialog "Nimeria" "face" "Tonight, your skeletal structure will be broken down and rebuilt repeatedly. Your muscle fibers will tear and regenerate. Your skin will stretch and heal over and over again. The process will fundamentally reshape you from the inside out.">>
<<narrative "I watch her face pale slightly.">>
<<dialog "Nimeria" "face" "So tell me, brave warrior - do you still want to 'handle the pain just fine' without any help?">>
<<dialog "Serin" "faceworried" "You know what? On second thought, that sedative sounds like a absolutely brilliant idea!">>
<<narrative "Smart girl. I do so appreciate when people listen to reason.">>
<<narrative "After Serin leaves with her transformation elixir, I take a moment to survey the completed laboratory. The distillation apparatus, the soul resonance chambers, the essence refinement crystals...">>
<<dialog "Nimeria" "facesmile" "Perfect. With this setup, I should have everything I need to manipulate soul energies directly. A Soul Forge, if you will - capable of reforging the very essence of blessing and corruption within a person's spirit.">>
<<narrative "The possibilities are delicious. The ability to reshape not just bodies, but the fundamental spiritual nature of individuals... this opens up so many new avenues for influence and control.">>
<<narrative "I should probably test this system soon. After all, what's the point of having such magnificent equipment if I don't put it to proper use?">>
<<changeAffection "Serin" "Nimeria" 3>>
<<changeAffection "Nimeria" "Serin" 2>>
<<set $serin_mindControlResistance -= 3>>
<<trackOther "Serin" "MindControlResistance" -3>>
<<set $serin_mindControlSusceptibility += 3>>
<<trackOther "Serin" "MindControlSusceptibility" 3>>
<<set $serin_mindBreakProgress += 1>>
<<trackOther "Serin" "MindBreakProgress" 1>>
<<changeFetish "Serin" "SubmissionFetish" 0.2>>
<<set $soulForgeUnlocked = true>>
<<trackOther "Party" "SoulForgeUnlocked" 1>>
<<continueBox "SoulforgeTutorial" "Continue" "">>
</div>
<</nobr>>
<<pov "nimeria" "default3.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "night">>
<div class="passage-container rylan">
<<narrative "😴 Returning to Sleep 😴">>
<<narrative "Chapter 3 - Night">>
<<narrative "I pause in the hallway, looking toward the faint glow coming from the kitchen. Someone is clearly awake, but after everything that's happened today, I'm not sure I'm ready for another difficult conversation.">>
<<narrative "My guilt about the goblin hunt is still eating at me, but maybe some things are better left alone for tonight. Whoever is up probably wants their privacy, and I should respect that.">>
<<narrative "I turn away from the kitchen light and quietly make my way back to my room. The wooden floor creaks softly under my bare feet, but I manage to avoid making too much noise.">>
<<narrative "Once back in my room, I close the door gently and climb back into bed. The sheets are still warm from where I was lying before, and I pull them up to my chin.">>
<<narrative "Sleep doesn't come easily. My mind keeps cycling through the events of the day - my reckless behavior during the hunt, how I put everyone in danger, the disappointed looks on their faces.">>
<<narrative "I need to do better. Tomorrow, I'll find a way to apologize properly and show them that I can be trusted. But for now, I just need to rest and hope that morning brings clarity.">>
<<narrative "Eventually, exhaustion wins out over my anxious thoughts, and I drift off into an uneasy sleep filled with dreams of goblins and the disappointed faces of those I care about.">>
<<narrative "Sometimes the wisest choice is to let sleeping dogs lie.">>
<<continueBox "NimeriasIntervention" "😴 Sleep until morning" "Time for some much-needed rest.">>
</div>
<</nobr>>
<<pov "rylan" "default3.mp3">><<script>>window.AudioSystem.playBGM('nimeria.mp3');<</script>><<set $currentFace = $currentNimeriaFace>><div class="soulforge-tutorial-container"> <div class="tutorial-header"><div class="forge-icon-animation">🔮</div><h1 class="tutorial-title">✨ SOUL FORGE UNLOCKED ✨</h1><p class="tutorial-subtitle">The power to reshape destiny itself</p></div><div class="tutorial-content"> <div class="intro-section"> <div class="nimeria-explanation">
<img src="images/nimeria/facesmile.webp" class="tutorial-portrait"> <div class="explanation-text"> <span class="dialog-nimeria">"Magnificent! With this laboratory, I can now directly manipulate the very essence of souls - both divine blessings and dark corruption. Think of it as spiritual alchemy at its finest."</span></div></div></div> <div class="system-explanation"> <h2>🔥 How the Soul Forge Works</h2> <div class="feature-grid"> <div class="feature-card reroll-card"> <div class="feature-icon">🎲</div> <h3>Soul Reforging</h3> <p>Reroll any soul effect for <span class="cost-highlight">10 Gold</span></p> <p class="feature-detail">Randomly replace an unwanted blessing or corruption with a new one of the same type</p></div> <div class="feature-card remove-card"> <div class="feature-icon">❌</div> <h3>Soul Purification</h3> <p>Remove any soul effect for <span class="cost-highlight">50 Gold</span></p> <p class="feature-detail">Completely eliminate a blessing or corruption from the character's soul</p></div> <div class="feature-card view-card"> <div class="feature-icon">👁️</div> <h3>Soul Analysis</h3> <p>View all character soul effects <span class="cost-highlight">Free</span></p> <p class="feature-detail">Examine everyone's current blessings and corruptions in detail</p></div></div></div> <div class="strategic-info"> <h2>⚔️ Strategic Considerations</h2> <div class="strategy-grid"> <div class="strategy-card blessing-strategy"> <h4>✨ Divine Blessings</h4> <ul> <li>Provide resistance to corruption and fetishes</li> <li>Enhance positive relationship gains</li> <li>Generally protective in nature</li> <li>May conflict with corruption-based content</li></ul></div> <div class="strategy-card corruption-strategy"> <h4>🌑 Dark Corruption</h4> <ul> <li>Enhance fetish development and sexual content</li> <li>Make characters more susceptible to influence</li> <li>Provide unique interaction opportunities</li> <li>Create interesting character dynamics</li></ul></div></div></div> <div class="access-info"> <h2>🗝️ Accessing the Soul Forge</h2> <div class="access-grid"> <div class="access-card"> <div class="access-icon">🧭</div> <p>Available through the <strong>Soul Forge</strong> option in the main menu</p></div> <div class="access-card"> <div class="access-icon">💰</div> <p>Requires sufficient gold - plan your spiritual investments wisely</p></div> <div class="access-card"> <div class="access-icon">⚗️</div> <p>Only accessible after this laboratory is established</p></div> <div class="access-card sidebar-info"> <div class="access-icon">📱</div> <p><strong>Location:</strong> Find the Soul-Forge under "Tools & Diaries" (left sidebar) in the 'tools' tab</p> <div class="sidebar-screenshot">
<img src="images/items/facesoulforgemenu.webp" style="width: 150px;" alt="Soul Forge in Sidebar" class="menu-screenshot"> </div></div></div></div> <div class="warning-section"> <div class="warning-header">⚠️ Important Warnings ⚠️</div> <div class="warning-content"> <p><strong>Rerolling is Random:</strong> You cannot choose what you get when reforging a soul effect</p> <p><strong>Effects are Permanent:</strong> Once removed, a soul effect cannot be restored without gaining it again</p> <p><strong>Strategic Planning:</strong> Consider how each character's soul path affects their story development</p> <p><strong>Cost Management:</strong> Save gold for important changes - some effects are more valuable than others</p></div></div> <div class="nimeria-closing"> <div class="closing-explanation">
<img src="images/nimeria/face.webp" class="tutorial-portrait"> <div class="explanation-text"> <span class="dialog-nimeria">"Remember, the soul is the foundation of everything - personality, desires, resistance, attraction. With the Soul Forge, you hold the power to sculpt the very essence of those around you. Use it wisely... or don't. I find chaos equally entertaining."</span></div></div></div></div> <div class="tutorial-navigation"> <div class="nav-buttons">
<div class="continue-button">[[Continue with the story|Chapter3NightActivity]]</div></div></div></div>
<style>
.soulforge-tutorial-container {
min-height: 100vh;
background: linear-gradient(135deg, rgba(75, 0, 130, 0.3) 0%, rgba(25, 25, 112, 0.4) 50%, rgba(0, 0, 0, 0.8) 100%);
padding: 20px;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
color: #e0e0e0;
position: relative;
}
.tutorial-header {
text-align: center;
margin-bottom: 40px;
}
.forge-icon-animation {
font-size: 4em;
margin-bottom: 20px;
color: #dda0dd;
text-shadow: 0 0 20px rgba(138, 43, 226, 0.6);
}
.tutorial-title {
font-size: 3em;
margin: 0;
color: #ba55d3;
text-shadow: 0 0 20px rgba(186, 85, 211, 0.5);
}
.tutorial-subtitle {
font-size: 1.2em;
margin: 10px 0 0 0;
opacity: 0.9;
font-style: italic;
color: #dda0dd;
}
.tutorial-content {
max-width: 1200px;
margin: 0 auto;
}
.intro-section, .nimeria-closing {
background: rgba(25, 25, 50, 0.8);
border-radius: 20px;
padding: 30px;
margin-bottom: 30px;
border: 2px solid rgba(138, 43, 226, 0.3);
}
.nimeria-explanation, .closing-explanation {
display: flex;
align-items: center;
gap: 20px;
}
.tutorial-portrait {
width: 100px;
height: 100px;
border-radius: 50%;
border: 3px solid rgba(221, 160, 221, 0.5);
box-shadow: 0 0 20px rgba(221, 160, 221, 0.3);
}
.explanation-text {
flex: 1;
font-size: 1.1em;
line-height: 1.5;
}
.system-explanation, .strategic-info {
background: rgba(25, 25, 50, 0.6);
border-radius: 15px;
padding: 30px;
margin-bottom: 30px;
border: 1px solid rgba(138, 43, 226, 0.2);
}
.system-explanation h2, .strategic-info h2, .access-info h2 {
color: #ba55d3;
text-align: center;
margin-bottom: 25px;
font-size: 1.8em;
text-shadow: 0 0 10px rgba(186, 85, 211, 0.5);
}
.feature-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 20px;
margin-bottom: 20px;
}
.feature-card {
background: rgba(40, 40, 80, 0.8);
border-radius: 15px;
padding: 25px;
text-align: center;
transition: background 0.2s ease;
border: 2px solid transparent;
}
.reroll-card { border-color: rgba(255, 165, 0, 0.5); }
.reroll-card:hover { background: rgba(50, 45, 30, 0.9); }
.remove-card { border-color: rgba(220, 20, 60, 0.5); }
.remove-card:hover { background: rgba(50, 30, 35, 0.9); }
.view-card { border-color: rgba(100, 149, 237, 0.5); }
.view-card:hover { background: rgba(40, 45, 60, 0.9); }
.feature-icon {
font-size: 2.5em;
margin-bottom: 15px;
}
.feature-card h3 {
color: #fff;
margin-bottom: 10px;
font-size: 1.3em;
}
.cost-highlight {
color: #ffd700;
font-weight: bold;
text-shadow: 0 0 5px rgba(255, 215, 0, 0.5);
}
.feature-detail {
font-size: 0.9em;
opacity: 0.8;
margin-top: 10px;
font-style: italic;
}
.strategy-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: 20px;
}
.strategy-card {
background: rgba(40, 40, 80, 0.6);
border-radius: 12px;
padding: 20px;
border-left: 4px solid;
}
.blessing-strategy { border-left-color: #ffd700; }
.corruption-strategy { border-left-color: #dc143c; }
.strategy-card h4 {
margin-bottom: 15px;
font-size: 1.2em;
}
.strategy-card ul {
list-style: none;
padding: 0;
}
.strategy-card li {
padding: 5px 0;
padding-left: 20px;
position: relative;
}
.strategy-card li::before {
content: '▸';
position: absolute;
left: 0;
color: #ba55d3;
}
.access-info {
background: rgba(25, 25, 50, 0.6);
border-radius: 15px;
padding: 30px;
margin-bottom: 30px;
border: 1px solid rgba(138, 43, 226, 0.2);
}
.access-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 15px;
}
.access-card {
background: rgba(40, 40, 80, 0.6);
border-radius: 10px;
padding: 20px;
text-align: center;
border: 1px solid rgba(138, 43, 226, 0.3);
}
.access-icon {
font-size: 2em;
margin-bottom: 10px;
color: #ba55d3;
}
.sidebar-screenshot {
margin-top: 15px;
text-align: center;
}
.menu-screenshot {
max-width: 60%;
width: 400px;
height: auto;
border-radius: 8px;
border: 2px solid rgba(138, 43, 226, 0.5);
box-shadow: 0 0 15px rgba(138, 43, 226, 0.3);
}
.warning-section {
background: linear-gradient(135deg, rgba(139, 0, 0, 0.2), rgba(75, 0, 0, 0.3));
border-radius: 15px;
padding: 25px;
margin-bottom: 30px;
border: 2px solid rgba(220, 20, 60, 0.4);
}
.warning-header {
text-align: center;
font-size: 1.5em;
color: #ff6b6b;
font-weight: bold;
margin-bottom: 20px;
text-shadow: 0 0 10px rgba(255, 107, 107, 0.5);
}
.warning-content p {
margin-bottom: 10px;
padding-left: 20px;
position: relative;
}
.warning-content p::before {
content: '⚠️';
position: absolute;
left: 0;
}
.tutorial-navigation {
text-align: center;
margin-top: 40px;
}
.nav-buttons {
display: flex;
justify-content: center;
gap: 30px;
flex-wrap: wrap;
}
.forge-access-button, .continue-button {
padding: 15px 30px;
border-radius: 25px;
text-decoration: none;
font-weight: bold;
font-size: 1.1em;
transition: background 0.2s ease;
border: 2px solid;
}
.forge-access-button {
background: rgba(138, 43, 226, 0.3);
border-color: rgba(138, 43, 226, 0.6);
color: #dda0dd;
}
.forge-access-button:hover {
background: rgba(138, 43, 226, 0.5);
}
.continue-button {
background: rgba(100, 149, 237, 0.3);
border-color: rgba(100, 149, 237, 0.6);
color: #87ceeb;
}
.continue-button:hover {
background: rgba(100, 149, 237, 0.5);
}
@media (max-width: 768px) {
.feature-grid, .strategy-grid, .access-grid {
grid-template-columns: 1fr;
}
.nimeria-explanation, .closing-explanation {
flex-direction: column;
text-align: center;
}
.nav-buttons {
flex-direction: column;
align-items: center;
}
.tutorial-title {
font-size: 2em;
}
}
</style>
<<statSummary>>
<<changeFace $currentNimeriaFace>><<nobr>>
<<if $rylanxserincontent === undefined>><<set $rylanxserincontent = false>><</if>><<if $rylanxserincontent>><<changeFetish "Rylan" "ArmpitFetish" 2.0>><</if>>
<<set $timeOfDay = "afternoon">><<set $currentFace = $currentMarielFace>><<if $mariel_NTREvent1 || $mariel_NTREvent2 || $mariel_NTREvent3 || $mariel_CumAddiction > 0>><<set $NTRMarielxSeryk = true>><<else>><<set $NTRMarielxSeryk = false>><</if>>
<<stopLoopingSounds>>
<div class="passage-container mariel">
<<narrative "The afternoon sun streams through our bedroom window as I sit at my small writing desk, but the warmth does nothing to chase away the chill that's been settling in my bones lately. $humanName and the others are out on their training, leaving the house unusually quiet.">>
<<narrative "A knock at the door interrupts my melancholy. The mail carrier hands me a letter bearing the royal seal - from Thalor. My heart immediately tightens with dread. Letters from him have become increasingly rare and increasingly harsh.">>
<div style="background: rgba(139, 69, 19, 0.3); border-left: 4px solid #8b4513; padding: 20px; margin: 20px 0; font-family: serif; font-style: italic; color: #f5deb3;">
<h4 style="color: #d4af37; margin-bottom: 15px;">Letter from Thalor</h4>
To Mariel,
What in the abyss is wrong with you?
How many times do I have to say it? Stop asking me about that day. I will not write about it again, and I certainly won't pretend it didn't happen. I killed everyone in that throne room-yes, everyone. Including the children. Don't make me spell it out again. I did it for you. For <<print $humanName>>. Do you think I walked out of there smiling? Do you think I sleep peacefully?
You keep clinging to shadows, ghosts that aren't there. So what if one of them had black hair? Or blue skin? Don't twist it into something it wasn't. I saw what I saw.
I did what had to be done.
And now you're telling me you took in two demons? Are you out of your mind? After everything? I don't care what story they told you. I don't care if they begged on bleeding knees. I don't want them there when I return. Do you understand me? I don't want to see them.
You know how Gairos is. You know. And still, you test this line like a child playing with fire.
As for more pressing matters-
We received a report just days ago: Mistfen Reach is gone. Burned to ash. Plundered. Massacred. Bandits, they say, but all signs point to them being hired by some corrupt nobles. You remember-Gairos had family there. Had. No survivors.
I'm still stuck here in the capital, but I'll be heading out soon to meet with Gairos. We'll investigate it ourselves.
Keep your head down, Mariel. And keep them out of sight.
-Thalor</div>
<<narrative "The letter slips from my trembling fingers as tears begin to blur my vision.">>
<<dialog "Mariel" "face" "Blue skin... black hair...">>
<<narrative "The words echo in my mind as I think of Seryk and Nimeria. Could it be possible? Could they be...? No, that's impossible. Those children died long ago. I saw the bodies myself before Thalor forced me to leave.">>
<<narrative "But the doubt gnaws at me. What if some survived? What if Thalor... what if he didn't kill them all?">>
<<dialog "Mariel" "facesad" "Oh gods, what have I done?" "I whisper, my voice breaking as the full weight of Thalor's anger crashes over me">>
<<narrative "He's right to be furious. After everything we went through, after the nightmares that still plague him, I welcomed demons into our home.">>
<<narrative "But they seem so kind, so gentle. Seryk's caring nature, the way he protects Nimeria... it's hard to reconcile with the monsters from our past.">>
<<if $NTRMarielxSeryk>>
<<changeLust "Mariel" 4>>
<<narrative "And yet... I can't deny the feelings that have been growing within me.">>
<<narrative "The way my body responds to Seryk's presence, the dreams that have been haunting my nights since he arrived... The memory of that night in the bathroom floods back - the intoxicating scent, the overwhelming desire, the way I lost all control. Even now, thinking about it makes my cheeks burn with shame and arousal.">>
<<changeLust "Mariel" 6>>
<<else>>
<<narrative "Perhaps they truly are different from the demons we once fought. Perhaps Thalor's fears are unfounded, born from old trauma rather than present reality.">>
<</if>>
<<narrative "I bury my face in my hands and sob, overwhelmed by guilt, confusion, and a desire I don't understand and can't control.">>
<<if $NTRMarielxSeryk>>
<<narrative "The sound of my crying must have carried through the house, because suddenly I hear heavy footsteps approaching. Before I can compose myself, Seryk appears in the doorway, his expression immediately shifting to one of concern.">>
<<dialog "Seryk" "faceworried" "Sunflower? What's wrong?" "His voice is gentle, filled with genuine worry as he steps into the room">>
<<narrative "I try to wipe my tears, but they keep flowing.">>
<<dialog "Mariel" "facesad" "I... I did something really wrong in the past. Something terrible.">>
<<dialog "Seryk" "face" "Hey, it's fine." "He approaches slowly, his massive frame somehow managing to seem non-threatening" "We all make mistakes. Whatever it is, it doesn't define who you are now.">>
<<narrative "Without hesitation, he reaches out and gently wipes a tear from my cheek with his thumb, just like that night in the kitchen. The contact sends an immediate jolt through my body.">>
<<changeLust "Mariel" 8>>
<<changeAffection "Mariel" "Seryk" 5>>
<<dialog "Seryk" "face" "Come here." "He opens his arms, and before I can think, I step into his embrace">>
<<narrative "His arms wrap around me, strong and protective, and for a moment I feel safe. His scent surrounds me - that same masculine, intoxicating aroma that has been haunting my dreams.">>
<<changeFetish "Mariel" "SmellFetish" 0.2>>
<<changeLust "Mariel" 6>>
<<changeAffection "Seryk" "Mariel" 5>>
<<changeAttraction "Seryk" "Mariel" 3>>
<<narrative "At first, it's just comfort. Just two people sharing a moment of human connection. But then...">>
<<if $mariel_CumNeed >= 50>>
<<changeLust "Mariel" 10>>
<<narrative "The scent hits me full force and my body betrays me instantly. I can't help but inhale deeper, breathing in his warm, musky smell. My knees go weak as arousal floods through me like a tidal wave.">>
<center><img src="images/mariel/stage2/pantieswet.webp" style="width: 200px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Mariel" "facewet" "Oh..." "I gasp softly, my hands pressing against his broad chest as heat pools between my legs">>
<<narrative "Without conscious thought, my thighs begin to rub together, seeking any friction to ease the sudden, overwhelming need. The movement presses me closer against him, and I feel the hard planes of his body against mine.">>
<<narrative "My hips shift forward slightly, almost involuntarily, and I feel something firm press against my lower abdomen. Seryk's breathing becomes heavier, and I realize with shock that he's becoming aroused too.">>
<<narrative "The bulge against me grows harder, and the knowledge that I'm affecting him this way sends another wave of desire through my already overheated body.">>
<<changeLust "Mariel" 12>>
<<changeLust "Seryk" 15>>
<<narrative "The reality of what's happening suddenly crashes over me. I'm pressed against another man, aroused beyond reason, while my husband is away serving the kingdom.">>
<<dialog "Mariel" "facewet" "I... I..." "I stammer, stepping back quickly, my face burning with shame and desire">>
<<dialog "Seryk" "facewet" "Sorry, excuse me." "Seryk's voice is strained, his own face flushed as he turns and hurries toward his room">>
<<narrative "I stand there trembling, my body still thrumming with need, watching him go. After a few minutes of trying to compose myself, curiosity and desire override my better judgment, and I find myself following quietly down the hallway.">>
<<narrative "As I approach his door, I hear it - low, masculine moans coming from within. My heart pounds as I realize what he's doing.">>
<<narrative "Slowly, carefully, I push the door open just a crack and peer inside.">>
<center><img src="images/seryk/chapter3/afternoonmarielntr/serykmasturbate1.webp" style="width: 500px; border-radius: 10px; margin: 15px auto; display: block;"></center>
<<narrative "The sight that greets me steals my breath away. Seryk sits on the edge of his bed, his hand working furiously over his massive, erect member. His blue skin glistens with sweat, and his head is thrown back in pleasure as he strokes himself with desperate need.">>
<<dialog "Seryk" "facewet" "Fuck... Mariel..." "he groans softly, and hearing my name fall from his lips in such a context makes my knees buckle">>
<<changeLust "Mariel" 15>>
<<changeFetish "Mariel" "VoyeurismFetish" 0.3>>
<<narrative "I should leave. I should run back to my room and pretend this never happened. But I can't tear my eyes away from the magnificent sight of his arousal, the way his powerful body moves as he pleasures himself while thinking of me.">>
<center><img src="images/seryk/chapter3/afternoonmarielntr/serykmasturbate2.webp" style="width: 500px; border-radius: 10px; margin: 15px auto; display: block;"></center>
<<narrative "Finally, after what feels like an eternity, I force myself to step back and return to my room. But the image is burned into my mind - the size of him, the way he moaned my name, the desperate need in his movements.">>
<<quickSexTrack "voyeurism" "Mariel" "Seryk" 1>>
<<narrative "I try to distract myself, but it's useless. Every time I close my eyes, I see him. My body is still on fire from our embrace, and the memory of watching him only adds fuel to the flames.">>
<<narrative "The heat between my legs is unbearable, but I force myself to try to compose myself. I need to think about what just happened, about what this means for my marriage, for my family.">>
<<narrative "But the images won't leave my mind - his powerful body, the way he moaned my name, the desperate need in his movements.">>
<</if>>
<<else>>
<<narrative "The sound of my crying carries through the house, and soon I hear familiar footsteps approaching. $humanName appears in the doorway, his face immediately creasing with concern when he sees my tears.">>
<<dialog "Rylan" "faceworried" "$marielToHuman? What's wrong?" "His voice is gentle but worried as he enters the room">>
<<dialog "Mariel" "facesad" "Oh, $humanName... I received a letter from your $humanToThalor. He's so angry with me.">>
<<narrative "Without hesitation, $humanName crosses the room and wraps his arms around me in a comforting embrace. His familiar warmth helps ease some of the pain in my heart.">>
<<dialog "Rylan" "face" "Whatever it is, we'll figure it out together. You know that, right?">>
<<narrative "I lean into his embrace, grateful for his steady presence in my life. Even though he's grown into a strong young man, he still has that same gentle heart that made me want to protect him all those years ago.">>
<<changeAffection "Mariel" "Rylan" 7>>
<<changeLust "Mariel" 2>>
<<dialog "Mariel" "facesad" "He doesn't want Seryk and Nimeria here when he returns. I... I thought they might be connected to our past somehow, but he insists he killed everyone that day. He just can't bear to live with demons again, and he's terrified of what Gairos might do if he finds out we're harboring them.">>
<<dialog "Rylan" "face" "Gairos... he really hates demons that much?">>
<<dialog "Mariel" "facesad" "More than you can imagine. And Thalor... the trauma from that day still haunts him. I understand his anger, even if it breaks my heart.">>
<<narrative "We hold each other in comfortable silence, and gradually my tears begin to subside. Whatever challenges lie ahead, at least I know I'm not facing them alone.">>
<</if>>
<<if $NTRMarielxSeryk>>
<<continueBox "Chapter3Morning" "Continue" "">>
<<else>>
<<continueBox "NimeriasLaboratory" "Continue" "">>
<</if>>
<<if !$characterStages>>
<<set $characterStages = {
mariel: 1,
liora: 1,
serin: 1,
rylan: 1,
seryk: 1,
nimeria: 1,
thalor: 1
}>>
<</if>>
<<setCharacterStage "mariel" 2>>
<<soulDisplay "mariel">>
</div>
<</nobr>>
<<pov "mariel" "marielinbedroom.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "🗺️ Strategy Planning 🗺️">>
<<narrative "Chapter 3 - Preparing for the Blightwood">>
<<narrative "We find a quiet corner of the guild hall, away from the lingering stares and whispers. Elena has provided us with a basic map of the Blightwood area, and we spread it out on a small table.">>
<center><img src="images/landscapes/blightwoodmap.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The map shows the Blightwood as a dark, twisted forest with several marked paths and what appear to be ruins deeper within.">>
<<dialog "Rylan" "face" "Alright, let's think this through. Elena mentioned the poisonous atmosphere will slowly drain our health, but with Liora's healing abilities, that shouldn't be a major concern.">>
<<dialog "Serin" "face" "True, but we should still be careful about our positioning. If the monsters are weak but the environment is dangerous, we want to end fights quickly.">>
<<dialog "Seryk" "face" "I can handle the front line with $humanName. My resistance to toxins should help, and I can draw most of the aggression.">>
<<dialog "Rylan" "face" "The main advantage we have is Liora's mana regeneration. She should be able to keep us all healthy throughout the mission without any problems. Her natural mana recovery is excellent.">>
<<if $serykxliorantr === true || $serykxliorantr === "stage1">>
<<dialog "Liora" "faceembarrassedshortpink" "R-right... I should be able to... keep everyone healthy...">>
<<narrative "There's something hesitant in her voice that makes me look at her more closely. She's avoiding eye contact, and her hands seem to tremble slightly.">>
<<dialog "Nimeria" "face" "Are you feeling alright, Liora? You seem... uncertain about something.">>
<<dialog "Liora" "faceshortpink" "I'm fine! I just... want to make sure we're all prepared for any complications.">>
<<else>>
<<dialog "Liora" "faceshortpink" "That's right! I've been practicing my healing techniques, and my mana flows smoothly. I should be able to keep everyone at full health throughout the mission.">>
<<narrative "Her confidence is reassuring. I can see the gentle golden glow around her hands as she unconsciously channels a small amount of healing energy.">>
<</if>>
<<dialog "Serin" "face" "So our formation should be Seryk and $humanName up front, me providing mobile support, and Liora and Nimeria staying protected in the rear?">>
<<dialog "Nimeria" "face" "I can contribute more than you might think. I may not have magic, but I have extensive knowledge about monsters and their weaknesses that could help in tricky situations.">>
<<dialog "Rylan" "face" "Good to know. What about this 'Effnain' that Elena mentioned? A talking goblin sounds... unusual.">>
<<dialog "Seryk" "face" "I've never heard of a talking goblin before. That's... completely unheard of. If it's real, something very unusual must be happening in that forest.">>
<<dialog "Nimeria" "facethinking" "If we do encounter this 'Effnain,' we should try talking first. Intelligence means potential for negotiation, and we might learn something useful about what's happening in the forest.">>
<<dialog "Serin" "face" "Agreed, but we stay ready for combat. Smart goblins can be more dangerous than regular ones.">>
<<dialog "Rylan" "face" "What about the poisonous atmosphere? Besides Liora's healing, do we have any other countermeasures?">>
<<dialog "Nimeria" "face" "I mentioned my poison resistance earlier. I've built up immunity to most toxins, so I should be less affected than the rest of you.">>
<<dialog "Seryk" "face" "My demon constitution helps too. I can probably last longer in the toxic environment than most humans.">>
<<if $serykxliorantr === true || $serykxliorantr === "stage1">>
<<dialog "Liora" "faceworriedshortpink" "Maybe... maybe we should bring some healing potions as backup? Just in case...">>
<<narrative "Her suggestion surprises me. Liora has always been confident in her healing abilities before. Why is she suddenly worried about backup?">>
<<else>>
<<dialog "Liora" "faceshortpink" "With my healing and everyone's natural resistances, we should be well-prepared. I'll make sure to monitor everyone's condition constantly.">>
<</if>>
<<dialog "Rylan" "face" "Alright, here's our plan: We move in formation with Seryk and me in front, Serin providing mobile support, and Liora and Nimeria in the rear. We prioritize quick, efficient combat to minimize exposure to the toxic environment.">>
<<dialog "Serin" "face" "If we encounter the talking goblin, we try diplomacy first, but stay ready for combat. And if anyone starts feeling seriously affected by the poison, we retreat immediately.">>
<<dialog "Nimeria" "face" "Sounds like a solid plan. I'll keep an eye out for any unusual patterns or signs that might explain the blight or the intelligent goblin.">>
<<dialog "Seryk" "face" "Then let's get moving. The sooner we start, the sooner we can complete this mission and get back to fresh air.">>
<<narrative "With our strategy decided, we gather our equipment and prepare to head out. Everyone seems confident about the mission, though I notice Liora still looks somewhat uncertain.">>
<<if $serykxliorantr === true || $serykxliorantr === "stage1">>
<<changeLust "Liora" 3>>
<<changeAffection "Rylan" "Liora" 1>>
<<else>>
<<changeAffection "Rylan" "Liora" 2>>
<<changeAffection "Liora" "Rylan" 1>>
<</if>>
<<changeAffection "Nimeria" "Liora" 2>>
<<changeAffection "Seryk" "Nimeria" 1>>
<<changeCombatStat $humanName "technique" 1>>
<<changeCombatStat "Serin" "agility" 1>>
<<continueBox "BlightwoodJourney" "Head to the Blightwood with the decided strategy" "">>
</div>
<</nobr>>
<<pov "rylan" "default3.mp3">><<nobr>>
<<script>>window.AudioSystem.playBGM('contemplation.mp3');<</script>><div style="background: linear-gradient(135deg, rgba(135, 206, 235, 0.95) 0%, rgba(144, 238, 144, 0.98) 50%, rgba(255, 182, 193, 0.95) 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden;"><div style="position: relative; z-index: 2; text-align: center; max-width: 600px; padding: 40px;"><div id="transition-text-1" style="opacity: 0; transition: opacity 1s ease-in-out; color: #4682B4; font-size: 2em; margin-bottom: 30px; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
🌅 Returning to the Present 🌅
</div><div id="transition-text-2" style="opacity: 0; transition: opacity 1s ease-in-out; color: #20B2AA; font-size: 1.2em; margin-bottom: 30px; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">
The memories fade as the afternoon light streams through the windows...
</div><div id="transition-text-3" style="opacity: 0; transition: opacity 1s ease-in-out; color: #32CD32; font-size: 1.3em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
Two souls who found each other in darkness, now preparing for whatever comes next...</div><div id="continue-link" style="opacity: 0; margin-top: 40px;">
<span style="color: #FFB6C1; font-size: 1.1em; cursor: pointer; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">[[Continue|NimeriaShoppingDate]]</span></div></div></div>
<</nobr>>
<<script>>
setTimeout(function() {
document.getElementById('transition-text-1').style.opacity = '1';
}, 100);
setTimeout(function() {
document.getElementById('transition-text-2').style.opacity = '1';
}, 1500);
setTimeout(function() {
document.getElementById('transition-text-3').style.opacity = '1';
}, 3000);
setTimeout(function() {
document.getElementById('continue-link').style.opacity = '1';
}, 4000);
<</script>><<set $currentFace = $currentNimeriaFace>><<statSummary>><<nobr>>
<div class="passage-container mira">
<center><img src="images/mira/portrait.webp" style="width: 600px; border-radius: 15px; border: 3px solid rgba(255,255,255,0.4); margin: 30px 0; box-shadow: 0 10px 30px rgba(0,0,0,0.5);"></center>
<!--<<continueBox "Credits" "End of Chapter 4..." "">>-->
<<continueBox "Chapter5Transition" "End of Chapter 4..." "">>
</div>
<</nobr>>
<<pov "mira" "mirasfirstsong.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "🔥 EXPLOSIVE CONFRONTATION 🔥">>
<<narrative "In an instant, everything changes. Magical energy erupts around Gairos like a volcanic explosion, crackling and swirling with terrifying intensity. The very air seems to ignite as raw power radiates from his imposing form.">>
<<narrative "The aura surrounding him feels absolutely suffocating, like being trapped in a furnace. The magical pressure is so intense that I can't even draw breath properly. My entire body locks up-every muscle refusing to obey my commands.">>
<<thought "Rylan" "faceshocked" "I can't move... I can't even breathe! This power-it's beyond anything I've ever felt. Is this what real magic looks like?">>
<<narrative "In a split second-faster than thought itself-a massive fireball materializes in Gairos's left hand. No incantation, no casting time, no preparation. The sphere of flame radiates such tremendous heat that I can feel my skin beginning to burn from twenty feet away.">>
<center><img src="images/story/chapter4/gairosfight/gairoscastfireball.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<thought "Rylan" "faceshocked" "How is this possible? Magic that powerful should require lengthy casting, complex rituals, enormous mana reserves! But he just-">>
<<narrative "I don't get time to think. I don't even get time to process what's happening. Suddenly, $humanToThalor's massive hands slam into my shoulders, dragging me down to the ground with bone-jarring force.">>
<<dialog "Thalor" "faceworried" "GET DOWN!">>
<<narrative "From my position flat against the ground, I watch in absolute terror as the fireball streaks through the air where my head had been just a moment before. The heat alone is enough to singe my hair as it passes overhead.">>
<<narrative "I hear the thunderous crash as the fireball impacts something hard in the distance, followed by the distinctive sound of magical energy splitting and fragmenting. From my ground-level perspective, I watch in horror as one blazing piece of the shattered fireball streaks past, tearing through our solid stone fence as if it were made of soft butter.">>
<center><img src="images/story/chapter4/gairosfight/stonefence.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<thought "Rylan" "faceshocked" "That fence... it's three feet thick, reinforced with iron bars, built to last centuries. And he just... vaporized it. If $humanToThalor hadn't pulled me down...">>
<<narrative "Chunks of molten stone rain down around us, still glowing with residual magical heat. The acrid smell of vaporized rock fills the air, mixed with the sharp ozone scent of unleashed magic. In the sudden silence that follows, I can hear the terrified gasps of Liora and Serin somewhere behind us.">>
<<thought "Rylan" "faceshocked" "That fireball was meant to kill me. If I had been standing there for even a second longer, I would be nothing but ash right now.">>
<<dialog "Rylan" "faceshocked" "What the hell just happened?!">>
<<narrative "Where Seryk and Nimeria were standing just moments ago, there's now nothing but a thick wall of billowing smoke and dust. The magical explosion has created an impenetrable gray cloud that obscures everything beyond the immediate area around our house. I can't see them at all-I can't even tell if they're still there or if they've fled.">>
<<continueBox "POVTransitionToNimeria" "Continue..." "">>
</div>
<</nobr>>
<<pov "rylan" "gairosconfrontation.mp3">><div style="background: linear-gradient(145deg, rgba(75, 0, 130, 0.85), rgba(139, 0, 139, 0.9)); padding: 20px; border-radius: 10px; text-align: center; margin: 20px 0; min-height: 400px; display: flex; flex-direction: column; justify-content: center;">
<<timed 1s>><h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin-bottom: 15px; font-size: 1.8em;">~ Nimeria's Perspective ~</h3><</timed>>
<<timed 3s>><p style="color: #E6E6FA; font-style: italic; margin: 0; font-size: 1.2em;">The world shifts to show what happened through different eyes...</p><</timed>>
<<timed 6s>><<goto "NimeriaWitnessesAttack">><</timed>>
</div><<nobr>>
<div class="passage-container nimeria">
<<narrative "💔 Nimerias Perspective 💔">>
<<narrative "I'm so exhausted from chasing after Seryk that I can barely keep up. My legs feel like lead, my breathing is ragged, and spots dance in front of my eyes. I don't even notice the sudden magical pressure filling the air...">>
<<thought "Nimeria" "facethinking" "Why did he have to run so fast...">>
<<narrative "Then, in an instant, everything changes. Seryk suddenly spins around with that familiar smile on his face-the same protective expression as someone from the past. He leaps in front of me, his massive frame completely blocking my view of whatever lies ahead.">>
<<thought "Nimeria" "facethinking" "That smile... I've seen it before. But who does it remind me of? Someone who protected me when I needed it most...">>
<<dialog "Nimeria" "facethinking" "...Mira?...">>
<<narrative "For a moment, I'm transported back to that throneroom... But then I see it-the orange glow reflecting off Seryk's skin, the intense heat making the air shimmer around us.">>
<center><img src="images/story/chapter4/gairosfight/seryk.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<thought "Nimeria" "faceshocked" "Fire? Behind him? What is-">>
<<narrative "The fireball crashes into Seryk's back with a sickening sound-like meat hitting a hot pan. The impact is so violent that I feel the shockwave ripple through the ground beneath my feet.">>
<<narrative "Everything goes dark for an instant. The magical explosion creates a blinding flash followed by complete blackness. All I can hear are the screams-terrified, agonized sounds coming from behind us. Liora's voice. Serin's voice. $humanName's voice.">>
<<timed 5s>>
<div style="background: linear-gradient(145deg, rgba(139, 0, 0, 0.85), rgba(255, 69, 0, 0.9)); padding: 20px; border-radius: 10px; text-align: center; margin: 20px 0;">
<h3 style="color: #F5DEB3; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin-bottom: 15px;">~ Back to $humanName's Perspective ~</h3>
<p style="color: #FFF8DC; font-style: italic; margin: 0;">The smoke clears, revealing the devastating aftermath...</p></div>
<<continueBox "GairosAftermath" "Continue..." "">>
<</timed>>
</div>
<</nobr>>
<<pov "nimeria" "serykburned.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "💀 THE PRICE OF PROTECTION 💀">>
<<narrative "I struggle to my feet, my ears still ringing from the magical explosion. $humanToThalor's protective grip finally loosens as the immediate danger seems to pass. The thick smoke that had obscured everything is finally beginning to dissipate in the evening breeze.">>
<<narrative "As my vision clears, I see Nimeria. She's kneeling on the ground about thirty feet away, completely motionless except for the trembling of her hands. Her face is pale as death, eyes wide with shock and horror.">>
<center><img src="images/nimeria/faceshocked.webp" style="max-width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "In front of her lies what was once Seryk. I have to fight the urge to vomit as I take in the horrific sight. His back is completely melted away, revealing charred ribs and internal organs. The magical fire has burned so intensely that parts of his spine are visible through the devastation.">>
<<thought "Rylan" "faceshocked" "Oh god... he's still breathing. Somehow, impossibly, he's still alive. But for how long?">>
<<narrative "The sound of rapid footsteps draws my attention as $humanToMariel bursts out of the house, probably drawn by the explosion and screams. The moment she sees Seryk's condition, her training as a former priestess kicks in.">>
<<dialog "Mariel" "faceworried" "Sweet goddess... hold on, Seryk! I'm here!">>
<<narrative "$humanToMariel rushes to Seryk's side, her hands already glowing with healing magic. But even from here, I can see the uncertainty in her movements. How do you heal wounds this severe? Can anyone survive having most of their back burned away?">>
<<narrative "Behind me, I hear Liora's sobbing. She's seen the aftermath now, and the usually composed healer is completely overwhelmed by the carnage. I don't blame her-this is beyond anything we've encountered in our small-scale adventures.">>
<<dialog "Liora" "facesadshortpink" "I... I don't know what to do... This is too much...">>
<<thought "Rylan" "faceshocked" "Neither do I, Liora. Neither do I. This wasn't supposed to happen. We were just coming home from a nice afternoon out, and now...">>
<<narrative "A new sound cuts through the chaos-the distinct crackle of magical energy building again. My blood runs cold as I turn to see Gairos raising his left hand once more. Another fireball is already beginning to form in his palm, this one aimed directly at the group around Seryk.">>
<<thought "Rylan" "faceshocked" "He's going to finish them off. Nimeria, $humanToMariel, and the barely-alive Seryk-they're all in his line of fire!">>
<<dialog "Rylan" "faceshocked" "NO! Stop!">>
<center><img src="images/story/chapter4/gairosfight/gairoscastfireball.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<continueBox "GairosSecondAttack" "The second attack begins..." "">>
</div>
<</nobr>>
<<pov "rylan" "serykburned.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "💀 IMPOSSIBLE POWER 💀">>
<<narrative "Serin's attack landed perfectly. The knife is still buried in Gairos's stomach, and for a moment, hope surges through my chest. We did it! The fireball's violent energy begins to dissipate as his concentration breaks...">>
<center><img src="images/story/chapter4/gairosfight/gairosknife.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<thought "Rylan" "faceshocked" "Finally! Even the legendary Gairos can't cast with a knife through his stomach!">>
<<dialog "Gairos" "facesmile" "...That's all?">>
<<narrative "My blood turns to ice as Gairos calmly reaches down and pulls Serin's knife from his stomach with the same casual motion someone might use to remove a splinter. No pain, no struggle-just mild annoyance.">>
<<narrative "Where the blade had pierced through his robes, I can see the wound-and then I watch in absolute horror as the flesh simply... closes. No healing magic. No incantation. No glowing light. The wound just seals itself as if it never existed.">>
<<thought "Rylan" "faceshocked" "How is that possible?! He's not even casting healing magic!">>
<<dialog "Nimeria" "faceshocked" "It's his passive ability... his wounds will instantly heal. As long as he has mana. And his mana storage is basically unlimited. Even losing an arm won't stop him for long...">>
<<dialog "Thalor" "faceshocked" "He didn't have this power in the past!">>
<<thought "Rylan" "faceshocked" "Wait... when even $humanToThalor doesn't know about this power, how come Nimeria does?">>
<<dialog "Gairos" "facelaugh" "Correct. I told you I'm a lot stronger than before. Even Azgorth wouldn't have a chance against me now. So what do you think you can do?">>
<<narrative "Gairos raises his hand again, magical energy already beginning to swirl around his palm. This time, there's no dramatic buildup-just the promise of instant death.">>
<<dialog "Thalor" "faceworried" "Gairos, stop! The Holy Kingdom!">>
<<narrative "Gairos pauses, his hand still glowing with lethal energy.">>
<<dialog "Gairos" "face" "What do you mean?">>
<<dialog "Thalor" "faceworried" "I will help you conquer them.">>
<<narrative "Gairos considers this for a long moment, his cold eyes scanning our desperate group. Then he looks around at all of us-the wounded, the terrified, the broken.">>
<<dialog "Gairos" "face" "No... I want them all.">>
<<dialog "Thalor" "faceworried" "What do you mean?">>
<<dialog "Gairos" "facesmile" "All five of you..." "His gaze shifts to Seryk's burned form" "If it survives, all six will join me.">>
<<narrative "$humanToThalor looks directly at me, his eyes filled with pain and regret. He closes them for a moment, then whispers so quietly I can barely hear.">>
<<dialog "Thalor" "facesad" "Sorry..." "Then louder" "We agree, Gairos.">>
<<dialog "Gairos" "facesmile" "Fine. Then go ahead.">>
<<narrative "Gairos turns and walks toward our house with casual confidence, as if he owns it already. Which, I suppose, he does now. A sigh of relief escapes my lips-we're alive, at least for now.">>
<<narrative "But then $humanToMariel's voice cuts through the momentary calm.">>
<<dialog "Mariel" "faceangry" "Liora! I need your help!">>
<<narrative "Liora rushes to Seryk's side, but the moment she sees the full extent of his injuries, she freezes. Her face goes pale, her hands begin to shake, and she just... stops.">>
<center><img src="images/liora/faceshock.webp" style="max-width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "The sharp crack of $humanToMariel's hand across Liora's cheek echoes through the yard.">>
<<dialog "Mariel" "faceangry" "A healer can't get shocked by their patient's wounds! Now cast your heal! Focus on the more important parts-his organs, nerves, veins. Ignore his bones, skin, and muscles for now. Only focus on keeping him alive!">>
<<narrative "Nimeria rushes inside the house and returns moments later with an armful of healing potions, her face set with determination. Meanwhile, Serin, $humanToThalor, and I can only watch and pray as the two healers work desperately to save Seryk's life.">>
<<continueBox "KitchenConfrontation" "The fight for Seryk's life begins..." "">>
</div>
<</nobr>>
<<pov "rylan" "gairoscounterattack.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "⚔️ DESPERATE GAMBIT ⚔️">>
<<narrative "The magical energy around Gairos's second fireball is even more intense than the first. The sphere of flame grows larger and more violent, crackling with lethal power as he takes careful aim at the group huddled around Seryk's wounded form.">>
<<narrative "$humanToThalor's voice rings out across the devastated yard, filled with desperate anguish.">>
<<dialog "Thalor" "faceangry" "GAIROS! You'll kill Mariel!">>
<<narrative "For just a moment, Gairos's cold eyes flick toward $humanToThalor. There's something there-a flicker of... hesitation? Recognition? But then his expression hardens again as he turns back to his target, the fireball continuing to grow in his palm.">>
<<dialog "Gairos" "face" "Acceptable losses.">>
<<narrative "Time seems to slow to a crawl as I watch the fireball reach critical mass. The heat from where I'm lying is already unbearable-$humanToMariel, Nimeria, and Seryk will be vaporized instantly.">>
<<thought "Rylan" "faceshocked" "Think fast! What can I do? What can we do? We're facing the strongest person alive! Please, I need power-whatever the cost!">>
<center><img src="images/story/chapter4/gairosfight/gairoscastfireball.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<continueBox "ResonanceActivation" "Continue..." "">>
</div>
<</nobr>>
<<pov "rylan" "serykburned.mp3">>
<style>
@keyframes pulse {
0% { box-shadow: 0 0 30px rgba(255, 215, 0, 0.8); }
50% { box-shadow: 0 0 50px rgba(255, 215, 0, 1); }
100% { box-shadow: 0 0 30px rgba(255, 215, 0, 0.8); }
}
@keyframes glow {
from { text-shadow: 2px 2px 4px rgba(255,255,255,0.8); }
to { text-shadow: 2px 2px 4px rgba(255,255,255,0.8), 0 0 10px rgba(255, 215, 0, 0.8); }
}
</style><<nobr>>
<div class="passage-container rylan">
<<narrative "🏠 KITCHEN TENSIONS 🏠">>
<<narrative "An hour has passed in agonizing uncertainty. Mariel and Liora have been switching shifts every twenty minutes, one healing Seryk while the other rests to recover their mana. Currently, it's Liora's turn to channel her golden healing magic into his broken body, while Mariel sits here with us, her hands still trembling with exhaustion.">>
<<narrative "The kitchen table has become our uncomfortable war council. Nimeria sits on the floor beside us like some discarded doll, while the rest of us occupy the chairs in tense silence. The sight of her forced degradation makes my stomach churn, but with Gairos watching every movement, I dare not protest.">>
<<dialog "Gairos" "face" "Let me make something crystal clear-I'm taking residence here until this Holy Kingdom business is resolved. Consider it a temporary arrangement for your own protection.">>
<<dialog "Mariel" "faceangry" "Protection? You nearly killed us! You can't just waltz in here and-">>
<<dialog "Gairos" "face" "The master bedroom will suit my needs perfectly." "his voice carrying the finality of carved stone, completely dismissing her words">>
<<dialog "Mariel" "faceshock" "That's our bedroom! Where are Thalor and I supposed to sleep?">>
<<dialog "Gairos" "face" "Thalor." "his voice sharp as winter steel" "Control your woman before I lose my patience.">>
<<narrative "$humanToMariel stands up abruptly, her chair scraping against the floor with a harsh sound that cuts through the tension.">>
<<dialog "Mariel" "faceangry" "I won't stand for this degradation in my own home! You nearly murdered our family, destroyed our yard, and now you want to play house with us? What gives you the right?">>
<<dialog "Thalor" "faceworried" "Mariel, please... not now.">>
<<dialog "Mariel" "faceangry" "Don't you 'not now' me! And look what he's done to Nimeria!" "she gestures toward the girl on the floor with trembling fury" "She's family to us, and he's treating her like some animal! Making her sit on the ground while we-">>
<<dialog "Nimeria" "facesmile" "Really, Mariel, I appreciate your concern, but I'm perfectly comfortable here.">>
<center><img src="images/story/chapter4/gairosafter/nimeriafloor.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Mariel" "faceangry" "No, it's NOT fine! None of this is fine!">>
<<dialog "Thalor" "faceangry" "MARIEL! ENOUGH!">>
<<narrative "The sharp crack of Mariel's fist hitting the table echoes through the kitchen before she storms out, leaving us all in stunned silence.">>
<<narrative "We all sit in uncomfortable silence, staring down at the table. Nimeria, forced to sit on the floor like some kind of animal, is the only one who seems completely unbothered, maintaining her usual gentle smile as if nothing has happened.">>
<<dialog "Serin" "faceworried" "Do you think... do you think Seryk will survive this?">>
<<dialog "Gairos" "face" "Survive? Perhaps. But whole? Never." "his voice clinical, detached" "The damage I inflicted goes beyond flesh-nerves, spine, internal organs. Even if your precious healers knit the pieces back together, he'll never be the same. A broken shell of what he was.">>
<<thought "Rylan" "face" "Fury boils inside me, but I force myself to swallow the anger. I have to, to avoid provoking Gairos. But then Nimeria's voice cuts through the silence as if she doesn't have a care in the world.">>
<<dialog "Nimeria" "facesmile" "Actually, I think he'll recover completely.">>
<<dialog "Gairos" "face" "Bold words for a creature sitting on my floor." "his tone shifts from irritation to intrigue" "What makes you so confident when I've just described the extent of the damage?">>
<<dialog "Nimeria" "facesmile" "Call it intuition. But I'm confident enough to wager on it-if you're interested?">>
<<dialog "Gairos" "face" "A wager? Now you have my attention, little demon. What exactly are you proposing?">>
<<dialog "Nimeria" "facesmile" "Just some better treatment. I would really like to learn from the almighty Gairos. Sole conqueror of Azgorth. But honestly this title doesn't even honor your current might. I'm curious how the strongest person alive, who was on par with Azgorth now even doubled... no tripled his strength? And I doubt we even saw what you are really capable of!">>
<<narrative "She pauses, looking almost embarrassed by her own words.">>
<<dialog "Nimeria" "faceembarrassed" "Honestly why aren't you sitting on a throne, you should be worshipped, rather than some fat noble who lets others do their work!... Oh sorry I spoke out of line. I just get sometimes emotional when seeing such might.">>
<<narrative "Gairos sits back, clearly shocked by her words, thinking for a long moment before breaking into laughter.">>
<<dialog "Gairos" "facelaugh" "Hahaha you are really good with words. Why are you sitting on the floor! Thalor how are you treating this poor girl! Come join us on the table!">>
<<narrative "Nimeria gets up and sits at the table.">>
<<dialog "Gairos" "facesmile" "Children and Thalor you could honestly learn from her!">>
<<thought "Rylan" "faceshocked" "I'm shocked. How can she praise the man who might have killed or at least crippled her brother?!">>
<<narrative "But Thalor's expression is even more shocked as he stares at Nimeria. It's like he's seeing something that shouldn't exist.">>
<<dialog "Gairos" "facesmile" "I find myself curious about you. What do they call you, little one?">>
<<dialog "Nimeria" "facesmile" "Nimeria, Master Gairos.">>
<<dialog "Gairos" "facesmile" "Nimeria... I'll remember that name." "his eyes narrow" "But pretty words won't buy my trust. I don't know you or your blue friend yet." "he twirls his finger, magic crackling" "So here's a little insurance-truth compulsion. Lie to me now, and it'll hurt. Let's test it. Tell me you've never been a slave.">>
<<dialog "Nimeria" "facesmile" "I have never been enslav-">>
<<narrative "The lie hits her like a whip. Nimeria screams and convulses in her chair, her usual composure cracking for just a moment.">>
<<dialog "Gairos" "facesmile" "Good. It works.">>
<<narrative "Nimeria sits there sweating, but her smile returns quickly.">>
<<dialog "Gairos" "face" "So how do you feel that I nearly killed your brother?">>
<<dialog "Nimeria" "facesmile" "Honestly? At first I was shocked. But then... overwhelmed by your power! As for Seryk, I don't care much. If he can't survive this, then it's his own fault.">>
<<narrative "Everyone stares at Nimeria in shock. How can she be so cold toward her own brother? And she was never like this before...">>
<<narrative "Gairos waits a bit, but doesn't see any pain in her face, then smiles.">>
<<dialog "Gairos" "facesmile" "Interesting... Regarding Azgorth, I killed him. Not only him but his whole family. Burned all his servants and soldiers and killed most demons I met on my way, even till now. How does that make you feel?">>
<<dialog "Nimeria" "facesmile" "Hmm, let me answer with another question. I'm sure someone of your knowledge even learned about demon mythology?">>
<<dialog "Gairos" "face" "A bit. You know, it's always good to know your enemy.">>
<<dialog "Nimeria" "facehappy" "Exactly! We think alike!">>
<<dialog "Gairos" "face" "raises an eyebrow">>
<<dialog "Nimeria" "facesmile" "Then you might have read about 'the cursed child'?">>
<<narrative "Gairos thinks for a few minutes, as if he's sorting through centuries of memories. Then his eyes widen with recognition.">>
<div style="text-align: center; margin: 40px 0; background: linear-gradient(145deg, rgba(10, 10, 20, 0.98), rgba(30, 20, 40, 0.95)); border: 4px solid rgba(255, 215, 0, 0.8); border-radius: 20px; padding: 40px; box-shadow: 0 0 40px rgba(255, 215, 0, 0.6), inset 0 0 20px rgba(255, 215, 0, 0.2); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at 50% 50%, rgba(255, 215, 0, 0.1) 0%, transparent 70%); pointer-events: none;"></div>
<div style="position: relative; z-index: 2;">
<h3 style="color: #FFD700; text-shadow: 0 0 20px rgba(255, 215, 0, 0.8), 2px 2px 4px rgba(0,0,0,0.9); margin-bottom: 30px; font-size: 2em; font-weight: bold; letter-spacing: 2px; animation: prophecyGlow 3s ease-in-out infinite alternate;">📜 THE PROPHECY OF THE CURSED CHILD 📜</h3>
<div style="color: #F5DEB3; font-style: italic; line-height: 2.2; font-size: 1.2em; text-shadow: 0 0 10px rgba(255, 215, 0, 0.5), 1px 1px 2px rgba(0,0,0,0.8); font-family: 'Times New Roman', serif; letter-spacing: 1px;">
<em style="display: block; margin-bottom: 20px; padding: 20px; background: linear-gradient(145deg, rgba(0, 0, 0, 0.3), rgba(20, 20, 30, 0.4)); border-radius: 10px; border: 1px solid rgba(255, 215, 0, 0.3);">"With hair of midnight, eyes of red,<br>
The child shall wake where stars have bled.<br>
The earth shall whisper, the sky shall scream,<br>
For they are both the curse and dream.<br>
They fall to shadow, they fall to fire,<br>
Yet rise again from ash and pyre.<br>
No blade can keep them, no grave can bind,<br>
Their soul outpaces death and time.</em>
<em style="display: block; margin-bottom: 20px; padding: 20px; background: linear-gradient(145deg, rgba(0, 0, 0, 0.3), rgba(20, 20, 30, 0.4)); border-radius: 10px; border: 1px solid rgba(255, 215, 0, 0.3);">Each death a vow, each wound a flame,<br>
Each tear a key, each scar a name.<br>
Through endless ends their strength will bloom,<br>
From shattered cradle, from silent tomb.</em>
<em style="display: block; margin-bottom: 20px; padding: 20px; background: linear-gradient(145deg, rgba(0, 0, 0, 0.3), rgba(20, 20, 30, 0.4)); border-radius: 10px; border: 1px solid rgba(255, 215, 0, 0.3);">The crown of ages, the throne of bone,<br>
Shall break and bend before the unknown.<br>
Shall they renew what light decays?<br>
Or drown the sun in crimson haze?</em>
<em style="display: block; padding: 20px; background: linear-gradient(145deg, rgba(0, 0, 0, 0.3), rgba(20, 20, 30, 0.4)); border-radius: 10px; border: 1px solid rgba(255, 215, 0, 0.3); font-weight: bold; color: #FFD700;">The black-haired child, with gaze of fire,<br>
Shall build or burn as fate conspire.<br>
Beware the echo, the breath, the call-<br>
For death is nothing. They rise from all."</em></div></div></div>
<<narrative "Everyone sits in shocked silence after hearing the ancient prophecy.">>
<<dialog "Nimeria" "facehappy" "Wow, I knew you're amazing, Master Gairos. Can I call you master? I don't even know anyone remembering the first rhyme...">>
<<dialog "Gairos" "face" "Hahaha, well I learned a few things during my lifetime. Sure, go ahead and call me Master Gairos. At least someone here knows how to respect their betters." "he looks around the table pointedly" "But you haven't answered my question!">>
<<dialog "Nimeria" "facesmile" "Hmm, I didn't?">>
<<dialog "Gairos" "face" "Hmmm, now I get it. Black hair and red eyes...">>
<<dialog "Nimeria" "facesmile" "Exactly! I was ostracized by demons my whole life. Treated worse than a slave! Azgorth and his family? Got what they deserved! The demons? Can burn in hell!">>
<<dialog "Gairos" "facelaugh" "Hahahaha, this is great. Simply amazing. I didn't think I could ever like a demon!">>
<<dialog "Nimeria" "facesmile" "Believe me, if I could change my race, I would rather become a snail...">>
<<thought "Rylan" "faceshocked" "I'm shocked. Is this really the same Nimeria we all know? Who is this, and where is Nimeria?">>
<<dialog "Gairos" "face" "Okay, last question for today. You knew about my passive self-healing ability. I only developed it after my fight with Azgorth. How do you know of it?">>
<<narrative "Thalor wonders too, since even he never knew about this ability.">>
<<dialog "Nimeria" "facesmile" "I read it in one of your books and was simply amazed by the knowledge you wrote down! Of course I remember everything!">>
<<dialog "Gairos" "face" "I never published any of them!">>
<<dialog "Nimeria" "facesmile" "Yes, Seryk and I lived as slaves in Mistfen Reach, but were never treated as such. Thalindra...">>
<<dialog "Gairos" "face" "Thalindra... my niece?">>
<<dialog "Nimeria" "facesmile" "She was always so kind. I learned so much from her... She let me read your books in the library.">>
<<dialog "Gairos" "face" "Hmm. Then you were there during the attack?">>
<<dialog "Nimeria" "facesad" "Seryk and I were getting water. When we came back, the village was already burned down.">>
<<dialog "Gairos" "face" "You know who did it?">>
<<dialog "Nimeria" "faceangry" "I saw one of the attackers' face. It was one of the slave traders who occasionally traded with the village.">>
<<narrative "Nimeria feels the rage building in Gairos.">>
<<dialog "Gairos" "face" "Thanks, Nimeria. You are a smart girl, born in the wrong body... I'll keep my promise. If your brother survives, then you'll get better treatment. If not, I'll send you with him. Though the interrogation isn't over yet. Once your brother awakens, I want to make sure you both didn't have anything to do with the attack!">>
<<dialog "Nimeria" "facesmile" "Fair enough! Can I excuse myself now? I'm beyond exhausted.">>
<<dialog "Rylan" "face" "Nimeria has a weak body...">>
<<dialog "Gairos" "face" "Poor girl... born as a demon... I don't even feel mana in her and she has a weak body... the world can be cruel sometimes... Sure, rest up, Nimeria!">>
<<narrative "Nimeria stands and heads toward the stairs. After she leaves, we all sit in uncomfortable silence.">>
<<thought "Thalor" "faceshocked" "Is that really Gairos? Remembering the name of a girl? Even more so of a demon girl? Treating her with kindness? Thanking a person? Having sympathy? I never feared anyone, sure I respect Gairos's power and know not to provoke him, but that's all. Azgorth was powerful for sure... But did I fear him? Not really. But this girl is wrong on so many levels. If there is a dark god, it's her. Her body so weak she would break like a twig, but showing no fear toward Gairos. Taming him like a puppy. Mariel... who or rather what the hell did you let into our home...">>
<<continueBox "LioraHealingSession" "Continue..." "">>
</div>
<</nobr>>
<<pov "rylan" "kitchenconfrontation.mp3">>
<<script>>
$(document).ready(function() {
setTimeout(function() {
if (window.FloatingEffects && State.variables.serykxliorantr) {
window.FloatingEffects.addEffect('Liora', 'blue', 'images/chibi-models/seryk.webp');
}
}, 500);
});
<</script>>
<style>
@keyframes prophecyGlow {
0% {
text-shadow: 0 0 20px rgba(255, 215, 0, 0.8), 2px 2px 4px rgba(0,0,0,0.9);
color: #FFD700;
}
100% {
text-shadow: 0 0 30px rgba(255, 215, 0, 1), 0 0 40px rgba(255, 215, 0, 0.6), 2px 2px 4px rgba(0,0,0,0.9);
color: #FFF8DC;
}
}
</style><<playLoopingSounds "sounds/hsounds/handjob.mp3" "sounds/hsounds/longmoan.mp3" 1>>
<<set $lioraFutaCurrious = true>>
<<nobr>>
<div class="passage-container liora">
<<narrative "I can't just ignore this. The sensation was so intense, so new... I need to understand what's happening to me. Maybe if I touch it again, I can figure out what this strange feeling is.">>
<<quickRoll "Penis Fascination" "Liora" 80 5 "PenisFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "The sight of this... this male organ on my body is absolutely fascinating. I've never seen one this close before, never been able to study the shape, the texture, the way it responds to touch. It's like having access to a completely foreign part of anatomy that was always mysterious to me.">>
<<changeFetish "Liora" "PenisFetish" 0.3>>
<<changeLust "Liora" 15>>
<<else>>
<<narrative "Even though this is terrifying and confusing, I can't deny the curiosity. I need to understand what's happening to my body, even if it scares me.">>
<<changeFetish "Liora" "PenisFetish" 0.1>>
<<changeLust "Liora" 5>>
<</if>>
<center><img src="images/liora/chapter4/futa/1.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "I sit on the edge of my bed and slowly, carefully reach down to touch the small penis again. This time I'm prepared for the sensation, but it's still overwhelming - like little lightning bolts of pleasure shooting through my entire body.">>
<center><img src="images/liora/chapter4/futa/2.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<dialog "Liora" "faceembarrassedshortpink" "Oh my... this feeling is incredible!" "I can't stop myself from touching it more, wrapping my fingers around the small shaft and moving them gently. Each touch sends waves of pleasure through me that I've never experienced before.">>
<<quickRoll "Masturbation Fascination" "Liora" 80 5 "PenisFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "There's something so... exciting about touching myself this way. The thought that I'm doing something private, something intimate with my own body, makes the sensations even more intense. Is this what self-pleasure really feels like?">>
<<changeFetish "Liora" "PenisFetish" 0.2>>
<<changeLust "Liora" 20>>
<</if>>
<<narrative "Is this how $humanName feels when he touches himself? This amazing, addictive sensation? I understand now why he seemed to enjoy it when I glimpsed him that one time. My breathing becomes faster as I continue exploring.">>
<center><img src="images/liora/chapter4/futa/3.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "I can't stop myself... the sensations are becoming too intense to resist...">>
<<continueBox "LioraContinueTouchingPart2" "Continue exploring" "">>
</div>
<</nobr>>
<<pov "liora" "intimate.mp3">><<run window.AudioSystem.playSFX('orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<nobr>>
<div class="passage-container liora">
<<narrative "I quickly slip out of my pink dress, letting it fall to the floor beside my bed. I need to be completely free to explore these new sensations without any restrictions.">>
<<narrative "I find myself moving my hand faster, unable to stop the rhythmic motions. The pleasure builds and builds, making me gasp and bite my lip to stay quiet. I don't want anyone to hear me, but this feeling is so intense I can barely control myself.">>
<center><img src="images/liora/chapter4/futa/4.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "Suddenly, I feel something building inside me - like I need to go to the bathroom, but different somehow. The pressure is growing stronger and stronger, and I can't stop touching myself even though part of me knows I should.">>
<<dialog "Liora" "faceembarrassedshortpink" "Oh... oh my..." "I whisper breathlessly, my back arching as the sensation becomes overwhelming. I can't stop, can't think, can only feel this incredible building pleasure...">>
<<narrative "And then it happens - my entire body convulses with the most intense pleasure I've ever felt. A small amount of clear fluid shoots out of the tip of my new penis, and waves of ecstasy wash over me so strongly that I have to bite down on my pillow to muffle my cries.">>
<center><img src="images/liora/chapter4/futa/5.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "I lie there panting, my whole body trembling from the aftermath. Wow... so that's how he feels when he reaches his peak. No wonder it seemed so important to him. The sensation was absolutely incredible.">>
<<narrative "That was just the first release... I wonder what would happen if...">>
<<continueBox "LioraContinueTouchingPart3" "Continue recovering" "">>
</div>
<</nobr>>
<<pov "liora" "intimate.mp3">><<playLoopingSounds "sounds/hsounds/handjob.mp3" "sounds/hsounds/longmoan.mp3" 1>>
<<nobr>>
<div class="passage-container liora">
<<narrative "As I catch my breath, I look down at the small penis and think about how much bigger $humanName's must have grown since we were children. He must feel so much more intense pleasure than this... but wait. If my healing magic caused this transformation, could I use it to make this bigger too?">>
<<narrative "The idea is both scary and exciting. If I focus my healing magic while imagining it growing larger, like an adult's... I place my hands over the small organ and concentrate, channeling my magical energy while picturing it becoming bigger, more mature.">>
<<quickRoll "Size Fascination" "Liora" 80 5 "PenisFetish" 4>>
<<if not _tempRollSuccess>>
<<narrative "The thought of making it bigger, more like a mature man's... it's thrilling in a way I don't understand. I wonder what it would feel like to have something that impressive, that powerful attached to my body. The curiosity overwhelms any fear I might have.">>
<<changeFetish "Liora" "PenisFetish" 0.4>>
<<set $liora_sizeFascination = ($liora_sizeFascination || 0) + 0.3>>
<<changeLust "Liora" 25>>
<</if>>
<<narrative "I gasp as I feel it responding to my magic, growing larger and thicker under my hands! Within moments, it's transformed into an adult-sized penis - bigger than I remember $humanName's. The sight of it on my own body is both shocking and incredibly arousing.">>
<center><img src="images/liora/chapter4/futa/6.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<dialog "Liora" "faceembarrassedshortpink" "Oh my goodness... it's so big now!" "I've never seen an adult man's penis this close before, and having one attached to my own body is the most surreal experience imaginable. I tentatively wrap my hand around it, amazed at how it fills my grip.">>
<center><img src="images/liora/chapter4/futa/7.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "The sensations from touching this larger version are even more intense than before. I can't help myself - I need to explore this new feeling, to see what it's like to experience pleasure with an adult-sized organ instead of the small one from before.">>
<center><img src="images/liora/chapter4/futa/8.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "I begin stroking it with both hands, marveling at how different the sensations are. Every touch sends much more powerful waves of pleasure through my body, making me gasp and arch my back. This must be what adult pleasure really feels like!">>
<<quickRoll "Adult Pleasure" "Liora" 80 10 "PenisFetish" 5>>
<<if not _tempRollSuccess>>
<<narrative "This is... this is incredible! Having this adult-sized organ and being able to experience these intense sensations... I understand now why adults seem so fascinated by intimate activities. The power, the pleasure, the complete loss of control - it's intoxicating!">>
<<changeFetish "Liora" "PenisFetish" 0.5>>
<<set $liora_sizeFascination += 0.2>>
<<changeLust "Liora" 30>>
<</if>>
<center><img src="images/liora/chapter4/futa/9.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "I can't hold back much longer... the pleasure is becoming overwhelming...">>
<<continueBox "LioraContinueTouchingPart4" "Continue to climax" "">>
</div>
<</nobr>>
<<pov "liora" "intimate.mp3">><<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<nobr>>
<div class="passage-container liora">
<<thought "Liora" "faceembarrassedshortpink" "The pleasure builds much faster and more intensely than before. I find myself moaning softly despite trying to stay quiet, completely lost in these new sensations. My innocent body is experiencing adult pleasures for the first time, and it's overwhelming in the most wonderful way.">>
<<dialog "Liora" "faceembarrassedshortpink" "Oh... this is... I can't..." "I whisper breathlessly, my movements becoming more urgent as the pressure builds. This orgasm is going to be so much more intense than the first one...">>
<center><img src="images/liora/chapter4/futa/10.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "The climax hits me like a thunderbolt, so much more powerful than before. A substantial amount of white fluid shoots out in several pulses, and I clamp my hand over my mouth to muffle my cries of pleasure. My entire body shakes and convulses with waves of ecstasy that seem to go on forever.">>
<<narrative "I collapse back on my bed, breathing heavily and trembling from the intensity of what I just experienced.">>
<<thought "Liora" "faceembarrassedshortpink" "No wonder adults seem so interested in these activities... if this is what they feel, I understand the appeal completely.">>
<<narrative "As I recover, I stare at the transformed part of my body in amazement. I've discovered something incredible about my healing magic and about myself.">>
<<thought "Liora" "faceembarrassedshortpink" "The question now is... what do I do with this knowledge? And should I tell anyone about what I've learned?">>
<<thought "Liora" "faceembarrassedshortpink" "For now, I'll keep this secret to myself. But the memory of $humanName's kisses combined with these new sensations has awakened something in me that I don't think I can ignore...">>
<<narrative "After a few minutes, I realize I need to clean up and get dressed before someone comes looking for me.">>
<<narrative "I grab some tissues and carefully wipe away the evidence of my exploration, my cheeks burning with embarrassment and excitement.">>
<<narrative "I reach for my pink dress on the floor and slip it back on, the familiar fabric feeling strange against my transformed body. But as I smooth down the dress and look at myself in the mirror...">>
<<narrative "I gasp in surprise. The penis is gone, completely vanished. When I lift my dress to check, my familiar feminine anatomy has returned as if nothing ever happened. The transformation has reversed itself completely.">>
<<narrative "I touch myself gently, confirming that everything is back to normal. My familiar vagina is there, warm and sensitive as always. It's as if the entire experience was just a vivid dream, except for the lingering sensations and the wetness between my legs that proves it really happened.">>
<center><img src="images/liora/chapter4/futa/vagina.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "A complicated mix of emotions washes over me. Relief floods through me, I'm back to normal, back to being myself. No one will ever know what happened.">>
<<narrative "But... there's also an unexpected sadness, a strange sense of loss. Those incredible sensations, that power, that completely different way of experiencing pleasure... it's gone.">>
<<narrative "I sit on the edge of my bed, smoothing my pink dress and trying to process what just happened.">>
<<thought "Liora" "faceembarrassedshortpink" "Will I ever be able to recreate that transformation? Do I even want to? The memory of those intense pleasures will stay with me forever, but for now, I'm grateful to be back in my own familiar body.">>
<<continueBox "MorningActivitiesChapter4" "Return to morning activities" "">>
</div>
<<set $liora_masturbationCount += 2>>
<<set $liora_sexualExperience += 1.2>>
<<set $liora_basicExperience += 0.8>>
<<set $liora_orgasmsReceived += 2>>
<<changeLust "Liora" -100>>
<<addSoulCorruption "liora" 1>>
<<soulDisplay "liora">>
<<trackOther "Liora" "masturbationCount" 2>>
<<trackOther "Liora" "orgasmsReceived" 2>>
<<trackOther "Liora" "PenisFetish" $liora_PenisFetish>>
<<if $liora_sizeFascination>>
<<trackOther "Liora" "sizeFascination" $liora_sizeFascination>>
<</if>>
<</nobr>>
<<pov "liora" "intimate.mp3">><<stopLoopingSounds>>
<<nobr>>
<div class="passage-container liora">
<<narrative "I rush back to my room, my heart pounding and my face burning with embarrassment.">>
<<narrative "What was that thing I saw? And why do I still feel so hot and tingly between my legs?">>
<<narrative "I close my door and lean against it, trying to catch my breath. The strange warm sensation is still there, making me shift uncomfortably.">>
<<narrative "Maybe if I take off these tight clothes, I'll feel better...">>
<<narrative "I carefully remove my pantyhose, peeling them down my legs. The cool air feels good against my heated skin. Then I slip off my panties, and...">>
<center><img src="images/liora/chapter4/futa/discovery.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<dialog "Liora" "faceembarrassedshortpink" "No... no no NO!" "I gasp and stumble backward, my hands flying to my mouth in horror. There, between my legs where there should be... where there has ALWAYS been something completely different... is a small penis. It's about the size I remember $humanName's being when we were very young and took baths together as children.">>
<<narrative "My whole body trembles as I stare at this impossible thing. This can't be real! This has to be some kind of nightmare! What if $humanName sees me like this? What if he thinks I'm some kind of... of freak? He'll be disgusted! He'll never want to be with me!">>
<<narrative "Tears start forming in my eyes as panic sets in. Maybe... maybe if I just pinch myself hard enough, I'll wake up from this terrible dream? Or maybe if I don't look at it, it will just... disappear? Please, please let this just be my imagination!">>
<<narrative "But I can't help myself. Despite my terror, my hand reaches down with trembling fingers to touch it, needing to confirm this horrifying reality.">>
<<narrative "A powerful electric shock runs through my entire body! The sensation is so intense and overwhelming that I pull my hand back with a shocked cry, my heart pounding in my chest.">>
<<narrative "It's... it's real. This impossible thing is actually part of my body now.">>
<<narrative "I collapse onto my bed, my mind reeling with confusion and fear.">>
<<narrative "What am I going to do? How can I face anyone like this? Maybe... maybe I should just hide in my room forever. But that strange sensation when I touched it... despite my terror, there was something else there too. Something that felt... good?">>
<<choiceBox "What should Liora do?" "Continue touching" "LioraContinueTouching" "LioraDiscovery=Continue" "Stop touching and try to ignore it" "LioraStopTouching" "LioraDiscovery=Stop">>
</div>
<</nobr>>
<<pov "liora" "intimate.mp3">><<nobr>>
<div class="passage-container liora">
<<narrative "I pause my healing work, wiping sweat from my brow as I rise from Seryk's bedside. My hands are trembling slightly from the hours of continuous magic use, and I can feel the familiar ache of mana exhaustion settling into my bones.">>
<<dialog "Liora" "faceworried" "Come in, $humanName.">>
<<narrative "The door opens quietly, and $humanName steps inside, his face etched with worry. His eyes immediately move from me to Seryk's still form on the bed, taking in the scene with obvious concern.">>
<<dialog "Rylan" "face" "Liora, are you alright? You've been in here for hours. I was getting worried about you.">>
<<narrative "I manage a tired smile, touched by his concern even as exhaustion weighs heavily on my shoulders. The golden glow around my hands flickers weakly as my mana reserves near their limit.">>
<<dialog "Liora" "face" "I'm... I'm managing. Just tired. Healing magic this intensive takes a lot out of me, especially for injuries this severe.">>
<<dialog "Rylan" "faceworried" "And Seryk? How is he doing? Will he... will he be okay?">>
<<narrative "I glance back at Seryk's unconscious form, my expression growing somber. How do I explain the extent of the damage? The complexity of what Gairos did to him?">>
<<dialog "Liora" "facesadshortpink" "He'll survive, $humanName. That much I can promise you. His body is responding to the healing magic, and his vital signs are stable.">>
<<narrative "I pause, choosing my words carefully. There's no easy way to explain the devastation Gairos inflicted.">>
<<dialog "Liora" "faceworried" "But I can't say whether he'll be the same as before. Gairos didn't just wound him - he systematically destroyed the nerve pathways along Seryk's spine. The bones were shattered, then reformed wrong, and the muscle tissue was... corrupted.">>
<<dialog "Liora" "facesadshortpink" "I've managed to heal the surface wounds and restore basic function, but the deeper damage... it's like trying to rebuild a tapestry that's been unraveled thread by thread. Even if I can repair everything, there might be lasting effects.">>
<<narrative "$humanName's face pales as he absorbs the severity of Seryk's condition. I can see the guilt flickering in his eyes - the weight of feeling responsible for what happened.">>
<<dialog "Rylan" "facesad" "This is all my fault. If I hadn't been so reckless, if I'd listened to everyone's warnings about Gairos...">>
<<dialog "Liora" "face" "No, $humanName. Don't you dare blame yourself for this. Gairos made his choice to hurt Seryk. You couldn't have known he would be so viciously cruel.">>
<<narrative "I reach out and place a gentle hand on his arm, trying to offer what comfort I can despite my own exhaustion.">>
<<dialog "Liora" "face" "Right now, I need to focus on doing everything I can to help him recover. The best thing you can do is trust that I won't give up on him. I promise you that.">>
<<narrative "$humanName nods slowly, though I can see the worry still etched deep in his features. He glances once more at Seryk's unconscious form before looking back at me with gratitude in his eyes.">>
<<dialog "Rylan" "face" "Thank you, Liora. For everything you're doing for him. Just... please don't push yourself too hard. We can't afford to lose you too.">>
<<narrative "After he leaves, I turn back to Seryk with renewed determination. Whatever it takes, I'll find a way to heal him completely. I have to.">>
<<continueBox "POVTransitionToRylanContemplation" "Continue healing..." "">>
</div>
<</nobr>>
<<pov "liora" "kitchenconfrontation.mp3">><div class="passage-container liora">
<<narrative "The soft glow of healing magic illuminates the guest room as I channel my energy into Seryk's battered form. Hours have passed since we moved him here, and while the progress is remarkable, his condition remains critical. His external wounds have closed, the burns faded to mere shadows on his blue skin, but something deeper troubles me.">>
<center><img src="images/story/chapter4/gairosafter/serykbed.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Liora" "face" "His body looks completely healed on the surface, but I can sense the deeper damage. The nerves along his spine, the intricate network of muscles that should respond to his will, they're still severed, still broken. It's miraculous that we've managed to heal him this far. Almost... strangely so.">>
<<narrative "I press my palms against his chest, feeling the steady rhythm of his heartbeat beneath my touch. The golden light flows from my hands, warm and soothing, but I can feel my mana reserves dwindling with each passing moment.">>
<<if $serykxliorantr>>
<<thought "Liora" "faceworried" "But then it happens again, that familiar emptiness as my mana reserves hit their limit. Ever since the goblin attack, when I overloaded my circuits trying to heal myself multiple times, my natural regeneration has been wrong. Damaged. And it's getting worse, not better.">>
<<narrative "I pull my hands back, frustrated tears threatening to spill. How can I help him when my own body betrays me? Before, Seryk had helped me recover by sharing his saliva. The memory makes my cheeks burn, but it had worked so perfectly. But now he's unconscious, unable to help.">>
<<narrative "That's when I notice it, the way the candlelight catches the beads of sweat on his muscular chest. His body is working so hard to heal, generating heat, and his skin glistens with a fine sheen of sweat. My breath catches as a dangerous thought crosses my mind.">>
<center><img src="images/liora/chapter4/ntr/seryksweat.webp" style="max-width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "If his saliva contained the essence I needed, wouldn't his sweat carry the same properties? The thought sends a shiver through me, equal parts shame and anticipation. My eyes trace the droplets rolling down his defined abdomen, pooling in the hollows of his collarbone.">>
<<thought "Liora" "faceembarrassedshortpink" "But should I really? It would mean touching him so intimately while he's defenseless. Using my tongue to... No, I can't think about it like that. This is about healing. About saving his life. Isn't it?">>
<<choiceBox "What should Liora do?" "I have to try... for his sake" "POVTransitionToRylan" "LioraHealingSession=Try" "No, there must be another way" "LioraSeekAlternative" "LioraHealingSession=Alternative">>
<</if>>
<<if not $serykxliorantr>>
<<narrative "I take a deep breath and center myself, drawing upon the training $humanToMariel taught me. Patience, focus, and unwavering determination.">>
<<thought "Liora" "face" "Seryk's life hangs in the balance, and I won't give up on him.">>
<<narrative "I continue channeling my healing magic, the golden light flowing steadily from my palms. Each pulse of energy fights against the damage Gairos inflicted, slowly mending the complex network of nerves and muscle fibers. Time becomes meaningless as I lose myself in the rhythm of healing.">>
<<narrative "Then, a gentle knock at the door breaks my concentration.">>
<<continueBox "LioraDoorInterruption" "Answer the door" "">>
<</if>>
</div>
<<pov "liora" "kitchenconfrontation.mp3">>
<<if $serykxliorantr>>
<<script>>
$(document).ready(function() {
setTimeout(function() {
if (window.FloatingEffects && State.variables.serykxliorantr) {
window.FloatingEffects.addEffect('Liora', 'blue', 'images/chibi-models/seryk.webp');
}
}, 500);
});
<</script>>
<</if>><<if !$morningVisitedToday.includes("Liora")>><<set $morningVisitedToday.push("Liora")>><</if>>
<<nobr>>
<<playLoopingSounds "sounds/hsounds/deepkiss.mp3" 1>>
<div class="passage-container rylan">
<<narrative "I knock gently on Liora's door and peek inside. She's sitting by her window, reading a book with the morning light streaming across her face. She looks up with a bright smile when she sees me.">>
<<dialog "Liora" "face" "Good morning, $humanName! I was just reading about magical healing techniques. Did you want to spend some time together?">>
<<dialog "Rylan" "face" "Actually, would you like to come to my room? I thought we could talk more privately there.">>
<<dialog "Liora" "facesmile" "Of course! I'd love that.">>
<<narrative "We make our way to my room together, and I close the door behind us. Liora sits on the edge of my bed, smoothing down her dress nervously but with a sweet smile on her face.">>
<center><img src="images/liora/sitting.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "As we sit and talk, I notice Liora seems distracted. She keeps placing her hand on her stomach and getting a distant look in her eyes.">>
<<dialog "Rylan" "face" "Is everything alright, Liora? You seem... thoughtful.">>
<<dialog "Liora" "faceembarrassedshortpink" "Oh! Um... I was just remembering something Nimeria taught me about healing magic. She said I should practice it while thinking about... about people I care about.">>
<<narrative "Liora's thoughts drift back to Nimeria's words: 'Focus the healing magic on your stomach area while imagining how $humanName feels.' As she remembers this, she feels a strange warmth spreading through her lower body, making her cheeks flush even more.">>
<<narrative "The magical energy seems to concentrate between her legs, creating a tingling sensation she's never felt before. She shifts uncomfortably, trying to understand what's happening to her body.">>
<<dialog "Liora" "faceembarrassedshortpink" "$humanName... could you close your eyes for a moment? I want to... I want to do something nice for you.">>
<<dialog "Rylan" "face" "Of course, Liora. Whatever you want.">>
<<narrative "I close my eyes as she requested, wondering what sweet surprise she has in mind. I feel the bed shift as she moves closer to me, and then...">>
<center><img src="images/liora/chapter4/rylankissing/1.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "Soft, warm lips press against mine in the most gentle, innocent kiss. Liora's lips are tender and sweet, moving carefully against mine as if she's being very thoughtful about each moment.">>
<center><img src="images/liora/chapter4/rylankissing/2.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<if $liora_NimeriaKissCount > 0>>
<<narrative "Liora remembers Nimeria's lessons about kissing, applying the techniques she learned. She varies the pressure and rhythm, making each kiss feel more intentional and passionate while still maintaining her innocent sweetness.">>
<</if>>
<center><img src="images/liora/chapter4/rylankissing/3.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "We kiss again and again, soft pecks that gradually become longer, more lingering. Each kiss sends warmth spreading through my entire body, and I can feel my heart racing as Liora's sweet affection overwhelms me.">>
<<narrative "The warmth between us is becoming almost overwhelming. I reach up and pull my shirt over my head, tossing it aside. The cool air against my skin feels refreshing, and I notice Liora's eyes widening slightly as she takes in my bare chest.">>
<center><img src="images/liora/chapter4/rylankissing/4.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "Our lips part slowly, and I open my eyes to see Liora's beautiful face so close to mine. Her cheeks are flushed pink, and her breathing is soft and quick. She looks so lovely that my heart skips a beat.">>
<<dialog "Liora" "facesmile" "That was... that was really nice, $humanName. Can we... can we do it again?">>
<<dialog "Rylan" "face" "Of course, Liora. I'd like that very much.">>
<center><img src="images/liora/chapter4/rylankissing/5.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "This time when our lips meet, the kiss is deeper and more confident. Liora's hand finds mine and our fingers intertwine as we lose ourselves in the sweet intimacy. Her lips are so soft and warm against mine.">>
<<narrative "Liora feels the magical warmth in her stomach intensifying as they kiss. The healing magic she was practicing earlier seems to be responding to her emotional state, making her feel more sensitive and aware of every touch.">>
<center><img src="images/liora/chapter4/rylankissing/6.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "We break apart for just a moment, both of us breathing harder now. Liora's eyes are bright and sparkling as she looks at me, and there's something new in her expression - a kind of awakening curiosity.">>
<<dialog "Liora" "faceembarrassedshortpink" "I feel so... warm inside when we do that. Is it supposed to feel this way?">>
<<dialog "Rylan" "face" "That's perfectly normal, Liora. It means... it means we care about each other very much.">>
<center><img src="images/liora/chapter4/rylankissing/7.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "We come together for another kiss, and this one lasts even longer. I can feel Liora's heartbeat through her dress as she leans closer to me. Her free hand comes up to rest gently on my chest, and the innocent touch sends shivers through me.">>
<<narrative "The magical energy flowing through Liora's body seems to pulse with each kiss. She doesn't understand what's happening, but the tingling sensation is growing stronger, especially in her lower body.">>
<center><img src="images/liora/chapter4/rylankissing/8.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "Time seems to slow down as we share kiss after tender kiss. Each one feels more natural and right than the last. Liora's innocent sweetness combined with this new intimacy between us is absolutely intoxicating.">>
<<narrative "As our kissing continues, I feel my body responding to her closeness and affection. The innocent intimacy is having a very physical effect on me, and I try to shift position to hide my growing arousal.">>
<<narrative "Liora notices the change in his posture and breathing. When she glances down, she sees the obvious bulge in his pants and her eyes go wide with surprise and embarrassment.">>
<<dialog "Liora" "faceembarrassedshortpink" "Oh! I... I'm sorry! I just remembered I forgot something in my room!">>
<<narrative "Before I can say anything, Liora jumps up from the bed, her face bright red, and rushes out of my room. I'm left sitting there, confused and aroused, wondering what just happened.">>
</div>
<</nobr>>
<<continueBox "POVTransitionRylanToLiora" "Continue" "">>
<<quickSexTrack "kiss" "rylan" "Liora" 1>>
<<quickSexTrack "kiss" "rylan" "Liora" 1>>
<<changeLust "Rylan" 40>>
<<changeLust "Liora" 50>>
<<changeAttraction "Rylan" "Liora" 0.8>>
<<changeAttraction "Liora" "Rylan" 1.0>>
<<changeAffection "Rylan" "Liora" 0.6>>
<<changeAffection "Liora" "Rylan" 0.8>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container liora"><<quickRoll "Resistance Against Temptation" "Liora" 70 5 "SweatFetish" 6>><<dialog "Liora" "faceworried" "No... I can't. There has to be another way. I'm a healer, not some... some creature driven by base impulses. I need to think clearly, rationally.">>
<<narrative "I force myself to look away from his glistening chest, my hands trembling as I clench them into fists. The temptation is there, whispering in the back of my mind, but I push it down with all my willpower.">><<if not _tempRollSuccess>>
<<narrative "But my resolve wavers as my eyes inevitably drift back to him. The way the sweat catches the light, the masculine scent that fills the room, the powerful muscles that flex even in his unconscious state... My breath quickens despite my best efforts.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I can't stop staring. The way the sweat glistens across his powerful chest, each droplet catching the candlelight like tiny jewels scattered across his blue skin. There's something intoxicating about how his body responds to the healing process, the primal display of strength even in vulnerability. And that scent... masculine and earthy, with hints of something uniquely demonic that makes my pulse quicken. Maybe... maybe just a small taste wouldn't hurt? For his sake, of course...">>
<<changeFetish "Liora" "SweatFetish" 0.2>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<continueBox "POVTransitionToRylan" "Give in to the overwhelming temptation" "">><<else>>
<<dialog "Liora" "face" "Focus, Liora. You're better than this. Nimeria mentioned she has knowledge of alchemy and potions. If anyone would have mana restoration solutions, it would be her. That's the proper, professional approach.">>
<<narrative "I take a deep breath and steady myself. There are proper channels for this kind of problem. I carefully cover Seryk with a blanket, ensuring his modesty while maintaining his body temperature for optimal healing conditions.">>
<<dialog "Liora" "face" "I'll go find Nimeria and ask about her for some mana potions.">>
<<narrative "With my mind made up, I quietly leave the room to seek out proper magical assistance. Some problems require traditional solutions, not desperate improvisation.">>
<<continueBox "POVTransitionToRylanContemplation" "Seek out Nimeria for mana potions..." "">>
<</if>>
</div>
<</nobr>>
<<if $serykxliorantr>>
<<script>>
$(document).ready(function() {
setTimeout(function() {
if (window.FloatingEffects && State.variables.serykxliorantr) {
window.FloatingEffects.addEffect('Liora', 'blue', 'images/chibi-models/seryk.webp');
}
}, 500);
});
<</script>>
<</if>>
<<pov "liora" "kitchenconfrontation.mp3">><<nobr>>
<div class="passage-container liora">
<<narrative "No! I can't give in to this... this strange curiosity! This isn't supposed to be happening to me. I need to ignore it, pretend it's not there, and maybe it will just go away somehow.">>
<<quickRoll "Willpower Challenge" "Liora" 25 5 "PenisFetish" 10>>
<<if _tempRollSuccess>>
<<narrative "I take several deep breaths and force myself to look away from the... the thing that shouldn't be there. I grab my clothes and quickly put them back on, trying to pretend this never happened.">>
<<narrative "There. With my clothes on, I can almost pretend it's not there. Maybe if I just go about my normal activities, this whole nightmare will resolve itself. Maybe it's just a temporary magical effect that will wear off.">>
<<narrative "I try to focus on other things - my healing studies, the book I was reading, anything to distract myself from the constant awareness of this foreign addition to my body. But it's difficult when every movement reminds me that something is different.">>
<<narrative "For now, I'll just... keep this secret. I won't tell anyone, especially not $humanName. Maybe tomorrow when I wake up, everything will be back to normal. Please let everything be back to normal...">>
<<narrative "I pick up one of my healing magic textbooks and force myself to focus on the words, reading each line carefully to distract my mind. The strange warm sensation between my legs is still there, but I determinedly ignore it.">>
<<narrative "After about an hour of reading and deliberately not thinking about what happened, the strange sensation gradually fades away. I can feel the unusual warmth disappearing, and when I carefully check...">>
<center><img src="images/liora/chapter4/futa/vagina.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "I let out a sigh of relief so profound that tears come to my eyes. Everything is back to normal! My body is exactly as it should be. It must have been some kind of strange magical reaction to being so close to $humanName and all those intense feelings from our kiss.">>
<<narrative "Maybe my healing magic got confused somehow when I was practicing while thinking about him. I'm so glad I didn't give in to curiosity about it. From now on, I'll be more careful about when and how I practice my healing magic.">>
<<narrative "I feel much calmer now that everything is back to normal. Maybe I should go find $humanName and apologize for running out so suddenly. I hope he doesn't think I didn't enjoy our kiss, because I really did... The memory of his soft lips against mine makes me smile.">>
<<set $lioraFutaRepressed = true>>
<<changeLust "Liora" -10>>
<<continueBox "MorningActivitiesChapter4" "Return to morning activities" "">>
<<else>>
<<narrative "I try to force myself to look away, to ignore the strange tingling sensation, but... I can't. Despite my fear and confusion, that electric shock when I touched it was so intense, so unlike anything I've ever felt before.">>
<<narrative "My hand trembles as it moves back toward the... the penis. I know I shouldn't, I know this is wrong and scary, but the curiosity is overwhelming. What would happen if I touched it again? What would it feel like?">>
<<dialog "Liora" "faceembarrassedshortpink" "Just... just one more touch," "I whisper to myself, my resolve crumbling completely." "Just to understand what's happening to me...">>
<center><img src="images/liora/chapter4/futa/1.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "The moment my fingers make contact again, waves of pleasure course through my entire body. I gasp and bite my lip, my resistance completely shattered by the overwhelming sensations. I can't stop now... I need to explore this further.">>
<<set $lioraFutaCurrious = true>>
<<changeLust "Liora" 20>>
<<narrative "My failed attempt at resistance only makes the curiosity stronger. Since I can't ignore it anyway, maybe I should... properly explore what's happening to my body...">>
<<continueBox "LioraContinueTouching" "Give in to curiosity" "">>
<</if>>
</div>
<</nobr>>
<<pov "liora" "intimate.mp3">><<set $lioraLickSerykSweat = true>>
<<nobr>>
<div class="passage-container liora">
<<narrative "💧 Forbidden Temptation 💧">>
<center><img src="images/story/chapter4/gairosafter/serykbed.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Liora" "faceembarrassedshortpink" "I can't help myself anymore. My hands shake as I lean closer, drawn by an irresistible pull. The droplets on his chest glisten like jewels in the candlelight, each one calling to me. Just... just a small taste. For the healing, of course.">>
<center><img src="images/liora/chapter4/ntr/1.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "I extend my tongue hesitantly, making the first contact with a single droplet on his chest. The taste hits me immediately-salty, earthy, with an underlying richness that makes my head spin. The scent overwhelms my senses, flooding my nostrils with his masculine essence. My body trembles as foreign sensations course through me.">>
<<dialog "Liora" "facewet" "Oh... oh my! The effect is immediate and incredible. I can feel my mana circuits flooding with energy, even more powerfully than when he shared his saliva. This is... this is amazing! But there's something else... something that makes my heart race and my breath catch.">><<changeFetish "Liora" "SweatFetish" 0.3>><<changeFetish "Liora" "SmellFetish" 0.2>><<changeFetish "Liora" "MuscleFetish" 0.2>><<changeAttraction "Liora" "Seryk" 0.2>><<changeLust "Liora" 4>>
<<narrative "With renewed energy, I place my hands back on his chest and resume the healing process. The golden light flows from my palms, but my eyes keep drifting to the fresh beads of sweat forming on his skin. Each droplet catches the magical glow, glistening like precious gems scattered across his muscular form.">>
<<dialog "Liora" "faceembarrassedshortpink" "No, focus on the healing, Liora. Don't think about how intoxicating that taste was, or how the texture of his skin felt against my tongue. Don't think about how much you want another... NO! These are very bad thoughts for a healer to have!">>
<center><img src="images/liora/chapter4/ntr/seryksweat.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "But as I continue healing, my mana depletes faster than usual. My damaged circuits can't keep up with the intensive work required. I need more energy, and there's only one source that's proven effective... I tell myself it's purely medical necessity.">>
<<quickRoll "Resist Second Taste" "Liora" 60 4 "SweatFetish" 7>><<if not _tempRollSuccess>>
<<dialog "Liora" "faceworried" "It can't be helped! My mana is depleted again, and I need to restore my energy to continue healing him properly. This is purely medical necessity... isn't it? I'm doing this for his sake, not because I... because I want to...">>
<center><img src="images/liora/chapter4/ntr/3.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "This time I'm more deliberate, seeking out larger droplets along his collarbone. My tongue traces slow paths across his skin, collecting each precious drop. The taste is even more intoxicating now-richer, more complex, with subtle flavors I didn't notice before. My body responds instinctively, heat building in places I've never felt before.">>
<<dialog "Liora" "facewet" "Mmm... it tastes even better this time! The warmth of his skin, the texture beneath my tongue... I find myself lingering longer, savoring each drop. My body responds in ways I don't fully understand, heat building within me like a fever.">><<changeFetish "Liora" "SweatFetish" 0.4>><<changeFetish "Liora" "SmellFetish" 0.3>><<changeFetish "Liora" "MuscleFetish" 0.3>><<changeAttraction "Liora" "Seryk" 0.3>><<changeLust "Liora" 5>><<else>>
<<dialog "Liora" "face" "No! I must maintain my professionalism. I steel my resolve and focus purely on the healing magic, determinedly ignoring the tantalizing droplets forming on his skin. But as my mana depletes completely, the temptation becomes impossible to ignore...">><<changeFetish "Liora" "SweatFetish" 0.2>><<changeFetish "Liora" "MuscleFetish" 0.1>><<changeAttraction "Liora" "Seryk" 0.1>><</if>>
<center><img src="images/liora/chapter4/ntr/4.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "The cycle begins-healing until depleted, then seeking out those glistening droplets for 'necessary' restoration. Each time, the taste seems more addictive, more essential. I tell myself it's for the healing, but my body knows the truth. I'm beginning to crave this more than I should.">><<quickRoll "Maintain Control" "Liora" 50 5 "SweatFetish" 8>><<if not _tempRollSuccess>>
<<dialog "Liora" "facewet" "Wait... I just had the most brilliant idea! What if I could heal while... while collecting the essence? It would be so much more efficient! It's not because I want to taste him more, it's just... practical! Yes, purely practical!">>
<center><img src="images/liora/chapter4/ntr/5.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "I position myself so that one hand channels healing magic while my tongue explores the contours of his muscular chest. The combination is intoxicating-the warm golden light flowing from my palm while I savor the salty sweetness of his essence. I've never felt anything like this before.">><<changeFetish "Liora" "SweatFetish" 0.5>><<changeFetish "Liora" "SmellFetish" 0.4>><<changeFetish "Liora" "MuscleFetish" 0.3>><<changeAttraction "Liora" "Seryk" 0.4>><<changeLust "Liora" 6>><<else>>
<<narrative "I try to maintain some semblance of professional distance, but the constant need for mana restoration means more frequent contact with his skin. Each taste makes it harder to pull away, harder to think clearly.">><<changeFetish "Liora" "SweatFetish" 0.3>><<changeFetish "Liora" "MuscleFetish" 0.2>><<changeAttraction "Liora" "Seryk" 0.2>><</if>>
<center><img src="images/liora/chapter4/ntr/6.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Liora" "facewet" "This is... this is perfect. I can heal him continuously while maintaining my energy. The taste, the scent, the feel of his powerful body beneath my touch... it's overwhelming in the most wonderful way. I never knew healing could feel like this.">>
<<narrative "My technique becomes more adventurous, my tongue seeking out droplets along the ridges of his abs, the hollow of his throat, the curve of his shoulders. Each area has its own unique flavor, its own intensity. I'm mapping his body with my taste buds, learning every inch.">>
<center><img src="images/liora/chapter4/ntr/7.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<quickRoll "Resist Complete Submission" "Liora" 40 6 "SweatFetish" 10>><<if not _tempRollSuccess>>
<<narrative "Time loses all meaning as I lose myself in the rhythm-lick, heal, savor, repeat. The world narrows to just this moment, this taste, this intoxicating blend of duty and desire. I'm dimly aware that I'm making soft, appreciative sounds, but I can't bring myself to care.">>
<center><img src="images/liora/chapter4/ntr/8.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center><center><img src="images/story/chapter4/gairosafter/serykbed.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Liora" "facewet" "Mmm... so good... can't stop... need more... his essence... so perfect... healing him... helping him... yes... this is what I was meant to do...">><<changeFetish "Liora" "SweatFetish" 0.6>><<changeFetish "Liora" "SmellFetish" 0.5>><<changeFetish "Liora" "MuscleFetish" 0.4>><<changeFetish "Liora" "SubmissionFetish" 0.3>><<changeAttraction "Liora" "Seryk" 0.5>><<changeLust "Liora" 8>>
<center><img src="images/liora/chapter4/ntr/9.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<else>>
<<narrative "I manage to maintain some awareness of my surroundings, though the temptation to completely lose myself in the experience grows stronger with each passing moment. The healing continues, but my focus wavers more and more.">><<changeFetish "Liora" "SweatFetish" 0.4>><<changeFetish "Liora" "MuscleFetish" 0.3>><<changeAttraction "Liora" "Seryk" 0.3>><</if>>
<center><img src="images/liora/chapter4/ntr/10.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "My exploration becomes more intimate, more personal. I find myself nuzzling against his skin, breathing in his scent deeply before each taste. The healing magic flows automatically now, a distant part of my consciousness while my attention focuses entirely on this newfound pleasure.">>
<center><img src="images/liora/chapter4/ntr/11.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Liora" "facewet" "I've never felt anything like this before... my body is responding in ways I didn't know were possible. Every taste sends waves of pleasure through me. Is this what desire feels like? This overwhelming need to touch, to taste, to be close?">>
<center><img src="images/liora/chapter4/ntr/12.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "I'm completely lost now, existing only in this moment of perfect communion between healer and patient. My tongue traces intricate patterns across his skin, seeking out every last drop. The boundary between healing and indulgence has disappeared entirely.">>
<center><img src="images/liora/chapter4/ntr/13.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center><<dialog "Liora" "facewet" "Perfect... so perfect... I never want this to end... the way he tastes, the way he smells, the way his body feels beneath my lips... I'm addicted... completely and utterly addicted to him...">>
<<narrative "*KNOCK KNOCK*">>
<<narrative "The sound cuts through my trance like a blade, and I jerk away from Seryk's chest with a gasp, my lips still glistening with traces of his essence. My heart pounds as reality crashes back over me-what have I been doing?! How long was I lost in that incredible haze?">>
<<dialog "Liora" "faceshock" "Oh no! Someone's at the door! I need to... to compose myself quickly! They can't see me like this! But... but part of me doesn't want to stop. Part of me wants to send them away and continue this incredible experience...">>
<<continueBox "POVTransitionToRylanContemplation" "Quickly compose yourself and answer the door..." "">>
</div>
<</nobr>>
<<if $serykxliorantr>>
<<script>>
$(document).ready(function() {
setTimeout(function() {
if (window.FloatingEffects && State.variables.serykxliorantr) {
window.FloatingEffects.addEffect('Liora', 'blue', 'images/chibi-models/seryk.webp', {
intensity: 'intense',
radius: 2.0,
opacity: 1.3,
speed: 2.5
});
}
}, 500);
});
<</script>>
<</if>>
<<pov "liora" "kitchenconfrontation.mp3">><<nobr>>
<div class="passage-container mariel">
<<narrative "💚 HEALING AND CONFLICT 💚">>
<<set $marielSerykSweat = false>>
<<set $timeOfDay = "evening">>
<<narrative "I switch places with Liora again, my hands glowing with healing magic as I focus on Seryk's devastating wounds. Though his back has already closed on the surface, skin smooth and bloodless, the real damage runs deeper. His nerves and bones remain fractured and torn, resisting even our combined magic. It's going to take hours of focused effort to restore what the eye can't see.">>
<<dialog "Mariel" "faceworried" "Hold on, Seryk... we're going to save you.">>
<<narrative "But as I work, my mind keeps drifting back to what happened in the kitchen. The interrogation. The way Gairos looked at all of us like we were insects. The casual cruelty in his voice.">>
<<dialog "Mariel" "faceangry" "Part of me wishes he would just... die. Just disappear and leave us all alone.">>
<<narrative "The thought shocks me. I shake my head, trying to push away such dark feelings.">>
<<dialog "Mariel" "facesad" "No... I shouldn't think something so dark. I understand his hatred since his wife was killed by demons during the war, but...">>
<<narrative "But that was like a century ago... long before even Thalor and I were born. Not even our parents were born yet. It's not normal to have a grudge for so long. Even less what he did during the war and even after...">>
<<dialog "Mariel" "faceworried" "Are we now prisoners in our own home? What comes after the Holy Kingdom? Knowing Gairos, he'll just kill us...">>
<<narrative "The guilt hits me like a physical blow. Was it my fault? Was it really wrong of me to take Nimeria and Seryk in?">>
<<dialog "Mariel" "faceangry" "No, it wasn't wrong! What's wrong is this guy...">>
<<if not $mariel_NTREvent1>>
<<narrative "I focus back on the healing, pushing away my dark thoughts. There will be time to worry about our situation later. Right now, I need to save Seryk's life.">>
<<continueBox "POVTransitionToRylanContemplation3" "Continue..." "">>
<<else>>
<<narrative "As I continue healing, my eyes drift lower and I notice... the bulge in Seryk's boxers. And it's... getting larger. More prominent.">>
<<dialog "Mariel" "faceembarrassed" "Oh my...">>
<<narrative "I gulp and force myself to look away, focusing on the healing magic flowing from my hands. But I can't help myself. My eyes keep glancing back down, drawn to the obvious arousal straining against the fabric.">>
<<narrative "The memory hits me like a thunderbolt. How I masturbated before using his boxers. How ecstatic I felt. How I'd never come that hard before in my entire life.">>
<<dialog "Mariel" "facewet" "Should I... No, no, I can't think like this. But... it's so hard, and big... it must hurt him. I would just be helping him, right? It's just nursing...">>
<<choiceBox "What should Mariel do?" "Help him out" "POVTransitionToRylanContemplation3" "MarielSerykBoxersHandjob=true" "No, resist the temptation" "MarielResistsTemptation" "">>
<</if>>
</div>
<</nobr>>
<<pov "mariel" "contemplation.mp3">>
<<statSummary>><<stopLoopingSounds>>
<<playLoopingSounds "sounds/hsounds/handjobclothed.mp3">>
<<nobr>>
<div class="passage-container mariel">
<<narrative "💚 FORBIDDEN TOUCH 💚">>
<<narrative "My hand trembles as I reach toward him, my fingertips barely grazing the fabric of his boxers. The heat radiating from beneath is incredible-almost burning against my skin.">>
<<dialog "Mariel" "faceembarrassed" "Oh my... it's so hot. So... alive.">>
<<narrative "Slowly, deliberately, I trace my fingertips along the length of his shaft through the thin fabric. Even through the cloth, I can feel every ridge, every pulsing vein beneath my touch. The sheer size of him makes me gasp quietly.">>
<<narrative "My fingers reach the base, then slowly travel upward, mapping every inch of his impressive length. The fabric grows damp under my touch as I explore him with growing fascination.">>
<<dialog "Mariel" "facewet" "This is... this is much larger than I expected. How is this even possible?">>
<center><img src="images/mariel/chapter4/ntr/1.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Finally, I wrap my entire hand around his cloth-covered shaft, my fingers barely meeting around his girth. The realization makes my breath catch in my throat.">>
<<dialog "Mariel" "faceshock" "I... I can't even get my hand around it completely. It's immense!">>
<<narrative "I begin to slowly rub him through the fabric, my grip firm but gentle. With each stroke, I can feel the distinct outline of prominent veins pulsing beneath my palm, the cloth growing increasingly damp with his arousal.">>
<center><img src="images/mariel/chapter4/ntr/2.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "As I continue my ministrations, my mind wanders to darker thoughts. I realize with a shock that I've never even touched Thalor like this. Our intimate life had been so limited...">>
<<dialog "Mariel" "facesad" "We had so little time together... just a few romantic nights before I got pregnant. And during the war, we rarely had privacy for intimacy.">>
<<narrative "The painful truth hits me-after the war ended, Thalor never touched me again. Not once. Our physical relationship died with the conflict, leaving me starved for any kind of intimate contact.">>
<<quickRoll "Arousal Control" "Mariel" 70 3 "SmellFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Mariel" "SmellFetish" 0.2>>
<<changeLust "Mariel" 8>>
<</if>>
<<narrative "My strokes become more deliberate, and I find myself imagining what it would be like for a woman to experience something this size. The thought sends a forbidden thrill through me.">>
<<dialog "Mariel" "facewet" "The poor girl who has her first time with him... she'd be stretched so wide, feeling every inch as he pushes in... and out... in and out... pumping deep inside her...">>
<center><img src="images/mariel/chapter4/ntr/3.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "The mental image becomes increasingly vivid, and I find myself imagining what that level of pleasure would feel like. What it would be like to be completely filled, thoroughly claimed...">>
<<dialog "Mariel" "faceshock" "Lucky girl... Wait, what am I thinking?! This is completely inappropriate!">>
<center><img src="images/mariel/chapter4/ntr/4.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "But my self-recrimination does nothing to stop my hand from continuing its steady rhythm. If anything, the forbidden nature of my thoughts only intensifies my arousal. The fabric beneath my palm grows increasingly wet with his evident excitement.">>
<<dialog "Mariel" "faceembarrassed" "So much precum... How can you be so wounded up there but so incredibly healthy down here?">>
<center><img src="images/mariel/chapter4/ntr/5.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "The dampness spreads across my palm as I increase the pace of my strokes. Each movement brings more of his arousal seeping through the thin fabric, coating my fingers with his excitement.">>
<<narrative "Unable to resist, I remove my hand for a moment and bring my fingers close to my nose. The scent that fills my nostrils is overwhelmingly masculine and intoxicating-just like the smell from his boxers that drove me wild before.">>
<<quickRoll "Self Control" "Mariel" 65 4 "SmellFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Mariel" "SmellFetish" 0.3>>
<<changeLust "Mariel" 10>>
<</if>>
<<dialog "Mariel" "facewet" "That smell... it's the same intoxicating scent from before. It's making me feel so...">>
<<narrative "Almost unconsciously, my free hand begins to drift toward my own panties, drawn by an overwhelming need for relief. But I catch myself just before making contact.">>
<<dialog "Mariel" "faceworried" "No! I shouldn't... I can't do that too. This is already going too far.">>
<center><img src="images/mariel/chapter4/ntr/6.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Instead, I return both hands to focus on him, my strokes becoming faster and more urgent. The wetness is spreading rapidly now, creating a slick sensation beneath my pumping grip. My technique becomes more deliberate as I learn what makes him respond.">>
<center><img src="images/mariel/chapter4/ntr/7.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "I can feel him responding to my touch even in his unconscious state. His breathing deepens, and soft, almost inaudible sounds escape his lips as I work him toward what seems inevitable. My own breath becomes ragged as I watch his body react to my ministrations.">>
<<dialog "Mariel" "facewet" "The sounds he's making... even unconscious, he's responding to me. Am I really doing this?">>
<<narrative "The fabric of his boxers is now completely soaked through, and I can see the clear outline of every vein, every ridge through the translucent material. My movements become more confident as I discover what rhythm makes his hips subtly shift against my touch.">>
<center><img src="images/mariel/chapter4/ntr/8.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "My technique becomes more sophisticated-using both hands now, one to stroke his length while the other cups and massages him below. The combination draws the most delicious sounds from his throat, soft moans that make my own body ache with need.">>
<<dialog "Mariel" "faceembarrassed" "His body is so responsive... even like this.">>
<<narrative "The wet sounds of my strokes fill the room, creating an intoxicating rhythm that matches my racing heartbeat. Each pump of my hands brings more moisture seeping through the fabric, coating my palms in his slick arousal.">>
<center><img src="images/mariel/chapter4/ntr/9.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "I lean closer, studying his face for any sign of consciousness as I continue my forbidden ministrations. His lips are slightly parted, soft breaths escaping as his body builds toward release. The intimate sight makes my own arousal spike dangerously high.">>
<<dialog "Mariel" "facewet" "Look at his face... so peaceful, yet his body is on fire beneath my touch. I'm learning every inch of him.">>
<<narrative "My movements become more urgent as I feel him growing even harder in my grasp-something I didn't think was possible. The fabric stretches taut around his impressive girth, and I can feel his pulse throbbing strongly against my palms.">>
<center><img src="images/mariel/chapter4/ntr/10.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "I experiment with different pressures and techniques, marveling at how his body responds to each variation. When I squeeze a certain way, his back arches slightly. When I use a twisting motion, soft groans escape his lips. I'm discovering a whole new language of pleasure.">>
<<dialog "Mariel" "faceshock" "Every technique I try brings a different response... I'm learning things about pleasure I never imagined.">>
<<narrative "The scent of his arousal is now overwhelming in the room-masculine, musky, and utterly intoxicating. It's making my head spin and my own body respond in ways I can barely control. My free hand unconsciously drifts toward my own heated flesh before I catch myself again.">>
<center><img src="images/mariel/chapter4/ntr/11.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "My strokes become faster, more desperate as I feel him approaching his peak. His breathing has changed-becoming shorter, more intense. His hips start to move almost imperceptibly, seeking more contact with my eager hands.">>
<<dialog "Mariel" "facewet" "He's so close now... I can feel his body tensing, preparing for release. This is really happening.">>
<<changeAffection "Mariel" "Seryk" 2>>
<<changeAttraction "Mariel" "Seryk" 1.5>>
<<changeLust "Mariel" 15>>
<<continueBox "MarielSerykClimax" "Continue until he climaxes" "">>
</div>
<</nobr>>
<<pov "mariel" "intimate.mp3">>
<<script>>
if (window.FloatingEffects) {
window.FloatingEffects.removeEffect('Mariel');
window.FloatingEffects.removeEffect('Liora');
}
<</script>><<stopLoopingSounds>>
<<set $rylan_MarielOrgasmsGiven = 1>>
<<set $mariel_RylanOrgasmsReceived = 1>>
<<set $mariel_RylanOrgasmsGiven = 1>>
<<set $rylan_MarielOrgasmsReceived = 1>>
<<set $mariel_RylanKissCount = $rylan_MarielKissCount>>
<<set $marielMorningVisitChapter4 = true>>
<<if not $morningVisitedToday>>
<<set $morningVisitedToday = []>>
<</if>>
<<set $morningVisitedToday.push("Mariel")>>
<<if not $mariel_Lust>>
<<set $mariel_Lust = 0>>
<</if>>
<<if not $rylan_Lust>>
<<set $rylan_Lust = 0>>
<</if>>
<<nobr>>
<div class="passage-container mariel">
<<narrative "🍳 Kitchen Conversations 🍳">>
<<narrative "Mariel's perspective - preparing lunch...">>
<<narrative "I hum softly to myself as I work in the kitchen, preparing vegetables for lunch. The familiar routine is comforting - cutting, seasoning, organizing. My hands move automatically while my mind wanders.">>
<<if $marielTransformationMother === true>>
<<narrative "I pause for a moment, pressing a hand to my chest. My breasts feel strangely... full today. Heavier than usual. A slight tingling sensation that I can't quite explain. It's been happening more frequently lately, this odd feeling of fullness, as if my body is preparing for something I don't understand.">>
<center><img src="images/mariel/chapter4/morning/handsonbreast.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<if $marielTransformationMother === true>>
<<dialog "Mariel" "face" "Oh, hello sweetheart. Perfect timing - I was just thinking about you. How are you feeling today, my dear?">>
<<else>>
<<dialog "Mariel" "face" "Oh, hello sweetheart. You're just in time to help me with lunch preparations.">>
<</if>>
<<if $marielTransformationMother === true>>
<<dialog "Rylan" "face" "I'm... I'm fine, $humanToMariel. Just thought I'd see what you were up to.">>
<<else>>
<<dialog "Rylan" "face" "I'd be happy to help. What do you need me to do?">>
<</if>>
<<if $marielTransformationMother === true>>
<<dialog "Mariel" "facesmile" "That's wonderful, dear. I always enjoy your company. You can help me chop these vegetables if you'd like.">>
<<else>>
<<dialog "Mariel" "facesmile" "Well, I could use an extra pair of hands with these vegetables. Are you good with a knife?">>
<</if>>
<<dialog "Rylan" "facesmile" "Sure, I can handle that. Though I'm not as skilled as you are in the kitchen.">>
<<dialog "Mariel" "facelaugh" "Oh, don't worry about that. Practice makes perfect, and I'm happy to teach you.">>
<<narrative "We work side by side for a few minutes, the comfortable rhythm of chopping vegetables filling the silence. But as we work, I notice $humanName's eyes on me. There's something in his gaze that lingers a moment too long when I reach for something, when I bend over the counter. I catch him looking and he quickly glances away, a flush coloring his cheeks. How strange... what could that be about?">>
<<dialog "Rylan" "face" "$humanToMariel... do you still not remember what happened a couple nights ago?">>
<<dialog "Mariel" "faceworried" "A couple nights ago? No, I'm afraid I don't... Did something happen? You look concerned.">>
<<dialog "Rylan" "faceembarrassed" "No... nothing. Never mind.">>
<<narrative "His evasive answer only makes me more curious. What could have happened that he's so reluctant to discuss? I make a mental note to think more about that night... though honestly, it's all quite blurry after I had some wine.">>
<<narrative "I turn to reach for the spice rack on the highest shelf, stretching up on my toes. The jar I need is just out of reach, and I can feel my dress riding up slightly as I strain upward.">>
<center><img src="images/mariel/chapter4/morning/1.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<dialog "Mariel" "face" "Could you help me with this, dear? I can't quite...">>
<<narrative "He steps behind me to help, reaching over my head for the spice jar. I feel the warmth of his body pressed close against my back, and then... oh my. Something firm presses against my behind. Something unmistakably masculine.">>
<<narrative "My breath catches in my throat. The contact sends an unexpected jolt through my entire body, awakening sensations I haven't felt in... how long has it been? When was the last time I felt a man's arousal pressed against me? When was the last time Thalor...">>
<<changeLust "Mariel" 5>>
<<changeLust "Rylan" 5>>
<<dialog "Mariel" "faceembarrassed" "Oh! I... thank you. I manage to whisper, my voice unsteady. My cheeks burn with embarrassment and something else I don't want to acknowledge.">>
<<narrative "But these thoughts are wrong! So wrong! He's my $humanIsMariel! This is completely inappropriate. Yet my body betrays me, responding to the contact in ways that shock me. I can feel myself growing warm and wet between my legs, a response I haven't had to anyone in so long.">>
<center><img src="images/mariel/pantieswetrednails.webp" style="max-width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "I turn to face him and see that his face is flushed red with embarrassment. He looks as mortified as I feel, which somehow makes this even more confusing.">>
<<dialog "Rylan" "faceembarrassed" "Sorry, I didn't mean to... I was just trying to help...">>
<<dialog "Mariel" "face" "It's... it's alright, dear. These things happen. Thank you for helping me.">>
<<narrative "We continue with the cooking in awkward silence for a few moments. I try to focus on the vegetables, but I can't stop thinking about how that felt. About how long it's been since I felt desired, even accidentally.">>
<<dialog "Mariel" "facesmile" "You know, it gets quite boring around here sometimes when everyone's busy. It's nice having someone to talk to.">>
<<dialog "Rylan" "face" "Maybe... maybe you could join us on our adventures sometimes? I mean, if you wanted to.">>
<<dialog "Mariel" "facelaugh" "Me? Oh, sweetheart, they wouldn't want an old lady slowing them down. I say with a gentle laugh, though part of me is touched by the suggestion.">>
<<dialog "Rylan" "faceangry" "No! You're not old! You're still beautiful!">>
<<narrative "His words hit me like a physical force. My heart skips a beat and I feel heat rushing to my cheeks. When was the last time someone called me beautiful? When was the last time someone looked at me with such... intensity?">>
<<changeLust "Mariel" 5>>
<center><img src="images/mariel/chapter4/morning/2.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<if $marielTransformationMother === true>>
<<narrative "I feel that strange sensation in my breasts again, a tingling that makes my nipples tighten beneath my dress. What is happening to my body? Why do I feel so... responsive... to my own $humanIsMariel?">>
<</if>>
<<dialog "Mariel" "faceembarrassed" "What are you saying, you silly boy? I try to laugh it off, but my voice comes out breathier than intended. That's very sweet, but...">>
<<narrative "I turn to face him, intending to playfully dismiss his compliment, but as I do, I realize how close we're standing. Our faces are only inches apart, close enough that I can feel his breath on my skin. Our eyes lock, and suddenly the air between us feels charged with something dangerous.">>
<center><img src="images/mariel/chapter4/morning/4.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "What am I thinking? This is my $humanIsMariel! These feelings are completely inappropriate. But the way he's looking at me... when was the last time someone looked at me like I was something precious, something desired?">>
<<dialog "Mariel" "faceworried" "Okay, okay... maybe you should find something else to do now. Thank you for helping me, though.">>
<center><img src="images/mariel/chapter4/morning/3.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "I intend to give him a quick peck on the cheek - a motherly gesture to defuse this strange tension. But as I lean forward, he turns his head at exactly the wrong moment. Instead of his cheek, my lips meet his.">>
<<narrative "The kiss is soft, gentle, but it lingers longer than it should. For a moment, neither of us pulls away. I can taste the sweetness of his breath, feel the warmth of his lips. It's been so long since someone kissed me... so very long.">>
<<set $rylanMarielChapter4Kiss = true>>
<<changeLust "Mariel" 5>>
<<changeLust "Rylan" 5>>
<<changeAffection "Mariel" "Rylan" 2>>
<<changeAttraction "Mariel" "Rylan" 3>>
<<changeAffection "Rylan" "Mariel" 2>>
<<changeAttraction "Rylan" "Mariel" 3>>
<<set $rylan_kissCount = ($rylan_kissCount || 0) + 1>>
<<set $mariel_kissCount = ($mariel_kissCount || 0) + 1>>
<<set $rylan_MarielKissCount = ($rylan_MarielKissCount || 0) + 1>>
<<set $mariel_RylanKissCount = ($mariel_RylanKissCount || 0) + 1>>
<<set $rylan_kissExperience = ($rylan_kissExperience || 0) + 1>>
<<set $mariel_kissExperience = ($mariel_kissExperience || 0) + 1>>
<<set $rylan_sexualExperience = ($rylan_sexualExperience || 0) + 1>>
<<set $mariel_sexualExperience = ($mariel_sexualExperience || 0) + 1>>
<<set $rylan_basicExperience = ($rylan_basicExperience || 0) + 1>>
<<set $mariel_basicExperience = ($mariel_basicExperience || 0) + 1>>
<<trackExperience "Rylan" "kissExperience" 1>>
<<trackExperience "Mariel" "kissExperience" 1>>
<<trackExperience "Rylan" "sexualExperience" 1>>
<<trackExperience "Mariel" "sexualExperience" 1>>
<<trackExperience "Rylan" "basicExperience" 1>>
<<trackExperience "Mariel" "basicExperience" 1>>
<<continueBox "MarielMorningVisitChapter4Part2" "Continue as Mariel faces temptation" "">>
</div>
<</nobr>>
<<pov "mariel" "marielinbedroom.mp3">><<stopLoopingSounds>>
<<if not $rylan_Lust>>
<<set $rylan_Lust = 0>>
<</if>>
<<nobr>>
<div class="passage-container rylan">
<<narrative "😰 Confusion & Shame 😰">>
<<thought "Rylan" "faceshock" "I stumble back to my room, my heart still racing, my lips still tingling from what just happened. What the fuck was that? What the hell just happened in that kitchen?">>
<<thought "Rylan" "faceembarrassed" "I collapse onto my bed, running my hands through my hair. This is $humanToMariel! My $marielToHuman! I should be disgusted with myself. I should be horrified. But instead... instead I can't stop thinking about how incredible it felt.">>
<<thought "Rylan" "facewet" "The way she kissed me back... the way she moaned my name... the way her body pressed against mine. I've never experienced anything that intense in my life. Not even with Liora. And that thought makes me feel even worse.">>
<<thought "Rylan" "facesad" "Liora. Sweet, innocent Liora who trusts me completely. What kind of person am I? I have the most wonderful girlfriend in the world, and here I am fantasizing about... about my $marielToHuman. This is so messed up.">>
<<thought "Rylan" "faceworried" "But why have I been so... horny lately? It's like something inside me has awakened, and I can't control it. I find myself looking at women differently, noticing things I never noticed before. Serin's curves, Nimeria's smile, and now... now $marielToHuman.">>
<<thought "Rylan" "faceembarrassed" "I touch my lips, still feeling the ghost of her kiss. Why did it feel so right when it should feel so wrong? Why did my body respond to her like that? She's supposed to be off-limits, forbidden, someone I should never think of that way.">>
<<thought "Rylan" "facewet" "But the way she looked at me... like I was something precious, something she desired. I've never seen that look in her eyes before. And the way she felt in my arms... God, what's wrong with me? I should be ashamed. I should be disgusted with myself.">>
<<thought "Rylan" "facewet" "Instead, I'm lying here trying not to think about how amazing it would be to kiss her again. To hold her again. To make her moan my name like that again. What kind of person does that make me?">>
<<thought "Rylan" "faceworried" "I need to get control of myself. This can never happen again. She's right - we need to forget this ever happened. But even as I think that, I know it's going to be impossible. That kiss... that moment... it's burned into my memory forever.">>
<<changeLust "Rylan" 10>>
<<continueBox "MorningActivitiesChapter4" "Try to distract yourself" "">>
</div>
<</nobr>>
<<pov "rylan" "marielmakeoutchapter3.mp3">><<stopLoopingSounds>>
<<playLoopingSounds "sounds/hsounds/deepkiss.mp3">>
<<nobr>>
<div class="passage-container mariel">
<center><img src="images/mariel/chapter4/morning/3.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "This is wrong... so wrong! I should pull away, should stop this madness. But his lips feel so warm, so tender against mine. When was the last time I felt this way? When was the last time someone made me feel desired?">>
<<quickRoll "Maternal Resistance" "Mariel" 70 5 "SubmissionFetish" 3>>
<<if _tempRollSuccess>>
<<narrative "I know this is wrong, but I can't bring myself to pull away completely. My maternal instincts war with my body's needs. I'll allow this brief moment, but I must maintain some control over the situation.">>
<<dialog "Mariel" "faceembarrassed" "Oh! I'm so sorry, I didn't mean to... I was aiming for your cheek and you turned...">>
<<changeLust "Mariel" 3>>
<<changeFetish "Mariel" "SubmissionFetish" 0.15>>
<<changeAffection "Mariel" "Rylan" 1>>
<<changeAttraction "Mariel" "Rylan" 2>>
<<changeAffection "Rylan" "Mariel" 1>>
<<changeAttraction "Rylan" "Mariel" 2>>
<<quickSexTrack "kiss" "rylan" "Mariel" 1>>
<<else>>
<<narrative "I try to resist, but my body betrays me completely. The kiss feels too good, too right. All my protests melt away as I surrender to these forbidden feelings. My lips part slightly, allowing the kiss to deepen.">>
<<quickRoll "Emotional Resistance" "Mariel" 70 5 "SubmissionFetish" 4>>
<<if _tempRollSuccess>>
<<narrative "Even as my body responds, a part of my mind maintains some control. I allow the kiss but keep my emotions in check, treating this as a moment of weakness rather than something deeper. I won't let myself fall completely.">>
<<dialog "Mariel" "faceworried" "This... this shouldn't be happening. But I can't seem to stop myself...">>
<<changeLust "Mariel" 4>>
<<changeFetish "Mariel" "SubmissionFetish" 0.25>>
<<changeAffection "Mariel" "Rylan" 2>>
<<changeAttraction "Mariel" "Rylan" 3>>
<<changeAffection "Rylan" "Mariel" 2>>
<<changeAttraction "Rylan" "Mariel" 3>>
<<quickSexTrack "kiss" "rylan" "Mariel" 1>>
<<else>>
<<narrative "Mariel" "face" "All resistance crumbles. I'm completely lost in the moment, my maternal role forgotten as I become simply a woman who hasn't felt desired in far too long. My lips move eagerly against his, all propriety abandoned.">>
<<dialog "Mariel" "facewet" "I... I don't care anymore. This feels too good to stop...">>
<<quickSexTrack "kiss" "rylan" "Mariel" 1>>
<<changeLust "Mariel" 5>>
<<changeFetish "Mariel" "SubmissionFetish" 0.4>>
<<changeAffection "Mariel" "Rylan" 3>>
<<changeAttraction "Mariel" "Rylan" 3>>
<<changeAffection "Rylan" "Mariel" 3>>
<<changeAttraction "Rylan" "Mariel" 3>>
<</if>>
<</if>>
<<narrative "Before I can finish my apology, he kisses me again. This time it's deliberate, intentional. His lips press against mine with a tenderness that makes my heart race. The kiss is brief but filled with such affection that it takes my breath away.">>
<center><img src="images/mariel/chapter4/morning/5.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "When was the last time someone kissed me with such genuine affection? Not passion born of duty or routine, but real tenderness? I'm shocked to find myself responding, my lips moving against his almost of their own accord.">>
<<continueBox "MarielMorningVisitChapter4Part3" "Continue with the escalating intimate scene" "">>
</div>
<</nobr>>
<<pov "mariel" "marielmakeoutchapter3.mp3">><<stopLoopingSounds>>
<<playLoopingSounds "sounds/hsounds/deepkissintense.mp3">>
<<set $marielMorningVisitChapter4Part3 = true>>
<<if not $mariel_Lust>>
<<set $mariel_Lust = 0>>
<</if>>
<<if not $rylan_Lust>>
<<set $rylan_Lust = 0>>
<</if>>
<<nobr>>
<div class="passage-container mariel">
<<narrative "💋 Forbidden Temptation 💋">>
<<narrative "Mariel's perspective - the kiss deepens...">>
<center><img src="images/mariel/chapter4/morning/5.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "For a heartbeat, time stops. Our lips are pressed together in what should be an innocent accident, but neither of us pulls away. The kiss lingers, soft and warm, and I feel something awakening deep inside me that I thought was long dead.">>
<<quickRoll "Maternal Resistance" "Mariel" 75 5 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "Instead of pulling away like I should, I find myself leaning into the kiss. My lips part slightly, and I feel his breath mixing with mine. This is so wrong, but it feels... it feels like coming alive again.">>
<<changeLust "Mariel" 8>>
<<changeFetish "Mariel" "SubmissionFetish" 0.2>>
<<else>>
<<narrative "I start to pull back, realizing what we're doing, but the warmth of his lips and the tenderness in his touch make it so difficult to resist...">>
<<changeLust "Mariel" 3>>
<</if>>
<center><img src="images/mariel/chapter4/morning/6.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "I feel his hands tentatively touch my waist, and the contact sends electricity through my entire body. When was the last time someone touched me like this? When was the last time Thalor showed me such gentle passion?">>
<<quickRoll "Marital Guilt" "Mariel" 80 8 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<narrative "The thought of my husband should stop me, but instead it only makes me crave this forbidden touch more. Years of being ignored, of feeling unwanted, all wash away under $humanName's tender caress. My hands move to his chest, feeling his heartbeat racing beneath my palms.">>
<<changeLust "Mariel" 10>>
<<changeFetish "Mariel" "SubmissionFetish" 0.3>>
<<else>>
<<narrative "Guilt tries to surface as I think of Thalor, of my marriage vows, but the sensation of being desired after so many years of neglect is overwhelming...">>
<<changeLust "Mariel" 5>>
<</if>>
<<dialog "Mariel" "facewet" "$humanName... We shouldn't...">>
<<dialog "Rylan" "facewet" "I know... but I can't stop... You're so beautiful...">>
<<quickRoll "Deepening Kiss" "Mariel" 70 10 "SubmissionFetish" 5>>
<<if not _tempRollSuccess>>
<<narrative "His words break down my last defenses. I press closer to him, my body molding against his as our kiss deepens. My lips part and I feel his tongue tentatively touch mine. The sensation is electric, sending waves of pleasure through my entire body.">>
<<changeLust "Mariel" 12>>
<<changeLust "Rylan" 10>>
<<changeFetish "Mariel" "SubmissionFetish" 0.4>>
<<else>>
<<narrative "I try to maintain some control, keeping the kiss gentle, but my body betrays me as I feel myself melting into his embrace...">>
<<changeLust "Mariel" 6>>
<<changeLust "Rylan" 6>>
<</if>>
<<narrative "Our tongues dance together, exploring, tasting. I can't remember the last time I felt this alive, this desired. His hands roam my back, and I arch into his touch, pressing my breasts against his chest. I can feel my nipples hardening through the fabric of my dress.">>
<center><img src="images/mariel/chapter4/morning/7.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<changeLust "Mariel" 8>>
<<changeLust "Rylan" 8>>
<<changeAttraction "Mariel" "Rylan" 2>>
<<changeAttraction "Rylan" "Mariel" 2>>
<<quickRoll "Complete Surrender" "Mariel" 65 15 "SubmissionFetish" 6>>
<<if not _tempRollSuccess>>
<<narrative "All thoughts of resistance crumble. I moan softly into his mouth as our kiss becomes passionate, desperate. My hands tangle in his hair, pulling him closer. I need this. I need to feel wanted, desired, cherished. The intensity is overwhelming - better than anything I've ever experienced.">>
<<changeLust "Mariel" 15>>
<<changeFetish "Mariel" "SubmissionFetish" 0.5>>
<<else>>
<<narrative "I try to hold onto some semblance of control, but the passion building between us is undeniable...">>
<<changeLust "Mariel" 8>>
<</if>>
<<narrative "His tongue explores my mouth with growing confidence, and I respond with equal fervor. Years of loneliness, of feeling invisible and unwanted, pour out of me in this forbidden moment. Every caress of his tongue against mine sends jolts of pleasure straight to my core.">>
<center><img src="images/mariel/chapter4/morning/8.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<changeLust "Mariel" 10>>
<<changeLust "Rylan" 10>>
<<if $marielTransformationMother === true>>
<<narrative "I feel that strange sensation in my breasts again, stronger now. They feel full, heavy, tingling with an intensity I don't understand. My maternal instincts are warring with this forbidden desire, creating a confusing storm of emotions.">>
<</if>>
<center><img src="images/mariel/chapter4/morning/9.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "We break apart briefly, both gasping for air, our faces flushed with desire. But the separation only lasts seconds before we're drawn back together like magnets. This kiss is deeper, hungrier, more desperate than before.">>
<<quickSexTrack "Rylan" "Mariel" "kiss" 2>>
<<dialog "Mariel" "facewet" "God... what are we doing? This feels so... so...">>
<<dialog "Rylan" "facewet" "Right... It feels so right, even though it's wrong...">>
<center><img src="images/mariel/chapter4/morning/10.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Our third kiss is the most intense yet. Our tongues intertwine in a passionate dance, and I can feel the heat building between my legs. My panties are soaked, and every touch of his tongue sends waves of pleasure through my entire body. This is more intense than anything I've ever felt - even more than my first night with Thalor.">>
<<changeLust "Mariel" 15>>
<<changeLust "Rylan" 15>>
<<changeAffection "Mariel" "Rylan" 3>>
<<changeAffection "Rylan" "Mariel" 3>>
<<changeAttraction "Mariel" "Rylan" 4>>
<<changeAttraction "Rylan" "Mariel" 4>>
<<quickSexTrack "Rylan" "Mariel" "kiss" 1>>
<<quickSexTrack "Rylan" "Mariel" "kiss" 1>>
<<narrative "I feel myself approaching something I haven't experienced in years. The passion, the forbidden nature of it all, the way he holds me like I'm precious... it's building to a crescendo that threatens to overwhelm me completely.">>
<center><img src="images/mariel/chapter4/morning/11.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<continueBox "MarielMorningVisitChapter4Part4" "Continue to the overwhelming climax" "">>
</div>
<</nobr>>
<<pov "mariel" "marielmakeoutchapter3.mp3">><<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<set $marielMorningVisitChapter4Part4 = true>>
<<if not $mariel_Lust>>
<<set $mariel_Lust = 0>>
<</if>>
<<if not $rylan_Lust>>
<<set $rylan_Lust = 0>>
<</if>>
<<nobr>>
<div class="passage-container mariel">
<<narrative "💥 Overwhelming Pleasure 💥">>
<<narrative "Mariel's perspective - the forbidden climax...">>
<center><img src="images/mariel/chapter4/morning/11.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "The intensity of our kisses is building to something I've never experienced before. Every stroke of his tongue, every caress of his hands, sends waves of pleasure cascading through my body. I'm losing myself in this forbidden moment, drowning in sensations I thought were lost to me forever.">>
<<changeLust "Mariel" 20>>
<<changeLust "Rylan" 20>>
<<narrative "Our fourth kiss becomes desperate, passionate beyond anything I've ever experienced. Our tongues dance with increasing fervor, and I can feel my body responding in ways that shock me. The heat between my legs is building to an almost unbearable intensity.">>
<<quickSexTrack "Rylan" "Mariel" "kiss" 4>>
<<dialog "Mariel" "facewet" "Oh god... $humanName... I'm... I'm...">>
<<dialog "Rylan" "facewet" "Me too... $humanToMariel... this feels so...">>
<<narrative "And then it happens. The pleasure that's been building finally crests, washing over me in waves so intense I nearly collapse. My body trembles against his as I experience the most powerful climax of my life - just from kissing! It's more intense than anything Thalor ever gave me, even during our most passionate moments in our early marriage.">>
<<changeLust "Mariel" -100>>
<<quickSexTrack "Mariel" "Rylan" "orgasm" 1>>
<center><img src="images/mariel/chapter4/morning/12.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "I feel him tensing against me, his breathing becoming ragged as he reaches his own peak. The knowledge that I've brought him to this state just through our kissing sends aftershocks of pleasure through my already sensitized body.">>
<<changeLust "Rylan" -70>>
<<quickSexTrack "Rylan" "Mariel" "orgasm" 1>>
<<dialog "Mariel" "faceshock" "Oh my god... what... what did we just do?">>
<<narrative "We pull apart, both breathing heavily, our faces flushed with the aftermath of what we've just experienced. The kitchen suddenly feels too bright, too real. The weight of what we've done crashes down on me like a avalanche.">>
<<changeAffection "Mariel" "Rylan" 4>>
<<changeAffection "Rylan" "Mariel" 4>>
<<changeAttraction "Mariel" "Rylan" 5>>
<<changeAttraction "Rylan" "Mariel" 5>>
<<dialog "Rylan" "faceshock" "I... I'm so sorry, $humanToMariel. I don't know what came over me. That was... that was so wrong of me.">>
<<dialog "Mariel" "faceworried" "No, no... it wasn't just you. I... I participated. I wanted it too. But you're right. This was wrong. So very wrong.">>
<<narrative "But even as I say the words, I can't deny the truth burning in my chest. That was the most incredible, mind-blowing experience of my entire life. Not even my wedding night with Thalor, not even our most passionate moments when we were young and in love, came close to the intensity I just felt with $humanName.">>
<<narrative "Why? Why did it feel so good? Why did my body respond to him in ways it never has to anyone else? This is my $humanIsMariel! This should feel wrong, disgusting, taboo. But instead... instead it felt like coming home. Like finding a missing piece of myself.">>
<<dialog "Rylan" "faceembarrassed" "I'm so sorry. I really am. I don't know what happened to me. I just... you looked so beautiful, and I felt...">>
<<dialog "Mariel" "facesad" "Please... don't apologize anymore. We both got carried away. But this... This can never happen again. Do you understand?">>
<<dialog "Rylan" "facesad" "Yes... yes, you're absolutely right. It can never happen again. Never.">>
<<dialog "Mariel" "face" "We need to forget this happened. Both of us. Can you do that for me?">>
<<dialog "Rylan" "face" "Yes... I'll try. I'll forget it ever happened.">>
<<narrative "We stand there for a moment in awkward silence, both trying to process what just happened. Finally, he turns toward the door, and I watch him leave, my heart breaking and soaring at the same time.">>
<<dialog "Mariel" "facesmile" "$humanName? Thank you... for helping me with the spices.">>
<<narrative "After he leaves, I lean against the counter, my legs still shaky from what we just experienced. I touch my lips, which are still tingling from his kisses. Never again, I tell myself firmly. This must never happen again.">>
<<narrative "But even as I think those words, I feel a strange emptiness growing in my chest. The thought that this will never happen again... why does it make me feel so hollow? So lost? I should be relieved, grateful that we came to our senses. Instead, I feel like I'm grieving something I never knew I wanted until I had it.">>
<<narrative "I try to return to preparing lunch, but my hands are trembling, and my mind keeps replaying every moment of our forbidden encounter. The way he looked at me, the way he touched me, the way he made me feel more alive than I have in years... No. I must stop thinking about this. It's over. It has to be over.">>
<<narrative "But deep in my heart, in a place I don't dare acknowledge, a small voice whispers: *What if it doesn't have to be?*">>
<<set $marielKitchenForbiddenKiss = true>>
<<set $rylanMarielChapter4Climax = true>>
<<continueBox "MarielMorningVisitChapter4Aftermath" "Return to your room" "">>
</div>
<</nobr>>
<<pov "mariel" "marielmakeoutchapter3.mp3">><<nobr>>
<div class="passage-container mariel">
<<narrative "💚 FIGHTING TEMPTATION 💚">>
<<set _cumNeedMod = Math.round(($mariel_CumNeed || 0) * 0.4)>>
<<set _lustMod = Math.round(($mariel_Lust || 0) * 0.2)>>
<<set _affectionMod = Math.round(($mariel_SerykAffection || 0) * 0.1)>>
<<set _totalPenalty = _cumNeedMod + _lustMod + _affectionMod>>
<<set _baseThreshold = 10>>
<<set _finalThreshold = Math.max(5, Math.min(95, _baseThreshold + _totalPenalty))>>
<<set _resistanceRoll = random(1, 100)>>
<<set _resistanceSuccess = _resistanceRoll > _finalThreshold>>
<<thought "Mariel" "faceworried" "I take a deep breath, forcing myself to look away from Seryk's obvious arousal. My hands tremble slightly as I fight against the memories of that incredible pleasure.">>
<<dialog "Mariel" "faceworried" "No... I can't. I'm a healer, not... not some perverted woman who takes advantage of unconscious patients.">>
<div style="background: rgba(30,30,40,0.9); border: 1px solid rgba(100,100,120,0.4); border-radius: 8px; padding: 15px; margin: 20px 0; font-family: monospace;">
<div style="color: #FFB6C1; font-weight: bold; margin-bottom: 10px;">🎲 Resistance Roll: $resistanceRoll vs $finalThreshold</div>
<div style="color: #DDA0DD; font-size: 0.9em;">Base Threshold: $baseThreshold</div>
<div style="color: #87CEEB; font-size: 0.9em;">Cum Need Penalty: +$cumNeedMod ($mariel_CumNeed × 0.4)</div>
<div style="color: #87CEEB; font-size: 0.9em;">Lust Penalty: +$lustMod ($mariel_Lust × 0.2)</div>
<div style="color: #87CEEB; font-size: 0.9em;">Affection Penalty: +$affectionMod ($mariel_SerykAffection × 0.1)</div>
<div style="color: #FFD700; font-size: 0.9em;">Final Threshold: $finalThreshold (Base + Penalties)</div>
<div style="color: #FFB6C1; font-weight: bold; margin-top: 5px;"><<if _resistanceSuccess>>SUCCESS - Resistance holds strong<<else>>FAILURE - Temptation overwhelms<</if>></div>
</div>
<<if _resistanceSuccess>>
<<narrative "I steel my resolve and focus entirely on the healing magic. Professional duty wins over personal desire. Whatever I'm feeling, Seryk's life is more important than my inappropriate urges.">>
<<dialog "Mariel" "faceserious" "No! I won't succumb!">>
<<narrative "I continue the healing process with renewed focus, carefully avoiding looking at anything other than the areas that need treatment. After another hour of intensive work.">>
<<dialog "Mariel" "facesmile" "Good... he's going to survive this. That's what matters.">>
<<narrative "I call Liora back to take over while I rest. My body aches from the prolonged magical exertion, but I feel proud that I maintained my professional integrity despite the... unusual circumstances.">>
<<continueBox "POVTransitionToRylanContemplation3" "Continue..." "">>
<<else>>
<<narrative "But even as I try to resist, my eyes keep drifting back. The memory of that incredible orgasm floods through me, making my body ache with need. My hands shake as I continue the healing, and I can feel my resolve crumbling.">>
<<dialog "Mariel" "facewet" "I... I can't stop thinking about it. About how good it felt. How much I need... how much I want...">>
<<narrative "My professional resolve dissolves completely as desire overwhelms my better judgment. I glance around nervously, making sure no one else is watching, then slowly reach toward Seryk's boxers with trembling fingers.">>
<<dialog "Mariel" "faceembarrassed" "Just... just to help him. It's medical. Professional. It has to be...">>
<<changeLust "Mariel" 5>>
<<changeAttraction "Mariel" "Seryk" 1>>
<<set $MarielSerykBoxersHandjob = true>>
<<continueBox "POVTransitionToRylanContemplation3" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "mariel" "contemplation.mp3">><<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/cum.mp3')>>
<<if not $marielFirstHandjob>>
<<set $marielFirstHandjob = 'Seryk'>>
<</if>>
<<nobr>>
<div class="passage-container mariel">
<<narrative "💚 OVERWHELMING RELEASE 💚">>
<center><img src="images/mariel/chapter4/ntr/11.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "My hand moves faster and faster, pumping him through the increasingly soaked fabric. The wet sounds of my movements fill the quiet room as I work him toward his peak.">>
<<dialog "Mariel" "facewet" "He's so close... I can feel him throbbing in my grip...">>
<<narrative "Suddenly, his breathing hitches and his entire body tenses. Even unconscious, his back arches slightly as the inevitable moment approaches.">>
<<narrative "With a muffled groan that escapes his lips, Seryk reaches his climax. I feel the powerful pulses through the fabric as he releases, the cloth becoming completely saturated with his thick emission.">>
<center><img src="images/mariel/chapter4/ntr/12.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<dialog "Mariel" "faceshock" "So much... there's so much of it! The fabric can't contain it all...">>
<<thought "Mariel" "faceshock" "The boxers are completely soaked through, and I can see the thick, white fluid seeping through the fabric and pooling beneath him. The sheer volume is overwhelming-far more than I ever expected.">>
<<narrative "As his orgasm subsides, the reality of what I've just done hits me like a physical blow. My hand is coated with his essence, and the masculine scent is now overwhelming in the small room.">>
<<dialog "Mariel" "faceembarrassed" "What have I done?! What have I done again?!">>
<<narrative "But despite my shame, I know I need to clean up the evidence. I can't let anyone discover what happened here. Carefully, I begin to remove his soiled boxers, the fabric heavy with his thick release.">>
<<narrative "The boxers peel away from his skin with a wet sound, revealing the extent of his climax. Thick, white fluid clings to his length and pools in the fabric, the sight both shocking and somehow mesmerizing.">>
<<narrative "I grab some tissues from the bedside table and gently clean him, trying to be as clinical as possible despite the intimate nature of the task. His skin is still warm and sensitive from his release.">>
<<narrative "Once he's clean, I quickly dress him in a fresh pair of boxers from his belongings, my hands still trembling from what we've shared. The new fabric looks almost innocent compared to what I just witnessed.">>
<<narrative "The smell in the room is now incredibly intense-masculine and overwhelming. I quickly open the window to let fresh air in, hoping to disperse the telltale scent before anyone notices.">>
<<narrative "I bundle up the soiled boxers, knowing I need to get them to the washing room before anyone sees. As I carry them through the hallway, I can feel the dampness through the fabric bundle.">>
<<narrative "In the washing room, I unfold the boxers to assess the damage before cleaning them. The sight of the thick, white fluid coating the fabric makes my breath catch. There's so much of it-creamy and substantial.">>
<<dialog "Mariel" "faceworried" "No... you shouldn't even think about it, Mariel...">>
<<narrative "But even as I tell myself to resist, my hand moves almost of its own accord. Before I can stop myself, I bring my finger to the thick fluid and... taste it.">>
<center><img src="images/mariel/chapter4/ntr/eatcum.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<dialog "Mariel" "facewet" "OH! OH GOD!">>
<<narrative "The moment his essence touches my tongue, an overwhelming wave of pleasure crashes over me. My knees buckle and I grab the washing basin for support as the most intense orgasm of my life rips through my body.">>
<center><img src="images/mariel/chapter4/ntr/eatcumorgasm.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "I bite my hand to muffle my cries as wave after wave of ecstasy floods through me. Every nerve ending feels electrified, every muscle contracts with pleasure so intense it borders on pain.">>
<<narrative "The taste, the scent, the forbidden nature of what I'm doing-it all combines into an experience that completely overwhelms my senses. I've never felt anything like this in my entire life.">>
<<dialog "Mariel" "faceshock" "What... what is happening to me? This feeling... it's like every need I've ever had is being satisfied at once...">>
<<thought "Mariel" "faceshock" "As the intensity finally begins to subside, I find myself slumped against the washing basin, breathing heavily and trembling from the aftershocks. The taste still lingers on my tongue, and I realize with shock that all my pent-up desires have been somehow satisfied.">>
<<set $mariel_CumNeed = 0>>
<<changeLust "Mariel" -100>>
<<changeAttraction "Mariel" "Seryk" 3>>
<<changeFetish "Mariel" "SmellFetish" 0.3>>
<<changeFetish "Mariel" "CumInterest" 0.3>>
<<quickSexTrack "Mariel" "Seryk" "handjob" 1>>
<<thought "Mariel" "faceshock" "After cleaning the evidence as thoroughly as possible, I hang the boxers to dry and return to check on Seryk. He's sleeping peacefully, completely unaware of what transpired. His breathing is steady and his color has improved significantly.">>
<<thought "Mariel" "faceshock" "As I settle back to continue the healing process, I can't help but wonder what this means for me... for us... for everything. But those are thoughts for another time. Right now, I need to focus on making sure he recovers completely.">>
<<continueBox "MiraMeetsNimeria" "Continue" "">>
</div>
<</nobr>>
<<pov "mariel" "intimate.mp3">><<nobr>>
<div class="passage-container mira">
<<narrative "💥 EXPLOSIVE JUSTICE 💥">>
<<narrative "I threw the cleaning cloth aside and ran. Down the stairs, through the halls, my feet pounding against stone as pure rage propelled me forward. By the time I burst through the garden entrance, Torin was raising his stick high above Nimeria's cowering form.">>
<<dialog "Torin" "face" "This is what happens to cursed freaks! Maybe a few welts will teach you-">>
<<narrative "Time slowed. I could see the stick beginning its downward arc toward the terrified child. Could see the guards still standing there like statues. Could see Seryk's face frozen in horrified realization of what he'd helped set in motion.">>
<center><img src="images/mira/flying.webp" style="max-width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "I launched myself through the air like a cannonball, my foot connecting with Torin's face with every ounce of fury I'd been suppressing for weeks. The satisfying crunch of cartilage beneath my heel told me I'd broken more than just his nose.">>
<<narrative "Torin flew backward like a rag doll, his stick spinning through the air as he crashed into the grass several feet away. He didn't get up. He didn't move. He just lay there, blood streaming from his ruined face, unconscious and possibly worse.">>
<<dialog "Drevon" "face" "Oh gods! Oh gods! Torin! You killed him! You killed him!">>
<<narrative "I landed gracefully, my knees bending to absorb the impact before I straightened and fixed my gaze on the terrified Drevon. He was backing away, but I was already moving.">>
<<dialog "Mira" "faceangry" "Good! Maybe now you'll learn what happens when you hurt innocent children!">>
<<narrative "I closed the distance in two quick steps and drove my fist upward into Drevon's chin with all the force I could muster. His head snapped back with a wet crack, his eyes rolling back as he crumpled beside his friend.">>
<<narrative "Silence fell over the garden like a funeral shroud. Two unconscious boys lay bleeding in the grass. Nimeria stood frozen in shock, her red eyes wide with disbelief. And Prince Seryk... Prince Seryk was staring at me like he'd just witnessed a demon emerge from the earth.">>
<<dialog "Seryk" "faceshocked" "Mira! What have you done?!">>
<<narrative "I turned to face him slowly, my expression cold as winter stone. Without a word, I walked toward the boy who had just condemned his own sister to violence. He took a step back, but there was nowhere to run.">>
<<narrative "My fist connected with his nose-not with the full force I'd used on his friends, but enough to send blood streaming down his face and likely break the cartilage. He stumbled backward, crying out in pain and shock.">>
<center><img src="images/seryk/bleeding.webp" style="max-width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "That's when the guards finally decided to act. They came running toward me with drawn swords, shouting orders and threats. Too little, too late.">>
<<dialog "Mira" "facecrying" "How can you do and say something so cruel?! She is your sister! Your family!">>
<<dialog "Guard Captain" "face" "Now you've done it, maid! You attacked the young prince! You'll rot in a cell until your execution!">>
<<narrative "As they grabbed my arms and began dragging me away, I felt something I hadn't expected to feel-laughter bubbling up from deep in my chest. It started as a chuckle, then grew into full, uncontained mirth that echoed through the garden.">>
<<dialog "Mira" "facelaughing" "Hahaha! Worth every moment! Did you see their faces? Absolutely priceless!">>
<<narrative "As they hauled me toward the dungeons, I caught one last glimpse of Nimeria standing there unharmed, staring after me with an expression I couldn't quite read. For the first time since I'd met her, she wasn't crying.">>
<<continueBox "MiraInPrison" "Three days later" "">>
</div>
<</nobr>>
<<pov "mira" "battle.mp3">><<nobr>>
<div class="passage-container mira">
<<narrative "⚔️ The Breaking Point ⚔️">>
<<narrative "Three days had passed since I'd bandaged Nimeria's wounds, and I'd been watching. Waiting. Every cruel whisper, every dismissive gesture, every moment of willful blindness only fed the rage burning inside me.">>
<<narrative "I was making my rounds through the castle halls when movement in the garden caught my eye. My blood turned to ice water.">>
<<narrative "Nimeria was backed against the garden wall, surrounded by three figures. Seryk stood off to the side, his arms crossed, while Torin and Drevon circled her like predators. But this time was different, this time they carried wooden sticks like clubs.">>
<div class="cruelty-escalation" style="background: rgba(80,40,40,0.8); border: 2px solid rgba(139,0,0,0.7); border-radius: 8px; padding: 25px; margin-bottom: 25px;">
<<dialog "Male NPC" "face" "You know what your problem is, cursed child? You shouldn't have been born.">>
<<dialog "Male NPC" "face" "Yeah! Zarn is probably your real father anyway. What are you even doing inside the castle? You should be living in a doghouse!">>
<<narrative "Nimeria pressed herself further against the stone wall, her eyes darting between the raised sticks and the cruel faces surrounding her.">>
<<dialog "Nimeria" "faceyounghurt" "P-please... I didn't do anything wrong...">>
<<dialog "Male NPC" "face" "Your existence is wrong!">>
</div>
<div class="peer-pressure-seryk" style="background: rgba(60,40,40,0.8); border: 2px solid rgba(120,60,60,0.7); border-radius: 8px; padding: 25px; margin-bottom: 25px;">
<<narrative "The boys turned their attention to Seryk, who had been watching the scene with obvious discomfort.">>
<<dialog "Male NPC" "face" "Come on, Seryk! Tell your precious sister what you really think. She needs to learn her place.">>
<<dialog "Male NPC" "face" "Yeah! Show us you're not a coward like her!">>
<<narrative "Seryk's face went pale. I could see the internal struggle. The desperate need to belong warring against whatever conscience he had left.">>
<<dialog "seryk" "past/faceserious" "Yes... yes, that's true. You shouldn't have been born.">>
<<narrative "The words hit Nimeria like physical blows. Her eyes went wide with betrayal and pain as she looked at her brother,the one person she'd hoped might still care.">>
<center><img src="images/nimeria/past/facecrying.webp" style="max-width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
</div>
<div class="guards-ignore" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin-bottom: 25px;">
<<narrative "That's when I noticed them, two castle guards standing not twenty feet away, calmly discussing the weather while a child was being terrorized with weapons. They could see everything. They could hear every cruel word.">>
<<narrative "And they were doing absolutely nothing.">>
<<narrative "The rage that had been simmering for days finally boiled over. My vision turned red.">>
</div>
<div class="mira-explosion" style="background: rgba(139,0,0,0.8); border: 2px solid rgba(255,0,0,0.7); border-radius: 8px; padding: 25px; margin-bottom: 25px;">
<<narrative "Torin raised his stick above Nimeria's cowering form, ready to bring it down on her small head. But the blow never landed.">>
<center><img src="images/mira/furious.webp" style="max-width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "I moved faster than I'd ever moved in my life. My foot connected with Torin's face with a sickening crack that echoed through the garden. The young noble flew backward several meters, his stick clattering away as he crashed into the grass and lay motionless.">>
<center><img src="images/mira/kick.webp" style="max-width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<dialog "Male NPC" "face" "Oh gods! Oh gods! Torin! You killed him!">>
<<narrative "I landed gracefully, pushing myself up from the ground in one fluid motion. Drevon was backing away, trembling, but not fast enough.">>
<center><img src="images/mira/fist.webp" style="max-width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "My uppercut caught him perfectly under the chin. His head snapped back and he collapsed beside his friend, both unconscious and bleeding.">>
<<dialog "Mira" "faceangry" "breathing heavily, standing over the fallen bullies">>
<<narrative "Nimeria stared at me in complete shock, her mouth agape. But it was Seryk's horrified voice that broke the silence.">>
</div>
<div class="seryk-confrontation" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin-bottom: 25px;">
<<dialog "seryk" "past/faceserious" "Mira! What have you done?!">>
<<narrative "I turned to face him slowly, my fury still burning white-hot. This coward. This pathetic excuse for a brother. He stood there, shocked not at his friends' cruelty, but at my response to it.">>
<<narrative "Without saying a word, I walked toward him. He took a step back when he saw my face.">>
<center><img src="images/mira/attack.webp" style="max-width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "My fist connected with his nose with a wet crunch. Not as hard as the others, I didn't want to kill him, but enough to send blood streaming down his face and likely break the bone.">>
<center><img src="images/seryk/past/serykbleeding.webp" style="max-width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<dialog "seryk" "past/facebleeding" "Ahhh! My nose!">>
</div>
<div class="mira-outburst" style="background: rgba(139,0,0,0.8); border: 2px solid rgba(255,0,0,0.7); border-radius: 8px; padding: 25px; margin-bottom: 25px;">
<<narrative "The guards finally came running, their swords drawn. Too little, too late.">>
<<dialog "Mira" "facecrying" "How can you do something so cruel?! How can you say something so cruel?! She is your sister! Your family!">>
<<narrative "Tears of rage streamed down my face as I screamed at him, at all of them.">>
<<dialog "Male NPC" "face" "Now you've done it, maid! You attacked the young prince! You'll rot in a cell until your execution!">>
<<narrative "As the guards grabbed my arms and began dragging me away, I couldn't stop myself from laughing. It started as a bitter chuckle but grew into full, uncontrolled laughter that echoed through the garden.">>
<<dialog "Mira" "facelaugh" "Ahahahaha! Perfect! Absolutely perfect!">>
<<narrative "They thought this was justice? They thought this was order? Let them drag me to their dungeons. At least I'd go knowing I'd finally done something that mattered.">>
</div>
<<continueBox "MiraInPrison" "Three days later..." "">>
</div>
<</nobr>>
<<pov "mira" "doyouhatemetoo.mp3">><<nobr>>
<div class="passage-container mira">
<<narrative "Over the next few weeks, I began to notice patterns in Nimeria's behavior. She would disappear for hours at a time, returning with dust on her dress and an oddly satisfied expression. When I asked where she'd been, she would just smirk and say it was 'none of my business.'">>
<<narrative "My curiosity finally got the better of me. One afternoon, when she thought I was busy with laundry, I followed her through the castle's winding corridors. She moved with surprising stealth for a seven-year-old, checking corners and listening at doors before proceeding.">>
<center><img src="images/landscapes/forbiddenlibrary.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "She led me to a section of the castle I'd never seen before, the forbidden library. The doors were massive, carved with warning symbols and sealed with multiple locks. Yet somehow, Nimeria slipped inside like she owned the place.">>
<<narrative "After waiting a few minutes, I crept closer and peered through a crack in the door. What I saw made my blood run cold.">>
<<narrative "Nimeria sat at a massive oak table surrounded by books that were clearly not meant for children. Ancient tomes bound in strange leather, scrolls covered in arcane symbols, and manuscripts that seemed to whisper in the shadows. And she was reading them. Not just looking at pictures, actually reading and taking notes.">>
<<dialog "Mira" "facemaid" "There's no way a seven-year-old can read books like that... right?">>
<<narrative "When she left for dinner, I managed to slip inside. The book she'd been reading lay open on the table, and what I saw made my stomach turn.">>
<center><img src="images/items/verynexperiments.webp" style="max-width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "The title read 'Veryn's Experiments - Volume 192' in faded ink. My hands shook as I read the open page:">>
<div style="margin: 15px 0; background: linear-gradient(145deg, rgba(60, 20, 20, 0.85), rgba(50, 15, 15, 0.9)); border-left: 4px solid rgba(139, 0, 0, 0.8); padding: 15px; border-radius: 0 8px 8px 0;">
<span style="color: #FFB6C1; font-style: italic; font-family: serif;">*"Final breakthrough achieved. Soul transference into a deceased vessel requires precise temporal parameters, decomposition must not exceed seventeen days. Subject Elaria presents optimal morphological compatibility with the intended recipient. Current gestational state provides an additional vector: the developing fetus can serve as a secondary vessel, its nascent consciousness easily displaced by the target soul."*</span></div>
<<dialog "Mira" "facemaid" "So... he figured out how to put dead people's souls into fresh bodies? But only if they haven't been dead too long. And this Elaria woman, it seems he wants to use her as a vessel for someone who died too long ago. Since she's pregnant, he can put a dead soul into her unborn baby too... What in the seven hells... No child should be reading this kind of sick material!">>
<div style="margin: 15px 0; background: linear-gradient(145deg, rgba(60, 20, 20, 0.85), rgba(50, 15, 15, 0.9)); border-left: 4px solid rgba(139, 0, 0, 0.8); padding: 15px; border-radius: 0 8px 8px 0;">
<span style="color: #FFB6C1; font-style: italic; font-family: serif;">*"The incantation 'Zmaldrik Taldrik!' demonstrates elegant phonetic construction, designed for mnemonic retention. However, the primary limitation remains the astronomical mana requirements for trans-dimensional soul manipulation."*</span></div>
<<dialog "Mira" "facemaid" "So the spell words are easy to remember, but it needs a massive amount of magical energy to actually move souls between worlds... Wait, small dick, tall dick? Is this some kind of sick joke?">>
<div style="margin: 15px 0; background: linear-gradient(145deg, rgba(60, 20, 20, 0.85), rgba(50, 15, 15, 0.9)); border-left: 4px solid rgba(139, 0, 0, 0.8); padding: 15px; border-radius: 0 8px 8px 0;">
<span style="color: #FFB6C1; font-style: italic; font-family: serif;">*"My theoretical framework culminates in this discovery. Crystalline mana deposits (azure variety) contain concentrated etheric energy in stable lattice formations. Proper extraction techniques enable even non-mages to channel substantial magical forces, provided they possess innate affinity. The Nightweed plant, dismissed as mere agricultural poison, represents a revolutionary breakthrough. Its mana-absorption properties create localized dead zones, but direct contact with its essence exponentially amplifies magical capacity while proportionally increasing energy consumption."*</span></div>
<<dialog "Mira" "facemaid" "Blue crystals from mines have tons of magic energy stored in them. If you know how to use them right, even people without magic can cast spells. And that poisonous Nightweed weed everyone hates? It actually sucks magic out of the ground. If you touch its sap, you can cast way more powerful spells, but it also drains way more energy from you.">>
<div style="margin: 15px 0; background: linear-gradient(145deg, rgba(60, 20, 20, 0.85), rgba(50, 15, 15, 0.9)); border-left: 4px solid rgba(139, 0, 0, 0.8); padding: 15px; border-radius: 0 8px 8px 0;">
<span style="color: #FFB6C1; font-style: italic; font-family: serif;">*"Inherent risks remain significant. The spell operates through absolute mana drainage, consuming all available energy within a calculated radius. Probability matrices indicate 97.3% fatality rate for the caster, 89.7% for proximate subjects, and 67.2% probability of permanent mana severance in survivors. Additionally, the resurrection protocol binds the soul through a necromantic curse that perpetually drains their mana reserves, maintaining only minimal energy for basic life functions. Secondary effects remain uncharted. Multi-target scenarios present exponential complexity requiring subjects with exceptional willpower to survive the process."*</span></div>
<<dialog "Mira" "facemaid" "This spell is incredibly dangerous. It sucks up all the magic in the area, and almost everyone dies, 97 out of 100 people who cast it, 90 out of 100 people nearby, and most survivors lose their magic forever. And the brought-back person? They get cursed so their magic is constantly being drained away, leaving them just enough energy to stay alive but never enough to use magic again. Plus there might be other horrible side effects he doesn't even know about yet. And if you try to bring back multiple people at once, you need subjects with incredibly strong willpower just to survive...">>
<<narrative "I flipped through more pages, finding detailed accounts of human experimentation, torture methods disguised as 'research,' and ritual magic that made my skin crawl. These were the journals of someone called Veryn, a monster who conducted cruel experiments on living beings.">>
<<dialog "Mira" "facemaid" "No wonder that girl is so grim if this is her bedtime reading...">>
<<narrative "But something else was bothering me. The way Nimeria had been reading, taking notes, understanding complex magical theory that would challenge adult scholars... There was more to this 'cursed child' than anyone realized.">>
<<continueBox "MiraRealizes" "Continue investigating" "">>
</div>
<</nobr>>
<<pov "mira" "forbiddenlibrary.mp3">><<nobr>>
<div class="passage-container mira">
<<narrative "👑 THE DEMON KING 👑">>
<<narrative "The heavy wooden door groaned open, and I felt my heart skip a beat. The dungeons of the demon castle were bad enough, but now I was about to face the most terrifying creature in existence. My wrists ached from the iron shackles, but the pain was nothing compared to the dread building in my chest.">>
<<narrative "King Azgorth entered with the measured steps of absolute authority. Each footfall echoed against the stone walls like thunder, and his presence seemed to fill every corner of the chamber. The guards flanked him but remained a respectful distance away-even they understood that their king needed no protection from a simple maid in chains.">>
<center><img src="images/azgorth/portrait.webp" style="max-width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "My breath caught as I got my first real look at him. He was even more imposing than the stories suggested-towering over everything in the room with shoulders broad enough to block out the torchlight. His ebony skin seemed to absorb the shadows, while those famous emerald green eyes burned with an intelligence that was far more terrifying than mere rage would have been.">>
<<narrative "When he settled into the chair across from me, the ancient wood creaked in protest. His massive frame made the furniture look like something from a child's playroom. But it was his expression that truly unnerved me-not the furious scowl I'd expected, but a look of genuine curiosity, as if I were some fascinating puzzle he was trying to solve.">>
<<narrative "The silence stretched between us like a taut rope. I could hear the guards shifting nervously behind me, the soft crackle of the torches, even my own heartbeat thundering in my ears. When he finally spoke, his voice was deep and resonant, carrying the weight of absolute authority.">>
<<dialog "Azgorth" "face" "So, Mira. My son tells me you interfered with their... activities yesterday. That you physically assaulted Prince Seryk and his companions.">>
<<narrative "His tone was carefully neutral, giving nothing away. I swallowed hard, my mouth suddenly dry as sand. This was it-the moment of truth. I could lie, try to make excuses, beg for mercy... or I could tell him exactly what I thought of his precious children and their 'activities.'">>
<<narrative "I lifted my chin and met those burning emerald green eyes without flinching. If death was coming for me anyway, I'd meet it with my integrity intact.">>
<<dialog "Mira" "faceangry" "Damn right I did! And I'd do it again without hesitation! Those little monsters were tormenting Princess Nimeria with sticks like she was some kind of animal!">>
<<narrative "The air in the chamber seemed to thicken. I could practically hear the collective intake of breath from the guards behind me. But I wasn't finished-not by a long shot.">>
<<dialog "Mira" "faceangry" "She was just sitting there, minding her own business, and they decided to torment her because she looks different! Because she has darker hair than them! What kind of father raises children to be such cruel bullies?">>
<<dialog "Azgorth" "faceserious" "Watch your tongue, maid. You're speaking about royal blood.">>
<<narrative "His warning only fueled the fire burning in my chest. All my pent-up frustration, all the times I'd bitten my tongue when I should have spoken up, all the injustices I'd witnessed in silence-it all came pouring out at once.">>
<<dialog "Mira" "faceangry" "Royal blood? ROYAL BLOOD?! If that's what passes for royalty in this castle, then your bloodline is more poisoned than a goblin's well! Maybe if you spent less time worrying about your receding hairline and more time actually parenting, your children wouldn't grow up to be such vicious little beasts!">>
<<narrative "The words hung in the air like a death sentence. I could practically feel the executioner's axe hovering over my neck. But I wasn't done yet-might as well go out with a bang.">>
<<narrative "I worked up every ounce of saliva I could muster and spat it onto the stone floor between us. The sound echoed through the chamber like a thunderclap, and that's when I heard the metallic rasp of steel being drawn from its sheath.">>
<div style="margin: 15px 0; background: linear-gradient(145deg, rgba(80, 40, 40, 0.85), rgba(70, 30, 30, 0.9)); border-left: 4px solid rgba(139, 0, 0, 0.7); padding: 15px; border-radius: 0 8px 8px 0;">
<span style="color: #8FBC8F; font-style: italic; font-size: 0.9em;">Guard: "How DARE you speak to His Majesty with such disrespect, you insolent wretch! I'll cut out your tongue for that insult!"</span></div>
<<narrative "The guard's blade was halfway out of its scabbard when the Demon King's voice cut through the tension like a whip crack.">>
<<dialog "Azgorth" "faceserious" "SHEATH YOUR WEAPON THIS INSTANT!">>
<<narrative "The authority in his voice was so absolute that the guard's hand froze mid-draw. The man's face went pale as parchment, and the sword slid back into its sheath with a shaky click. I'd never seen royal authority wielded with such devastating precision.">>
<<narrative "King Azgorth leaned back in his chair, those emerald green eyes never leaving my face. The silence stretched on for what felt like an eternity. I could see his mind working, processing everything I'd said, weighing my words against whatever truth his son had told him.">>
<<narrative "Then, something extraordinary happened. The corner of his mouth twitched. Just barely, but I caught it. The twitch became a slight curl, the curl became a smile, and then-completely without warning-the most powerful demon in existence threw back his head and laughed.">>
<<narrative "It wasn't a polite chuckle or a restrained laugh. This was a full-bodied roar of mirth that seemed to shake the very foundations of the dungeon. The sound bounced off the stone walls, growing louder and more thunderous with each echo.">>
<<dialog "Azgorth" "face" "By the depths of the abyss, Mira! Do you have any idea how long it's been since someone had the spine to tell me the truth like that? And my hairline? Really? You went straight for the throat with that one!">>
<<narrative "I stared at him in complete bewilderment. This wasn't how I'd imagined my final moments would go. The guards looked equally confused, shifting from foot to foot like they weren't sure if they should be laughing along or preparing for an execution.">>
<<dialog "Azgorth" "face" "Guards, remove those shackles immediately! And arrange for her to receive a reward of... let's say one hundred gold pieces for her service to the crown. Yes, that should suffice.">>
<<narrative "Service to the crown? Reward? I blinked rapidly, convinced I was hallucinating from dungeon air. But the guards were already moving forward with keys, their expressions carefully blank as they worked to unlock my chains.">>
<<dialog "Azgorth" "face" "Furthermore, Mira, you are hereby granted official authority to discipline any member of the royal family, princes and princesses included-if you witness behavior unbecoming of their station. Consider it a formal position. Royal Behavior Correction Specialist.">>
<<narrative "My mouth fell open. Royal Behavior Correction Specialist? He was not only pardoning me but promoting me? My natural instinct to argue kicked in before my brain could catch up with my mouth.">>
<<dialog "Mira" "faceangry" "Oh, stuff it! I don't need your permission to protect children from bullies! I would have done it regardless of your fancy titles and official authority!">>
<<narrative "That sent him into another fit of laughter that was even louder than the first. He slapped his knee and wiped tears from his eyes while the guards looked like they wanted to disappear into the stone walls.">>
<<dialog "Azgorth" "face" "Magnificent! Absolutely magnificent! Guards, make sure every servant, every noble, every single person in this castle knows about Mira's new position. And I do mean everyone-I want word to reach even the kitchen cats if necessary.">>
<<narrative "As the guards fumbled with the keys to remove my final shackle, I rubbed my wrists and tried to process what had just happened. The iron bands fell to the stone floor with a series of metallic clanks that seemed to echo my disbelief.">>
<<dialog "Azgorth" "face" "Oh, and Mira? Promise me you'll never change. The realm needs more people willing who dare to speak the truth, even to those in power. Even when 'especially when' that power could vaporize them with a thought.">>
<<narrative "The guards escorted me out of the dungeon and through the castle corridors, their faces carefully neutral but their whispered conversations following in our wake. Word was already spreading like wildfire-the maid who insulted the king and lived to get promoted.">>
<<narrative "As we walked through the grand hallways, I could hear servants stopping their work to stare, nobles whispering behind their fans, and even the castle cats seemed to pause in their prowling to watch our little procession. It was surreal beyond belief.">>
<<narrative "Behind us, echoing through the stone corridors, I could hear King Azgorth's heavy footsteps heading toward the throne room. But then the footsteps stopped. There was a long pause, followed by a voice that sounded much less confident than it had moments before.">>
<<dialog "Azgorth" "face" "Guard... be honest with me. Is my hairline really receding that noticeably?">>
<div style="margin: 15px 0; background: linear-gradient(145deg, rgba(80, 40, 40, 0.85), rgba(70, 30, 30, 0.9)); border-left: 4px solid rgba(139, 0, 0, 0.7); padding: 15px; border-radius: 0 8px 8px 0;">
<span style="color: #8FBC8F; font-style: italic; font-size: 0.9em;">Guard: "Oh no, Your Majesty! Your hair is as magnificent as ever! Full and lustrous and absolutely-"</span></div>
<<dialog "Azgorth" "face" "You're just saying that because you're terrified I'll execute you for honesty...">>
<<narrative "There was another long pause, followed by a heavy sigh that seemed to carry the weight of absolute power and the loneliness that came with it.">>
<<dialog "Azgorth" "face" "Oh well... just... keep this conversation between us, all right?">>
<<narrative "As we reached the main castle, I couldn't help but smile despite everything. Not only was I alive, but I'd somehow managed to earn the protection and approval of the most powerful being in the realm. The nervous glances the other servants were giving me made it clear that word of my new position was already spreading.">>
<<narrative "Let them all whisper and stare. Mira the maid had found her voice, and now she had the highest authority in the land backing her up. No child in this castle would suffer in silence again-not on my watch. And if anyone had a problem with that, they could take it up with the Demon King himself.">>
<<continueBox "EndOfChapter4" "End of Chapter 4..." "">>
</div>
<</nobr>>
<<pov "mira" "prison.mp3">><<nobr>>
<div class="passage-container mira">
<<narrative "🏰 First Day in the Castle 🏰">>
<center><img src="images/landscapes/demoncastle.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "The Demon King's castle was a maze of dark corridors and oppressive grandeur. Three days had passed since my 'recruitment,' and I was still trying to wrap my head around how a failed pickpocketing attempt had landed me a job as a royal maid. The irony wasn't lost on me-from the slums to serving royalty in one spectacularly stupid move.">>
<<thought "Mira" "facemaid" "Well, at least the pay is decent and I get three meals a day. How hard can it be to babysit one spoiled princess?">>
<<narrative "The head maid had given me a quick rundown: Princess Nimeria was seven years old, had black hair and red eyes (the supposed 'curse'), rarely spoke to anyone, and went through personal attendants faster than the king went through wine. The longest anyone had lasted was three weeks.">>
<<narrative "I approached the ornate door to her chambers, took a deep breath, and knocked. When no answer came, I pushed it open carefully.">>
<center><img src="images/nimeria/youngroom.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "The room was lavishly appointed but felt cold and unlived-in. Expensive toys sat untouched on shelves, and everything was perfectly organized-except for the corner where a small figure sat playing with a massive black creature that looked like a cross between a wolf and a shadow.">>
<<narrative "Princess Nimeria looked up at me with those infamous red eyes-eyes that held far too much intelligence and pain for a seven-year-old. Her black hair fell in waves around her pale face, and despite the rumors, she was actually quite beautiful. Just... sad.">>
<<dialog "Nimeria" "youngfacemaid" "Another one? How long do you plan to last?">>
<<dialog "Mira" "facemaid" "Long enough to get paid, Your Highness. I'm Mira, your new personal attendant.">>
<<dialog "Nimeria" "youngfacemaid" "Mira... What a common name for a common girl. At least you're honest about your motives.">>
<<narrative "The massive black creature-which I assumed was Zarn based on the briefing-lifted its head to study me with glowing amber eyes. It was easily the size of a small horse and radiated an aura of barely contained power.">>
<<dialog "Mira" "facemaid" "And you must be Zarn. Nice to meet you both. What are you playing?">>
<<dialog "Nimeria" "youngfacemaid" "None of your business. Just... stand there and try not to break anything expensive.">>
<<narrative "I watched as she continued her game, speaking in a theatrical voice as she moved small figurines around. Zarn seemed to understand his role perfectly, lying down and letting her climb on his back like a noble steed.">>
<<continueBox "MiraWatchesNimeria" "Watch her play" "">>
</div>
<</nobr>>
<<pov "mira" "mirapast.mp3">><<nobr>>
<div class="passage-container mira">
<<narrative "⛓️ THE DUNGEON ⛓️">>
<<narrative "Three days in a damp stone cell had given me plenty of time to think. The straw was moldy, the walls were covered in slime, and the guards took particular pleasure in 'forgetting' to bring my meals on time. But none of that mattered.">>
<<narrative "Every time I closed my eyes, I saw Torin's face crumpling beneath my foot, heard Drevon's jaw crack from my uppercut, watched the blood stream down Seryk's broken nose. And every single time, I smiled.">>
<<narrative "The sound of heavy footsteps echoing down the stone corridor interrupted my pleasant memories. A guard I recognized-one of the ones who'd stood by watching the attack-stopped at my cell door with a particularly unpleasant expression.">>
<<dialog "Mira" "facelaugh" "Well, well. If it isn't my favorite cowardly guard. Let me guess-you're here to gloat?">>
<<narrative "Guard: 'Today's your last day, maid. Hope you enjoyed your little tantrum, because you're about to pay for it with your life.'">>
<<dialog "Mira" "facelaugh" "Great! Then I don't have to see your ugly face anymore. What a wonderful final gift.">>
<<narrative "He unlocked the cell and roughly dragged me out, shoving iron shackles onto my wrists. The cold metal bit into my skin, but I barely felt it. After years of emotional numbness, physical pain was almost refreshing.">>
<<narrative "Guard: 'Move! To the interrogation room. You can sit there and think about your crimes while you wait for the executioner.'">>
<<narrative "He shoved me into a small stone room with a single wooden chair and table, then slammed the door behind him. I could hear his footsteps retreating down the corridor, leaving me alone with my thoughts once again.">>
<<thought "Mira" "facemaid" "Hmm... will they just cut my head off, or torture me first? What did I get myself into...">>
<<narrative "I settled into the chair and tilted my head back, closing my eyes as I considered my situation. Death was probably inevitable at this point, but regret? That was another matter entirely.">>
<<dialog "Mira" "facelaugh" "Do I regret it? Hmm... Nope! It was so much fun to kick that little brat in the face. He'll probably never be able to look in a mirror again without remembering my boot!">>
<<narrative "The memory made me chuckle softly. Whatever happened next, at least I'd gone out with a statement. No more quiet, obedient Mira who cleaned up their messes and pretended not to see their cruelties.">>
<<narrative "Heavy footsteps approached the door again-multiple sets this time. I straightened in my chair and put on my most defiant expression. If they wanted to see me break, they'd be waiting a very long time.">>
<<narrative "The door creaked open slowly, revealing two guards... and behind them, a massive figure that made my heart skip a beat. That familiar muscular frame, those blazing red eyes, that aura of barely contained power.">>
<<narrative "King Azgorth himself had come to see me.">>
<center><img src="images/azgorth/portrait.webp" style="width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<continueBox "MiraFacesAzgorth" "Face the Demon King" "">>
</div>
<</nobr>>
<<pov "mira" "prison.mp3">><<nobr>>
<div class="passage-container mira">
<<narrative "⏳ Many Years Ago ⏳">>
<<narrative "Deep within the Demon King's castle, a pink-haired thief begins her new life...">>
<<narrative "Serving the most feared and lonely child in the kingdom...">>
<<continueBox "MiraFirstDay" "Continue" "">>
</div>
<</nobr>>
<<pov "mira" "mysterious.mp3">>
<<script>>
if (window.FloatingEffects) {
window.FloatingEffects.removeEffect('Mariel');
window.FloatingEffects.removeEffect('Liora');
}
<</script>><<nobr>>
<div class="passage-container mira">
<<narrative "💔 The Truth About the Cursed Child 💔">>
<<narrative "Over the following days, I began to pay closer attention to how others treated Nimeria. What I discovered made my stomach churn with a mixture of disgust and unwelcome sympathy.">>
<<narrative "The servants whispered when they thought she couldn't hear, calling her 'demon spawn,' 'the mistake,' 'the one who should have been drowned at birth.' Even the nobles visiting the castle would openly discuss her 'unfortunate existence' as if she were a piece of furniture.">>
<<narrative "I overheard one conversation that particularly stuck with me: 'The King should have done the kingdom a favor and eliminated that cursed thing when it was born. Those red eyes are a sign of evil incarnate.'">>
<<thought "Mira" "facemaid" "Well, who cares. I had to survive on my own too. Life's tough for everyone.">>
<<narrative "But even as I told myself I didn't care, I found myself watching her more carefully. The way she would flinch when footsteps approached. How she would check every corner before entering a room. The practiced way she would make herself small and invisible when other nobles were around.">>
<<narrative "Then, a few weeks later, I found her.">>
<center><img src="images/nimeria/younghurt.webp" style="width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "I was returning from the laundry when I heard soft whimpering from her room. Inside, Nimeria sat on her bed, her dress torn and bloody scratches covering her arms and face. She was trying to clean the wounds herself with shaking hands.">>
<<dialog "Mira" "facemaid" "Nimeria! What happened to you? Where did you get these scratches?">>
<<narrative "She looked up at me with those red eyes, now rimmed with tears she was desperately trying to hold back.">>
<<dialog "Nimeria" "faceyounghurt" "I fell down.">>
<<narrative "The lie was so obvious it was insulting. These weren't scratches from a fall, they were deliberate, precise. The kind that came from fingernails and maybe a few well-placed kicks. I'd seen enough violence in the slums to recognize the signs.">>
<<dialog "Mira" "facemaid" "Let me guess, Prince Seryk and his charming friends decided to 'play' with you again?">>
<<narrative "The way she flinched told me everything I needed to know. Without asking permission, I went to get the medical supplies and began cleaning her wounds. She sat perfectly still, but I could feel the tension radiating from her small frame.">>
<<narrative "As I worked, she spoke so quietly I almost missed it.">>
<<dialog "Nimeria" "faceyounghurt" "Do you hate me too?">>
<<narrative "The question hit me like a physical blow. I paused in my work, looking down at this small, broken child who had been nothing but cruel to me since I arrived. Part of me wanted to say yes, she was spoiled, mean, and had insulted me at every opportunity.">>
<<narrative "But as I looked at her, really looked at her, I saw something that made my chest tighten. She wasn't spoiled. She was surviving. Every cruel word, every insult, every wall she'd built around herself was just another way of keeping the world at a distance before it could hurt her again.">>
<<dialog "Mira" "facemaid" "I... honestly, I don't know.">>
<<narrative "It was the truth. I'd spent so long hating the world, hating everyone in it, that I wasn't sure I knew how to feel anything else. But these past few weeks... watching her play with Zarn, seeing her read those terrible books, witnessing her try to navigate a world that despised her very existence...">>
<<narrative "Maybe they had been fun. Maybe, for the first time in years, I hadn't felt completely alone.">>
<<dialog "Mira" "facemaid" "But I'll tell you what I do know, you don't deserve this. Nobody does.">>
<<narrative "For the first time since I'd met her, Nimeria's mask slipped completely. A single tear rolled down her cheek, and in that moment, she looked exactly like what she was, a frightened, lonely child who had been fighting the world all by herself.">>
<<narrative "But as I finished bandaging her wounds and looked at her tear-streaked face, something else began to burn inside me. A fury unlike anything I'd ever felt before. All my life, I'd accepted that the world was cruel, that the strong crushed the weak, that suffering was simply the natural order.">>
<<narrative "But this? This was different. This wasn't survival or necessity, it was pure, senseless cruelty. They hurt her not because they had to, but because they could. Because everyone else looked the other way.">>
<<narrative "They should all burn in hell. Every last one of them, the nobles, the servants, the guards who turned blind eyes, and especially those coward children who picked on someone smaller than themselves.">>
<<narrative "I was done being the quiet, obedient maid who cleaned up their messes and pretended not to see their sins. If they wanted a monster in their precious castle, then by the gods, I'd give them one.">>
<<continueBox "MiraConfrontsTheBullies" "A few days later..." "">>
</div>
<</nobr>>
<<pov "mira" "doyouhatemetoo.mp3">><<nobr>>
<div class="passage-container mira">
<<narrative "⚡ BREAKING POINT ⚡">>
<<narrative "Three days passed since that night with Nimeria's tears. Three days of watching the same patterns repeat, cruel whispers, turned backs, and deliberate isolation. My rage had settled into a cold, patient fury, waiting for the right moment to strike.">>
<<narrative "That moment came as I was cleaning the upper hall windows, cloth in hand, when I heard familiar voices from the garden below. The sound made my blood freeze, not because I didn't recognize it, but because I did.">>
<center><img src="images/nimeria/surrounded.webp" style="width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Below in the garden, Nimeria stood in the center of a circle. But this time was different, this time they weren't just using words. Torin and Drevon each held thick wooden sticks, holding them like weapons while they circled her like predators.">>
<<narrative "Torin: 'You shouldn't have been born, cursed witch! Look at you, black hair, red eyes. You're not even a real demon!'">>
<<narrative "Drevon: 'Yeah! What are you doing inside the castle anyway? Zarn is probably your real father,you should live in a doghouse with the other animals!'">>
<<narrative "My hands clenched around the cleaning cloth as I watched Nimeria shrink back, her small frame trembling. But what made my vision go red wasn't just their cruelty, it was seeing Prince Seryk standing there, watching, saying nothing.">>
<<narrative "Torin: 'Hey Seryk! Come on, tell the witch what she deserves! Your friends want to hear you say it!'">>
<<narrative "Drevon: 'Yeah! Punish her, Seryk! Show her what happens to mistakes like her!'">>
<<narrative "Seryk's face showed the same conflict I'd seen that day in the forest, fear of losing his friends warring with some buried conscience. But just like before, cowardice won.">>
<<narrative "Seryk: 'Y-yes... true. You shouldn't have been born.'">>
<<narrative "And then I saw them, the castle guards, standing barely twenty feet away, watching this entire scene unfold. Watching armed children terrorize a four-year-old girl. Watching their prince participate in torture. And they did absolutely nothing.">>
<<narrative "That was it. That was the moment my last thread of restraint snapped like a bowstring.">>
<<continueBox "MiraAttacks" "Rush to Nimeria's defense" "">>
</div>
<</nobr>>
<<pov "mira" "tension.mp3">><<nobr>>
<div class="passage-container mira">
<<narrative "🎭 The Princess and Her Knight 🎭">>
<<narrative "I settled into a chair and watched as Nimeria continued her elaborate fantasy. She had positioned several dolls around a makeshift castle built from books and pillows, with Zarn serving as her mighty steed.">>
<<dialog "Nimeria" "youngfacemaid" "Fear not, my princess! I, Sir Zarn the Brave, shall rescue you from this terrible tower!">>
<center><img src="images/zarn/youngzarn.webp" style="width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "She made Zarn 'gallop' around the room while she rode on his back, acting out an elaborate rescue scene. For a moment, she almost looked like a normal child having fun.">>
<<dialog "Nimeria" "youngfacemaid" "Oh, thank you, brave knight! You've saved me from the wicked sorcerer!">>
<<narrative "But then her expression shifted, becoming thoughtful and dissatisfied.">>
<<dialog "Nimeria" "youngfacemaid" "No... no, that doesn't work. My knight doesn't have black fur and fangs. My knight has golden hair and is a human... with kind blue eyes and a gentle smile...">>
<<narrative "Something about the wistful way she said it tugged at my heart. Here was a child dreaming of someone who would accept her, love her despite what everyone called her 'curse.' I found myself speaking before I could think better of it.">>
<<dialog "Mira" "facemaid" "You know, I could play the knight if you want. I'm better at pretending than you might think.">>
<<narrative "Nimeria looked at me with those piercing red eyes, and I could see her considering the offer. For a moment, I thought she might actually accept. Then her expression turned cold and mocking.">>
<<dialog "Nimeria" "youngfacemaid" "You? A knight? I don't mind my knight being female, but just look at you with your horns. You look more like a goat than a knight!">>
<<thought "Mira" "facemaid" "She's just a child. Don't get angry. She's just a child who doesn't know any better.">>
<<dialog "Mira" "facemaid" "Well, even goats can be brave, Your Highness. But I understand if you prefer-">>
<<dialog "Nimeria" "youngfacemaid" "Even Zarn would make a better knight than you.">>
<<thought "Mira" "facemaid" "She's just a child... she's just a child...">>
<<dialog "Nimeria" "youngfacemaid" "Ugly!">>
<<thought "Mira" "facemaid" "She's just a brat...">>
<<dialog "Nimeria" "youngfacemaid" "You'd be better off doing something useful and eating some grass. But considering your breast size, you aren't even good enough to give milk!">>
<<thought "Mira" "facemaid" "This stupid little brat...">>
<<dialog "Mira" "facemaid" "Your Highness has quite the vocabulary for someone so young. I'm impressed.">>
<<narrative "I managed to keep my voice level, though my hands were clenched into fists. This spoiled little princess thought she had it bad? She who lived in luxury while I had scrounged for scraps in the gutter? Who did she think she was to look down on me like that?">>
<<narrative "But as I watched her return to her game, speaking in that wistful voice about her imaginary golden-haired knight, I realized something. Her insults weren't creative-they were desperate. Like a cornered animal lashing out at anything that came too close.">>
<<continueBox "MiraDiscovery" "Continue observing" "">>
</div>
<</nobr>>
<<pov "mira" "mirapast.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<narrative "Morning visits around the house...">>
<<if $morningActionPointsCh4 === undefined>><<set $morningActionPointsCh4 = 5>><</if>>
<<if not $morningVisitedToday>><<set $morningVisitedToday = []>><</if>>
<<if not $ntrThreats>><<set $ntrThreats = []>><</if>>
<<if not $ntrThreats.includes("Serin")>><<set $ntrThreats.push("Serin")>><</if>>
<div class="action-points-display" style="background: linear-gradient(145deg, rgba(255,215,0,0.3), rgba(218,165,32,0.4)); border: 2px solid rgba(218,165,32,0.6); border-radius: 10px; padding: 15px; margin: 20px auto; max-width: 400px; text-align: center;">
<h3 style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin: 0 0 10px 0; font-size: 1.3em;">⚡ Action Points</h3>
<div style="display: flex; justify-content: center; align-items: center; gap: 10px;">
<span style="color: #8B4513; font-size: 2em; font-weight: bold; text-shadow: 1px 1px 2px rgba(255,255,255,0.8);"><<print $morningActionPointsCh4>></span>
<span style="color: #A0522D; font-size: 1.1em; text-shadow: 1px 1px 2px rgba(255,255,255,0.8);">remaining</span>
</div>
<p style="color: #A0522D; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.9em; margin: 10px 0 0 0; font-style: italic;">Each visit costs 1 action point</p>
</div>
<div class="system-explanation" style="background: linear-gradient(145deg, rgba(255,228,181,0.3), rgba(255,218,185,0.4)); border: 1px solid rgba(218,165,32,0.3); border-radius: 8px; padding: 15px; margin: 20px auto; max-width: 500px; backdrop-filter: blur(3px);">
<h4 style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin: 0 0 10px 0; font-size: 1.1em;">☀️ How Morning Visits Work</h4>
<ul style="color: #A0522D; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.85em; margin: 0; padding-left: 20px; line-height: 1.4;">
<li><strong>Action Points:</strong> You have 5 action points to spend this morning</li>
<li><strong>Visit Anyone:</strong> Spend 1 action point to visit any available character</li>
<li><strong>Build Relationships:</strong> Morning visits help strengthen bonds and affection</li>
<li><strong>Purple Auras:</strong> Purple glowing auras indicate Nimeria's influence on some characters</li>
<li><strong>No Limits:</strong> Visit the same character multiple times if you have action points</li>
</ul>
</div>
<<narrative "The morning is peaceful and everyone seems to be going about their routines. Who would you like to visit?">>
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 40px 0;">
<<if $morningActionPointsCh4 > 0>>
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.3), rgba(255,255,255,0.2)); border: 2px solid rgba(218,165,32,0.4); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.1); backdrop-filter: blur(5px); position: relative;">
<img src="images/liora/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(218,165,32,0.5);">
<<if $morningVisitedToday.includes("Liora")>><div class="visited-indicator" style="position: absolute; top: 5px; right: 5px; background: rgba(34,139,34,0.9); color: white; border-radius: 50%; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; font-size: 0.8em; font-weight: bold;">✓</div><</if>>
</div>
<h3 style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">💖 Liora</h3>
<p style="color: #A0522D; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.9em; font-style: italic;">"She's in her room reading..."</p>
<<if $morningVisitedToday.includes("Liora")>><p style="color: #228B22; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.85em; font-weight: bold; margin-top: 8px; font-style: italic;">✓ Already visited today</p><<else>><p style="color: #228B22; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.85em; font-weight: bold; margin-top: 8px; font-style: italic;">Cost: 1 Action Point</p><</if>>
</div>
<<link "Visit Liora">>
<<set $morningActionPointsCh4 -= 1>>
<<set $morningVisitedToday.push("Liora")>>
<<goto "LioraMorningVisitChapter4">>
<</link>>
</div>
<<else>>
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option locked" style="cursor: not-allowed; opacity: 0.5; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(128,128,128,0.3), rgba(100,100,100,0.2)); border: 2px solid rgba(128,128,128,0.4); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.1); backdrop-filter: blur(5px);">
<img src="images/liora/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(128,128,128,0.5); filter: grayscale(100%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 2em; color: #8B4513; text-shadow: 2px 2px 4px rgba(255,255,255,0.8);">🔒</div>
</div>
<h3 style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">💖 Liora</h3>
<p style="color: #A0522D; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.9em; font-style: italic;">"She's in her room reading..."</p>
<p style="color: #DC143C; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.85em; font-weight: bold; margin-top: 8px; font-style: italic;">🔒 No Action Points</p>
</div>
</div>
<</if>>
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="ntr-aura" style="position: absolute; top: -10px; left: -10px; right: -10px; bottom: 50px; background: radial-gradient(circle, rgba(138,43,226,0.4) 0%, rgba(75,0,130,0.3) 50%, transparent 70%); border-radius: 20px; z-index: 1; animation: purplePulse 2s ease-in-out infinite alternate;"></div>
<div class="nimeria-chibi" style="position: absolute; top: 5px; right: 5px; z-index: 3; transition: transform 0.3s ease;">
<img src="images/chibi-models/nimeria.webp" style="width: 40px; height: 40px; border-radius: 50%; border: 2px solid rgba(138,43,226,0.8); box-shadow: 0 0 10px rgba(138,43,226,0.6);">
</div>
<div class="visit-option locked" style="cursor: not-allowed; opacity: 0.5; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(128,128,128,0.3), rgba(100,100,100,0.2)); border: 2px solid rgba(128,128,128,0.4); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.1); backdrop-filter: blur(5px);">
<img src="images/serin/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(128,128,128,0.5); filter: grayscale(100%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 2em; color: #8B4513; text-shadow: 2px 2px 4px rgba(255,255,255,0.8);">🔒</div>
</div>
<h3 style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">💖 Serin</h3>
<p style="color: #A0522D; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.9em; font-style: italic;">"She's under Nimeria's influence..."</p>
<p style="color: #DC143C; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.85em; font-weight: bold; margin-top: 8px; font-style: italic;">🔒 Busy - not in her room</p>
</div>
</div>
<<if $rylanRomanceMariel === true>>
<<if $morningActionPointsCh4 > 0>>
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.3), rgba(255,255,255,0.2)); border: 2px solid rgba(218,165,32,0.4); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.1); backdrop-filter: blur(5px); position: relative;">
<img src="images/mariel/stage2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(218,165,32,0.5);">
<<if $morningVisitedToday.includes("Mariel")>><div class="visited-indicator" style="position: absolute; top: 5px; right: 5px; background: rgba(34,139,34,0.9); color: white; border-radius: 50%; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; font-size: 0.8em; font-weight: bold;">✓</div><</if>>
</div>
<h3 style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">💖 <<print $marielToHuman.charAt(0).toUpperCase() + $marielToHuman.slice(1)>></h3>
<p style="color: #A0522D; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.9em; font-style: italic;">"She's preparing lunch in the kitchen..."</p>
<<if $morningVisitedToday.includes("Mariel")>><p style="color: #228B22; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.85em; font-weight: bold; margin-top: 8px; font-style: italic;">✓ Already visited today</p><<else>><p style="color: #228B22; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.85em; font-weight: bold; margin-top: 8px; font-style: italic;">Cost: 1 Action Point</p><</if>>
</div>
<<link "Visit Mother">>
<<set $morningActionPointsCh4 -= 1>>
<<set $morningVisitedToday.push("Mariel")>>
<<goto "MarielMorningVisitChapter4">>
<</link>>
</div>
<<else>>
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option locked" style="cursor: not-allowed; opacity: 0.5; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(128,128,128,0.3), rgba(100,100,100,0.2)); border: 2px solid rgba(128,128,128,0.4); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.1); backdrop-filter: blur(5px);">
<img src="images/mariel/stage2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(128,128,128,0.5); filter: grayscale(100%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 2em; color: #8B4513; text-shadow: 2px 2px 4px rgba(255,255,255,0.8);">🔒</div>
</div>
<h3 style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">💖 <<print $marielToHuman.charAt(0).toUpperCase() + $marielToHuman.slice(1)>></h3>
<p style="color: #A0522D; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.9em; font-style: italic;">"She's preparing lunch in the kitchen..."</p>
<p style="color: #DC143C; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.85em; font-weight: bold; margin-top: 8px; font-style: italic;">🔒 No Action Points</p>
</div>
</div>
<</if>>
<<else>>
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option locked" style="cursor: not-allowed; opacity: 0.5; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(128,128,128,0.3), rgba(100,100,100,0.2)); border: 2px solid rgba(128,128,128,0.4); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.1); backdrop-filter: blur(5px);">
<img src="images/mariel/stage2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(128,128,128,0.5); filter: grayscale(100%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 2em; color: #8B4513; text-shadow: 2px 2px 4px rgba(255,255,255,0.8);">🔒</div>
</div>
<h3 style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">💖 <<print $marielToHuman.charAt(0).toUpperCase() + $marielToHuman.slice(1)>></h3>
<p style="color: #A0522D; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.9em; font-style: italic;">"She's busy with household tasks..."</p>
<p style="color: #DC143C; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.85em; font-weight: bold; margin-top: 8px; font-style: italic;">🔒 Busy - Preparing for the day</p>
</div>
</div>
<</if>>
<<if $morningActionPointsCh4 > 0>>
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.3), rgba(255,255,255,0.2)); border: 2px solid rgba(218,165,32,0.4); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.1); backdrop-filter: blur(5px); position: relative;">
<img src="images/nimeria/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(218,165,32,0.5);">
<<if $morningVisitedToday.includes("Nimeria")>><div class="visited-indicator" style="position: absolute; top: 5px; right: 5px; background: rgba(34,139,34,0.9); color: white; border-radius: 50%; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; font-size: 0.8em; font-weight: bold;">✓</div><</if>>
</div>
<h3 style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">♀️ (feminization 🔑) Nimeria</h3>
<p style="color: #A0522D; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.9em; font-style: italic;">"She's organizing her research..."</p>
<<if $morningVisitedToday.includes("Nimeria")>><p style="color: #228B22; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.85em; font-weight: bold; margin-top: 8px; font-style: italic;">✓ Already visited today</p><<else>><p style="color: #228B22; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.85em; font-weight: bold; margin-top: 8px; font-style: italic;">Cost: 1 Action Point</p><</if>>
</div>
<<link "Visit Nimeria">>
<<set $morningActionPointsCh4 -= 1>>
<<set $morningVisitedToday.push("Nimeria")>>
<<goto "NimeriaMorningVisitChapter4">>
<</link>>
</div>
<<else>>
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option locked" style="cursor: not-allowed; opacity: 0.5; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(128,128,128,0.3), rgba(100,100,100,0.2)); border: 2px solid rgba(128,128,128,0.4); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.1); backdrop-filter: blur(5px);">
<img src="images/nimeria/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(128,128,128,0.5); filter: grayscale(100%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 2em; color: #8B4513; text-shadow: 2px 2px 4px rgba(255,255,255,0.8);">🔒</div>
</div>
<h3 style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">♀️ (feminization 🔑) Nimeria</h3>
<p style="color: #A0522D; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.9em; font-style: italic;">"She's organizing her research..."</p>
<p style="color: #DC143C; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.85em; font-weight: bold; margin-top: 8px; font-style: italic;">🔒 No Action Points</p>
</div>
</div>
<</if>>
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option locked" style="cursor: not-allowed; opacity: 0.5; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(128,128,128,0.3), rgba(100,100,100,0.2)); border: 2px solid rgba(128,128,128,0.4); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.1); backdrop-filter: blur(5px);">
<img src="images/seryk/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(128,128,128,0.5); filter: grayscale(100%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 2em; color: #8B4513; text-shadow: 2px 2px 4px rgba(255,255,255,0.8);">🔒</div>
</div>
<h3 style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">💖 Seryk</h3>
<p style="color: #A0522D; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.9em; font-style: italic;">"He's busy with his own routine..."</p>
<p style="color: #DC143C; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.85em; font-weight: bold; margin-top: 8px; font-style: italic;">🔒 Busy - Morning preparations</p>
</div>
</div>
</div>
<center>
<div style="margin-top: 50px;">
<div class="return-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease;">
<div style="background: linear-gradient(145deg, rgba(100,100,150,0.2), rgba(80,80,120,0.3)); border: 2px solid rgba(150,150,200,0.3); border-radius: 10px; padding: 15px 25px; display: inline-block; box-shadow: 0 4px 8px rgba(0,0,0,0.3); backdrop-filter: blur(3px);">
<h3 style="color: #8B4513; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); margin: 0; font-size: 1.1em;">Back to morning activities</h3>
<p style="color: #A0522D; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-size: 0.9em; margin: 5px 0 0 0; font-style: italic;">"Choose something else to do this morning..."</p>
</div>
</div>
<div style="margin-top: 15px;">
<<continueBox "MorningChoices" "Return to activities menu" "">>
</div>
</div>
</center>
</div>
<</nobr>>
<style>
.visit-option:hover:not(.locked) {
transform: translateY(-5px) scale(1.05);
opacity: 0.9;
}
.visit-option:hover:not(.locked) .character-frame {
border-color: rgba(218,165,32,0.7);
box-shadow: 0 12px 24px rgba(0,0,0,0.2);
}
.visit-option:hover:not(.locked) img {
border-color: rgba(218,165,32,0.8);
transform: scale(1.05);
}
.visit-option:hover:not(.locked) h3 {
color: #654321;
}
.return-option:hover {
transform: translateY(-3px) scale(1.02);
opacity: 0.9;
}
.visit-option:active:not(.locked), .return-option:active {
transform: translateY(-2px) scale(1.01);
}
.morning-content a {
color: #8B4513;
text-decoration: none;
background: linear-gradient(145deg, rgba(255,215,0,0.3), rgba(218,165,32,0.2));
border: 1px solid rgba(218,165,32,0.4);
border-radius: 8px;
padding: 10px 20px;
display: inline-block;
margin-top: 10px;
transition: all 0.3s ease;
text-shadow: 1px 1px 2px rgba(255,255,255,0.8);
font-weight: bold;
font-size: 1.1em;
}
.morning-content a:hover {
color: #654321;
background: linear-gradient(145deg, rgba(255,215,0,0.5), rgba(218,165,32,0.4));
border-color: rgba(218,165,32,0.6);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.morning-content a:active {
transform: translateY(0px);
box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
/* Styled visit links */
.visit-option-wrapper a {
color: #8B4513;
text-decoration: none;
background: linear-gradient(145deg, rgba(255,215,0,0.4), rgba(218,165,32,0.3));
border: 2px solid rgba(218,165,32,0.6);
border-radius: 10px;
padding: 12px 24px;
display: inline-block;
margin-top: 15px;
transition: all 0.3s ease;
text-shadow: 1px 1px 2px rgba(255,255,255,0.8);
font-weight: bold;
font-size: 1.1em;
box-shadow: 0 4px 8px rgba(0,0,0,0.2);
backdrop-filter: blur(3px);
}
.visit-option-wrapper a:hover {
color: #654321;
background: linear-gradient(145deg, rgba(255,215,0,0.6), rgba(218,165,32,0.5));
border-color: rgba(218,165,32,0.8);
transform: translateY(-3px);
box-shadow: 0 6px 16px rgba(0,0,0,0.3);
}
.visit-option-wrapper a:active {
transform: translateY(-1px);
box-shadow: 0 3px 8px rgba(0,0,0,0.2);
}
@keyframes purplePulse {
0% { opacity: 0.6; transform: scale(1); }
100% { opacity: 0.9; transform: scale(1.05); }
}
.nimeria-chibi:hover {
transform: scale(1.2);
}
.nimeria-chibi:hover img {
box-shadow: 0 0 15px rgba(138,43,226,0.8);
}
.ntr-aura {
pointer-events: none;
}
.nimeria-chibi {
pointer-events: all;
}
.visit-option.locked {
filter: grayscale(50%);
}
.lock-overlay {
pointer-events: none;
}
</style>
<<pov "rylan" "default4.mp3">>
<<statSummary>><<nobr>>
<<set $partyCurrentHP = $partyMaxHP>>
<<set $timeOfDay = "morning">>
<<set $rylan_combatStats.currentHealth = $rylan_combatStats.maxHealth || 100>>
<<set $rylan_combatStats.currentStamina = $rylan_combatStats.maxStamina || 80>>
<<set $liora_combatStats.currentHealth = $liora_combatStats.maxHealth || 90>>
<<set $liora_combatStats.currentStamina = $liora_combatStats.maxStamina || 80>>
<<set $serin_combatStats.currentHealth = $serin_combatStats.maxHealth || 120>>
<<set $serin_combatStats.currentStamina = $serin_combatStats.maxStamina || 100>>
<<set $mariel_combatStats.currentHealth = $mariel_combatStats.maxHealth || 110>>
<<set $mariel_combatStats.currentStamina = $mariel_combatStats.maxStamina || 90>>
<<set $thalor_combatStats.currentHealth = $thalor_combatStats.maxHealth || 140>>
<<set $thalor_combatStats.currentStamina = $thalor_combatStats.maxStamina || 120>>
<<set $seryk_combatStats.currentHealth = $seryk_combatStats.maxHealth || 160>>
<<set $seryk_combatStats.currentStamina = $seryk_combatStats.maxStamina || 140>>
<<set $nimeria_combatStats.currentHealth = $nimeria_combatStats.maxHealth || 100>>
<<set $nimeria_combatStats.currentStamina = $nimeria_combatStats.maxStamina || 110>>
<div class="passage-container rylan">
<<narrative "📅 Morning Activities">>
<<narrative "The morning stretches before you, full of possibilities...">>
<<narrative "After breakfast, you have the entire morning ahead of you. The sun is shining, the air is fresh, and there are many ways to spend your time. What calls to you today?">>
<div class="choice-grid" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; max-width: 1000px; margin: 0 auto;">
<div class="choice-card" style="background: rgba(255,182,193,0.4); border: 2px solid rgba(219,112,147,0.5); border-radius: 12px; padding: 20px; text-align: center;">
<div class="choice-icon" style="font-size: 2.5em; margin-bottom: 10px;">👥</div>
<h3 style="color: #8B0000; margin-bottom: 10px; font-size: 1.2em;">Spend Time with People</h3>
<p style="color: #A0522D; font-size: 0.9em; line-height: 1.3; margin-bottom: 15px;">Visit various members of your household and companions. Strengthen bonds, have meaningful conversations, and discover new sides of those you care about.</p>
<div style="border-top: 1px solid rgba(219,112,147,0.4); padding-top: 10px; margin-top: 10px;">
<span style="color: #8B0000; font-size: 0.8em; font-style: italic;">💖 Build relationships • 🗣️ Deep conversations • ✨ Personal moments</span>
</div>
<div style="margin-top: 15px;">[[Visit people around the house|MorningActivitiesChapter4]]</div>
</div>
<div class="choice-card" style="background: rgba(221,160,221,0.4); border: 2px solid rgba(186,85,211,0.5); border-radius: 12px; padding: 20px; text-align: center;">
<div class="choice-icon" style="font-size: 2.5em; margin-bottom: 10px;">🔮</div>
<h3 style="color: #4B0082; margin-bottom: 10px; font-size: 1.2em;">Whisper's Wisdom Shop</h3>
<p style="color: #8B008B; font-size: 0.9em; line-height: 1.3; margin-bottom: 15px;">Visit the mysterious shop in town that sells magical items, potions, and ancient knowledge. Perhaps you'll find something useful for your adventures.</p>
<div style="border-top: 1px solid rgba(186,85,211,0.4); padding-top: 10px; margin-top: 10px;">
<span style="color: #4B0082; font-size: 0.8em; font-style: italic;">🛍️ Buy fetish books</span>
</div>
<div style="margin-top: 15px;">[[Go to Whisper's Wisdom|WhispersWisdomShopReturn]]</div>
</div>
<<if not $blightwoodVisitedToday>>
<div class="choice-card" style="background: rgba(34,139,34,0.4); border: 2px solid rgba(0,128,0,0.5); border-radius: 12px; padding: 20px; text-align: center;">
<div class="choice-icon" style="font-size: 2.5em; margin-bottom: 10px;">🌲</div>
<h3 style="color: #006400; margin-bottom: 10px; font-size: 1.2em;">Explore Blightwood</h3>
<p style="color: #228B22; font-size: 0.9em; line-height: 1.3; margin-bottom: 15px;">Journey into the mysterious Blightwood forest. Danger and adventure await among the twisted trees and shadowy paths.</p>
<div style="background: rgba(255,69,0,0.3); border: 1px solid rgba(255,69,0,0.5); border-radius: 6px; padding: 8px; margin: 10px 0;">
<p style="color: #8B0000; font-size: 0.8em; margin: 0; font-weight: bold;">⚠️ Recommended: Complete morning visits first!</p>
</div>
<div style="border-top: 1px solid rgba(0,128,0,0.4); padding-top: 10px; margin-top: 10px;">
<span style="color: #006400; font-size: 0.8em; font-style: italic;">⚔️ Combat encounters • 🎁 Find treasures • 🌿 Gather materials</span>
</div>
<div style="margin-top: 15px;"><<link "Journey to Blightwood">><<set $blightwoodVisitedToday = true>><<set $blightwoodReturnDestination = "MorningChoices">><<goto "BlightwoodJourney">><</link>></div>
</div>
<<else>>
<div class="choice-card" style="background: rgba(128,128,128,0.4); border: 2px solid rgba(169,169,169,0.5); border-radius: 12px; padding: 20px; text-align: center; opacity: 0.6;">
<div class="choice-icon" style="font-size: 2.5em; margin-bottom: 10px;">🔒</div>
<h3 style="color: #696969; margin-bottom: 10px; font-size: 1.2em;">Blightwood - Already Visited</h3>
<p style="color: #808080; font-size: 0.9em; line-height: 1.3; margin-bottom: 15px;">You've already explored the Blightwood this morning. Perhaps it's time to focus on other activities.</p>
<div style="border-top: 1px solid rgba(169,169,169,0.4); padding-top: 10px; margin-top: 10px;">
<span style="color: #696969; font-size: 0.8em; font-style: italic;">🔒 Cannot visit again today</span>
</div>
<div style="margin-top: 15px; color: #696969; font-style: italic;">Already completed today</div>
</div>
<</if>>
<div class="choice-card" style="background: rgba(255,215,0,0.4); border: 2px solid rgba(218,165,32,0.5); border-radius: 12px; padding: 20px; text-align: center;">
<div class="choice-icon" style="font-size: 2.5em; margin-bottom: 10px;">😴</div>
<h3 style="color: #B8860B; margin-bottom: 10px; font-size: 1.2em;">Rest Until Afternoon</h3>
<p style="color: #DAA520; font-size: 0.9em; line-height: 1.3; margin-bottom: 15px;">Take it easy and relax. Sometimes the best use of time is to rest, recover, and prepare for what comes next.</p>
<div style="border-top: 1px solid rgba(218,165,32,0.4); padding-top: 10px; margin-top: 10px;">
<span style="color: #B8860B; font-size: 0.8em; font-style: italic;">💤 Recover energy • ⏰ Skip to afternoon • 🧘 Peace of mind</span>
</div>
<div style="margin-top: 15px;">[[Rest peacefully|RestUntilAfternoon]]</div>
</div>
</div>
<div class="time-display" style="text-align: center; margin-top: 30px; padding: 15px; background: rgba(255,255,255,0.3); border: 1px solid rgba(135,206,235,0.5); border-radius: 8px;">
<h4 style="color: #4682B4; margin: 0 0 5px 0; font-size: 1.1em;">🕘 Current Time</h4>
<p style="color: #5F9EA0; font-size: 1em; margin: 0; font-weight: bold;">Morning - <<print $monthNames[$gameMonth - 1]>> <<print $gameDay>>, <<print $gameYear>></p>
<p style="color: #708090; font-size: 0.85em; margin: 5px 0 0 0; font-style: italic;">Choose wisely - your decisions shape the day ahead</p>
</div>
</div>
<style>
.choice-card a {
color: inherit;
text-decoration: none;
background: rgba(255,255,255,0.2);
border: 1px solid rgba(255,255,255,0.4);
border-radius: 8px;
padding: 8px 16px;
display: inline-block;
font-weight: bold;
transition: background 0.2s ease;
}
.choice-card a:hover {
background: rgba(255,255,255,0.3);
}
@media (max-width: 768px) {
.choice-grid {
grid-template-columns: 1fr;
gap: 15px;
}
.choice-card {
padding: 15px;
}
}
</style>
<</nobr>>
<<pov "rylan" "default4.mp3">><<if $rylan_NimeriaHandjobCount == 1>><<set $rylan_NimeriaOrgasmsReceived = 1>><<set $nimeria_RylanOrgasmsGiven = 1>><<set $rylan_NimeriaHandjobTakenCount = 1>><<set $rylan_NimeriaHandjobCount = 0>><</if>><<if $nimeriaGayDreamUsed>><<if not $rylanFirstHandjob>><<set $rylanFirstHandjob = "Seryk">><</if>><<if not $serykFirstHandjob>><<set $serykFirstHandjob = $humanName>><</if>><</if>>
<<set $timeOfDay = "morning">><<if not $fetishCleanupDone>><<script>>
(function() {
const removedFetishMechanics = [
'ClothingFetishBonus', 'LingerieAddictionBonus', 'VoiceFetishBonus',
'UniformFetishBonus', 'MarkingFetishBonus'
];
const allCharacters = ['rylan', 'liora', 'serin', 'mariel', 'seryk', 'nimeria', 'thalor'];
allCharacters.forEach(character => {
const soulEffectsVar = character + '_soulEffects';
const soulEffects = State.variables[soulEffectsVar];
if (soulEffects && Array.isArray(soulEffects)) {
const cleanedEffects = [];
const removedCorruptionLevels = [];
const removedBlessingLevels = [];
soulEffects.forEach(effect => {
if (removedFetishMechanics.includes(effect.mechanic)) {
const level = effect.level || 1;
if (effect.type === 'corruption') {
removedCorruptionLevels.push(level);
} else if (effect.type === 'blessing') {
removedBlessingLevels.push(level);
}
} else {
cleanedEffects.push(effect);
}
});
State.variables[soulEffectsVar] = cleanedEffects;
// Generate replacement effects for removed ones with preserved levels
if (removedCorruptionLevels.length > 0 || removedBlessingLevels.length > 0) {
console.log(`Replacing ${removedCorruptionLevels.length} corruptions and ${removedBlessingLevels.length} blessings for ${character}`);
removedCorruptionLevels.forEach(level => {
const newEffect = window.SoulSystem.applyRandomCorruption(character);
// Set the level to match the removed effect
const latestEffect = State.variables[character + '_soulEffects'][State.variables[character + '_soulEffects'].length - 1];
if (latestEffect && level > 1) {
latestEffect.level = level;
latestEffect.effect = window.SoulSystem.updateEffectDescription(latestEffect, level);
}
console.log(`Added level ${level} corruption for ${character}:`, newEffect);
});
removedBlessingLevels.forEach(level => {
const newEffect = window.SoulSystem.applyRandomBlessing(character);
// Set the level to match the removed effect
const latestEffect = State.variables[character + '_soulEffects'][State.variables[character + '_soulEffects'].length - 1];
if (latestEffect && level > 1) {
latestEffect.level = level;
latestEffect.effect = window.SoulSystem.updateEffectDescription(latestEffect, level);
}
console.log(`Added level ${level} blessing for ${character}:`, newEffect);
});
}
}
});
State.variables.fetishCleanupDone = true;
console.log("Fetish cleanup completed for all characters");
})();
<</script>><</if>>
<<nobr>>
<div class="passage-container rylan">
<<set $gameDay = ($gameDay || 1) + 1>>
<<narrative "Morning in the Kitchen">>
<<narrative "The warm sunlight filters through the windows as the household gathers for breakfast...">>
<<narrative "I wake up feeling a bit disoriented, fragments of strange dreams still clinging to the edges of my consciousness. The smell of breakfast draws me downstairs to the kitchen, where the familiar sounds of morning conversation greet me.">>
<<if $nimeriaGayDreamUsed>>
<<narrative "My cheeks burn as vivid memories of last night's dream surface. Seryk and I... doing things that feel frighteningly real. The sensations, the heat, the way he looked at me... I shake my head, trying to dispel the confusing feelings.">>
<<else>>
<<narrative "There's something nagging at the back of my mind about Seryk, some dream that felt unnaturally vivid, but the details slip away like smoke. Still, I find myself feeling oddly flustered at the thought of facing him this morning.">>
<</if>>
<<narrative "The kitchen is alive with morning activity. $humanToMariel stands at the stove, her appearance radiant in the morning light. Seryk sits at the table with his usual easy confidence, while Serin leans against the counter with a piece of toast. Liora sits quietly at the table, her gentle presence brightening the room, while Nimeria perches on a chair with her characteristic innocent smile.">>
<center><img src="images/mariel/kitchenback.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facesmile" "Good morning, sweetheart! I was just making your favorite eggs. Come sit down and eat while they're still warm, dear. You need to keep your strength up for all that guild work.">>
<<else>>
<<dialog "Mariel" "face" "Morning, $humanName. Perfect timing - I just finished making breakfast. Help yourself to whatever you'd like.">>
<</if>>
<<if $marielTransformationMother>>
<<narrative "There's something different about $humanToMariel lately. She's been so... maternal toward me. The way she speaks, the gentle touches, the constant concern for my wellbeing. It's comforting but also confusing - like she sees me as much younger than I am.">>
<</if>>
<<if $nimeriaGayDreamUsed>>
<<dialog "Seryk" "faceembarrassed" "Morning... $humanName. Did you, uh... sleep alright? I had some really weird dreams last night. Really... disturbing ones.">>
<<else>>
<<dialog "Seryk" "face" "Morning, bro! Sleep well? You look a bit... flustered this morning. Bad dreams or good ones?">>
<</if>>
<<if $nimeriaGayDreamUsed>>
<center><img src="images/seryk/side.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "There's something different about Seryk this morning. He seems... uncomfortable? Awkward? He's avoiding eye contact and there's none of his usual casual confidence. Did he have the same dream? The thought makes my stomach churn with a mixture of embarrassment and confusion.">>
<<quickRoll "Composure" "Rylan" 95 5 "GayValue" 3>>
<<if not _tempRollSuccess>>
<<dialog "Rylan" "faceembarrassed" "I... uh... just strange dreams, I guess. Nothing important.">>
<<narrative "I stammer through my response, my cheeks burning with embarrassment. There's no way I can tell him about the dream - about the way his hands felt on my body, the heat of his breath, the confusing pleasure that seemed so real...">>
<<changeLust "Rylan" 1>>
<<changeFetish "Rylan" "GayValue" 0.1>>
<<changeAttraction "Rylan" "Seryk" 0.5>>
<<else>>
<<dialog "Rylan" "faceembarrassed" "Just the usual weird dreams. You know how it is. Nothing worth talking about.">>
<<narrative "I manage to keep my composure, though there's still something unsettling about the way he's looking at me. Like he knows something I don't. I push the feeling aside and focus on breakfast.">>
<</if>>
<</if>>
<<dialog "Serin" "face" "Well, well, someone's definitely blushing this morning. What's got you all flustered, $humanName? Did someone special visit your dreams?">>
<center><img src="images/serin/toastinmouth.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Serin's teasing grin makes my embarrassment worse. She always seems to know exactly how to get under my skin. I notice the way she stretches her arms above her head, showing off her toned muscles through her tight training outfit.">>
<<quickRoll "Muscle Appreciation" "Rylan" 95 5 "muscleFetish" 2>>
<<if not _tempRollSuccess>>
<<narrative "My eyes linger on the defined lines of her biceps, the way her shirt clings to her athletic frame. There's something captivating about her strength, the power in those lean muscles that she works so hard to maintain.">>
<<changeFetish "Rylan" "muscleFetish" 0.2>>
<<changeLust "Rylan" 1>>
<<changeAttraction "Rylan" "Serin" 1.0>>
<<changeAttraction "Rylan" "Serin" 0.1>>
<<else>>
<<narrative "I try to focus on her face instead of her athletic build, though I can't help but notice how confident she looks in her training gear. Her tomboyish charm is definitely having some effect on me.">>
<</if>>
<<dialog "Rylan" "face" "Can we just eat breakfast without the commentary on my supposed love life? Some of us are hungry here.">>
<<if $nimeriaGayDreamUsed>>
<<dialog "Seryk" "faceembarrassed" "Yeah, well... maybe we should just... focus on breakfast. Less talking, more eating.">>
<<else>>
<<dialog "Seryk" "facegrin" "Don't be so defensive, bro. We're just having fun. Besides, a little teasing between friends is healthy. Keeps things interesting.">>
<</if>>
<<narrative "<<if $nimeriaGayDreamUsed>>Seryk's trying to shut down the conversation now, clearly uncomfortable with the teasing. His usual confident demeanor is completely absent, replaced by an awkwardness that mirrors my own feelings.<<else>>That grin of his is doing something strange to my stomach. There's something infectious about his confidence that both annoys and attracts me.<</if>>">>
<<dialog "Serin" "facelaugh" "Oh come on, $humanName! You should see yourself right now. Your face is redder than a tomato. What exactly were you dreaming about?">>
<<dialog "Liora" "faceembarrassedshortpink" "S-Serin, maybe we shouldn't tease $humanName so much about his dreams. Everyone has... private thoughts sometimes, right?">>
<<narrative "Liora's gentle voice provides a welcome interruption, though her cheeks are slightly pink as she speaks. There's something endearing about how she tries to defend me, even while clearly embarrassed by the topic of dreams herself.">>
<<quickRoll "Innocent Appeal" "Rylan" 95 5 "submissionFetish" 2>>
<<if not _tempRollSuccess>>
<<narrative "Her innocent attempt to help me sends a wave of protective feelings through my chest. There's something captivating about her gentle nature and the way she blushes so easily. I find myself wanting to shield her from Serin's teasing.">>
<<changeFetish "Rylan" "submissionFetish" 0.15>>
<<changeLust "Rylan" 1>>
<<changeAffection "Rylan" "Liora" 2>>
<<changeAttraction "Rylan" "Liora" 0.1>>
<<else>>
<<narrative "I appreciate Liora trying to help, though her shy demeanor is quite charming. She's always been the gentle mediator in our group.">>
<<changeAffection "Rylan" "Liora" 1>>
<</if>>
<center><img src="images/nimeria/kitchenchair.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "face" "Oh my, everyone seems so flustered this morning! Dreams can be such mysterious things, can't they? Sometimes they show us desires we didn't even know we had~">>
<<narrative "Nimeria's innocent smile seems to hide something deeper, and her comment about hidden desires makes me feel like she knows more than she's letting on. There's an almost hypnotic quality to her voice that draws my attention.">>
<<quickRoll "Mysterious Charm" "Rylan" 95 5 "voyeurismFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "Something about Nimeria's knowing smile and mysterious words makes me wonder what secrets she might be hiding. I find myself studying her more intently, curious about what goes on behind that innocent facade.">>
<<changeFetish "Rylan" "voyeurismFetish" 0.2>>
<<changeLust "Rylan" 1>>
<<changeAttraction "Rylan" "Nimeria" 1>>
<<changeAttraction "Rylan" "Nimeria" 0.1>>
<<else>>
<<narrative "Nimeria always has an interesting perspective on things. Her comment about dreams is oddly insightful, though I'm not sure what to make of it.">>
<<changeAttraction "Rylan" "Nimeria" 1>>
<</if>>
<center><img src="images/serin/bending.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I notice Serin lean forward slightly as she teases me, giving me an unintentional view down her training top. The morning light catches on a few drops of sweat from her earlier workout, and I catch a faint scent of her natural musk mixed with exertion.">>
<<quickRoll "Scent Temptation" "Rylan" 95 5 "smellFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "I find myself taking a deeper breath, the intoxicating mixture of her natural scent and workout musk filling my nostrils. There's something primal about it that makes my heart rate faster. I quickly look away before she notices me staring.">>
<<changeFetish "Rylan" "smellFetish" 0.25>>
<<changeLust "Rylan" 1>>
<<changeAttraction "Rylan" "Serin" 0.5>>
<<changeAttraction "Rylan" "Serin" 0.1>>
<<else>>
<<narrative "I catch a whiff of her post-workout scent but manage to keep my composure. Still, there's something oddly appealing about her natural musk that I try not to think about too much.">>
<</if>>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facesmile" "Now, now, you two. Stop teasing my dear $humanName. He needs a proper breakfast, not all this silly chatter. Come here, sweetheart, let me fix your hair - it's all messy from sleep.">>
<<narrative "Before I can protest, $humanToMariel comes over and starts gently combing her fingers through my hair, her maternal touch both comforting and confusing. The others watch with amused expressions as she fusses over me like I'm a child.">>
<<changeAffection "Rylan" "Mariel" 2>>
<<changeLust "Rylan" 1>>
<</if>>
<<dialog "Rylan" "face" "Alright, alright. Can we talk about something other than my alleged romantic dreams? What's the plan for today anyway?">>
<<dialog "Nimeria" "face" "Actually Seryk, I have something important to ask of you. I need you to go to Blightwood and collect some special plants for me. They have red leaves with green tips - here, let me show you.">>
<center><img src="images/items/redplantdrawing.webp" style="max-width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Nimeria pulls out a carefully drawn sketch showing detailed plants with distinctive red leaves that fade to green at the tips. The drawing is surprisingly accurate and artistic.">>
<<dialog "Nimeria" "face" "I've prepared an antidote that should make you resistant to the poisonous atmosphere there. I have enough for two people for now - just barely managed to create this much.">>
<center><img src="images/items/antidote.webp" style="max-width: 200px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She produces two small vials containing a shimmering green liquid that seems to pulse with its own inner light. The antidote looks both mystical and potent.">>
<<if $nimeriaGayDreamUsed>>
<<dialog "Seryk" "faceembarrassed" "Amazing! So from now on we don't have to rely on a healer to go into dangerous areas like that?">>
<<else>>
<<dialog "Seryk" "face" "Amazing! So from now on we don't have to rely on a healer to go into dangerous areas like that?">>
<</if>>
<<dialog "Nimeria" "face" "It's not so easy, I'm afraid. The materials for the antidote are quite expensive and rare. If we had to buy protection for every mission, our rewards would be far less profitable. This is more of a special occasion solution.">>
<<narrative "The conversation about dangerous expeditions and antidotes makes the reality of our adventuring life feel more serious. It's a reminder that we're constantly balancing risk and reward in this line of work.">>
<<if $rylanxserincontent>>
<<narrative "As the conversation continues, I notice Serin moving closer to me. She leans in subtly, pretending to reach for something on the table, but her lips move close to my ear.">>
<<dialog "Serin" "facewet" "Come to my room later, $humanName. I have something... private I want to show you. Something we discussed before.">>
<<narrative "Her whispered words send a shiver down my spine. The way she says 'private' and the look in her eyes makes it clear this isn't about casual conversation. My heart rate picks up as I try to maintain my composure in front of the others.">>
<<changeLust "Rylan" 1>>
<<changeAttraction "Rylan" "Serin" 0.5>>
<</if>>
<<if $rylan_GayValue > 0.5>>
<<dialog "Seryk" "faceembarrassed" "Actually, $humanName... maybe you'd want to come with me to Blightwood? Could use the company, and... well, it might be good for us to spend some time together. Clear the air about... things.">>
<<else>>
<<dialog "Seryk" "face" "Hey $humanName, want to come with me to Blightwood? Could be a good opportunity for us to train together away from the others. Just the two of us, bro.">>
<<if $nimeriaGayDreamUsed>>
<<narrative "Seryk's invitation catches me off guard. After the awkwardness this morning, I wasn't expecting him to want to spend time alone with me. The mention of 'clearing the air' makes my stomach flutter with nervous anticipation.">>
<<else>>
<<thought "Rylan" "facewet" "There's something appealing about the idea of spending time alone with Seryk. His confident demeanor and physical presence have been having an odd effect on me lately.">>
<</if>>
<<changeLust "Rylan" 1>>
<<changeAttraction "Rylan" "Seryk" 0.5>>
<</if>>
<<if $rylanxserincontent>>
<<choiceBox "What do you want to do?" "Go to Serin's room as she asked (Serin H)" "SerinPrivateRoom" "SerinPrivateRoom=GoToSerin" "Continue with the conversation" "SerinChapter4ReportNimeria" "SerinChapter4ReportNimeria=Continue">>
<<else>>
<<continueBox "SerinChapter4ReportNimeria" "Continue with the conversation (skip Serin H)" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "default4.mp3">><<nobr>>
<<stopLoopingSounds>>
<<playLoopingSounds "sounds/hsounds/handjob.mp3" 1>>
<<set $rylan_cumAmount to 10>>
<<set $nimeriaMorningVisitChapter4 = true>>
<<if not $morningVisitedToday>><<set $morningVisitedToday = []>><</if>>
<<set $morningVisitedToday.push("Nimeria")>>
<<if not $nimeria_SmellFetish>><<set $nimeria_SmellFetish = 0>><</if>>
<<if not $rylan_SmellFetish>><<set $rylan_SmellFetish = 0>><</if>>
<<if not $rylan_VoiceFetish>><<set $rylan_VoiceFetish = 0>><</if>>
<<if not $rylan_NimeriaAffection>><<set $rylan_NimeriaAffection = 0>><</if>>
<<if not $rylan_NimeriaAttraction>><<set $rylan_NimeriaAttraction = 0>><</if>>
<<if not $nimeria_RylanAffection>><<set $nimeria_RylanAffection = 0>><</if>>
<<if not $nimeria_RylanAttraction>><<set $nimeria_RylanAttraction = 0>><</if>>
<<if not $rylan_Lust>><<set $rylan_Lust = 0>><</if>>
<<if not $nimeria_Lust>><<set $nimeria_Lust = 0>><</if>>
<div class="passage-container nimeria">
<<narrative "🌸 Nimeria's Room - Morning Visit 🌸">>
<<narrative "You decide to visit Nimeria in her room...">>
<<narrative "You knock gently on Nimeria's door before pushing it open. She's sitting on her bed, a book in her lap, but the moment she sees you, her face lights up with pure joy.">>
<<dialog "Nimeria" "facelaugh" "$humanName!">>
<<dialog "Rylan" "face" "Am I disturbing you? I can come back later if-">>
<<dialog "Nimeria" "faceembarrassed" "No! Never! You can visit me anytime, day or night. Please, come sit next to me on my bed.">>
<center><img src="images/nimeria/chapter4/sitonbed.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Her enthusiasm is infectious, and you find yourself moving to sit beside her on the soft mattress. The bed dips slightly under your combined weight, bringing you closer to her than you expected.">>
<<quickRoll "Scent Awareness" "Rylan" 80 5 "SmellFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "As you settle beside her, her natural scent hits you more intensely. It's sweet, almost intoxicating, with an underlying warmth that makes your heart beat a little faster. You find yourself breathing deeper without realizing it.">>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<<changeLust "Rylan" 8>>
<<else>>
<<narrative "As you settle beside her, you catch a subtle whiff of her natural scent. There's something distinctly sweet about it, almost floral, but you don't think much of it.">>
<<changeFetish "Rylan" "SmellFetish" 0.1>>
<</if>>
<<dialog "Nimeria" "facesmile" "Tell me about your childhood. How did you meet Liora and Serin? What was it like growing up here?">>
<<narrative "Her genuine interest touches something inside you, and you find yourself opening up about your past. You tell her about your early memories, about meeting Liora when you were both children, about Serin's fierce protectiveness even as a young girl.">>
<<dialog "Nimeria" "facelaugh" "That's so wonderful. You've built such beautiful bonds with them.">>
<<narrative "As the conversation continues, you're aware of her sweet scent but manage to focus on the discussion. Still, there's something oddly comforting about being close to her that makes you want to lean in closer.">>
<<dialog "Nimeria" "facesmile" "You seem a bit tense, $humanName. Would you like me to help you relax?">>
<<dialog "Rylan" "face" "How?">>
<<dialog "Nimeria" "facesmile" "Close your eyes">>
<<dialog "Rylan" "faceworried" "But nothing dirty...">>
<<dialog "Nimeria" "facesmile" "Don't worry. Just trust me.">>
<<quickRoll "Hypnosis Resistance" "Rylan" 74 3 "mindControlSusceptibility" 5>>
<<narrative "Against your better judgment, you close your eyes. Nimeria moves closer, her warm breath tickling your ear as she begins to whisper.">>
<<dialog "Nimeria" "facesmile" "Just listen to my voice, $humanName. Let all your worries drift away. Feel yourself sinking into comfort, into peace. My voice is all that matters now...">>
<<if not _tempRollSuccess>>
<<narrative "Her voice washes over you like a gentle tide, pulling you deeper and deeper into a trance-like state. Your mind grows foggy, your resistance crumbling as her hypnotic whispers take hold. Everything else fades away except her melodic voice guiding you into submission.">>
<<set $rylan_mindControlResistance -= 1>><<trackOther "Rylan" "MindControlResistance" -1>>
<<set $rylan_mindControlSusceptibility += 1>><<trackOther "Rylan" "MindControlSusceptibility" 1>>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<changeLust "Rylan" 15>>
<<else>>
<<narrative "You feel relaxed but maintain awareness of what's happening. Her voice is soothing, but you don't fall completely under her influence.">>
<<set $rylan_mindControlResistance -= 1>><<trackOther "Rylan" "MindControlResistance" -1>>
<<set $rylan_mindControlSusceptibility += 1>><<trackOther "Rylan" "MindControlSusceptibility" 1>>
<</if>>
<<narrative "Time seems to blur as her voice continues to weave its spell around you...">>
<<dialog "Rylan" "faceembarrassed" "How... how long was I asleep?">>
<<dialog "Nimeria" "facesmile" "Not long">>
<<if $nimeriaxrylancontent === true>>
<center><img src="images/nimeria/chapter4/1.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Without warning, you feel her hand gently rubbing over your pants. Your eyes widen as you realize how hard and aroused you've become during the trance.">>
<<dialog "Rylan" "faceembarrassed" "...Nimeria... stop... Liora...">>
<<dialog "Nimeria" "facesmile" "Psst, don't worry. I'm just helping you relax. It's not cheating, just a massage...">>
<<dialog "Rylan" "facehypnotized" "Just... a massage...">>
<center><img src="images/nimeria/chapter4/2.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "With practiced movements, she begins removing your shirt, her fingers trailing across your skin. Every touch sends electric jolts through your body as she leans in to press soft kisses against your chest.">>
<<dialog "Nimeria" "facesmile" "You're so beautiful, $humanName">>
<<narrative "Your pants soon follow, and she gasps with delight when she sees how hard you are for her.">>
<<dialog "Nimeria" "facelaugh" "Perfect. I love your smell, $humanName. You're intoxicating.">>
<<dialog "Rylan" "facehypnotized" "...Nimeria...">>
<center><img src="images/nimeria/chapter4/3.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Her hand wraps around your length, and you gasp at the contact. Her touch is soft yet firm, knowing exactly how to make you tremble with pleasure.">>
<<dialog "Nimeria" "facesmile" "That's it, just relax and let me take care of you. You deserve this pleasure, my sweet $humanName.">>
<center><img src="images/nimeria/chapter4/4.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Her technique is masterful, alternating between gentle caresses and firmer strokes that make your hips buck involuntarily. The combination of her hypnotic influence and skilled touch has you completely at her mercy.">>
<<dialog "Nimeria" "faceseductive" "You're doing so well for me. Just let yourself feel everything. Don't think, just experience...">>
<center><img src="images/nimeria/chapter4/5.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "She varies her rhythm expertly, sometimes slow and teasing, building tension until you're practically writhing beneath her touch, then picking up the pace until you're gasping with need. Your mind is completely clouded by the hypnotic trance and overwhelming pleasure.">>
<<dialog "Rylan" "facehypnotized" "Nimeria... this feels... I can't...">>
<<dialog "Nimeria" "facesmile" "Shh, my sweet boy. Don't fight it. This is what you need, what your body craves. Just surrender to me completely...">>
<center><img src="images/nimeria/chapter4/6.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "She leans down, her lips ghosting along your neck as her hand continues its relentless work. You can feel her warm breath, smell her intoxicating scent even stronger now. Every nerve in your body feels electrified, hypersensitive to her every touch.">>
<<dialog "Nimeria" "faceseductive" "I can feel how close you're getting. Your body is telling me everything. You want this so badly, don't you?">>
<center><img src="images/nimeria/chapter4/7.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "The intensity builds to almost unbearable levels. Her technique becomes more focused, more deliberate, as if she knows exactly how to push you right to the edge and keep you there. Your breathing becomes ragged, your whole body trembling with need.">>
<<dialog "Rylan" "facehypnotized" "Please... I need... I can't hold back much longer...">>
<<dialog "Nimeria" "facelaugh" "That's it, my darling. You're being such a good boy for me. Just a little more... let me take you even higher...">>
<center><img src="images/nimeria/chapter4/8.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "She shifts her position slightly, changing the angle and pressure of her strokes. The new sensation sends shockwaves through your entire body. You feel like you're floating, completely lost in a haze of pleasure and hypnotic bliss.">>
<<dialog "Nimeria" "faceseductive" "You feel so wonderful in my hands. I love watching you lose yourself like this. So vulnerable, so trusting...">>
<<narrative "The final buildup begins in earnest. Her movements become more urgent, more purposeful. You can feel the tension coiling tighter and tighter in your core, like a spring wound to its absolute limit. Your whole world has narrowed down to this moment, this sensation, this overwhelming need for release.">>
<<dialog "Rylan" "faceembarrassed" "Nimeria... I'm going to... I can't stop it...">>
<<dialog "Nimeria" "facelaugh" "That's perfect, my sweet boy. Let it happen. Give yourself to me completely. Let me see how good I make you feel...">>
<<narrative "Your breathing becomes ragged as the pressure builds to its absolute peak, your body responding eagerly to her ministrations despite your confused state. The point of no return approaches rapidly...">>
<<set $rylan_handjobTakenCount += 1>><<trackExperience "Rylan" "handjobTakenCount" 1>>
<<set $nimeria_handjobDoneCount += 1>><<trackExperience "Nimeria" "handjobDoneCount" 1>>
<<set $rylan_NimeriaHandjobTakenCount += 1>>
<<set $Nimeria_RylanHandjobCount += 1>>
<<changeFetish "Nimeria" "SmellFetish" 0.3>>
<<changeLust "Rylan" 25>>
<<changeLust "Nimeria" 15>>
<<continueBox "NimeriaMorningVisitChapter4Climax" "The pleasure builds to its peak..." "">>
<</if>>
<<if $nimeriaxrylancontent === false>>
<<narrative "You feel strangely aroused from the trance, though you're not sure why. Your body feels warm and sensitive in ways you don't understand.">>
<<changeLust "Rylan" 10>>
<<if $humanTransformationFeminine === false>>
<<continueBox "MorningActivitiesChapter4" "Leave Nimeria's room" "">>
<</if>>
<<if $humanTransformationFeminine === true>>
<<narrative "After the intense experience, Nimeria reaches into a drawer and pulls out a pair of delicate white panties trimmed with lace.">>
<center><img src="images/items/whitepantiesbox.webp" style="max-width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "facesmile" "I want you to wear these from now on">>
<<dialog "Rylan" "faceangry" "What the heck?!">>
<<dialog "Nimeria" "faceplayful" "It's fine, no one will see unless you remove your pants. And believe me, you'll like it. It feels so much better on your skin than boxers - softer, more comfortable.">>
<<dialog "Nimeria" "faceseductive" "Just try one on for me. What's the harm in that? You might discover something new about yourself.">>
<<narrative "You know you should be reluctant, should refuse this strange request. But somehow, the idea intrigues you in a way you don't understand. There's a part of you that's curious about how they might feel.">>
<<dialog "Rylan" "faceembarrassed" "I... I suppose I could test it for a bit. Just to see how they feel.">>
<<if $rylan_masculinity === 69>><<set $rylan_masculinity -= 4>><<trackOther "Rylan" "Masculinity" -4>><<else>><<set $rylan_masculinity -= 5>><<trackOther "Rylan" "Masculinity" -5>><</if>>
<<set $rylan_wearingPanties = true>>
<<changeFetish "Rylan" "CrossdressingFetish" 0.2>>
<<setTransformation "rylan" "panties" true>>
<<narrative "As you slip into the delicate undergarment, you're immediately struck by how different they feel. The silky material is so much softer against your skin than the rough cotton of your usual boxers. They hug your body in places that feel surprisingly... comfortable. The fabric seems to caress rather than just cover.">>
<<dialog "Rylan" "facesurprised" "These... they're actually really soft. Nothing like boxers at all.">>
<center><img src="images/rylan/nakedpanties.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "facelaugh" "See? I told you so! And they look wonderful on you too. You should look in the mirror - see how well they suit you.">>
<<dialog "Rylan" "faceembarrassed" "It looks... weird">>
<center><img src="images/rylan/chapter4/femalemirror.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "faceplayful" "Try this - close your eyes for me. Now tilt your head down, as if you were looking at your feet.">>
<<narrative "You follow her instruction, curious despite your embarrassment.">>
<<dialog "Nimeria" "facesmile" "Now open your eyes and slowly... very slowly... move your head up until you can only see your lower body and those beautiful panties.">>
<<narrative "You do as she asks, and when your gaze settles on your lower body in the mirror, something strange happens. Without the context of your full masculine frame, without seeing your broad shoulders and chest, your lower body looks... different. More slender. The panties accentuate curves you never noticed before. Your athletic build suddenly looks more like that of a toned woman.">>
<<dialog "Rylan" "facesurprised" "Oh...">>
<center><img src="images/rylan/pantiesview.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "facesmile" "Still looking weird? Imagine if you had a more feminine figure - wouldn't that be interesting? Different perspectives can change everything.">>
<<dialog "Rylan" "faceembarrassed" "I... it does look different like this. But what would others think if they saw?">>
<<dialog "Nimeria" "faceplayful" "Did you know that men in the past wore skirts too? In some regions they even do today. Fashion and comfort aren't bound by arbitrary rules.">>
<<dialog "Rylan" "faceserious" "Yes, I've seen some historical drawings...">>
<<dialog "Nimeria" "facesmile" "So is it really weird wearing them? Or are you just worried about what others might think? Be stronger than that. Don't let others decide what's comfortable for you.">>
<<narrative "Her words carry a compelling logic that makes you reconsider your assumptions. When she puts it that way, maybe there really isn't anything inherently wrong with wearing something comfortable, regardless of traditional expectations. Her perspective makes it seem like a matter of personal choice rather than social taboo.">>
<<changeFetish "Rylan" "CrossdressingFetish" 0.1>>
<<dialog "Nimeria" "facelaugh" "Wonderful! You won't regret this, I promise. They suit you perfectly.">>
<<changeAffection "Rylan" "Nimeria" 2>>
<<changeAffection "Nimeria" "Rylan" 3>>
<<changeAttraction "Rylan" "Nimeria" 1.5>>
<<changeAttraction "Nimeria" "Rylan" 2>>
<<continueBox "MorningActivitiesChapter4" "Leave Nimeria's room" "">>
<</if>>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/cum.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/handjob.mp3');
}, 7000)>>
<<if not $rylan_orgasmsReceived>><<set $rylan_orgasmsReceived = 0>><</if>>
<<if not $nimeria_orgasmsGiven>><<set $nimeria_orgasmsGiven = 0>><</if>>
<<if not $rylan_Lust>><<set $rylan_Lust = 0>><</if>>
<<if not $nimeria_Lust>><<set $nimeria_Lust = 0>><</if>>
<<if not $rylan_cumOnBodyAmount>><<set $rylan_cumOnBodyAmount = 0>><</if>>
<<if not $nimeria_cumOnBodyAmount>><<set $nimeria_cumOnBodyAmount = 0>><</if>>
<<nobr>>
<div class="passage-container nimeria">
<<narrative "💦 The Peak of Pleasure 💦">>
<<narrative "The intensity reaches its breaking point...">>
<center><img src="images/nimeria/chapter4/8.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "The tension inside you has wound to its absolute limit. Every nerve ending screams with overwhelming sensation as Nimeria's skilled touch pushes you beyond the point of no return. Your breathing becomes desperate, ragged gasps as your body prepares for release.">>
<<dialog "Rylan" "faceembarrassed" "Nimeria... I can't... I'm going to...">>
<<dialog "Nimeria" "faceseductive" "Yes, my sweet boy. Let it all go. Give yourself to me completely!">>
<center><img src="images/nimeria/chapter4/9.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "The climax hits you like lightning, your entire body convulsing as waves of overwhelming pleasure crash through you. Your release is powerful and intense, enhanced by the hypnotic state that makes every sensation feel magnified tenfold. Your vision whites out momentarily as pure ecstasy floods your system.">>
<<narrative "But it's not just any release - you come like a fountain, releasing what feels like four times the amount you've ever produced before. The hypnotic state has heightened everything, including your body's response. You didn't even think it was humanly possible to release so much at once, but wave after wave keeps coming.">>
<<dialog "Rylan" "facehypnotized" "Ahhhh... Nimeria... oh god...">>
<<narrative "Nimeria's eyes widen in shock as your massive release completely covers her. Her face, chest, and body are painted white with your essence, and a considerable amount lands directly in her open mouth. She looks stunned for a moment, clearly not expecting such an intense response.">>
<center><img src="images/nimeria/chapter4/11.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "facesurprised" "Wow... I really like the smell... and you taste so good.">>
<<narrative "As your breathing starts to return to normal, you expect your arousal to fade. But to your complete surprise, you're still rock hard, your body apparently not done despite the massive release.">>
<<dialog "Nimeria" "faceplayful" "Hmm, it seems you can still come more">>
<<dialog "Rylan" "facesurprised" "What the...?">>
<<narrative "Without missing a beat, Nimeria begins stroking you again, this time with even more intensity than before. Her movements are faster, more deliberate, and the sensation is overwhelming. Her body glistens with your essence, making the sight even more erotic.">>
<<dialog "Nimeria" "faceseductive" "Maybe you need something to help?">>
<center><img src="images/nimeria/chapter4/12.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "faceembarrassed" "I know they're small, but I still hope you like them">>
<<quickRoll "Breast Appreciation" "Rylan" 75 5 "BreastFetish" 3>>
<<if not _tempRollSuccess>>
<<dialog "Rylan" "faceembarrassed" "They're beautiful...">>
<<changeFetish "Rylan" "BreastFetish" 0.3>>
<<else>>
<<dialog "Rylan" "faceembarrassed" "They're beautiful...">>
<<changeFetish "Rylan" "BreastFetish" 0.1>>
<</if>>
<<dialog "Nimeria" "facehappy" "Really?!">>
<center><img src="images/nimeria/chapter4/13.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "After a few moments of intense stimulation, she deliberately slows her pace, her eyes studying your face carefully.">>
<<dialog "Nimeria" "faceseductive" "What about my hair? Do you like my dark hair?">>
<<quickRoll "Hair Appreciation" "Rylan" 75 5 "attractionBased" 3>>
<<if not _tempRollSuccess>>
<<dialog "Rylan" "facewet" "It's gorgeous... so silky and beautiful">>
<<changeAttraction "Rylan" "Nimeria" 1.5>>
<<else>>
<<dialog "Rylan" "faceembarrassed" "It's gorgeous... so silky and beautiful">>
<<changeAttraction "Rylan" "Nimeria" 0.5>>
<</if>>
<center><img src="images/nimeria/chapter4/14.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Once again, she rewards your compliment by intensifying her movements, her hand working you with renewed vigor. You're beginning to notice the pattern - she's training your responses, rewarding you for praising her.">>
<<dialog "Nimeria" "faceplayful" "And what about my red eyes?">>
<<dialog "Rylan" "facehypnotized" "They're incredible... like beautiful rubies... I could get lost in them">>
<center><img src="images/nimeria/chapter4/15.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Your compliment earns another reward as she picks up the pace once more, her technique becoming more sophisticated with each cycle.">>
<<dialog "Nimeria" "faceseductive" "What about my pointy ears?">>
<<dialog "Rylan" "facewet" "They're so elegant... so uniquely beautiful">>
<center><img src="images/nimeria/chapter4/16.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Again, your praise triggers an immediate intensification of her movements. The pattern is becoming clear - she's conditioning you to associate complimenting her with pleasure.">>
<<dialog "Nimeria" "faceplayful" "And my pale skin?">>
<<dialog "Rylan" "faceembarrassed" "It's like porcelain... so smooth and perfect">>
<<narrative "The reward comes immediately, her hand working you with expert precision as she continues her psychological conditioning.">>
<<dialog "Nimeria" "faceseductive" "What about my breasts?">>
<<quickRoll "Breast Focus" "Rylan" 70 5 "BreastFetish" 4>>
<<if not _tempRollSuccess>>
<<dialog "Rylan" "facewet" "They're perfect... absolutely perfect. I love how they look, how they move...">>
<<changeFetish "Rylan" "BreastFetish" 0.3>>
<<else>>
<<dialog "Rylan" "faceembarrassed" "They're perfect... absolutely perfect">>
<<changeFetish "Rylan" "BreastFetish" 0.1>>
<</if>>
<center><img src="images/nimeria/chapter4/17.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Your compliment about her breasts earns the most intense response yet, her movements becoming almost frantic with excitement.">>
<<dialog "Nimeria" "faceplayful" "What about my body overall?">>
<<dialog "Rylan" "facehypnotized" "You're a goddess... your entire body is a work of art">>
<<narrative "This compliment triggers another surge of intense stimulation as she clearly revels in your worship of her form.">>
<<dialog "Nimeria" "faceseductive" "And what about my smell?">>
<<quickRoll "Scent Appreciation" "Rylan" 70 5 "SmellFetish" 4>>
<<if not _tempRollSuccess>>
<<dialog "Rylan" "facewet" "It's intoxicating... you smell amazing, even mixed with... with what happened">>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<<else>>
<<dialog "Rylan" "faceembarrassed" "It's intoxicating... you smell amazing">>
<<changeFetish "Rylan" "SmellFetish" 0.1>>
<</if>>
<<narrative "This final compliment sends her into overdrive, her hand working you with desperate intensity as she builds you toward another climax. You can feel yourself approaching the edge once again, your body responding to her skilled manipulation and psychological conditioning.">>
<<dialog "Nimeria" "facehappy" "That's it, my sweet boy. You're learning so well. Now let go for me again!">>
<<set $rylan_NimeriaOrgasmsReceived = ($rylan_NimeriaOrgasmsReceived or 0) + 1>>
<<set $nimeria_RylanOrgasmsGiven = ($nimeria_RylanOrgasmsGiven or 0) + 1>>
<<set _rylanCumAmount = setup.getStat("Rylan", "body", "cumAmount")>>
<<if not $rylan_cumOnOthersMl>><<set $rylan_cumOnOthersMl = 0>><</if>>
<<if not $nimeria_cumOnBodyMl>><<set $nimeria_cumOnBodyMl = 0>><</if>>
<<if not $rylan_NimeriaCumOnOthersMl>><<set $rylan_NimeriaCumOnOthersMl = 0>><</if>>
<<if not $Nimeria_RylanCumOnBodyMl>><<set $Nimeria_RylanCumOnBodyMl = 0>><</if>>
<<set $rylan_cumOnOthersMl += _rylanCumAmount>>
<<trackExperience "Rylan" "cumOnOthersMl" _rylanCumAmount>>
<<set $nimeria_cumOnBodyMl += _rylanCumAmount>>
<<trackExperience "Nimeria" "cumOnBodyMl" _rylanCumAmount>>
<<set $rylan_NimeriaCumOnOthersMl += _rylanCumAmount>>
<<set $Nimeria_RylanCumOnBodyMl += _rylanCumAmount>>
<<set $rylan_handjobTakenCount += 1>>
<<trackExperience "Rylan" "handjobTakenCount" 1>>
<<set $nimeria_handjobDoneCount += 1>>
<<trackExperience "Nimeria" "handjobDoneCount" 1>>
<<set $rylan_NimeriaHandjobTakenCount += 1>>
<<set $Nimeria_RylanHandjobCount += 1>>
<<changeLust "Rylan" 25>>
<<changeLust "Nimeria" 12>>
<<continueBox "NimeriaMorningVisitChapter4SecondClimax" "Continue to the intense finale" "">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/cum.mp3')>>
<<set $nimeria_rylanHandjobChapter4 = true>>
<<if not $rylan_orgasmsReceived>><<set $rylan_orgasmsReceived = 0>><</if>>
<<if not $nimeria_orgasmsGiven>><<set $nimeria_orgasmsGiven = 0>><</if>>
<<if not $rylan_cumOnBodyAmount>><<set $rylan_cumOnBodyAmount = 0>><</if>>
<<if not $nimeria_cumOnBodyAmount>><<set $nimeria_cumOnBodyAmount = 0>><</if>>
<<nobr>>
<div class="passage-container nimeria">
<<narrative "💦 The Final Release 💦">>
<<narrative "Complete surrender to her will...">>
<center><img src="images/nimeria/chapter4/17.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "The psychological conditioning combined with her expert touch drives you over the edge once again. This second climax is even more intense than the first, your body convulsing as another massive release erupts from you. The hypnotic state makes everything feel infinitely more powerful.">>
<<dialog "Rylan" "facehypnotized" "Nimeria! Oh god... again...">>
<<dialog "Nimeria" "faceecstatic" "Yes! That's perfect, my sweet boy. You're doing so wonderfully!">>
<center><img src="images/nimeria/chapter4/18.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Finally spent, you collapse back against the soft mattress, breathing heavily as the intensity slowly ebbs away. The hypnotic trance begins to lift gradually, leaving you feeling dazed and confused about what just transpired. Your body tingles with the afterglow of overwhelming pleasure, and you notice you're finally beginning to soften.">>
<<dialog "Rylan" "faceembarrassed" "That was... what did you do to me? I've never...">>
<<dialog "Nimeria" "facesmile" "Just advanced relaxation techniques. Nothing more than helping you unwind from all that stress. You clearly needed the release.">>
<<narrative "As clarity slowly returns, you notice Nimeria looks slightly pale, almost drained. Your genuine concern breaks through the post-climax haze.">>
<<dialog "Rylan" "faceworried" "Nimeria, are you okay? You look a bit pale...">>
<<dialog "Nimeria" "facesmile" "I'm happy that you're worried about me. But I'm fine. Just a bit exhausted. Using that much... energy... takes a toll sometimes.">>
<<narrative "Her reassurance helps ease your concern, though you still sense there's more to her condition than she's letting on. The experience felt too good to regret completely, and the way she made you compliment her feels strangely natural now.">>
<<if $humanTransformationFeminine === true>>
<<narrative "After helping you recover and clean up, Nimeria reaches into a drawer and pulls out a pair of delicate white panties trimmed with lace.">>
<center><img src="images/items/whitepantiesbox.webp" style="max-width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "facesmile" "I want you to wear these from now on. After what we just shared, I think you're ready for this next step.">>
<<dialog "Rylan" "faceangry" "What the heck?! Panties?!">>
<<dialog "Nimeria" "faceplayful" "Trust me, it's fine. No one will see unless you remove your pants. And believe me, you'll like it. They feel so much better on your genitals than boxers - softer, more comfortable.">>
<<dialog "Nimeria" "faceseductive" "Besides, after what you just experienced, don't you want to try something new? Something that might feel even better? Just try one on for me. What's the harm in that?">>
<<narrative "You know you should be reluctant, should refuse this strange request. But somehow, after the intense conditioning session and the way she trained you to compliment her, the idea doesn't seem as shocking as it should. There's a part of you that's curious about how they might feel, especially after what just happened.">>
<<dialog "Rylan" "faceembarrassed" "I... I suppose I could try them for a bit. Just to see how they feel.">>
<<if $rylan_masculinity === 69>><<set $rylan_masculinity -= 4>><<trackOther "Rylan" "Masculinity" -4>><<else>><<set $rylan_masculinity -= 5>><<trackOther "Rylan" "Masculinity" -5>><</if>>
<<set $rylan_wearingPanties = true>>
<<changeFetish "Rylan" "CrossdressingFetish" 0.2>>
<<setTransformation "rylan" "panties" true>>
<<narrative "As you slip into the delicate undergarment, you're immediately struck by how different they feel. The silky material is so much softer against your skin than the rough cotton of your usual boxers. They hug your body in places that feel surprisingly... comfortable. The fabric seems to caress rather than just cover.">>
<<dialog "Rylan" "facesurprised" "These... they're actually really soft. Nothing like boxers at all.">>
<center><img src="images/rylan/nakedpanties.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "facelaugh" "See? I told you so! And they look wonderful on you too. You should look in the mirror - see how well they suit you.">>
<<dialog "Rylan" "faceembarrassed" "It looks... weird">>
<center><img src="images/rylan/chapter4/femalemirror.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "faceplayful" "Close your eyes for me. Now tilt your head down, as if you were looking at your feet.">>
<<narrative "You follow her instruction, confused but oddly trusting after everything that's happened between you.">>
<<dialog "Nimeria" "faceseductive" "Now open your eyes and slowly... very slowly... move your head up until you can only see your lower body and those beautiful panties.">>
<<narrative "You do as she asks, and when your gaze settles on your lower body in the mirror, something strange happens. Without the context of your full masculine frame, without seeing your broad shoulders and chest, your lower body looks... different. More slender. The panties accentuate curves you never noticed before. Your athletic build suddenly looks more like that of a toned woman.">>
<<dialog "Rylan" "facesurprised" "Oh...">>
<center><img src="images/rylan/pantiesview.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "faceseductive" "Still looking weird? Isn't it sexy? Imagine it's a woman's body, with well-defined breasts, shoulder-length blonde hair... Isn't it sexy?">>
<<narrative "Her words paint a vivid picture in your mind, and combined with the visual in the mirror, you feel a stirring of arousal. The image she's creating feels surprisingly... appealing.">>
<<changeLust "Rylan" 15>>
<<changeFetish "Rylan" "CrossdressingFetish" 0.1>>
<center><img src="images/rylan/nakedfemale.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceembarrassed" "Yes, it is... B-but what would others think if they saw?">>
<<dialog "Nimeria" "faceplayful" "I'm getting déjà vu. Didn't we already have that talk? Did you know that men in the past wore skirts too? In some regions they even do today.">>
<<dialog "Rylan" "faceserious" "Yes, I saw some drawn images of that...">>
<<dialog "Nimeria" "faceseductive" "So is it weird wearing them?">>
<<dialog "Rylan" "faceembarrassed" "I guess not... but here it is different. What would others think?">>
<<dialog "Nimeria" "faceplayful" "Be stronger than that. Don't let others decide the rules for you. You decide for yourself what feels right, what makes you happy.">>
<<narrative "Somehow, when Nimeria says it, her arguments sound so logical, so right. The way she speaks makes everything seem perfectly reasonable. Maybe there really isn't anything wrong with wearing panties? Maybe you've been limiting yourself based on arbitrary social rules? Her voice makes it all make sense in a way that feels liberating.">>
<</if>>
<<set $nimeria_RylanHandjobCount = ($nimeria_RylanHandjobCount or 0) + 2>>
<<set $rylan_NimeriaOrgasmsReceived = ($rylan_NimeriaOrgasmsReceived or 0) + 1>>
<<set $nimeria_RylanOrgasmsGiven = ($nimeria_RylanOrgasmsGiven or 0) + 1>>
<<set _rylanCumAmount = setup.getStat("Rylan", "body", "cumAmount")>>
<<if not $rylan_cumOnOthersMl>><<set $rylan_cumOnOthersMl = 0>><</if>>
<<if not $nimeria_cumOnBodyMl>><<set $nimeria_cumOnBodyMl = 0>><</if>>
<<if not $rylan_NimeriaCumOnOthersMl>><<set $rylan_NimeriaCumOnOthersMl = 0>><</if>>
<<if not $Nimeria_RylanCumOnBodyMl>><<set $Nimeria_RylanCumOnBodyMl = 0>><</if>>
<<set $rylan_cumOnOthersMl += _rylanCumAmount>>
<<trackExperience "Rylan" "cumOnOthersMl" _rylanCumAmount>>
<<set $nimeria_cumOnBodyMl += _rylanCumAmount>>
<<trackExperience "Nimeria" "cumOnBodyMl" _rylanCumAmount>>
<<set $rylan_NimeriaCumOnOthersMl += _rylanCumAmount>>
<<set $Nimeria_RylanCumOnBodyMl += _rylanCumAmount>>
<<set $rylan_orgasmsReceived += 1>>
<<trackExperience "Rylan" "orgasmsReceived" 1>>
<<set $nimeria_orgasmsGiven += 1>>
<<trackExperience "Nimeria" "orgasmsGiven" 1>>
<<changeLust "Rylan" -100>>
<<changeLust "Nimeria" 8>>
<<set $rylan_sexualExperience += 1>>
<<trackExperience "Rylan" "sexualExperience" 1>>
<<set $nimeria_sexualExperience += 1>>
<<trackExperience "Nimeria" "sexualExperience" 1>>
<<set $rylan_basicExperience += 1>>
<<trackExperience "Rylan" "basicExperience" 1>>
<<set $nimeria_basicExperience += 1>>
<<trackExperience "Nimeria" "basicExperience" 1>>
<<addSoulCorruption "rylan" 1>>
<<soulDisplay "rylan">>
<<changeAffection "Rylan" "Nimeria" 3>>
<<changeAffection "Nimeria" "Rylan" 4>>
<<changeAttraction "Rylan" "Nimeria" 2>>
<<changeAttraction "Nimeria" "Rylan" 3>>
<<continueBox "MorningActivitiesChapter4" "Leave Nimeria's room feeling confused..." "">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "🚪 Checking on the Healer 🚪">>
<<narrative "After the tense confrontation with Gairos, I can't shake my worry about Liora. She's been healing Seryk for hours now, and I know how much strain that puts on her mana circuits-especially since they've been damaged from overuse during the goblin attack.">>
<<dialog "Rylan" "faceworried" "I should check on her. Make sure she's not pushing herself too hard. Liora has this tendency to ignore her own wellbeing when someone needs help.">>
<<narrative "I make my way quietly down the corridor to the guest room where Seryk is recovering. The soft glow of healing magic seeps under the door-she's still at it. I raise my hand and knock gently.">>
<<narrative "*Knock knock*">>
<<narrative "There's a moment of silence, then some rustling sounds from inside. A few seconds later, the door opens and Liora appears, looking... flustered.">>
<center><img src="images/liora/chapter4/ntr/dooranswer.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "face" "Liora? Is everything alright? You look... exhausted.">>
<<narrative "Her face is flushed and there's a sheen of sweat on her forehead. She must have been working incredibly hard to heal Seryk. The poor girl is pushing herself to her limits.">>
<<dialog "Liora" "faceembarrassedshortpink" "Oh! $humanName! Yes, everything's... everything's fine! Just been channeling a lot of healing magic, you know how it is.">>
<<dialog "Rylan" "faceworried" "Don't exhaust yourself too much, please. I know you want to help Seryk, but you need to take care of yourself too. How is he doing? Any improvement?">>
<<dialog "Liora" "face" "He's... he's making remarkable progress actually. His external wounds are completely healed, but the nerve and muscle damage is still complex. I'm doing everything I can for him.">>
<<dialog "Rylan" "face" "I know you are. You're amazing, Liora. Just... please remember to rest when you need to, okay? I'll let you get back to it.">>
<<dialog "Liora" "faceembarrassedshortpink" "Thank you, $humanName. I'll... I'll be careful. Don't worry about me.">>
<<narrative "She closes the door gently, and I can hear her moving back toward Seryk. Something seemed... off about her demeanor, but I suppose intensive healing work can be overwhelming. I head back down the corridor, hoping she'll be alright.">>
<div style="text-align: center; margin: 30px 0;">
<div style="background: rgba(80,80,100,0.9); border: 2px solid rgba(120,120,140,0.6); border-radius: 10px; padding: 20px;">
<span style="color: #FFD700; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">✨ Meanwhile, a while before... ✨</span></div></div>
<<continueBox "LioraSweatContact" "What really happened in that room..." "">>
</div>
<</nobr>>
<<pov "rylan" "kitchenconfrontation.mp3">>
<<if $serykxliorantr>>
<<script>>
$(document).ready(function() {
setTimeout(function() {
if (window.FloatingEffects && State.variables.serykxliorantr) {
// Enhanced aura for intense NTR scene - stronger pulse, larger radius, faster animation
window.FloatingEffects.addEffect('Liora', 'blue', 'images/chibi-models/seryk.webp', {
intensity: 'intense', // intense visual effect
radius: 2.0, // double the aura radius
opacity: 1.3, // brighter, more visible
speed: 2.5 // much faster pulsing
});
}
}, 500);
});
<</script>>
<</if>><<script>>window.AudioSystem.playBGM('default4.mp3');<</script>><div style="background: linear-gradient(135deg, rgba(25, 25, 35, 0.95) 0%, rgba(15, 15, 25, 0.98) 50%, rgba(35, 25, 45, 0.95) 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: url('images/landscapes/mystical_transition.webp') center/cover; opacity: 0.1;"></div>
<div style="position: relative; z-index: 2; text-align: center; max-width: 600px; padding: 40px;"><div id="transition-text-1" style="opacity: 0; transition: opacity 1s ease-in-out; color: #E6E6FA; font-size: 1.2em; margin-bottom: 30px; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
The wheels of fate turn in distant halls of power...</div>
<div id="transition-text-2" style="opacity: 0; transition: opacity 1s ease-in-out; color: #D8BFD8; font-size: 1.1em; margin-bottom: 30px; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">
While queens and demons plan for uncertain tomorrows...
</div><div id="transition-text-3" style="opacity: 0; transition: opacity 1s ease-in-out; color: #DDA0DD; font-size: 1.3em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
Our hero awakens to a morning filled with familiar faces and lingering dreams...
</div><div id="continue-link" style="opacity: 0; margin-top: 40px;"><span style="color: #FFB6C1; font-size: 1.1em; cursor: pointer; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">[[Continue|MorningKitchenTalk]]</span></div></div></div>
<<script>>
setTimeout(function() {
document.getElementById('transition-text-1').style.opacity = '1';
}, 100);
setTimeout(function() {
document.getElementById('transition-text-2').style.opacity = '1';
}, 800);
setTimeout(function() {
document.getElementById('transition-text-3').style.opacity = '1';
}, 1500);
setTimeout(function() {
document.getElementById('continue-link').style.opacity = '1';
}, 2000);
<</script>><<script>>window.AudioSystem.playBGM('contemplation.mp3');<</script>><div style="background: linear-gradient(135deg, rgba(25, 35, 25, 0.95) 0%, rgba(15, 25, 15, 0.98) 50%, rgba(35, 45, 35, 0.95) 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden;"><div style="position: relative; z-index: 2; text-align: center; max-width: 600px; padding: 40px;"><div id="transition-text-1" style="opacity: 0; transition: opacity 1s ease-in-out; color: #98FB98; font-size: 2em; margin-bottom: 30px; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
✨ Perspective Shift ✨
</div><div id="transition-text-2" style="opacity: 0; transition: opacity 1s ease-in-out; color: #E6E6FA; font-size: 1.2em; margin-bottom: 30px; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">
Meanwhile, in another room, a healer struggles with forbidden desires...
</div><div id="transition-text-3" style="opacity: 0; transition: opacity 1s ease-in-out; color: #DDA0DD; font-size: 1.3em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
The scene shifts to follow <<print $humanToMariel>>'s conflicted heart as temptation overwhelms duty...</div><div id="continue-link" style="opacity: 0; margin-top: 40px;">
<span style="color: #FFB6C1; font-size: 1.1em; cursor: pointer; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">[[Continue|MarielHelpsSeryk]]</span></div></div></div><<script>>
setTimeout(function() {
document.getElementById('transition-text-1').style.opacity = '1';
}, 100);
setTimeout(function() {
document.getElementById('transition-text-2').style.opacity = '1';
}, 600);
setTimeout(function() {
document.getElementById('transition-text-3').style.opacity = '1';
}, 1200);
setTimeout(function() {
document.getElementById('continue-link').style.opacity = '1';
}, 1800);
<</script>><<changeFace $currentMarielFace>><<statSummary>><<stopLoopingSounds>>
<<script>>window.AudioSystem.playBGM('transformation.mp3');<</script>><<set $currentFace = $currentLioraFace>>
<div style="background: linear-gradient(135deg, rgba(255, 182, 193, 0.8) 0%, rgba(255, 105, 180, 0.6) 50%, rgba(139, 69, 19, 0.4) 100%); color: white; padding: 40px; text-align: center; border-radius: 15px; box-shadow: 0 0 20px rgba(255, 182, 193, 0.3);">
<div id="transition-text-1" style="opacity: 0; transition: opacity 1s ease-in-out; font-size: 1.3em; margin-bottom: 20px;">
The sweet moment lingers in the air...
</div>
<div id="transition-text-2" style="opacity: 0; transition: opacity 1s ease-in-out; font-size: 1.2em; margin-bottom: 20px;">
But innocence has awakened something unexpected...
</div>
<div id="transition-text-3" style="opacity: 0; transition: opacity 1s ease-in-out; font-size: 1.1em; margin-bottom: 20px;">
Following Liora as she discovers a shocking transformation...
</div>
<div id="continue-link" style="opacity: 0; transition: opacity 1s ease-in-out; margin-top: 30px;">
[[Continue|LioraDiscovery]]
</div></div>
<<script>>
setTimeout(function() {
document.getElementById('transition-text-1').style.opacity = '1';
}, 100);
setTimeout(function() {
document.getElementById('transition-text-2').style.opacity = '1';
}, 800);
setTimeout(function() {
document.getElementById('transition-text-3').style.opacity = '1';
}, 1500);
setTimeout(function() {
document.getElementById('continue-link').style.opacity = '1';
}, 2000);
setTimeout(function() {
var continueLink = document.querySelector('#continue-link a');
if (continueLink) {
continueLink.click();
}
}, 2500);
<</script>>
<<changeFace $currentLioraFace>><<set $MarielSerykBoxersHandjob = false>><<script>>window.AudioSystem.playBGM('contemplation.mp3');<</script>><div style="background: linear-gradient(135deg, rgba(25, 35, 25, 0.95) 0%, rgba(15, 25, 15, 0.98) 50%, rgba(35, 45, 35, 0.95) 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden;"><div style="position: relative; z-index: 2; text-align: center; max-width: 600px; padding: 40px;"><div id="transition-text-1" style="opacity: 0; transition: opacity 1s ease-in-out; color: #98FB98; font-size: 2em; margin-bottom: 30px; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
✨ Perspective Shift ✨
</div><div id="transition-text-2" style="opacity: 0; transition: opacity 1s ease-in-out; color: #E6E6FA; font-size: 1.2em; margin-bottom: 30px; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">
Meanwhile, in another room, a healer tends to wounds both physical and emotional...
</div><div id="transition-text-3" style="opacity: 0; transition: opacity 1s ease-in-out; color: #DDA0DD; font-size: 1.3em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
The scene shifts to follow <<print $humanToMariel>>'s conflicted thoughts as she works to save a life...</div><div id="continue-link" style="opacity: 0; margin-top: 40px;">
<span style="color: #FFB6C1; font-size: 1.1em; cursor: pointer; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">[[Continue|MarielHealsSeryk]]</span></div></div></div><<script>>
setTimeout(function() {
document.getElementById('transition-text-1').style.opacity = '1';
}, 100);
setTimeout(function() {
document.getElementById('transition-text-2').style.opacity = '1';
}, 600);
setTimeout(function() {
document.getElementById('transition-text-3').style.opacity = '1';
}, 1200);
setTimeout(function() {
document.getElementById('continue-link').style.opacity = '1';
}, 1800);
<</script>><<changeFace $currentMarielFace>><<statSummary>><<script>>window.AudioSystem.playBGM('transitionambient.mp3');<</script>><div style="background: linear-gradient(135deg, rgba(25, 25, 35, 0.95) 0%, rgba(15, 15, 25, 0.98) 50%, rgba(35, 25, 45, 0.95) 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden;">
<div style="position: relative; z-index: 2; text-align: center; max-width: 600px; padding: 40px;"><div id="transition-text-1" style="opacity: 0; transition: opacity 1s ease-in-out; color: #87CEEB; font-size: 2em; margin-bottom: 30px; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
✨ Perspective Shift ✨
</div><div id="transition-text-2" style="opacity: 0; transition: opacity 1s ease-in-out; color: #E6E6FA; font-size: 1.2em; margin-bottom: 30px; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">
The guest room grows quiet as concern weighs heavy on another's mind...
</div><div id="transition-text-3" style="opacity: 0; transition: opacity 1s ease-in-out; color: #DDA0DD; font-size: 1.3em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
The scene shifts as we follow <<print $humanName>>'s concerned footsteps down the corridor...</div><div id="continue-link" style="opacity: 0; margin-top: 40px;">
<span style="color: #FFB6C1; font-size: 1.1em; cursor: pointer; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">[[Continue|POVLioraNTRChapter4]]</span></div></div></div>
<<script>>
setTimeout(function() {
document.getElementById('transition-text-1').style.opacity = '1';
}, 100);
setTimeout(function() {
document.getElementById('transition-text-2').style.opacity = '1';
}, 600);
setTimeout(function() {
document.getElementById('transition-text-3').style.opacity = '1';
}, 1200);
setTimeout(function() {
document.getElementById('continue-link').style.opacity = '1';
}, 1800);
<</script>><<script>>window.AudioSystem.playBGM('contemplation.mp3');<</script>><div style="background: linear-gradient(135deg, rgba(25, 25, 35, 0.95) 0%, rgba(15, 15, 25, 0.98) 50%, rgba(35, 25, 45, 0.95) 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden;">
<div style="position: relative; z-index: 2; text-align: center; max-width: 600px; padding: 40px;"><div id="transition-text-1" style="opacity: 0; transition: opacity 1s ease-in-out; color: #87CEEB; font-size: 2em; margin-bottom: 30px; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
💭 Contemplation 💭
</div><div id="transition-text-2" style="opacity: 0; transition: opacity 1s ease-in-out; color: #E6E6FA; font-size: 1.2em; margin-bottom: 30px; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">
The chaos of the day begins to settle...
</div><div id="transition-text-3" style="opacity: 0; transition: opacity 1s ease-in-out; color: #DDA0DD; font-size: 1.2em; margin-bottom: 30px; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">
But in the quiet moments that follow, the mind wanders to darker thoughts...
</div><div id="transition-text-4" style="opacity: 0; transition: opacity 1s ease-in-out; color: #FFB6C1; font-size: 1.3em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
Questions without answers, doubts without resolution...
</div><div id="continue-link" style="opacity: 0; margin-top: 40px;">
<span style="color: #87CEEB; font-size: 1.1em; cursor: pointer; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">[[Continue|RylanCh4Contemplating1]]</span></div></div></div>
<<script>>
setTimeout(function() {
document.getElementById('transition-text-1').style.opacity = '1';
}, 100);
setTimeout(function() {
document.getElementById('transition-text-2').style.opacity = '1';
}, 600);
setTimeout(function() {
document.getElementById('transition-text-3').style.opacity = '1';
}, 1200);
setTimeout(function() {
document.getElementById('transition-text-4').style.opacity = '1';
}, 1800);
setTimeout(function() {
document.getElementById('continue-link').style.opacity = '1';
}, 2400);
<</script>><<changeFace $currentRylanFace>><<statSummary>><<script>>window.AudioSystem.playBGM('transitionambient.mp3');<</script>><div style="background: linear-gradient(135deg, rgba(25, 25, 35, 0.95) 0%, rgba(15, 15, 25, 0.98) 50%, rgba(35, 25, 45, 0.95) 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden;"><div style="position: relative; z-index: 2; text-align: center; max-width: 600px; padding: 40px;"><div id="transition-text-1" style="opacity: 0; transition: opacity 1s ease-in-out; color: #87CEEB; font-size: 2em; margin-bottom: 30px; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
💭 Return to Contemplation 💭
</div><div id="transition-text-2" style="opacity: 0; transition: opacity 1s ease-in-out; color: #E6E6FA; font-size: 1.2em; margin-bottom: 30px; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">
As healing continues in one room, dark thoughts persist in another...
</div><div id="transition-text-3" style="opacity: 0; transition: opacity 1s ease-in-out; color: #DDA0DD; font-size: 1.3em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
The scene returns to <<print $humanName>>'s troubled mind as he grapples with prophecy and fear...</div><div id="continue-link" style="opacity: 0; margin-top: 40px;">
<span style="color: #FFB6C1; font-size: 1.1em; cursor: pointer; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">[[Continue|RylanCh4Contemplating3]]</span></div></div></div><<script>>
setTimeout(function() {
document.getElementById('transition-text-1').style.opacity = '1';
}, 100);
setTimeout(function() {
document.getElementById('transition-text-2').style.opacity = '1';
}, 600);
setTimeout(function() {
document.getElementById('transition-text-3').style.opacity = '1';
}, 1200);
setTimeout(function() {
document.getElementById('continue-link').style.opacity = '1';
}, 1800);
<</script>><<changeFace $currentRylanFace>><<statSummary>><<nobr>>
<div class="passage-container rylan">
<<narrative "⚡ RESONANCE AWAKENS ⚡">>
<<narrative "Suddenly, everything stops. Not just slows-completely, utterly stops. The flames freeze mid-flicker. Dust particles hang motionless in the air. Even my own heartbeat seems suspended between moments.">>
<<narrative "I can feel them. All of them. $humanToMariel's steady determination as she pours healing magic into Seryk. $humanToThalor's protective fury burning like a forge. Liora's trembling courage fighting through her terror. Serin's calculated readiness, muscles coiled like a spring. Nimeria's shocked grief. And Seryk... barely there, but still fighting.">>
<center><div style="background: linear-gradient(45deg, #FFD700, #FFA500, #FF4500, #DC143C); border: 3px solid #FFD700; border-radius: 15px; padding: 25px; margin: 20px 0;">
<h3 style="color: #000080; text-shadow: 2px 2px 4px rgba(255,255,255,0.8); font-size: 1.8em; margin-bottom: 15px;">⚡ RESONANCE STAGE 2 ACTIVATED ⚡</h3><div style="display: flex; justify-content: space-around; margin: 15px 0;">
<div style="text-align: center;"><span style="color: #8B0000; font-weight: bold; font-size: 1.2em;">PWR +60</span></div><div style="text-align: center;"><span style="color: #006400; font-weight: bold; font-size: 1.2em;">AGI +70</span></div></div><div style="display: flex; justify-content: space-around; margin: 15px 0;"><div style="text-align: center;"><span style="color: #4169E1; font-weight: bold; font-size: 1.2em;">TEC +100</span></div><div style="text-align: center;"><span style="color: #9932CC; font-weight: bold; font-size: 1.2em;">WIL +70</span></div></div><p style="color: #000080; font-style: italic; margin-top: 15px; font-size: 0.9em;">*TEMPORARY EMERGENCY ACTIVATION*</p></div></center>
<<narrative "It's like becoming one with everyone else. Their thoughts, their intentions, their movements-all perfectly synchronized. A single nod is enough for perfect understanding. No words needed. We all know exactly what to do.">>
<<narrative "Time snaps back into motion like a released bowstring. Both $humanToThalor and I spring to our feet, our swords already in our hands. The enhanced agility from the resonance makes every movement feel effortless, perfectly controlled.">>
<center><img src="images/story/chapter4/gairosfight/rylanattack.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Gairos" "facelaugh" "Oh, you think you can kill me? HAHAHA!">>
<<narrative "Behind us, I can sense Liora's hands beginning to glow with golden light as she starts channeling enhancement magic. Even in her terror, her training kicks in-buff spells flowing from her fingertips to strengthen our desperate charge.">>
<<dialog "Liora" "facefocused" "Divine Strength! Swift Step! Keen Edge!">>
<<narrative "We charge forward with speed that defies physics. The enhanced agility makes us blur across the devastated ground, our enhanced technique allowing perfect footwork even on the rubble-strewn terrain. But even with this incredible boost, we're not fast enough. The distance is too great. The fireball is already forming, already aimed.">>
<center><img src="images/story/chapter4/gairosfight/lioraheal.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facesurprised" "NO! We won't make it in time!">>
<<dialog "Gairos" "facesmirk" "Too slow!">>
<<narrative "My heart sinks as I realize the terrible truth-we won't make it in time. The fireball is almost complete, Seryk is helpless, and we're still dozens of yards away. This desperate charge is going to fail...">>
<<dialog "Rylan" "facesmirk" "But we don't need to make it in time...">>
<<narrative "At the exact perfect moment-when Gairos is focused on our charge, when his attention is split between us and maintaining his spell-Serin materializes from the shadows behind him. Her enhanced agility from the resonance makes her movement completely silent, perfectly timed.">>
<center><img src="images/story/chapter4/gairosfight/serinattack.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "With the enhanced power and technique coursing through her, Serin drives one of her knives with devastating force straight through Gairos's stomach. The blade-which should have shattered against his legendary defenses-actually penetrates. Not deeply, barely an inch, but it goes through.">>
<<dialog "Serin" "facefurious" "Got you!">>
<<narrative "Gairos's concentration shatters. The fireball wavers, its perfect form beginning to collapse as pain and shock register on his face. For the first time since this nightmare began, the legendary wizard looks... surprised.">>
<<continueBox "GairosCounterattack" "The tables have turned..." "">>
</div>
<</nobr>>
<<pov "rylan" "resonancestage2.mp3">><<set $timeOfDay = "afternoon">>
<<set $blightwoodVisitedToday = false>>
<<nobr>>
<div class="passage-container transition">
<<narrative "📅 Time Passes...">>
<<narrative "As $humanName rests peacefully, other thoughts stir in the household...">>
<<narrative "Shifting perspective to Nimeria's private moments...">>
<<timed 6s>>
<<continueBox "NimeriaAfternoonReflection" "Continue to Nimeria's perspective..." "">>
<</timed>>
</div>
<</nobr>>
<<pov "rylan" "default3.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "🌸 Nimeria's Room - Afternoon Solitude 🌸">>
<<narrative "Alone with her thoughts and desires...">>
<center><img src="images/nimeria/room.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "I sit on my bed, the afternoon light filtering through my curtains as the house settles into peaceful quiet. $humanName is resting now, giving me time to think...">>
<<if $nimeriaMorningVisitChapter4 === true>>
<<dialog "Nimeria" "face" "The memory of this morning floods back to me, and I feel a familiar warmth spreading through my body. The way he looked at me, the way he responded to my touch, the sounds he made...">>
<center><img src="images/nimeria/faceseductive.webp" style="max-width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "face" "He's so perfect, so responsive. The way his body trembled under my hands, how completely he surrendered to my hypnosis... Soon, very soon, he'll be mine completely.">>
<<narrative "My hand starts to drift downward, my body responding to the vivid memories. The heat building inside me becomes almost unbearable as I remember his taste, his scent, the way he looked at me with those confused, aroused eyes...">>
<center><img src="images/nimeria/faceecstatic.webp" style="max-width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "face" "No! Stop it, Nimeria. You can't keep doing this every time you think about him.">>
<<narrative "I force my hand away from my body, taking deep breaths to calm the fire burning inside me. There's too much to do today, too many plans to consider. I can't let my desires distract me from what's important.">>
<<changeLust "Nimeria" 25>>
<<changeAffection "Nimeria" "Rylan" 2>>
<<else>>
<<dialog "Nimeria" "face" "He chose to rest instead of visiting me this morning. Perhaps that's for the best - it gives me time to think about my plans without being distracted by his presence.">>
<<changeLust "Nimeria" 5>>
<<changeAffection "Nimeria" "Rylan" 1>>
<</if>>
<center><img src="images/nimeria/faceserious.webp" style="max-width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "face" "The family that took me in... they've been nothing but kind to me. Mariel treats me like a daughter. And $humanName...">>
<<dialog "Nimeria" "face" "But they were part of the group that destroyed everything I once knew. My father, my home, my entire world... gone because of their 'heroic' quest.">>
<center><img src="images/landscapes/demonkingthrone.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "face" "The original plan was simple - seduce them all, corrupt them, make them suffer as I suffered. Turn their love into obsession, their trust into dependency, their virtue into sin.">>
<<dialog "Nimeria" "face" "But living with them, seeing their genuine care for each other... it's making everything so much more complicated. What if I don't want revenge anymore? What if I just want to be part of their family for real?">>
<center><img src="images/nimeria/face.webp" style="max-width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "face" "But if I go the softer route, if I try to win their love genuinely instead of through manipulation... what happens when they learn the truth? When they discover who I really am, what I've already done?">>
<<dialog "Nimeria" "face" "Would $humanName still look at me with those sweet, trusting eyes if he knew I was the daughter of the Demon King? Would he still let me touch him if he knew every caress was once meant to ensnare his soul?">>
<center><img src="images/nimeria/facesad.webp" style="max-width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "face" "Mira... what would you do in my place?">>
<<narrative "I close my eyes and try to imagine her harsh voice, always so blunt and cutting even with me. She never cared that I was a princess while she was just... She treated me rougher than anyone else dared.">>
<<dialog "Nimeria" "face" "Stop being such a spoiled brat, Nimeria! You think revenge will fix anything? You're weaker than I thought if that's your solution. If you want something, take it directly - don't play these pathetic games.">>
<<dialog "Nimeria" "face" "Maybe... maybe there's a third path. Maybe I can slowly reveal the truth to them, help them understand our side of the story. Show them that father wasn't the monster they believed him to be.">>
<center><img src="images/nimeria/facethinking.webp" style="max-width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "face" "But for now, I'll continue being their sweet, innocent Nimeria. I'll help them, support them, love them... corrupt them... and maybe, just maybe, when the time comes for truth, they'll love me enough to forgive.">>
<center><img src="images/nimeria/facesmileerie.webp" style="max-width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "face" "No... no no no... who am I kidding? Who could ever love a broken wreck like me? Damaged goods. Tainted. The daughter of their greatest enemy, a manipulator, a liar living under their roof eating their food wearing their clothes breathing their air...">>
<<dialog "Nimeria" "face" "But I can make them love me. Yes, yes I can! I have weapons - my body is a weapon, my powers are weapons, my sweet demonic essence that makes them shiver and crave and need more more MORE. Love through corruption... it's not real love but it's SOMETHING and something is better than nothing and nothing is what I deserve but I'll take something I'll take anything...">>
<<dialog "Nimeria" "face" "I'll make $humanName need me so desperately he can't breathe without me can't think without me can't exist without me. Addicted to my touch my scent my taste my voice my everything until I'm carved into his soul like he's carved into mine. When he's so corrupted so dependent so broken for me that he'd choose me over everything else over Liora over his family over his own sanity... then maybe that twisted broken corrupted love will be enough. It has to be enough. It HAS to be.">>
<center><img src="images/nimeria/facecrazy.webp" style="max-width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "face" "And everyone else who made fun of me and hated me for my black hair and red eyes... they will suffer. I will kill them. No, I won't kill them. I'll make them suffer so much until they beg to be killed. Until they understand what it feels like to be the outcast, the monster, the unwanted thing.">>
<<dialog "Nimeria" "face" "Once I'm on the throne and reign this world together with $humanName, this world will be so much better. The world will be just, and everyone who we deem incompatible will get a quick end. Oh, I'm so kind! So merciful to give them quick deaths instead of the slow torture they deserve.">>
<<dialog "Nimeria" "face" "And the world wants me to be queen. Why else was I spared death so many times? Why else does the world give this delicate body the power and knowledge to change it, if it doesn't want me to use it? Yes, yes I'm just. I'm exactly what this broken world needs.">>
<center><img src="images/nimeria/facesmileevil.webp" style="max-width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "face" "Oh well, I'll have to get ready for my date now!">>
<<narrative "I take a deep breath and stand up, smoothing my dress. The afternoon is still young, and there's much to prepare for. Whatever path I choose, I need to be ready for the consequences.">>
<center><img src="images/nimeria/facesmile.webp" style="max-width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "face" "For now, though, I'll just be their loving Nimeria. And maybe that's enough.">>
<<continueBox "MiraFlashbackTransition" "Continue..." "">>
</div>
<</nobr>>
<<pov "nimeria" "nimeriacrazy.mp3">><<nobr>>
<div class="passage-container transition">
<<narrative "⏳ Many Years Ago...">>
<<narrative "In the depths of memory, a different story unfolds...">>
<<narrative "The tale of a pink-haired thief and a demon king...">>
<<timed 6s>>
<<continueBox "MiraFlashbackScene" "Enter the memory..." "">>
<</timed>>
</div>
<</nobr>>
<<pov "mira" "mysterious.mp3">><<nobr>>
<div class="passage-container mira">
<<narrative "🏰 The Demon Capital - Slums District 🏰">>
<<narrative "Many years before the great war's end...">>
<<thought "Mira" "facepast" "The slums reeked of desperation and forgotten dreams. Through the maze of crumbling buildings and makeshift stalls, a young demon girl moved like a shadow. Her vibrant pink hair caught the occasional ray of sunlight that dared venture into these depths, while her small black horns marked her as one of the forgotten underclass. At eighteen, Mira had learned that survival meant taking what the wealthy overlooked-and they overlooked so very much.">>
<center><img src="images/mira/youngmira.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Mira" "facepast" "Same routine every day-empty belly, full of anger. These pompous nobles waddle through here flashing their gold like it means nothing. Well, maybe it's time some of that wealth found a better purpose.">>
<<thought "Mira" "facepast" "That's when she noticed him-a towering figure whose purple skin seemed to shimmer with barely contained power. He wore simple merchant's clothes, but they couldn't disguise the regal bearing, the way lesser demons unconsciously stepped aside, the subtle positioning of what were obviously disguised bodyguards. Her thief's instincts sang with opportunity.">>
<center><img src="images/azgorth/back.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Mira" "facepast" "Oh, this is rich. Look at Mr. High-and-Mighty playing dress-up down here with us common folk. That's definitely nobility trying to slum it. And where there's nobility, there's always a fat coin purse just begging to be liberated.">>
<<thought "Mira" "facepast" "The disguised noble approached a fruit vendor's stall, engaging in what appeared to be casual conversation about produce prices. Perfect timing. Mira slipped through the crowd with practiced grace, her approach timed for maximum chaos during the afternoon rush.">>
<<thought "Mira" "facepast" "She launched herself forward, timing the collision perfectly as her nimble fingers worked toward his coin purse. The impact sent her reeling backward-it was like running into a stone wall wrapped in silk.">>
<<dialog "Mira" "facepast" "Oh! So sorry about that-totally my fault!">>
<<dialog "Vendor" "face" "Hold it right there, you little thief! Guards! She just tried to rob your lord!">>
<<thought "Mira" "facepast" "Like magic, armored figures materialized from the crowd, surrounding her with the fluid precision of seasoned professionals. Her escape routes vanished faster than gold in a gambler's pocket.">>
<<dialog "Guard" "face" "Insolent wretch! Do you have any idea who you just assaulted?">>
<<dialog "Mira" "facepast" "Your sugar daddy?">>
<<dialog "Guard" "face" "You filthy little-!">>
<<dialog "Vendor" "face" "My lord, I guarantee this little rat picked your pocket. They're all thieves down here.">>
<<dialog "Azgorth" "face" "Hmm... what might your name be, young one?">>
<<dialog "Mira" "facepast" "Your worst nightmare, you purple-skinned vegetable!">>
<<thought "Mira" "facepast" "The massive demon studied her for a long moment, his expression unreadable. Then, to everyone's shock, he threw back his head and let out a deep, genuinely amused laugh.">>
<<dialog "Azgorth" "face" "Ha! purple-skinned vegetable! That's... actually quite creative.">>
<<dialog "Guard" "face" "She just insulted Azgorth the Demon King! This is treason!">>
<<dialog "Mira" "facepast" "Oh, shit. OH SHIT. I just called the Demon King a vegetable. I'm not just dead-I'm going to be creatively tortured first.">>
<<dialog "Mira" "facepast" "Her bravado crumbled as the reality of her situation hit her like a war hammer to the chest.">>
<<dialog "Azgorth" "face" "I find myself quite taken with you, 'my worst nightmare.'">>
<<dialog "Mira" "facepast" "Look, I'm flattered, but I prefer my men a bit less ancient and tyrannical...">>
<<dialog "Mira" "facepast" "Great, Mira. Just keep digging that grave deeper. Maybe if I insult him enough, he'll kill me quickly instead of slowly.">>
<<dialog "Guard" "face" "Bring the executioner! Now!">>
<<dialog "Azgorth" "face" "Ancient and tyrannical! Oh, this just keeps getting better!">>
<<dialog "Vendor" "face" "She should lose both hands for daring to touch royalty! Make an example of her!">>
<<dialog "Mira" "facepast" "Actually, now that I think about it, you're quite distinguished for someone of your... vintage. And purple is such a regal color! Like a fine wine or a perfectly ripe eggplant!">>
<<dialog "Azgorth" "face" "Perfectly ripe eggplant! Stop, please-you're absolutely killing me here!">>
<<dialog "Azgorth" "face" "Tell me, would you be interested in employment?">>
<<dialog "Mira" "facepast" "What kind of employment? Because if you're looking for a royal concubine, I should mention my rates are astronomical.">>
<<dialog "Guard" "face" "Your Majesty! This criminal has assaulted your person! Justice demands-">>
<<dialog "Azgorth" "face" "Justice demands? And who, exactly, appointed you as my advisor on matters of justice?">>
<<dialog "Guard" "face" "Forgive me, Your Majesty. I spoke out of turn.">>
<<dialog "Azgorth" "face" "Don't worry. She'll receive a fate far more interesting than mere execution.">>
<<dialog "Azgorth" "face" "Tell me, 'worst nightmare,' have you heard tales of the cursed child? Hair like midnight, eyes like burning embers-rather like yours, actually.">>
<<dialog "Mira" "facepast" "Never heard of them. Should I care?">>
<<dialog "Azgorth" "face" "You will be her personal attendant from this day forward, my dear 'worst nightmare'!">>
<<dialog "Mira" "facepast" "Well, that's definitely better than the whole execution thing. But stop calling me that ridiculous name-I'm Mira.">>
<<thought "Mira" "facepast" "The guards exchanged worried glances and hushed whispers: 'Poor girl has no idea what she's gotten herself into. They say anyone who serves the cursed princess ends up just as twisted.'">>
<<dialog "Mira" "facepast" "So... what kind of dungeon does this cursed child live in?">>
<<dialog "Azgorth" "face" "Dungeon? Ha! You might not be entirely wrong about that. She resides in the castle. She is my daughter... Nimeria.">>
<<thought "Mira" "facepast" "And so fate spun its web-a thief's desperate gambit becoming the first thread in a tapestry that would weave together the destinies of an ostracized princess and a girl who had nothing left to lose. Neither could imagine how this chance encounter would reshape not just their lives, but the very foundations of the world itself.">>
<<continueBox "BackToPresent" "Return to the present" "">>
</div>
<</nobr>>
<<pov "mira" "mirapast.mp3">><<nobr>>
<div class="passage-container transition">
<<narrative "🌅 Returning to the Present...">>
<<narrative "The memories fade as we return to $humanName's afternoon...">>
<<narrative "A gentle knock at the door breaks the peaceful silence...">>
<<timed 6s>>
<<continueBox "NimeriaShoppingDate" "Continue" "">>
<</timed>>
</div>
<</nobr>>
<<pov "rylan" "default3.mp3">><<nobr>>
<div class="passage-container transition">
<<narrative "~ Meanwhile ~">>
<<narrative "While Serin makes her important decision, $humanName finds himself with time to think...">>
<<continueBox "RylanAfterSerin" "Continue" "">>
</div>
<</nobr>>
<<pov "rylan" "default4.mp3">><<stopLoopingSounds>>
<<nobr>>
<div class="passage-container rylan">
<<narrative "🤔 Planning the Day 🤔">>
<<narrative "$humanName considers his options">>
<<narrative "With the morning's activities winding down, $humanName finds himself with some free time. He wonders what he should do with the rest of his day.">>
<<if $rylan_GayValue > 0.5>>
<<narrative "As he thinks, he remembers that Seryk mentioned planning to go to Blightwood today. Maybe he should accompany him? The thought brings an unexpected flutter to his stomach...">>
<</if>>
<<if $rylan_GayValue > 0.5>>
<<choiceBox "What should $humanName do?" "Follow Seryk" "SerykRylanBlightwood1" "Go find Seryk and offer to accompany him" "Explore on Your Own" "MorningChoices" "Wander around the area alone">>
<<else>>
<<continueBox "MorningChoices" "Take some personal time" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "default4.mp3">><<set $timeOfDay = "evening">>
<<nobr>>
<div class="passage-container rylan">
<<narrative "💭 CONTEMPLATION 💭">>
<<thought "Rylan" "face" "I sit on the edge of my bed, my hands trembling slightly as the adrenaline finally begins to fade. The room feels suffocating, filled with the weight of everything that's transpired.">>
<<dialog "Rylan" "faceserious" "So much has happened today... too much.">>
<<thought "Rylan" "face" "My thoughts drift immediately to Seryk, lying unconscious just down the hall. The image of him crumpling to the ground, his entire back melted away by Gairos's fireball, keeps replaying in my mind. He jumped in front of Nimeria to protect her, and nearly died for it.">>
<<dialog "Rylan" "faceworried" "Please survive this... please.">>
<<thought "Rylan" "face" "If $humanToThalor hadn't tackled me to the ground when he did, I would have been nothing but ash. At first I thought that fireball was meant for me, but I was just in the line of fire. Gairos was aiming at Seryk and Nimeria - he simply didn't care if he killed me as collateral damage.">>
<<dialog "Rylan" "faceangry" "But what disturbs me even more than nearly dying is what I witnessed afterward in the kitchen...">>
<<thought "Rylan" "face" "Nimeria's reaction to Seryk's near-death... or rather, her complete lack of one. She sat there calmly and told Gairos she didn't care if Seryk died. Her own brother! And then she started praising Gairos, calling him magnificent, acting like she worshipped him...">>
<<continueBox "RylanCh4Contemplating2" "Continue contemplating" "">>
<<script>>
$(document).ready(function() {
setTimeout(function() {
if (window.FloatingEffects) {
window.FloatingEffects.removeEffect('Liora');
if (State.variables.mariel_NTREvent1) {
window.FloatingEffects.addEffect('Mariel', 'blue', 'images/chibi-models/seryk.webp');
}
}
}, 500);
});
<</script>>
</div>
<</nobr>>
<<pov "rylan" "contemplation.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "💭 DOUBTS AND DECEPTION 💭">>
<<dialog "Rylan" "faceworried" "Maybe she's just playing him. She has to be...">>
<<thought "Rylan" "face" "I run my hands through my hair, trying to convince myself. The gentle girl who's been with us these past days... she's trying to manipulate him, right? Make him think she's on his side so she can protect us?">>
<<thought "Rylan" "face" "But her words keep echoing in my mind. I don't care much about Seryk. If he can't survive this, then it's his own fault. How could she say that about her own brother?">>
<<dialog "Rylan" "faceshocked" "And then she revealed she's the cursed child from demon prophecy. She said she was ostracized by demons her whole life!">>
<<thought "Rylan" "face" "She told Gairos that Azgorth and his family deserved to die, that demons can burn in hell. But even as I try to rationalize it as an act, there was something in her eyes when she looked at Gairos... genuine reverence that made my skin crawl.">>
<<thought "Rylan" "face" "And then there's that truth spell he cast on her. We all saw her scream in agony when she tried to lie about being enslaved.">>
<<dialog "Rylan" "faceworried" "If that spell forces her to tell the truth, then everything she said about hating demons and admiring Gairos... it was all real.">>
<<thought "Rylan" "face" "Could she have some kind of protection against his magic? Some way to lie despite the truth spell? But if she could do that, why would she let him hurt her when testing it? The uncertainty is eating me alive.">>
<<continueBox "POVTransitionToMarielHealing" "Continue with deeper concerns" "">>
</div>
<</nobr>>
<<pov "rylan" "contemplation.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "💭 HATRED AND FEAR 💭">>
<<thought "Rylan" "face" "But why did Gairos attack in the first place? He appeared out of nowhere and immediately hurled a fireball at Seryk and Nimeria. I was just in the way - he didn't care if he killed me as collateral damage.">>
<<dialog "Rylan" "faceangry" "Is his hatred for demons really so consuming that he'd kill anyone associated with them?">>
<<thought "Rylan" "face" "The way he spoke, the venom in his voice when he mentioned demon-kind... it was personal, deeper than just old grudges. And when Serin's knife went through his stomach, he just pulled it out and healed instantly. That passive regeneration ability is terrifying.">>
<<dialog "Rylan" "facesad" "Then again, even I attacked Seryk when I first met him.">>
<<thought "Rylan" "face" "The memory burns with shame. I had no history with demons, no real reason beyond ignorance and fear, yet I still drew my sword.">>
<<dialog "Rylan" "faceangry" "God, I was such an idiot back then.">>
<<thought "Rylan" "face" "If someone like me could be driven to violence by nothing more than prejudice, what might drive someone who's lived through actual demon wars? But at least I didn't try to murder anyone without warning.">>
<<dialog "Rylan" "faceworried" "Now he's living in our house. He took Thalor and Mariel's bedroom and forced Nimeria to sit on the floor like an animal.">>
<<thought "Rylan" "face" "We're essentially prisoners in our own home now. Thalor agreed to help him conquer the Holy Kingdom to save our lives. How do you defend against someone who can kill you with a thought? I think about Mariel, Liora, Serin... none of them would stand a chance if he decides we're no longer useful.">>
<<continueBox "RylanCh4Contemplating4" "Remember Veloria's prophecy" "">>
</div>
<<pov "rylan" "contemplation.mp3">>
<</nobr>>
<<if $MarielSerykBoxersHandjob == false>>
<<script>>
$(document).ready(function() {
setTimeout(function() {
if (window.FloatingEffects) {
window.FloatingEffects.removeEffect('Mariel');
}
}, 500);
});
<</script>>
<</if>>
<<if $MarielSerykBoxersHandjob == true>>
<<script>>
$(document).ready(function() {
setTimeout(function() {
if (window.FloatingEffects && State.variables.MarielSerykBoxersHandjob) {
// Enhanced aura for intense NTR scene - stronger pulse, larger radius, faster animation
window.FloatingEffects.addEffect('Mariel', 'blue', 'images/chibi-models/seryk.webp', {
intensity: 'intense', // intense visual effect
radius: 2.0, // double the aura radius
opacity: 1.3, // brighter, more visible
speed: 2.5 // much faster pulsing
});
}
}, 500);
});
<</script>>
<</if>><<nobr>>
<div class="passage-container rylan">
<<narrative "💭 PROPHECY REMEMBERED 💭">>
<<dialog "Rylan" "faceshock" "Wait... Veloria!">>
<<thought "Rylan" "face" "The realization hits me like a physical blow. How could I have forgotten? With everything that happened, her prophecy was pushed completely from my mind.">>
<<dialog "Rylan" "faceworried" "A powerful magic spell will kill one of my friends. Something that could even kill a demon king...">>
<<thought "Rylan" "face" "Her words echo in my memory with chilling clarity. She must have been talking about Gairos! His magic, that devastating power we witnessed... But which friend was she referring to? Was it Seryk?">>
<<dialog "Rylan" "faceangry" "Did we somehow change fate by getting him healed, or is he still in danger?">>
<<thought "Rylan" "face" "Or maybe the prophecy hasn't been fulfilled yet. Maybe Gairos will attack us again, and next time...">>
<<dialog "Rylan" "faceworried" "God, what can we possibly do against a monster like him?">>
<<thought "Rylan" "face" "Even with our surprise attack, even with the improved resonance system, we couldn't do any damage at all. I'm not even confident I could activate that power again - it felt like it came from somewhere beyond me, something I can't control or summon at will.">>
<<dialog "Rylan" "faceserious" "At least I need to watch him.">>
<<thought "Rylan" "face" "If Gairos is planning something, if he's going to strike again, maybe I can spot the signs. And Nimeria... I don't know if I can trust her anymore, but maybe she does have a plan.">>
<<dialog "Rylan" "facetired" "I just hope we're strong enough for whatever comes next.">>
<<continueBox "RylanCh4ContemplationEnd" "End contemplation and rest" "">>
</div>
<</nobr>>
<<pov "rylan" "contemplation.mp3">><<stopLoopingSounds>>
<<nobr>>
<div class="passage-container rylan">
<<narrative "💭 EXHAUSTION AND RESOLVE 💭">>
<<narrative "Exhaustion finally begins to overtake my racing thoughts.">>
<<dialog "Rylan" "facetired" "There's nothing more I can do tonight.">>
<<thought "Rylan" "face" "The questions will still be there tomorrow, but for now, I need rest. I lie back on my bed, staring at the ceiling. Tomorrow will bring new challenges, new uncertainties. But whatever comes, I'll face it with my friends by my side.">>
<<dialog "Rylan" "faceserious" "We've come this far together... we'll find a way through this too.">>
<<thought "Rylan" "face" "The weight of the day's events slowly pulls me toward sleep, though I suspect my dreams will be far from peaceful.">>
<<if $MarielSerykBoxersHandjob == true>>
<<continueBox "POVTransitionMarielHelpsSeryk" "Continue..." "">>
<<else>>
<<continueBox "MiraMeetsNimeria" "Continue..." "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "contemplation.mp3">><<nobr>>
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/cum.mp3')>>
<div class="passage-container rylan">
<<narrative "💥 The Climax 💥">>
<<narrative "Complete submission achieved">>
<<narrative "The combination of her scent, her exposed body, and her dominant commands finally overwhelms me completely. I can feel myself approaching the edge, my body trembling as I stroke myself while staring at her perfect form.">>
<center><img src="images/rylan/masturbate/cumming.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "With a strangled gasp, I climax harder than I ever have before. The intensity of the experience, combined with the humiliation and arousal, creates an orgasm that leaves me shaking and breathless. I collapse slightly, completely drained by what just happened.">>
<<changeLust "Rylan" -100>>
<<changeLust "Serin" 20>>
<<dialog "Serin" "facesmirk" "You did well, my little pervert. Much better than I expected.">>
<<narrative "I can see Serin's own arousal as she watches me recover from my intense climax. Her cheeks are flushed and her breathing is heavy. Seeing me pleasure myself to her body has clearly affected her more than she expected.">>
<<changeFetish "Serin" "exhibitionismFetish" 0.4>>
<<changeAffection "Serin" "Rylan" 3>>
<<changeAttraction "Serin" "Rylan" 2>>
<<addSoulCorruption "rylan" 1>>
<<soulDisplay "rylan">>
<<addSoulCorruption "serin" 1>>
<<soulDisplay "serin">>
<<dialog "Serin" "facewet" "We'll have so much more fun in the future. I have so many ideas for you...">>
<<dialog "Rylan" "faceembarrassed" "When... when will this stop, Serin? How long are you going to keep doing this to me?">>
<<dialog "Serin" "facelaugh" "When I have enough. And trust me, I'm nowhere near having enough of watching you squirm for me.">>
<<dialog "Serin" "facesmirk" "Now you can go. I have some... cleaning to do. And some thinking about what we'll do next time.">>
<<narrative "I quickly gather my clothes and dress, my face burning with shame and confusion. What just happened between us has crossed every line I thought existed. As I leave her room, I can't shake the feeling that this is only the beginning of something much more intense.">>
<<continueBox "SerinChapter4ReportNimeria" "Continue" "">>
</div>
<</nobr>>
<<pov "rylan" "ntr1.mp3">><<stopLoopingSounds>>
<<set $serinChapter4MasturbationPunishment = true>>
<<nobr>>
<div class="passage-container rylan">
<<narrative "🔥 Punishment Time 🔥">>
<<narrative "Serin takes complete control">>
<<playLoopingSounds "sounds/hsounds/handjob.mp3" 1>>
<<dialog "Serin" "facesmirk" "Good boy. Now strip. Everything off. And don't you dare try to hide anything from me.">>
<<narrative "My hands shake as I slowly begin removing my clothes. The humiliation burns through me, but her threat still hangs over my head. I have no choice but to comply with her demands.">>
<center><img src="images/rylan/naked2.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "I stand completely naked before her, my face burning with shame. Serin's eyes roam over my exposed body with obvious satisfaction.">>
<<dialog "Serin" "facelaugh" "Perfect. Nice and obedient. Now masturbate for me.">>
<<quickRoll "Shock Resistance" "Rylan" 95 5 "submissionFetish" 3>>
<<if not _tempRollSuccess>>
<<dialog "Rylan" "faceshock" "What?! Serin, you can't be serious! This is... this is going way too far!">>
<<narrative "The shock of her demand hits me like a physical blow. My mind reels at the sheer audacity of what she's asking. But even as I protest, I can feel my resistance crumbling under her dominant gaze.">>
<<changeFetish "Rylan" "submissionFetish" 0.3>>
<<changeLust "Rylan" 3>>
<<changeAttraction "Rylan" "Serin" 0.5>>
<<else>>
<<dialog "Rylan" "faceshock" "What?! Serin, I... I can't do that! This is insane!">>
<<narrative "I manage to keep some composure despite the shock. The demand is outrageous, but I'm determined to maintain what dignity I can in this humiliating situation.">>
<<changeLust "Rylan" 1>>
<</if>>
<<dialog "Serin" "faceangry" "We already had this discussion! You agreed to accept my punishment. Now do it!">>
<<quickRoll "Performance Anxiety" "Rylan" 95 5 "exhibitionismFetish" 4>>
<<if not _tempRollSuccess>>
<<dialog "Rylan" "faceembarrassed" "I... I can't get hard in this situation, Serin. This is too humiliating...">>
<<narrative "The shame and embarrassment are overwhelming. Being exposed like this while she watches makes arousal impossible. My body just won't respond to her demands.">>
<<changeFetish "Rylan" "exhibitionismFetish" 0.2>>
<<changeLust "Rylan" 2>>
<<else>>
<<dialog "Rylan" "faceembarrassed" "I... this is really difficult, Serin. Being watched like this...">>
<<narrative "While still embarrassed, I find myself strangely affected by her intense gaze. There's something about being the focus of her attention that's having an unexpected effect on me.">>
<<changeLust "Rylan" 1>>
<</if>>
<<if $serinChapter2ArmpitSeen>>
<<dialog "Serin" "facesmirk" "Oh, does my little footboy need my sweaty socks again to get hard? Well, I have something even better for you.">>
<<dialog "Serin" "facelaugh" "Next to you on the floor are my used panties. I wore them during my workout this early morning. They should still be drenched with my sweat - perfect to get you going. Go ahead and sniff them.">>
<<else>>
<<dialog "Serin" "facesmirk" "Oh, does my little pervert need some motivation to get hard? Well, I have something perfect for you.">>
<<dialog "Serin" "facelaugh" "Next to you on the floor are my used panties. I wore them during my workout this early morning. They should still be drenched with my sweat - perfect to get you going. Go ahead and sniff them.">>
<</if>>
<<quickRoll "Panty Resistance" "Rylan" 95 5 "smellFetish" 4>>
<<if not _tempRollSuccess>>
<<dialog "Rylan" "faceembarrassed" "Serin, this is too much... I can't...">>
<<narrative "But even as I protest, my eyes are drawn to the discarded panties. My body betrays me as I find myself reaching for them with trembling hands, unable to resist the compulsion she's awakened in me.">>
<<changeFetish "Rylan" "smellFetish" 0.4>>
<<changeFetish "Rylan" "submissionFetish" 0.3>>
<<changeLust "Rylan" 4>>
<<else>>
<<dialog "Rylan" "faceembarrassed" "This is... this is degrading, Serin...">>
<<if $serinChapter2ArmpitSeen>>
<<dialog "Serin" "faceangry" "I decide when it's too much! Now pick them up and smell them like the perverted little foot boy you are!">>
<<else>>
<<dialog "Serin" "faceangry" "I decide when it's too much! Now pick them up and smell them like the perverted little boy you are!">>
<</if>>
<<narrative "I try to maintain my composure, but the sight of her worn panties is having an undeniable effect. Reluctantly, I reach for them, my shame burning as hot as my growing arousal.">>
<<changeLust "Rylan" 2>>
<</if>>
<<narrative "With shaking hands, I pick up her panties and bring them to my face. The intoxicating scent of her workout sweat fills my nostrils, and despite my shame, my body responds immediately. The familiar mixture of arousal and humiliation washes over me as I become visibly excited.">>
<<changeFetish "Rylan" "smellFetish" 0.3>>
<center><img src="images/serin/chapter4/masturbationpunishment/smellpanty.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<dialog "Serin" "facelaugh" "Look at that! My little pervert is getting hard from smelling my sweaty panties. How pathetic and exciting at the same time. Now masturbate for me while you smell them.">>
<center><img src="images/serin/chapter4/masturbationpunishment/smellpanty2.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Unable to resist any longer, I begin stroking myself while inhaling her intoxicating scent. The combination of humiliation and arousal is overwhelming, and I can't deny how powerfully my body is responding to her commands.">>
<<dialog "Serin" "facewet" "That's it... but don't just focus on my scent. Look at me when you masturbate. I want to see your face while you pleasure yourself to me.">>
<<quickRoll "Eye Contact Resistance" "Rylan" 95 5 "submissionFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "I can't help but comply, my eyes meeting hers as I continue stroking myself. The intensity of her gaze makes everything more real, more humiliating, and somehow more arousing. I'm completely under her control now.">>
<<changeFetish "Rylan" "submissionFetish" 0.3>>
<<changeFetish "Rylan" "voyeurismFetish" 0.2>>
<<changeLust "Rylan" 3>>
<<changeAttraction "Rylan" "Serin" 1.0>>
<<else>>
<<narrative "I reluctantly meet her gaze, feeling exposed and vulnerable under her intense stare. The shame is overwhelming, but I force myself to maintain eye contact as she demanded.">>
<<changeLust "Rylan" 1>>
<</if>>
<center><img src="images/serin/chapter4/masturbationpunishment/1.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<dialog "Serin" "facewet" "Mmm... maybe you need more material to work with?">>
<<narrative "To my shock and arousal, Serin begins removing her top, revealing her perfect breasts. I can see her cheeks flushing as she gets caught up in the moment, her own arousal becoming evident as she watches me.">>
<center><img src="images/serin/chapter4/masturbationpunishment/3.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<dialog "Serin" "faceembarrassed" "That's right, look at me, and my breasts. Up and down, up and down...">>
<<if $serinChapter2ArmpitSeen>>
<center><img src="images/serin/chapter4/masturbationpunishment/4.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "She begins slowly removing her socks, the intoxicating scent of her bare feet mixing with her panties I'm still holding. The combined aroma makes my head spin with desire.">>
<<dialog "Serin" "facesmirk" "Maybe the footboy prefers to look at my bare feet?">>
<center><img src="images/serin/chapter4/masturbationpunishment/5.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<dialog "Serin" "facelaugh" "Oh I see you like it. Maybe you prefer to take a look at my soles?">>
<center><img src="images/serin/chapter4/masturbationpunishment/6.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "My masturbation starts to intensify as she displays her perfect feet to me. The combination of her scent, her exposed body, and her dominant commands is driving me wild with desire.">>
<</if>>
<center><img src="images/rylan/masturbate/2.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<dialog "Serin" "facewet" "Look at you go...">>
<<if $serinChapter2ArmpitSeen>>
<center><img src="images/serin/chapter4/masturbationpunishment/7.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<dialog "Serin" "faceembarrassed" "Focus on me. Remember, I'm the one providing you this pleasure. What do you prefer to look at? My breasts?">>
<center><img src="images/serin/chapter4/masturbationpunishment/breasts.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<quickRoll "Breast Temptation" "Rylan" 95 5 "breastFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "My eyes fixate on her perfect breasts as she presents them to me. I can't help but stare, my masturbation becoming more intense as I'm overwhelmed by the sight of her exposed chest.">>
<<changeFetish "Rylan" "breastFetish" 0.3>>
<<changeLust "Rylan" 2>>
<<else>>
<<narrative "I try to look away from her exposed breasts, feeling the shame burn through me, but I can't completely ignore their perfect shape as she displays them so brazenly.">>
<</if>>
<<if $serinChapter2ArmpitSeen>>
<<dialog "Serin" "facewet" "My armpits? You seemed to like those before...">>
<center><img src="images/serin/chapter4/masturbationpunishment/armpit.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<quickRoll "Armpit Temptation" "Rylan" 95 5 "armpitFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "My breath catches as she raises her arms, showing off her armpits. The memory of their scent from before floods back, and I find myself stroking faster, completely captivated by this intimate view of her body.">>
<<changeFetish "Rylan" "armpitFetish" 0.3>>
<<changeLust "Rylan" 2>>
<<else>>
<<narrative "I force myself to look away from her raised arms, trying to maintain what little composure I have left, though the sight of her armpits still sends a forbidden thrill through me.">>
<</if>>
<<dialog "Serin" "faceembarrassed" "My feet?">>
<center><img src="images/serin/chapter4/masturbationpunishment/feet.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<quickRoll "Feet Temptation" "Rylan" 95 5 "feetFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "The sight of her perfect feet sends a jolt through me. These are the feet that started this whole mess, and seeing them displayed so prominently while I masturbate makes me stroke even harder. I can't deny how much they affect me.">>
<<changeFetish "Rylan" "feetFetish" 0.3>>
<<changeLust "Rylan" 3>>
<<else>>
<<narrative "I try not to focus on her feet, knowing how much they affect me, but I can't completely ignore their elegant shape as she presents them to me so deliberately.">>
<</if>>
<</if>>
<<dialog "Serin" "facewet" "Or maybe... all of me?">>
<<if $serinChapter2ArmpitSeen>>
<center><img src="images/serin/chapter4/masturbationpunishment/8.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/serin/chapter4/masturbationpunishment/3.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<</if>>
<<narrative "My eyes roam over her exposed body as she presents herself to me. Each part of her seems designed to drive me wild with desire. Her breasts, her toned arms, those perfect feet that started this whole mess - everything about her is intoxicating.">>
<<narrative "I can see Serin's own arousal building as she watches me pleasure myself to her body. Her cheeks are flushed and her breathing has quickened. The power dynamic between us is intoxicating - she's in control, but she's getting off on controlling me.">>
<<continueBox "SerinChapter4MasturbationClimaxMoment" "Continue..." "">>
</div>
<</nobr>>
<<pov "rylan" "ntr1.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "✊ Resistance Successful ✊">>
<<narrative "You've stood your ground against manipulation">>
<<narrative "I open the door and step out of Serin's room, my heart still pounding from the confrontation. I managed to resist her manipulation, but I can feel her eyes watching me as I leave. This isn't over between us, but for now, I've maintained my boundaries.">>
<<narrative "The hallway feels cooler after the tense atmosphere of her room. I take a deep breath, trying to process what just happened. I stood up to her, called her bluff, and it worked. But I know this will change the dynamic between us going forward.">>
<<narrative "I wonder if I made the right choice. Part of me is relieved to have escaped the situation, but another part... wonders what would have happened if I'd stayed. The memory of our previous encounter still lingers, and despite everything, I can't deny the effect it had on me.">>
<<continueBox "SerinChapter4ReportNimeria" "Continue..." "">>
</div>
<</nobr>>
<<pov "rylan" "default4.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "⚠️ Moment of Choice ⚠️">>
<<narrative "Will you escape or submit?">>
<<thought "Rylan" "face" "No. I can't do this. This is wrong, and I won't betray Liora's trust. I turn toward the door, my hand reaching for the handle. I need to get out of here before this goes any further.">>
<<narrative "I move quickly toward the door, but before I can turn the handle, Serin's voice stops me cold.">>
<<dialog "Serin" "facesmirk" "I hope Liora won't be too disappointed hearing that her boyfriend gets off from smelling sweaty socks. And pantyhose. And that he begged me to call him my 'foot boy.'">>
<<narrative "My hand freezes on the door handle. The blood drains from my face as the full implications of her threat hit me.">>
<<dialog "Rylan" "faceshock" "Serin, you wouldn't... You can't be serious.">>
<<dialog "Serin" "facelaugh" "Your words, not mine, $humanName. You said you won't cheat on her. Well then, you shouldn't keep secrets from her either, right? I'm sure she'd be very interested to hear about your... discoveries.">>
<<narrative "The trap is closing around me. I can feel my resolve wavering as the reality sets in - she has complete leverage over me. But maybe... maybe I can still fight this. Maybe I can call her bluff and leave anyway.">>
<center><img src="images/serin/chapter4/masturbationpunishment/threat.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<set _baseThreshold = 65>>
<<set _lustMod = Math.floor(($rylan_Lust || 0) / 20) * -5>>
<<set _attractionMod = Math.floor(($rylan_SerinAttraction || 0) / 20) * -3>>
<<set _feetMod = Math.round(($rylan_feetFetish || 0)) * -1>>
<<set _smellMod = Math.round(($rylan_smellFetish || 0)) * -1>>
<<set _armpitMod = Math.round(($rylan_armpitFetish || 0)) * -1>>
<<set _submissionMod = Math.round(($rylan_submissionFetish || 0)) * -1>>
<<set _finalThreshold = _baseThreshold + _lustMod + _attractionMod + _feetMod + _smellMod + _armpitMod + _submissionMod>>
<<set _finalThreshold = Math.max(_finalThreshold, 20)>>
<<set _finalThreshold = Math.min(_finalThreshold, 60)>>
<<set _resistanceRoll = random(1, 100)>>
<<set _resistanceSuccess = _resistanceRoll <= _finalThreshold>>
<<narrative "🎲 Resistance Roll 🎲">>
<div style="background: rgba(0, 0, 0, 0.4); padding: 15px; border-radius: 8px; font-family: monospace; color: #ffeeaa; margin: 20px 0;">
<strong>Resistance Check:</strong><br>
Base Threshold: 65<br>
Lust Penalty: $lustMod (Lust: $rylan_Lust)<br>
Attraction Penalty: $attractionMod (Attraction to Serin: $rylan_SerinAttraction)<br>
Feet Fetish Penalty: $feetMod (Feet Fetish: $rylan_feetFetish.toFixed(1))<br>
Smell Fetish Penalty: $smellMod (Smell Fetish: $rylan_smellFetish.toFixed(1))<br>
Armpit Fetish Penalty: $armpitMod (Armpit Fetish: $rylan_armpitFetish.toFixed(1))<br>
Submission Fetish Penalty: $submissionMod (Submission: $rylan_submissionFetish.toFixed(1))<br>
<strong>Final Threshold: $finalThreshold</strong><br>
<strong>🎲 Roll: $resistanceRoll vs $finalThreshold = <<if _resistanceSuccess>>SUCCESS<<else>>FAILURE<</if>></strong>
</div>
<<if _resistanceSuccess>>
<<thought "Rylan" "face" "No. I won't be blackmailed into this. Yes, what happened before was embarrassing, but I can't let fear control my decisions. I turn back to face her, steeling my resolve.">>
<<dialog "Rylan" "faceangry" "You know what, Serin? Go ahead. Tell her. I'll take my chances with the truth rather than let you manipulate me like this.">>
<<dialog "Serin" "faceshock" "Wait... you're actually calling my bluff? I... I didn't expect...">>
<<narrative "For the first time, I see uncertainty in her eyes. I've managed to turn the tables, at least for now.">>
<<changeFetish "Rylan" "submissionFetish" 0.1>>
<<continueBox "SerinChapter4MasturbationPunishmentDecline" "Leave and make other plans" "">>
<<else>>
<<thought "Rylan" "face" "I want to be strong. I want to call her bluff and walk out. But the thought of Liora learning about what happened... about how I reacted... I can't risk losing her over this. Maybe Serin is right - maybe it's just harmless playing.">>
<<dialog "Rylan" "faceembarrassed" "I... I can't risk it. If Liora found out about... that... she'd never understand.">>
<<dialog "Serin" "facesmirk" "Smart choice, $humanName. And deep down, I think part of you is looking forward to this next punishment, isn't it? I can see it in your eyes - the anticipation, the excitement.">>
<<thought "Rylan" "face" "She's right, and that terrifies me. Part of me IS excited about what's coming next. The memory of how intense the last punishment was, how completely it overwhelmed my senses... I hate that she can read me so easily.">>
<<narrative "I let go of the door handle and turn back to face her, defeated. Her victorious smile tells me she knew this would happen all along.">>
<<changeFetish "Rylan" "submissionFetish" 0.3>>
<<changeAttraction "Rylan" "Serin" 0.5>>
<<changeLust "Rylan" 5>>
<<continueBox "SerinChapter4MasturbationPunishment" "Submit to her demands" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "ntr1.mp3">><<nobr>>
<div class="passage-container serin">
<<narrative "~ Later That Morning ~">>
<<narrative "Serin seeks out Nimeria to report on her progress...">>
<<continueBox "SerinNimeriaConversation" "Continue" "">>
</div>
<</nobr>>
<<pov "serin" "nimeria.mp3">><<stopLoopingSounds>>
<<nobr>>
<div class="passage-container serin">
<<narrative "☀️ Secret Conference ☀️">>
<<narrative "Serin reports to Nimeria">>
<<if $rylanxserincontent === true>>
<<if $serinChapter4MasturbationPunishment === true>>
<<dialog "Serin" "facesmirk" "Nimeria, you should have seen it! He was completely under my control. I made him strip naked, masturbate while smelling my sweaty panties, and he came harder than ever before!">>
<<dialog "Nimeria" "facesmile" "Oh my! That's quite impressive progress, Serin. You're developing into quite the dominant force.">>
<<dialog "Serin" "facewet" "It was... intense. Watching him pleasure himself to my body made me feel things I've never felt before. The power, the control... it was intoxicating.">>
<<else>>
<<dialog "Serin" "faceembarrassed" "He... he actually resisted my punishment, Nimeria. I tried to push him further, but he held firm. I'm not sure if that's good or bad.">>
<<dialog "Nimeria" "facesmile" "Resistance can be just as interesting as submission, dear. It means there's still more work to be done, more barriers to break down.">>
<</if>>
<<dialog "Serin" "face" "What should I do next, Nimeria? How can I keep building on this progress?">>
<<else>>
<<dialog "Serin" "facesad" "Nimeria, I still have no chance to win $humanName's heart. Everything I try seems to fail. Do you have any other ideas?">>
<<dialog "Nimeria" "facesmile" "Have you tried kissing yet, dear?">>
<<dialog "Serin" "faceembarrassed" "I don't have the experience or technique to really make an impact.">>
<</if>>
<<dialog "Nimeria" "facesmirk" "How about training?">>
<<dialog "Serin" "faceconfused" "I'm muscular enough, don't you think?">>
<<dialog "Nimeria" "facelaugh" "You and Liora truly are $serinLioraRelation... I mean training with other people, dear.">>
<<dialog "Serin" "faceembarrassed" "But I only want to be with $humanName. I don't want anyone else.">>
<<dialog "Nimeria" "facesmile" "You'd just be training for him, dear. So you can melt his heart with your technique. Your heart will still belong to him completely.">>
<<dialog "Serin" "face" "Hmm... and with whom would I train?">>
<<dialog "Nimeria" "facesmirk" "Maybe me and Seryk? We both can keep secrets, and we can go at your pace...">>
<<thought "Nimeria" "face" "or not.">>
<<thought "Serin" "face" "The idea of intimate training with others, even if it’s just for $humanName’s sake, makes my heart pound. Could I really go through with something like that?">>
<<narrative "⚠️ Warning: This choice will affect future content availability ⚠️">>
<<choiceBox "Training Choice"
"Train with Both (Nimeria + Seryk H)" "SerinTrainingBoth" "serinTrainingBoth=true"
"Train with Nimeria Only (Nimeria only H)" "SerinTrainingNimeria" "serinTrainingNimeria=true"
"Train with Seryk Only (Seryk only H)" "SerinTrainingSeryk" "serinTrainingSeryk=true"
"Don't Train (No H)" "SerinNoTraining" "serinNoTraining=true">>
</div>
<</nobr>>
<<pov "serin" "nimeria.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/deepkiss.mp3" 1>>
<<set $serinTrainingNimeria = true>>
<<set $serinTrainingProgress = 1>>
<<changeLust "Serin" 15>>
<<changeLust "Nimeria" 12>>
<<changeFetish "Serin" "salivaFetish" 0.3>>
<<changeFetish "Nimeria" "dominanceFetish" 0.2>>
<<trackSexualExperience "Serin" "kissExperience" 2>>
<<trackSexualExperience "Nimeria" "kissExperience" 2>>
<<trackSexualExperience "Serin" "sexualExperience" 2>>
<<trackSexualExperience "Nimeria" "sexualExperience" 2>>
<<changeAffection "Serin" "Nimeria" 2>>
<<changeAffection "Nimeria" "Serin" 2>>
<<changeAttraction "Serin" "Nimeria" 1.5>>
<<changeAttraction "Nimeria" "Serin" 1.5>>
<<quickSexTrack "kiss" "serin" "nimeria" 1>>
<<quickSexTrack "kiss" "serin" "nimeria" 1>>
<div class="passage-container serin">
<<narrative "💋 Intimate Training Session 💋">>
<<narrative "Nimeria teaches Serin the art of seduction">>
<<dialog "Nimeria" "facesmile" "Don't be shy, dear Serin. If you truly want to win $humanName's heart, you need to be better than Liora. Much better.">>
<<dialog "Serin" "faceembarrassed" "I... I understand. But what exactly do you need me to do?">>
<<dialog "Nimeria" "facesmirk" "Remove your clothes, but leave your underwear on. Don't wear socks! Bare feet are much more... intimate. Then join me on the bed.">>
<<narrative "I stand nervously in Nimeria's room, looking down at myself in my white lingerie. The candlelight casts a warm glow across the room, and I can feel my cheeks burning with anticipation and embarrassment.">>
<<narrative "I approach the bed slowly, my bare feet silent on the soft carpet. Nimeria looks absolutely radiant in her white lingerie, her skin seeming to glow with an otherworldly beauty in the candlelight.">>
<<dialog "Nimeria" "facesmile" "Perfect. Now, I want you to kiss me as if I was $humanName. Desire him as much as you want him to desire you.">>
<center><img src="images/serin/chapter4/serinxnimeriamakeout/1.webp" style="max-width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "As our lips meet for the first time, I'm shocked by the immediate rush of sensation. Her lips are impossibly soft and sweet, and I can taste something intoxicating that makes me want more.">>
<<dialog "Nimeria" "facewet" "You have to be better than Liora to win his heart. Put more effort into it. Devour him!">>
<center><img src="images/serin/chapter4/serinxnimeriamakeout/2.webp" style="max-width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Why does it feel so amazing? I can't stop... it just feels and tastes so good...">>
<center><img src="images/serin/chapter4/serinxnimeriamakeout/3.webp" style="max-width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Something awakens in me at her command, and I press deeper into the kiss. When her tongue touches mine, I feel a jolt of pleasure that makes me gasp. Nimeria's hands guide me closer, teaching me without words how to move, how to respond.">>
<center><img src="images/serin/chapter4/serinxnimeriamakeout/4.webp" style="max-width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facewet" "That's it... let yourself feel everything. When you kiss $humanName, you want him to lose all control...">>
<center><img src="images/serin/chapter4/serinxnimeriamakeout/5.webp" style="max-width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "My body is responding in ways I never expected. Every touch, every kiss seems to awaken new sensations. I find myself pressing closer to her, hungry for more of whatever this incredible feeling is.">>
<center><img src="images/serin/chapter4/serinxnimeriamakeout/6.webp" style="max-width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Nimeria... this feels... I can taste something sweet and addictive in her kisses...">>
<center><img src="images/serin/chapter4/serinxnimeriamakeout/7.webp" style="max-width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facesmirk" "You're learning so quickly. Show me how much you want him... show me the passion that will make him choose you over her...">>
<center><img src="images/serin/chapter4/serinxnimeriamakeout/8.webp" style="max-width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Something primal awakens in me at her words. All my competitive nature, all my desire to win $humanName's heart, channels into this moment. I kiss her with newfound hunger, my hands tangling in her hair.">>
<center><img src="images/serin/chapter4/serinxnimeriamakeout/9.webp" style="max-width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The taste of her is becoming addictive - there's something about her saliva that makes every kiss more intense than the last. My body feels like it's on fire, and I can feel myself losing control to sensations I've never experienced before.">>
<center><img src="images/serin/chapter4/serinxnimeriamakeout/10.webp" style="max-width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "We both fall back onto the soft bed, our bodies pressing together as the intensity overwhelms us. The mattress yields beneath our weight as we sink into the plush covers, never breaking our passionate embrace.">>
<<dialog "Nimeria" "facewet" "Perfect... you're perfect. This is exactly what you need to show him... Feel how your body responds to passion...">>
<<dialog "Serin" "facewet" "I need more... your taste is driving me crazy. I want to devour you like you said... I want to make $humanName feel this desperate for me...">>
<center><img src="images/serin/chapter4/serinxnimeriamakeout/11.webp" style="max-width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facewet" "Yes, that's it! Feel that hunger... that desperate need. This is what you'll show $humanName. Kiss me harder, Serin! Show me the passion that will make him forget all about Liora!">>
<<narrative "Our lips crash together with desperate intensity. I can taste something sweet and intoxicating in her saliva that makes me crave more with every passing second. My hands tangle in her silky hair as we kiss with complete abandon, lost in the overwhelming sensations.">>
<center><img src="images/serin/chapter4/serinxnimeriamakeout/12.webp" style="max-width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "I'm losing myself in you... your essence is so addictive. I feel like I'm melting from the inside out. Is this what love feels like? What desire really means?">>
<<dialog "Nimeria" "facesmirk" "This is pure passion, dear. Raw, unfiltered desire. When you kiss $humanName with this same hunger, he won't be able to resist you. Your body will call to his in ways Liora never could...">>
<center><img src="images/serin/chapter4/serinxnimeriamakeout/13.webp" style="max-width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The sensations are building to an almost unbearable intensity. Every kiss, every touch sends lightning through my body. I can feel myself approaching the edge of something incredible, something that will change me forever.">>
<<dialog "Serin" "facewet" "Nimeria... I think... I think I'm ready for more. This feeling is overwhelming me...">>
<<dialog "Nimeria" "facesmirk" "Perfect, my dear. You're learning to embrace the fire within you. Let's continue this lesson to its natural conclusion...">>
<<continueBox "SerinNimeriaTraining2" "Continue to the climax" "">>
</div>
<</nobr>>
<<pov "serin" "ntr1.mp3">><<nobr>>
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('orgasm.mp3')>>
<<quickSexTrack "orgasm" "serin" "nimeria" 1>>
<<quickSexTrack "orgasm" "nimeria" "serin" 1>>
<<set $serinSpecialCream = true>>
<<changeFetish "Serin" "salivaFetish" 0.2>>
<<changeFetish "Serin" "lesbianValue" 0.3>>
<<changeFetish "Nimeria" "lesbianValue" 0.2>>
<<changeAffection "Serin" "Nimeria" 3>>
<<changeAffection "Nimeria" "Serin" 3>>
<<changeAttraction "Serin" "Nimeria" 2>>
<<changeAttraction "Nimeria" "Serin" 2>>
<div class="passage-container serin">
<<narrative "🔥 The Climax 🔥">>
<<narrative "Where passion reaches its peak">>
<<dialog "Serin" "facewet" "I can't... I can't stop... What's happening to me?">>
<<dialog "Nimeria" "facewet" "Let it happen. This is what passion feels like... this is what will make him yours...">>
<center><img src="images/serin/chapter4/serinxnimeriamakeout/14.webp" style="max-width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The tension in my body reaches its peak, and suddenly I'm overwhelmed by waves of pleasure unlike anything I've ever felt. My back arches as I cry out, clinging to Nimeria as the intensity washes over me.">>
<center><img src="images/serin/chapter4/serinxnimeriamakeout/15.webp" style="max-width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Nimeria follows moments later, her own soft cries mixing with mine as we both reach the peak of pleasure together. We collapse against each other, breathing heavily and trembling from the intensity of what just happened.">>
<center><img src="images/serin/chapter4/serinxnimeriamakeout/16.webp" style="max-width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<center><img src="images/serin/chapter4/serinxnimeriamakeout/17.webp" style="max-width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<center><img src="images/serin/chapter4/serinxnimeriamakeout/18.webp" style="max-width: 450px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "🌙 After the Storm 🌙">>
<<narrative "The intimate aftermath and final preparations">>
<<narrative "We lie together in the aftermath, our bodies still trembling from the incredible intensity of what just happened. The room feels warm and intimate, filled with the soft sounds of our gradually slowing breaths.">>
<<dialog "Serin" "facewet" "That was... I never knew it could feel like that. Is this really what it's supposed to be like?">>
<<dialog "Nimeria" "facesmile" "Oh, my dear Serin. That was just the beginning. When you use these techniques with $humanName, he won't be able to resist you.">>
<<dialog "Serin" "faceembarrassed" "Your taste... it's so sweet and intoxicating. I've never experienced anything like it. I can still taste you on my lips...">>
<<dialog "Nimeria" "facesmirk" "That's just... my natural taste, dear. Some people have that effect on others. The more you experience passion like this, the more you'll crave it.">>
<<narrative "Nimeria sits up gracefully and reaches for something from her bedside table - a small, ornate jar filled with what appears to be a shimmering cream that seems to glow faintly in the candlelight.">>
<<dialog "Nimeria" "facesmile" "Now, for the final part of your training. This is a special enhancement cream I've prepared. You should use it every night before bed.">>
<<dialog "Serin" "face" "What does it do?">>
<<narrative "I sit up and accept the jar from her hands. The cream has a subtle, pleasant scent that reminds me of moonflowers and something else... something intoxicating.">>
<<dialog "Nimeria" "facesmirk" "Apply it to your intimate areas - your vagina, especially around the sensitive spots.<<if $serinFutanariTransformation>> Make sure to work a good amount onto your clit as well.<</if>> The cream will enhance your natural sensitivity and make every touch more pleasurable.">>
<<dialog "Serin" "faceembarrassed" "And this will help me... win him over?">>
<<dialog "Nimeria" "facewet" "When the time comes for intimacy with $humanName, you'll be more responsive, more passionate than he could ever imagine. Liora's innocent fumbling will seem like child's play compared to the fire you'll show him.">>
<<dialog "Nimeria" "facesmile" "Remember everything we practiced tonight. The passion, the hunger, the way your body responds... channel all of that when you're with him.">>
<<narrative "She moves closer to give me one final, lingering kiss that sends another wave of that addictive sweetness through my system. I can taste her essence again, and it makes me want to kiss her forever.">>
<<dialog "Serin" "facesmile" "Thank you, Nimeria. I understand now what I need to do. $humanName won't be able to resist me.">>
<<dialog "Nimeria" "facesmirk" "That's my girl. Just remember - use the cream every night, practice what I taught you, and when the moment is right... show him a passion that Liora could never match.">>
<<narrative "As I prepare to leave her room, I feel transformed. The shy, uncertain girl who entered has been replaced by someone who knows exactly what she wants and how to get it. The taste of Nimeria's addictive kiss still lingers on my lips, a constant reminder of the pleasure that awaits.">>
<div class="conclusion-phase" style="background: rgba(70, 50, 70, 0.8); border: 1px solid rgba(255,255,255,0.5); border-radius: 8px; padding: 25px; margin-bottom: 25px; text-align: center;">
<p style="color: #DDA0DD; font-size: 1.3em; font-weight: bold; margin-bottom: 20px;">✨ New Confidence Awakened ✨</p>
<<narrative "With the special cream in hand and my body still humming from Nimeria's training, I feel ready to win $humanName's heart. Tonight was just the beginning of my transformation.">>
<<continueBox "POVTransitionSerinToRylan" "Return to your room with new confidence" "">>
</div>
</div>
<</nobr>>
<<pov "serin" "ntr1.mp3">><<set $serinNoTraining = true>>
<<set $serinTrainingBoth = false>>
<<set $serinTrainingNimeria = false>>
<<set $serinTrainingSeryk = false>>
<<changeAffection "Nimeria" "Serin" 1>>
<<changeAffection "Serin" "Nimeria" 1>>
<<nobr>>
<div class="passage-container serin">
<<narrative "💝 Her Own Way 💝">>
<<narrative "Serin chooses independence">>
<<dialog "Serin" "face" "Thank you for the suggestion, Nimeria, but I think I need to try to get $humanName's heart my own way. I want whatever happens between us to be genuine, not because I learned it from someone else.">>
<<dialog "Nimeria" "facesmile" "I understand, dear. Sometimes the most authentic approach is the most powerful one. Your feelings for him are real, and that counts for something.">>
<<dialog "Serin" "facesmile" "Exactly. I'll find my own path to his heart. Whatever happens will be between just him and me, the way it should be.">>
<<narrative "Serin seems more confident now, having made her decision. She'll pursue $humanName through her own methods, relying on her natural charm and genuine feelings rather than training with others.">>
<div class="conclusion" style="background: rgba(70, 50, 70, 0.8); border: 1px solid rgba(255,255,255,0.5); border-radius: 8px; padding: 20px; text-align: center;">
<p style="color: #E6E6FA; font-size: 1.1em;">Serin has chosen to pursue $humanName through traditional romantic means.</p>
<p style="color: #DDA0DD; font-size: 0.9em; margin-top: 10px;">Future training content paths are now locked.</p>
</div>
<<continueBox "POVTransitionSerinToRylan" "Continue" "">>
</div>
<</nobr>>
<<pov "serin" "nimeria.mp3">><<stopLoopingSounds>>
<<set $timeOfDay = "morning">>
<<nobr>>
<div class="passage-container rylan">
<<narrative "🔒 Serin's Private Invitation 🔒">>
<<narrative "Something she wants to show you...">>
<<narrative "I follow Serin's whispered invitation and make my way to her room.">>
<<thought "Rylan" "face" "My heart pounds as I remember our last encounter - the intensity, the submission, the overwhelming sensations. Part of me is nervous, but another part... anticipates what might happen next.">>
<<narrative "I knock softly on Serin's door and hear her call me in. As I step inside, that familiar musky scent immediately hits me, causing an involuntary reaction that I try to suppress. The room feels warmer than usual, and I notice she's changed out of her breakfast clothes.">>
<center><img src="images/landscapes/room.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<dialog "Serin" "facesmirk" "Perfect timing, $humanName. Close the door behind you and lock it. We need some privacy for what I have in mind.">>
<<thought "Rylan" "face" "There's that commanding tone again - the one that made me feel so helpless before. I do as she says, the soft click of the lock seeming unnaturally loud in the quiet room.">>
<<dialog "Serin" "faceteasing" "Now then, $humanName. I want you to remove your pants and boxers. Right here, right now.">>
<<thought "Rylan" "face" "My eyes widen in shock. This is definitely escalating beyond what happened before. The casualness with which she says it, combined with that confident smirk, sends conflicting signals through my body.">>
<<dialog "Rylan" "faceshock" "What?! Serin, this is starting to get out of hand! I can't just...">>
<<dialog "Serin" "facelaugh" "Oh really? Well, last time you seemed to really, REALLY like your punishment. In fact, you enjoyed it so much that you couldn't help yourself, if I remember correctly.">>
<<thought "Rylan" "face" "Her words hit me like a slap. The memory of what happened, how completely I lost control, floods back. The shame and arousal mix together in a way that makes my head spin.">>
<<dialog "Rylan" "faceembarrassed" "Serin, I've got Liora. I can't cheat on her. This isn't right...">>
<<dialog "Serin" "facesmirk" "Cheating? Oh $humanName, I don't plan to have sex with you... *thinkink*yet. This is just some harmless playing. Just like last time - no touching, just... experiencing.">>
<<thought "Rylan" "face" "Her logic is twisted but somehow compelling. Is it really cheating if there's no physical contact? But then why does it feel so wrong... and yet so exciting?">>
<center><img src="images/serin/chapter4/masturbationpunishment/threat.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "She sits on her bed, waiting for my decision. That knowing smile tells me she's confident about what I'll choose, and that confidence is both infuriating and arousing.">>
<<choiceBox "What do you choose?" "Do as she says and remove your clothes" "SerinChapter4MasturbationPunishment" "SerinChapter4MasturbationPunishment=DoAsSheSays" "Try to resist and leave" "SerinChapter4MasturbationResistTry" "SerinChapter4MasturbationResistTry=TryToResist">>
<<changeLust "Rylan" 5>>
<<changeAttraction "Rylan" "Serin" 1.0>>
</div>
<</nobr>>
<<pov "rylan" "ntr1.mp3">><<stopLoopingSounds>>
<<set $serinTrainingBoth = true>>
<<set $serinTrainingNimeria = false>>
<<set $serinTrainingSeryk = false>>
<<set $serinNoTraining = false>>
<<changeAffection "Nimeria" "Serin" 2>>
<<changeAffection "Serin" "Nimeria" 2>>
<<nobr>>
<div class="passage-container serin">
<<narrative "💕 Complete Training 💕">>
<<narrative "Serin chooses both teachers">>
<<dialog "Serin" "facewet" "If I'm going to do this... I want to learn everything I can. Both of you could teach me different things, right? I want to be perfect for $humanName.">>
<<dialog "Nimeria" "facesmirk" "Oh my, how ambitious! I love that attitude, dear. You're absolutely right - I can teach you the feminine arts of seduction, while Seryk can show you exactly what men crave most.">>
<<dialog "Serin" "faceembarrassed" "When can we start?">>
<<dialog "Nimeria" "facesmile" "Seryk is currently busy doing something for me, but I'll tell him to visit you once he has time. Meanwhile, we can already start with my lessons.">>
<<dialog "Serin" "faceembarrassed" "Now already?">>
<<dialog "Nimeria" "facelaugh" "The sooner the better, right? We have time and privacy now, and I'm excited to begin your comprehensive education in the arts of love.">>
<<narrative "Serin takes a deep breath, committing fully to this path. She's nervous but determined to learn everything possible to win $humanName's heart through both feminine grace and understanding of masculine desires.">>
<div class="conclusion" style="background: rgba(70, 50, 70, 0.8); border: 1px solid rgba(255,255,255,0.5); border-radius: 8px; padding: 20px; text-align: center;">
<p style="color: #E6E6FA; font-size: 1.1em;">Serin will train with both Nimeria and Seryk for complete preparation.</p>
<p style="color: #FFB6C1; font-size: 0.9em; margin-top: 10px;">All training content paths unlocked.</p>
</div>
<<continueBox "SerinNimeriaTraining1" "Continue" "">>
</div>
<</nobr>>
<<pov "serin" "nimeria.mp3">><<stopLoopingSounds>>
<<set $serinTrainingBoth = false>>
<<set $serinTrainingSeryk = false>>
<<set $serinNoTraining = false>>
<<changeAffection "Nimeria" "Serin" 2>>
<<changeAffection "Serin" "Nimeria" 2>>
<<nobr>>
<div class="passage-container serin">
<<narrative "💜 Feminine Training 💜">>
<<narrative "Serin chooses Nimeria only">>
<<dialog "Serin" "faceembarrassed" "I think... I'd prefer to train with just you, Nimeria. The idea of being with Seryk like that feels too strange. But learning from another woman seems more... comfortable.">>
<<dialog "Nimeria" "facesmile" "Great choice, dear! I can teach you all the subtle techniques that drive men wild. There's so much a woman can learn from another woman about pleasure and seduction.">>
<<dialog "Serin" "face" "Then let's start!">>
<<dialog "Serin" "faceembarrassed" "Now already?">>
<<dialog "Nimeria" "facesmirk" "The sooner the better, right? We have privacy right now, and I'm eager to help you become irresistible to $humanName.">>
<<thought "Serin" "face" "Serin blushes deeply but nods. The prospect of intimate training with Nimeria is both exciting and nerve-wracking, but she's committed to becoming better for $humanName.">>
<div class="conclusion" style="background: rgba(70, 50, 70, 0.8); border: 1px solid rgba(255,255,255,0.5); border-radius: 8px; padding: 20px; text-align: center;">
<p style="color: #E6E6FA; font-size: 1.1em;">Serin will train with Nimeria to learn feminine seduction techniques.</p>
<p style="color: #DDA0DD; font-size: 0.9em; margin-top: 10px;">Lesbian training content unlocked.</p>
</div>
<<continueBox "SerinNimeriaTraining1" "Continue" "">>
</div>
<</nobr>>
<<pov "serin" "nimeria.mp3">><<nobr>>
<<set $serinTrainingSeryk = true>>
<<set $serinTrainingBoth = false>>
<<set $serinTrainingNimeria = false>>
<<set $serinNoTraining = false>>
<<changeAffection "Nimeria" "Serin" 1>>
<<changeAffection "Serin" "Nimeria" 1>>
<div class="passage-container serin">
<<narrative "💙 Masculine Training 💙">>
<<narrative "Serin chooses Seryk only">>
<<dialog "Serin" "faceembarrassed" "I... I think training with girls isn't my thing, Nimeria. Since I want to be with $humanName, maybe I should learn from Seryk instead? He would understand better what men like, right?">>
<<dialog "Nimeria" "facesmile" "That makes perfect sense, dear. Seryk would indeed know exactly what pleases a man. Alright, I'll let him know about your decision.">>
<<dialog "Serin" "face" "When can we start?">>
<<dialog "Nimeria" "facesmirk" "Currently he's busy doing something for me, but I'll tell him to visit you when he has time. He'll be very... interested in helping you improve your technique for $humanName.">>
<<thought "Serin" "face" "Serin nods, feeling more comfortable with this choice. Learning from Seryk feels more natural to her, especially since her goal is to win over $humanName. She trusts that Seryk's masculine perspective will give her exactly the knowledge she needs.">>
<div class="conclusion" style="background: rgba(70, 50, 70, 0.8); border: 1px solid rgba(255,255,255,0.5); border-radius: 8px; padding: 20px; text-align: center;">
<p style="color: #E6E6FA; font-size: 1.1em;">Serin will train with Seryk to learn masculine preferences.</p>
<p style="color: #87CEEB; font-size: 0.9em; margin-top: 10px;">Seryk only training content unlocked.</p>
</div>
<<continueBox "POVTransitionSerinToRylan" "Continue" "">>
</div>
<<pov "serin" "nimeria.mp3">>
<</nobr>><<nobr>>
<<stopLoopingSounds>>
<<set $serykRylanBlightwoodEncounter = true>>
<<if not $rylan_SerykKissCount>><<set $rylan_SerykKissCount = 0>><</if>>
<<if not $seryk_RylanKissCount>><<set $seryk_RylanKissCount = 0>><</if>>
<<if not $rylan_kissCount>><<set $rylan_kissCount = 0>><</if>>
<<if not $seryk_kissCount>><<set $seryk_kissCount = 0>><</if>>
<<if not $rylan_SerykCumCount>><<set $rylan_SerykCumCount = 0>><</if>>
<<if not $seryk_RylanCumCount>><<set $seryk_RylanCumCount = 0>><</if>>
<<if not $rylan_masturbationCount>><<set $rylan_masturbationCount = 0>><</if>>
<<if not $seryk_masturbationCount>><<set $seryk_masturbationCount = 0>><</if>>
<div class="passage-container rylan">
<<narrative "🌿 Into the Blightwood 🌿">>
<<narrative "A dangerous mission with unexpected consequences">>
<<narrative "I find Seryk near the edge of our house. When I approach, he looks up with that easy smile of his.">>
<<dialog "Seryk" "face" "Hey there, bro! Perfect timing. I was just about to head into Blightwood to gather those plants for Nim. You want to come along?">>
<<narrative "I nod eagerly, glad for the company and the chance to be useful. We set off together into the twisted trees of Blightwood, following the rough map Nimeria had sketched for us.">>
<<narrative "After about an hour of searching through the corrupted undergrowth, we finally spot what we're looking for - a clearing ahead where purple mist swirls thick in the air. The mana here feels incredibly dense, almost suffocating.">>
<center><img src="images/landscapes/purpleclearing.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<dialog "Seryk" "face" "Whoa... that fog looks pretty intense. Could be poisonous. Let me test it first, bro.">>
<<narrative "Seryk steps forward cautiously, taking a few breaths of the purple mist. After a moment, he turns back to me with a relieved expression.">>
<<dialog "Seryk" "face" "Feels fine to me. Maybe Nimeria's antidote is working here too. Come on, let's get those plants.">>
<<narrative "We enter the clearing together and immediately spot the rare purple-leaved plants Nimeria described. We begin working methodically, filling our pouches, but after a few minutes I start to feel... warm.">>
<<narrative "I glance over at Seryk and notice beads of sweat forming on his muscular chest. The sight makes my heart beat faster for some reason.">>
<center><img src="images/seryk/sweathard.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<quickRoll "Muscle Appreciation" "Rylan" 75 5 "muscleFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "My eyes trace the defined lines of his chest and shoulders, following the trail of sweat as it runs down his powerful frame. There's something mesmerizing about the way his muscles flex and ripple as he works. I find myself staring longer than I should, my breath catching slightly.">>
<<changeFetish "Rylan" "muscleFetish" 0.3>>
<<changeLust "Rylan" 2>>
<<changeAttraction "Rylan" "Seryk" 1.0>>
<<else>>
<<narrative "I notice his athletic build but manage to keep my focus on the task at hand. Still, there's no denying he's in excellent physical condition.">>
<<changeLust "Rylan" 1>>
<<changeAttraction "Rylan" "Seryk" 0.5>>
<</if>>
<<dialog "Seryk" "face" "Hmm, it's quite hot here.">>
<<dialog "Rylan" "face" "Yeah, I'm sweating like a pig.">>
<<narrative "As we continue working, the heat seems to intensify. I find myself stealing glances at Seryk more and more frequently.">>
<<narrative "Each time I look at him, I notice more details - the way his muscles flex as he works, the careful way he handles the delicate plants, the concentration on his handsome face. When did I start thinking of him as handsome?">>
<center><img src="images/seryk/sweathard.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "I catch Seryk looking at me too, his gaze lingering on my sweat-dampened shirt before he quickly returns to his work. The air between us feels charged with something more than just dense mana.">>
<<quickRoll "Scent Awareness" "Rylan" 80 5 "smellFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "A subtle breeze carries Seryk's masculine scent toward me - a mixture of his natural musk and exertion. There's something intoxicating about it that makes me want to breathe deeper, to get closer to him. I find myself unconsciously leaning in his direction.">>
<<changeFetish "Rylan" "smellFetish" 0.25>>
<<changeLust "Rylan" 2>>
<<changeAttraction "Rylan" "Seryk" 0.5>>
<<else>>
<<narrative "I catch a whiff of his post-workout scent on the breeze, but manage to stay focused on gathering the plants. Still, there's something oddly appealing about his natural musk.">>
<<changeLust "Rylan" 1>>
<</if>>
<<narrative "Finally, after what feels like hours, we finish filling both pouches. We stand up together, brushing dirt from our knees.">>
<<dialog "Seryk" "face" "Good work, bro. We got everything Nim needs. Ready to head back?">>
<<dialog "Rylan" "face" "Yeah, let's go.">>
<<narrative "But as we stand close together, preparing to leave, our eyes meet. Those deep blue eyes of his... have they always been so mesmerizing? I find myself unable to look away, drawn into their depths like I'm falling into an ocean.">>
<center><img src="images/seryk/chapter4/gaymakeout/1.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<thought "Rylan" "face" "Did his eyes always look so wonderful? And his lips... they look so soft, so inviting, almost... tasty? What? Wait, what is wrong with me?">>
<<choiceBox "Something stirs between us..." "Give in to the attraction" "SerykRylanBlightwood1kiss" "SerykRylanBlightwood1=giveIn">>
</div>
<</nobr>>
<<pov "rylan" "blightwood.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/malekiss.mp3" 1>>
<<set $serykRylanBlightwoodEncounter = true>>
<<if not $rylan_SerykKissCount>><<set $rylan_SerykKissCount = 0>><</if>>
<<if not $seryk_RylanKissCount>><<set $seryk_RylanKissCount = 0>><</if>>
<<if not $rylan_kissCount>><<set $rylan_kissCount = 0>><</if>>
<<if not $seryk_kissCount>><<set $seryk_kissCount = 0>><</if>>
<<if not $rylan_SerykCumCount>><<set $rylan_SerykCumCount = 0>><</if>>
<<if not $seryk_RylanCumCount>><<set $seryk_RylanCumCount = 0>><</if>>
<<if not $rylan_masturbationCount>><<set $rylan_masturbationCount = 0>><</if>>
<<if not $seryk_masturbationCount>><<set $seryk_masturbationCount = 0>><</if>>
<div class="passage-container rylan">
<<narrative "🌿 Into the Blightwood 🌿">>
<<narrative "A dangerous mission with unexpected consequences">>
<<narrative "Even as the rational part of my mind questions what's happening, my body moves of its own accord. I step closer to him, and he does the same. The purple mist swirls around us like we're in a dream.">>
<center><img src="images/seryk/chapter4/gaymakeout/2.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Our faces are inches apart now. I can feel his warm breath on my skin. His lips are so close... and then they touch mine.">>
<center><img src="images/seryk/chapter4/gaymakeout/3.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "The kiss lasts only a moment before we both jump back, startled by our own actions.">>
<<dialog "Rylan" "face" "Sorry! I don't know what's wrong with me.">>
<<dialog "Seryk" "face" "No, it's... I'm sorry too. Something about this place...">>
<center><img src="images/seryk/chapter4/gaymakeout/4.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "But even as we apologize, our eyes meet again. The magnetic pull returns, stronger than before. This time, neither of us resists.">>
<<narrative "Our lips crash together again, but this time we don't pull away. The kiss deepens, becomes hungry, desperate. I feel his tongue brush against my lips and instinctively part them, allowing him access.">>
<center><img src="images/seryk/chapter4/gaymakeout/5.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "My hands find their way to his muscular chest while his wrap around my waist, pulling me closer. In the heat of the moment, I feel his hands slip under my sweat-dampened shirt, lifting it over my head with surprising gentleness before tossing it aside. The purple mist swirls around us like we're the center of a magical storm. Everything feels heightened - every touch, every sensation.">>
<center><img src="images/seryk/chapter4/gaymakeout/6.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "We're completely lost in each other, our bodies pressed together as we explore this newfound passion. His skin feels burning hot against mine, and I can feel the rapid beating of his heart matching my own frantic rhythm.">>
<<dialog "Seryk" "face" "You feel so good against me...">>
<<narrative "His whispered words send shivers down my spine. I can only moan softly in response as our lips find each other again, deeper and more passionate than before. His tongue explores my mouth while his strong hands roam across my bare back.">>
<<dialog "Rylan" "face" "Seryk... this feels incredible...">>
<center><img src="images/seryk/chapter4/gaymakeout/7.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "He responds by kissing along my jawline, his breath hot against my ear as he nibbles gently at my earlobe. Every touch sends electric shocks through my body, and I find myself pressing even closer to him, desperate for more contact.">>
<center><img src="images/seryk/chapter4/gaymakeout/8.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<dialog "Seryk" "face" "I want you so badly... I never felt anything like this before...">>
<<narrative "Our mouths crash together again in a hungry, desperate kiss. I can taste the sweetness of his saliva mixed with the faint magical essence of this place. My hands explore the hard planes of his chest, feeling his muscles tense and relax under my touch.">>
<<quickRoll "Saliva Fascination" "Rylan" 85 5 "salivaFetish" 4>>
<<if not _tempRollSuccess>>
<<narrative "The taste of his saliva is intoxicating - sweet and uniquely him. I find myself hungering for more, our tongues intertwining as I eagerly drink in every drop he offers. There's something addictive about the way our mouths meld together, sharing this intimate essence.">>
<<changeFetish "Rylan" "salivaFetish" 0.3>>
<<changeLust "Rylan" 2>>
<<changeAttraction "Rylan" "Seryk" 0.5>>
<<else>>
<<narrative "The kiss is passionate and deep, our tongues dancing together as we lose ourselves in the moment. His taste is pleasant and warm against my lips.">>
<<changeLust "Rylan" 1>>
<</if>>
<<dialog "Rylan" "face" "I can't... can't stop myself... you're driving me crazy...">>
<center><img src="images/seryk/chapter4/gaymakeout/9.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "The purple mist seems to pulse around us, responding to our passion. I feel his hands slide lower, gripping my waist possessively as he pulls me against him. The friction between our bodies is maddening, building an intense heat that threatens to consume us both.">>
<center><img src="images/seryk/chapter4/gaymakeout/10.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<quickRoll "Submission Response" "Rylan" 90 5 "submissionFetish" 4>>
<<if not _tempRollSuccess>>
<<narrative "His possessive grip on my waist sends a thrill through me that I don't quite understand. There's something deeply appealing about how he takes control, how his strength overpowers mine. I find myself yielding to his touch, letting him guide our movements as I surrender to the overwhelming sensations.">>
<<changeFetish "Rylan" "submissionFetish" 0.25>>
<<changeFetish "Seryk" "dominanceFetish" 0.2>>
<<changeLust "Rylan" 2>>
<<changeLust "Seryk" 2>>
<<changeAttraction "Rylan" "Seryk" 0.5>>
<<changeAttraction "Seryk" "Rylan" 0.5>>
<<else>>
<<narrative "We move together as equals, both lost in the passion of the moment. Our bodies press closer as we explore this newfound intimacy between us.">>
<<changeLust "Rylan" 1>>
<<changeLust "Seryk" 1>>
<</if>>
<<dialog "Seryk" "face" "Don't stop... please don't stop... I need this... need you...">>
<<changeFetish "Rylan" "GayValue" 0.4>>
<<changeFetish "Seryk" "GayValue" 0.3>>
<<changeAffection "Rylan" "Seryk" 2>>
<<changeAffection "Seryk" "Rylan" 2>>
<<choiceBox "To be continued..." "Continue" "SerykRylanBlightwood2" "SerykRylanBlightwood1kiss=continue">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/malemoansoft.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<div class="passage-container rylan">
<<narrative "🌿 Aftermath in the Blightwood 🌿">>
<<narrative "Passion reaches its peak, then reality returns">>
<<narrative "His desperate plea ignites something primal within me. We kiss with wild abandon, our tongues dancing together as we lose ourselves completely in this moment. I can feel every muscle in his powerful body as he presses against me, his strength both thrilling and comforting.">>
<<narrative "The heat between us builds and builds, our movements becoming more urgent, more desperate. I trace the lines of his jaw with my lips, tasting the salt of his sweat and the intoxicating flavor that's uniquely his.">>
<<dialog "Rylan" "face" "Seryk... I'm... I'm going to...">>
<center><img src="images/seryk/chapter4/gaymakeout/11.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<dialog "Seryk" "face" "Me too... let go with me... together...">>
<center><img src="images/seryk/chapter4/gaymakeout/12.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "Our final kiss is the most intense yet - deep, passionate, and filled with an overwhelming connection that goes beyond just physical desire. The purple mist seems to swirl faster around us as we reach our peak together, our bodies trembling with shared ecstasy.">>
<center><img src="images/rylan/cum.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<center><img src="images/seryk/cumming.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 20px 0;"></center>
<<narrative "We both shudder and gasp against each other's lips as the intense pleasure overwhelms us, our bodies responding to the magical atmosphere and unexpected intimacy. For several long moments, we just hold each other, breathing heavily as the waves of sensation slowly subside.">>
<<narrative "Suddenly, as if a spell has been broken, we both blink and step apart. The purple mist around us seems to dissipate slightly, and the overwhelming urges that had consumed us moments before begin to fade. We look at each other with wide, shocked eyes.">>
<<dialog "Seryk" "face" "Oh... oh no. I'm sorry! I don't know what came over me. Must be the atmosphere here...">>
<<dialog "Rylan" "face" "Yes... let's forget it ever happened. The mist... it must have been affecting our minds.">>
<<narrative "I quickly retrieve my discarded shirt, pulling it back on with trembling hands. Seryk does the same, both of us avoiding eye contact as we gather the plant pouches we'd dropped during our... encounter.">>
<<dialog "Seryk" "face" "We should get out of here before whatever's in this mist affects us again.">>
<<dialog "Rylan" "face" "Agreed. We got what we came for.">>
<<narrative "We make our way out of the clearing in awkward silence, the weight of what just happened hanging between us like a thick fog. Neither of us speaks as we navigate through the twisted trees of Blightwood, each lost in our own thoughts.">>
<<narrative "Once we're safely away from the purple mist and back on familiar ground, Seryk finally breaks the silence.">>
<<dialog "Seryk" "face" "Listen, bro... what happened back there... it wasn't us. It was the magic in that place. We're good, right?">>
<<dialog "Rylan" "face" "Of course. We're good. Just... strange magic, that's all.">>
<<narrative "But even as I say the words, even as we both agree it was just the magical influence, my mind keeps drifting back to those moments in the clearing. The way his lips felt against mine... the strength of his hands... the taste of him...">>
<<thought "Rylan" "face" "Why did it feel so amazing? Even now, away from the mist, I can't shake the memory of how right it felt to be in his arms. Was it really just the magic, or... was there something more?">>
<<narrative "I shake my head, trying to dispel these confusing thoughts. We agreed to forget it happened. It was just the magical atmosphere of that place affecting our minds. Nothing more.">>
<<narrative "But deep inside, a small voice whispers that maybe, just maybe, there was something real in those kisses...">>
<<narrative "We continue the journey home in comfortable silence, the plants safely gathered and our mission accomplished. Whatever happened in that clearing, we both seem content to leave it there, buried under the excuse of magical influence.">>
<<narrative "At least, that's what we're both pretending.">>
<<set $rylan_SerykKissCount += 3>>
<<set $seryk_RylanKissCount += 3>>
<<set $rylan_kissCount += 3>>
<<set $seryk_kissCount += 3>>
<<quickSexTrack "kiss" "seryk" "rylan" 1>>
<<set $rylan_SerykCumCount += 1>>
<<set $seryk_RylanCumCount += 1>>
<<set $rylan_masturbationCount += 1>>
<<set $seryk_masturbationCount += 1>>
<<set $rylan_sexualExperience += 0.8>>
<<set $seryk_sexualExperience += 0.8>>
<<set $rylan_kissExperience += 0.6>>
<<set $seryk_kissExperience += 0.6>>
<<set $rylan_basicExperience += 0.5>>
<<set $seryk_basicExperience += 0.5>>
<<changeLust "Rylan" 25>>
<<changeLust "Seryk" 20>>
<<changeAttraction "Rylan" "Seryk" 1.2>>
<<changeAttraction "Seryk" "Rylan" 1.0>>
<<changeAffection "Rylan" "Seryk" 0.8>>
<<changeAffection "Seryk" "Rylan" 0.8>>
<<changeFetish "Rylan" "GayValue" 0.5>>
<<changeFetish "Seryk" "GayValue" 0.3>>
<<changeFetish "Rylan" "MuscleFetish" 0.3>>
<<changeFetish "Rylan" "SalivaFetish" 0.8>>
<<changeFetish "Seryk" "SubmissionFetish" 0.2>>
<<addSoulCorruption "rylan" 1>>
<<soulDisplay "rylan">>
<<trackAffection "Rylan" "Seryk" 0.8>>
<<trackOther "Rylan" "SerykKissCount" 3>>
<<trackOther "Seryk" "RylanKissCount" 3>>
<<trackOther "Rylan" "kissCount" 3>>
<<trackOther "Seryk" "kissCount" 3>>
<<trackOther "Rylan" "SerykCumCount" 1>>
<<trackOther "Seryk" "RylanCumCount" 1>>
<<choiceBox "Mission Complete" "Return home" "MorningChoices" "SerykRylanBlightwood2=returnHome">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "🛏️ $humanName's Room - Afternoon 🛏️">>
<<narrative "A quiet moment of contemplation...">>
<<narrative "I lay on my bed, staring at the ceiling as the afternoon light filters through my window. The rest period has been refreshing, but now I'm wondering what to do with the remaining daylight. Maybe I should-">>
<<narrative "*Knock knock*">>
<<narrative "I sit up, curious about who might be visiting. 'Come in,' I call out, swinging my legs over the side of the bed.">>
<center><img src="images/nimeria/facesmile.webp" style="width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "The door opens to reveal Nimeria, wearing her usual gentle smile that somehow always makes the room feel brighter. She steps inside with a bounce in her step, and I notice something playful in her expression today.">>
<<dialog "Nimeria" "facesmile" "$humanName!" "she says cheerfully, then brings her hands together and curls her fingers in an adorable gesture" "I was thinking... would you like to come shopping with me? I wanted to explore the market district a bit.">>
<<dialog "Rylan" "face" "Sure, I didn't have anything planned anyway. It might be nice to get some fresh air.">>
<<narrative "Her eyes light up with pure joy, and she actually starts jumping a little in place, clapping her hands together.">>
<<dialog "Nimeria" "facehappy" "Wonderful! This will be perfect-it's a date!">>
<<dialog "Rylan" "faceshock" "A date?!">>
<<dialog "Nimeria" "facesmile" "Yes, yes! Don't worry about the small details.">>
<<dialog "Rylan" "faceworried" "This isn't a small detail! The word 'date' has very specific implications-">>
<<narrative "Before I can finish my protest, she grabs my arm with surprising determination and starts pulling me toward the door. When did she get so strong?!">>
<<continueBox "ShoppingDateHallway" "Continue to the hallway..." "">>
</div>
<</nobr>>
<<pov "rylan" "nimeriadate.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "🏠 House Hallway 🏠">>
<<narrative "As Nimeria practically drags me through the hallway, we encounter Mariel coming from the kitchen, a gentle smile on her face that turns curious when she sees us.">>
<<dialog "Mariel" "face" "Oh my, where are you two headed in such a hurry?">>
<<dialog "Nimeria" "facehappy" "We're going on a date!" "she announces cheerfully, still tugging at my arm">>
<<dialog "Rylan" "faceembarrassed" "I never agreed to call it a date!" "I protest, my cheeks burning with embarrassment">>
<<narrative "Nimeria continues pulling me toward the door with surprising strength, and I find myself being dragged along despite my protests. Seriously, when did she become this forceful?">>
<<dialog "Mariel" "face" "Oh my," "she chuckles softly, watching us with amused eyes">>
<<continueBox "ShoppingDateStreet" "Continue outside..." "">>
</div>
<</nobr>>
<<pov "rylan" "nimeriadate.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "🏘️ Neighborhood Street 🏘️">>
<<narrative "As we step outside, the warm afternoon air greets us. Nimeria still has a firm grip on my arm, practically bouncing with excitement. Before we can get far, we encounter Mrs. Henderson, our elderly neighbor who's tending to her flower garden.">>
<<dialog "OldLady" "face" "Oh, good afternoon, you two! Off on a date together?">>
<<dialog "Nimeria" "facehappy" "Yes!" "Nimeria responds immediately, beaming with joy">>
<<dialog "Rylan" "facefrustrated" "No!" "I counter quickly, shaking my head vigorously">>
<<dialog "OldLady" "face" "Oh, to be young again!" "she chuckles warmly" "Here, take this apple for your journey.">>
<<narrative "She hands Nimeria a bright red apple from her basket. Nimeria accepts it gracefully, but then looks thoughtful for a moment.">>
<<dialog "Nimeria" "facethinking" "Thank you so much... though, you know I'm a demon, don't you? Most people wouldn't be so kind to someone like me.">>
<<narrative "Mrs. Henderson pauses in her gardening, her weathered hands still on her watering can as she considers the question. Her expression grows thoughtful and somewhat melancholy.">>
<<dialog "OldLady" "face" "Child, I'm far too old to waste my remaining years on hatred. Hate breeds war, war brings death, and death leaves nothing but sorrow in its wake." "She looks directly at Nimeria with kind eyes" "I lost my entire family to the conflicts of the past, and I suspect you've lost people dear to you as well.">>
<<dialog "Nimeria" "facesad" "I... thank you..." "she whispers, her voice thick with emotion">>
<<narrative "I see something shift in Nimeria's expression-a vulnerability I rarely witness. But before I can say anything, she gently tugs my arm again, leading us toward the city center.">>
<<continueBox "ShoppingDateMarket" "Continue to the market..." "">>
</div>
<</nobr>>
<<pov "rylan" "nimeriadate.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "🍎 Market District 🍎">>
<<narrative "The bustling marketplace comes alive around us with the aroma of fresh bread, exotic spices, and roasted meats. Nimeria's eyes light up like a child's as she spots the various food stalls. What follows is nothing short of a culinary adventure.">>
<center><img src="images/landscapes/market.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<center><img src="images/nimeria/facehappy.webp" style="width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "She samples honey cakes from one vendor, then sweet dumplings from another, followed by candied fruits, roasted nuts, and even some exotic demon delicacies I've never heard of. And naturally, I'm the one paying for everything while passersby stare in shock at the sight of a human not only walking freely with a demon but actually buying her food.">>
<<narrative "I catch whispers and see pointed stares from other shoppers. Some look disgusted, others curious, and a few seem outright angry. But Nimeria either doesn't notice or chooses to ignore them, completely absorbed in her food adventure.">>
<<dialog "Nimeria" "facesmile" "Oh! $humanName, we need to go to that accessory shop! I want to find something special to commemorate today.">>
<<dialog "Rylan" "face" "Sure...">>
<<continueBox "ShoppingDateAccessoryShop" "Enter the accessory shop..." "">>
</div>
<</nobr>>
<<pov "rylan" "nimeriadate.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "💍 Oswins Accessories 💍">>
<center><img src="images/landscapes/accessoryshop.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "The small shop is filled with glittering jewelry, delicate hair ornaments, and beautiful trinkets. Nimeria immediately gravitates toward a display case containing an elegant silver bracelet with small charms shaped like stars and moons.">>
<<dialog "Nimeria" "facehappy" "This one is perfect! It's beautiful, don't you think?">>
<<narrative "The shopkeeper, a middle-aged man with a permanent scowl, looks up from his ledger. His expression immediately darkens when he notices Nimeria's demonic features.">>
<<dialog "Oswin" "face" "A demon! Get out of my establishment immediately! I don't sell anything to demons or the fools who consort with them!" "His voice rises with each word" "Leave now, or better yet-just disappear from this world entirely!">>
<<narrative "Rage blazes through me like wildfire. How dare he speak to her like that! My hands clench into fists, and I step forward, ready to give this bigoted fool a piece of my mind. But Nimeria's gentle hand on my arm stops me.">>
<<dialog "Nimeria" "facesmile" "It's alright, $humanName. I don't want to ruin such a wonderful day over something like this. Let's just find another shop.">>
<<dialog "Rylan" "faceangry" "But this is completely unacceptable! He can't just-">>
<<dialog "Nimeria" "facesmile" "Really, it's fine!" "she insists, maintaining her gentle smile despite the hurt I can see flickering in her eyes">>
<<narrative "Reluctantly, I follow her out of the shop, my jaw still tight with anger. But true to her nature, Nimeria quickly brightens the mood by pointing out another food stall she wants to try.">>
<<continueBox "ShoppingDateContinued" "Continue eating and exploring..." "">>
</div>
<</nobr>>
<<pov "rylan" "tense.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "🌅 Later in the Afternoon 🌅">>
<<narrative "After visiting what feels like every food stall in the market district, we finally find a shaded bench near a fountain. Nimeria looks completely satisfied but also slightly overwhelmed by her culinary adventure.">>
<<dialog "Nimeria" "facetired" "Phew... I think I've reached my limit. Please don't let me buy any more food, or I might actually burst!">>
<<dialog "Rylan" "facesmile" "You're the one who decided to sample everything we came across! I'm still amazed how you fit all that food in such a petite frame.">>
<<dialog "Nimeria" "facesmile" "Love goes to a different stomach!" "she says with a playful wink">>
<<narrative "Her comment about love makes me pause. She's mentioned loving me several times already, and I'm starting to wonder if she's being serious. The way she looks at me sometimes, the things she says... there's something deeper there.">>
<<dialog "Rylan" "facethinking" "You keep saying you love me... are you being serious when you say that?">>
<<narrative "Nimeria's expression grows more serious, and she looks directly into my eyes with an intensity I've rarely seen from her.">>
<<dialog "Nimeria" "faceserious" "Hypothetically... if I were to become a queen someday, would you join me on the throne as my king?">>
<<dialog "Rylan" "faceshocked" "I'm not exactly experienced with women, but... is that a weird way to declare your love?">>
<<dialog "Nimeria" "facesmile" "It is!" "she confirms without hesitation">>
<<dialog "Rylan" "faceworried" "But why? We've only known each other for a short while...">>
<<dialog "Nimeria" "facethinking" "Is time really the most important factor in love? I have two reasons. First... you saved me when I was just a lost child with no one left who cared about me.">>
<<dialog "Rylan" "faceconfused" "Me? When did I save you? I'm certain I would remember meeting you before you came to stay with us.">>
<<dialog "Nimeria" "facesmile" "Oh, don't worry about that detail. We didn't actually meet before. It's more like... a dream, an illusion that kept me alive during my darkest times.">>
<<narrative "Her cryptic words leave me wondering what exactly she went through before coming to us. There's clearly more to her story than she's revealed.">>
<<dialog "Nimeria" "facesmile" "Second... do you remember the very first thing you said when you met me?">>
<<dialog "Rylan" "facethinking" "Hmm... honestly, I can't recall exactly what I said.">>
<<dialog "Nimeria" "facesmile" "You said '...an angel.' Not a witch, not a monster, not some cursed creature. Just... an angel. You weren't influenced or manipulated-that was your genuine first impression of me." "Her voice grows softer" "If that doesn't make a broken girl's heart flutter, I don't know what would.">>
<<narrative "I find myself with even more questions about her past, but I can see how much that moment meant to her. After considering her words carefully, I take a breath before responding.">>
<<dialog "Rylan" "face" "To answer your question honestly... no. As much as I care about you, I have Liora to consider.">>
<<dialog "Nimeria" "facesmile" "That's perfectly alright. I wouldn't mind sharing-I'd even encourage you to have multiple relationships if that would make you happy. Just... keep the thought in the back of your mind. You can always give me a different answer in the future.">>
<<narrative "Her casual acceptance and mention of sharing catches me off guard. Before I can process that fully, I notice something familiar in the distance that makes my heart skip a beat.">>
<<dialog "Rylan" "faceshocked" "We should probably start heading back soon, but... wait.">>
<<narrative "There it is again-the Whisper's Wisdom entrance. Something about it calls to me, like an invisible force pulling at my very soul. I have this overwhelming feeling that if I don't investigate now, I'll regret it for the rest of my life.">>
<<dialog "Rylan" "facethinking" "Nimeria, would you mind waiting here for a few minutes? There's something I need to check out quickly.">>
<<dialog "Nimeria" "facesmile" "Of course! But don't keep a lady waiting too long." "she says with a playful wink">>
<<continueBox "WhispersWisdomReturn" "Investigate the Whisper's Wisdom..." "">>
</div>
<</nobr>>
<<pov "rylan" "nimeriadate.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "🏠 Homecoming 🏠">>
<<narrative "I leave Nimeria and Seryk to their playful chase, walking ahead toward our house. The familiar sight of home brings a warm feeling to my chest, but I'm surprised to see both Liora and Serin waiting at the entrance.">>
<<dialog "Serin" "facesmile" "Well, well! Look who's back from his romantic adventure!">>
<<thought "Rylan" "facefrustrated" "Great, not Serin too. I thought at least she'd be on my side about this whole 'date' nonsense.">>
<<dialog "Rylan" "facefrustrated" "It wasn't a date! We just went shopping!">>
<<narrative "To my complete shock, even Liora joins in with a gentle giggle. Her usual innocent demeanor makes her teasing somehow even more surprising.">>
<<dialog "Liora" "facelaughshortpinkdress" "Shopping together does sound rather date-like, doesn't it? Though I'm sure it was perfectly innocent.">>
<<dialog "Rylan" "faceshocked" "Liora! Even you?!">>
<<dialog "Liora" "facesmile" "Oh, but before we tease you any further... your $humanToThalor is back.">>
<<narrative "My heart skips a beat. $humanToThalor is back? I turn toward the entrance and there he is-tall, imposing, weathered by countless battles. Our eyes meet across the distance, and immediately I feel like a child again, small and uncertain.">>
<center><img src="images/thalor/standing.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "$humanToThalor strides toward me with purpose, his heavy boots echoing against the stone path. I can't help but look down, the weight of his presence making me feel every bit the inadequate $humanIsMariel I've always been.">>
<<narrative "SMACK! His massive hand crashes down on my shoulder with enough force to nearly knock me over. The impact sends a sharp pain shooting through my arm.">>
<<dialog "Thalor" "face" "Did you grow? I heard you finally passed the guild exam. I'm proud of you, son.">>
<<narrative "Those words hit me harder than his hand on my shoulder. Pride. From $humanToThalor. I look up at him, my vision blurring slightly as emotions I've kept buried threaten to overwhelm me.">>
<<dialog "Rylan" "facesmile" "$humanToThalor...">>
<<narrative "Just then, Seryk comes jogging back toward us, his easy smile bright as ever. Behind him, far in the distance, Nimeria stumbles along, clearly exhausted from trying to catch her much more athletic brother.">>
<<dialog "Nimeria" "facetired" "Wait... I'll... get you..." " *cough* *cough*">>
<<narrative "The moment $humanToThalor's eyes land on Seryk and Nimeria, everything changes. His entire body goes rigid, as if struck by lightning. The color drains from his face, replaced by an expression I've never seen before-pure, raw shock mixed with something deeper. Trauma? Terror? It's like he's seeing ghosts from his worst nightmares.">>
<center><img src="images/thalor/shocked.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<thought "Rylan" "facefrustrated" "What's wrong with him? I've never seen $humanToThalor look like this-not even when facing the most dangerous monsters. His hands are actually trembling.">>
<<narrative "The heavy wooden door of our house creaks open with an ominous groan. From the shadows of the doorway emerges an extremely muscular old man, his presence immediately commanding attention. The moment his eyes fall upon Seryk and Nimeria, his expression transforms into something terrifying-pure, unbridled fury.">>
<center><img src="images/story/chapter4/gairosfight/gairosfurious.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "The air itself seems to grow thick with tension. This man's rage is palpable, radiating outward like heat from a forge. Whatever history exists between these people, it's about to explode into the open.">>
<<continueBox "GairosConfrontation" "The tension reaches a breaking point..." "">>
</div>
<</nobr>>
<<pov "rylan" "family.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "A chill runs down my spine as Veloria's expression grows darker, more serious. Her casual demeanor shifts to something ancient and weary.">>
<<dialog "Veloria" "face" "Time is a river I've been watching from the shore for three centuries now. The question isn't my age-it's which era I've witnessed from this prison between moments. I've been trapped here since the war... the real war, not the skirmish your heroes call their great victory.">>
<<thought "Rylan" "facethinking" "The war? She speaks as if there was something far greater than the battle against the Demon King. What conflict could dwarf that legendary struggle?">>
<<dialog "Rylan" "facethinking" "Wait... what war are you talking about? The only major conflict anyone knows about is when my $bothToHuman defeated the Demon King. Are you saying there was something even greater than that?">>
<<narrative "Veloria's laugh is hollow, tinged with three centuries of bitter amusement. She waves her hand dismissively, as if brushing away the very notion.">>
<<dialog "Veloria" "face" "Child, your guardians' little adventure was barely a footnote in the annals of true conflict. While they celebrated their victory over one demon lord, I witnessed the shattering of worlds, the reshaping of reality itself. But enough ancient history-we have more pressing concerns.">>
<<narrative "Her gaze returns to the crystal ball, and her expression grows grave. The weight of impending doom settles over the room like a shroud.">>
<<dialog "Veloria" "face" "Your companions' life threads tell a different story than this pleasant façade you all maintain. Most have grown stronger, more vibrant since our last encounter. But one... one unravels before my very eyes. The tapestry of fate rarely lies, young one. Death stalks your circle.">>
<center><img src="images/items/ropebreak.webp" style="width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<thought "Rylan" "faceworried" "Despite every rational thought telling me this is madness, I find myself believing her. The accuracy of her descriptions, the impossible nature of this place... too many coincidences to dismiss.">>
<<dialog "Rylan" "faceworried" "Alright... assuming you're not just an elaborate con artist, tell me who. Which of my friends is in danger?">>
<<narrative "Veloria's eyes light up with satisfaction. She's been waiting for this moment-the moment I finally take her seriously.">>
<<dialog "Veloria" "face" "Ah, now we make progress. Fear for those we love is perhaps the only force strong enough to pierce the veil of stubborn disbelief.">>
<<dialog "Rylan" "face" "Cut the philosophical bullshit. My skepticism doesn't matter if one of my friends dies because I was too proud to listen. Just... tell me what I need to know.">>
<<narrative "For the first time since I entered this place, Veloria's expression shows something approaching genuine sympathy. Her ancient eyes soften slightly.">>
<<dialog "Veloria" "face" "Such wisdom in your desperation... Very well. The identity remains shrouded-fate is cruel that way. But the certainty is absolute. Death comes swiftly, perhaps within days. A week at the outside, though I fear it may be sooner.">>
<<dialog "Rylan" "faceworried" "What can I do to change it?">>
<<dialog "Veloria" "face" "Theoretically, fate can be changed. But usually, when people try to intervene, they end up setting fate on the very path toward death in the first place. You never know what to do beforehand.">>
<<dialog "Rylan" "face" "What can I do?">>
<<dialog "Veloria" "face" "I won't do it for free...">>
<<continueBox "WhispersWisdomPayment" "Ask about the price..." "">>
</div>
<</nobr>>
<<pov "rylan" "mystical.mp3">><<nobr>>
<div class="passage-container rylan">
<<thought "Rylan" "faceskeptical" "Of course. Nothing this powerful comes without a price. I should have known she'd demand payment for such critical information.">>
<<dialog "Rylan" "faceskeptical" "Right, of course there's a catch. So what's your price for this life-saving information?">>
<<narrative "Veloria's smile returns, cold and calculating. The brief moment of sympathy vanishes as quickly as it appeared.">>
<<dialog "Veloria" "face" "Ten thousand gold pieces.">>
<<thought "Rylan" "faceshocked" "Ten thousand... that's an absolute fortune. More money than I've seen in my entire life. More than most people will ever have.">>
<<dialog "Rylan" "faceshocked" "Ten thousand?! That's not just a house-that's a mansion with servants and enough left over to live in luxury for years!">>
<<narrative "Veloria leans back in her chair, completely unmoved by my shock. To her, this amount might as well be pocket change.">>
<<dialog "Veloria" "face" "Consider this: if I approached any monarch with the power to alter fate itself, they would empty their treasury without hesitation. Ten thousand? They'd pay a hundred times that sum to save their bloodline.">>
<<thought "Rylan" "faceworried" "She's right, but that doesn't make it any less impossible. I'm barely scraping by as an adventurer. Ten thousand gold might as well be ten million.">>
<<dialog "Rylan" "faceworried" "You're absolutely right, but I'm not royalty. I'm a struggling adventurer who can barely afford decent equipment. Even with the most dangerous missions, I might scrape together a thousand gold in a week-if I'm incredibly lucky and don't die trying.">>
<<narrative "Veloria's expression doesn't change. She's clearly dealt with this situation before-desperate people making impossible promises they can't keep.">>
<<dialog "Veloria" "face" "How fortunate for you that I exist outside the constraints of mortal time. Weeks, months, years-all meaningless here. Simply promise payment with appropriate interest, and I'll collect when fate allows. Debts have a way of finding their debtors, regardless of how long it takes.">>
<<thought "Rylan" "face" "The way she says that sends a chill down my spine. This isn't just a business transaction-I'm making a deal with something far beyond human understanding. But what choice do I have?">>
<<dialog "Rylan" "face" "Fine. I promise to pay you ten thousand gold, with whatever interest you deem fair. Now please-tell me who's in danger.">>
<<dialog "Veloria" "face" "Okay, let me see how they connect. Hmm...">>
<<narrative "Five minutes pass in silence as Veloria stares intensely at something I can't see, her hands moving in complex patterns over her crystal ball.">>
<<dialog "Rylan" "facefrustrated" "What now?">>
<<dialog "Veloria" "face" "Don't stress me! There are so many ropes connected, it's hard to find their base...">>
<<narrative "Another thirty minutes crawl by. I'm starting to wonder if this is all an elaborate scam when Veloria finally looks up.">>
<<continueBox "WhispersWisdomAnswer" "Wait for the answer..." "">>
</div>
<</nobr>>
<<pov "rylan" "mystical.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "Finally, Veloria's eyes snap open with sudden clarity. But instead of relief, her expression fills me with dread-she looks genuinely disturbed by whatever she's seen.">>
<<dialog "Veloria" "face" "The threads have revealed their secret. Death comes cloaked in arcane power beyond mortal comprehension. Beware magic that could reshape reality itself.">>
<<thought "Rylan" "facefrustrated" "After all that buildup, after that enormous price... this is what I get? A vague warning about magic? I feel my frustration boiling over.">>
<<dialog "Rylan" "facefrustrated" "Are you serious?! After an hour of mystical divination and a ten thousand gold promise, your earth-shattering revelation is 'watch out for magic'? We face magical threats every single day as adventurers!">>
<<narrative "Veloria's expression hardens. For a moment, I see a flash of the immense power she claims to possess-three centuries of accumulated strength, terrible and utterly beyond my comprehension.">>
<<dialog "Veloria" "face" "Child, your petty dungeon spells and monster hexes are parlor tricks compared to what approaches. I speak of magic that could erase cities, that could unweave the very fabric of existence. Power sufficient to kill gods-including myself.">>
<<thought "Rylan" "faceconfused" "If she can truly kill someone as powerful as herself, I need to understand what we're dealing with. What kind of monster threatens my friends?">>
<<dialog "Rylan" "faceconfused" "Just how powerful are you? I need to understand the scale of what we're facing.">>
<<narrative "Veloria's expression becomes contemplative, almost melancholy. For the first time, she seems to look inward rather than at the threads of fate around us.">>
<<dialog "Veloria" "face" "In my era, perhaps one or two beings could match my strength-and they're long dead. The fact that your realm still exists suggests the current generation lacks such titans. Which makes this threat all the more terrifying.">>
<<thought "Rylan" "face" "Someone capable of god-level destruction... The demon king perhaps, but he's dead. That leaves only the legendary heroes' party. $humanToThalor is formidable, but his strength is physical, not magical. $humanToMariel has powerful healing magic, but nothing destructive enough to threaten Veloria...">>
<<narrative "Veloria clears her throat pointedly, clearly trying to regain my attention, but I'm lost in thought.">>
<<dialog "Veloria" "face" "Ahem.">>
<<thought "Rylan" "face" "Then there's Master Gairos and that dryad woman-Verdalis, wasn't it? But Gairos serves in the capital and has no quarrel with our family. Unless... could there be others? Perhaps a new demon lord has risen, or foreign powers with arcane knowledge we've never encountered...">>
<<narrative "Veloria's patience finally snaps. Her voice erupts with all the fury of a goddess scorned.">>
<<dialog "Veloria" "face" "CHILD! CEASE YOUR PRATTLING AND LISTEN TO ME!">>
<<thought "Rylan" "faceshocked" "Her outburst jolts me back to reality. The mystic energy around her seems to crackle with barely contained power-I definitely don't want to anger her further.">>
<<dialog "Rylan" "faceshocked" "Forgive me! I was trying to process the implications of such power.">>
<<narrative "Veloria takes a deep breath, her composure returning like a mask sliding back into place. The dangerous energy dissipates, but I can still feel its lingering presence.">>
<<dialog "Veloria" "face" "Can you think of anyone else in your realm who possesses such devastating capability?">>
<<dialog "Rylan" "facethinking" "Honestly? Only the fallen Demon King possessed such might, and he's long dead. The heroes who defeated him are the strongest living beings I know of, but none would harm their own companions. I can't fathom who else could threaten someone of your caliber.">>
<<narrative "Veloria nods grimly, as if my answer confirms something she already suspected. Her demeanor shifts from interrogator to benefactor as she reaches into the folds of reality itself.">>
<<dialog "Veloria" "face" "Then I have shared all the wisdom I can offer. But before you depart, accept this." "She materializes an intricate ticket from thin air" "This will grant you passage back to my sanctuary from anywhere in your realm. Simply hold it while crossing any threshold and focus your thoughts upon me.">>
<center><img src="images/items/ticket.webp" style="width: 300px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "I take the shimmering ticket, feeling its strange warmth against my palm. The material seems to shift between paper and pure energy, defying easy description.">>
<<dialog "Veloria" "face" "Above all else, young one-guard your companions with vigilance. Death stalks in shadows deeper than you can imagine.">>
<<continueBox "WhispersWisdomExit" "Leave the shop..." "">>
</div>
<</nobr>>
<<pov "rylan" "mystical.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "🌅 Outside Whisper's Wisdom 🌅">>
<<thought "Rylan" "face" "Nimeria! How could I forget she's been waiting outside this entire time? What if something terrible happened while I was trapped in this timeless void? My heart races with sudden panic.">>
<<narrative "I bolt toward the exit in desperation, just as Veloria's exasperated voice echoes behind me through the mystical chamber.">>
<<dialog "Veloria" "face" "Foolish child! Have you forgotten my words about this sanctuary existing beyond temporal flow?">>
<<narrative "Bursting through the shop's entrance, I'm overwhelmed with relief to find Nimeria exactly where I left her, peacefully seated on the same bench. The terror that had gripped my heart dissolves as I rush to her, pulling her into a desperate embrace.">>
<<dialog "Nimeria" "facehappy" "Whoa, what happened in there? Not that I'm complaining about the hug, hehe.">>
<<thought "Rylan" "faceworried" "How do I even begin to explain what I've just experienced? The weight of Veloria's warning presses down on me like a crushing burden.">>
<<dialog "Rylan" "faceworried" "The woman in there... she told me one of my friends is going to die soon.">>
<<narrative "Nimeria's expression immediately shifts to one of grave concern. Her usual playful demeanor vanishes, replaced by something far more serious and calculating.">>
<<dialog "Nimeria" "faceworried" "Wait, what? I need to talk to her.">>
<<narrative "Nimeria strides purposefully toward the shop entrance, but her hands meet only solid, unyielding wood. I join her efforts, pressing against the barrier with growing frustration, but the mystical portal has sealed itself completely against our return.">>
<<thought "Rylan" "faceconfused" "The shop that seemed so real moments ago now feels like a fortress barred against intruders. Has Veloria's sanctuary truly vanished, or simply hidden itself from unwanted visitors?">>
<<dialog "Rylan" "faceconfused" "That's weird... it's like the door is completely sealed now.">>
<<narrative "Nimeria's concern gradually transforms into something warmer, more protective. Her smile returns, but it carries depths I've never noticed before-as if she's making some unspoken vow.">>
<<dialog "Nimeria" "facesmile" "Don't worry, we'll keep everyone safe. I promise. But I'm really happy that you'd be worried about me dying.">>
<<thought "Rylan" "face" "There's something profound in her words, a weight that suggests her promise carries more power than mere sentiment. How deep do Nimeria's abilities truly run?">>
<<dialog "Rylan" "face" "Of course I would. We are friends, Nimeria.">>
<<narrative "A subtle blush colors Nimeria's cheeks, and for a moment, her composed mask slips to reveal something startlingly vulnerable beneath.">>
<<dialog "Nimeria" "facesmile" "Aww, that's sweet... Maybe someday you'll think of me as more than just friends, hehe. Anyway, it's getting late. Let's head home and you can tell me everything that woman said. I want to hear every detail.">>
<<continueBox "WhispersWisdomHomeward" "Head home..." "">>
</div>
<</nobr>>
<<pov "rylan" "nimeriadate.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "🏃♂️ Walking Home 🏃♂️">>
<<narrative "As we walk home, I recount everything that happened in Veloria's shop. Nimeria listens intently, asking pointed questions about the rope metaphor, the warning about strong magic, and especially about Veloria calling Seryk and her 'elves.' When we're near home, we encounter Seryk approaching from the opposite direction.">>
<<dialog "Seryk" "face" "Well, well! How'd the date with my sister go?">>
<<dialog "Rylan" "facefrustrated" "Oh come on, not you too!">>
<<dialog "Seryk" "facesmile" "Haha, relax! Mariel told us about your little shopping trip. We've all been having fun with it.">>
<<dialog "Rylan" "faceshocked" "Wait, Liora too?!">>
<<dialog "Seryk" "face" "Don't worry, she's not jealous or anything. Actually thought it was pretty funny.">>
<<narrative "Seryk steps closer and lowers his voice so only I can hear.">>
<<dialog "Seryk" "face" "Thanks for taking Nim out today. I know she can be... intense, but she's got a good heart underneath all that attitude.">>
<<dialog "Nimeria" "faceserious" "...I can hear you, Seryk...">>
<<dialog "Seryk" "facesmile" "Hahaha!">>
<<narrative "Seryk whispers even quieter, his expression growing more serious.">>
<<dialog "Seryk" "face" "But seriously though, I really appreciate it. If anything ever happens to me, just... look out for her, alright? She's all the family I've got.">>
<<dialog "Rylan" "faceworried" "Hey, don't talk like that! Nothing's going to happen to you.">>
<<dialog "Nimeria" "facethinking" "What are you whispering to $humanName?!">>
<<dialog "Seryk" "facesmile" "Oh, nothing much. Just telling him how much better I'd treat him than you would." " *winks*">>
<<dialog "Nimeria" "faceangry" "SERYK!">>
<<narrative "Nimeria chases after Seryk, despite her smaller frame and weaker body. I can see that Seryk deliberately slows down so she can keep up with him. The neighbors stare in shock at the sight of two demons happily chasing each other-something unheard of for 'slaves.'">>
<<thought "Rylan" "face" "Watching them like this... this is what happiness looks like. Maybe Veloria was wrong. Who would want to destroy something so pure?">>
<<narrative "In the distance, I can see our house. Serin and Liora are standing at the entrance, and there's a carriage nearby. Wait... is that...">>
<<dialog "Rylan" "faceshocked" "Is that $humanToThalor?!">>
<<continueBox "ThalorArrival" "Approach the house..." "">>
</div>
<</nobr>>
<<pov "rylan" "nimeriadate.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "🔮 Whisper's Wisdom - The Return 🔮">>
<<narrative "The familiar mystical atmosphere of the shop envelops me as I step inside. Veloria sits behind her crystal ball, her knowing smile unchanged from our last encounter. Something about her presence feels both ancient and timeless.">>
<<dialog "Veloria" "face" "Ah, the threads of fate bring you back to me...">>
<<narrative "Her voice carries an otherworldly echo that seems to resonate from multiple dimensions at once. Her knowing gaze pierces through me as if reading chapters of my life I haven't even written yet.">>
<<dialog "Veloria" "face" "How fascinating. Your destiny has taken such unexpected turns since our last encounter.">>
<<thought "Rylan" "faceconfused" "Here we go again. She's looking at me like I'm some cosmic puzzle she's trying to solve, and I have no idea what she's talking about.">>
<<dialog "Rylan" "faceconfused" "What's so fascinating? You're staring at me like I've grown a second head.">>
<<dialog "Veloria" "face" "The tapestry of your future has been rewoven entirely. Choices you've made, bonds you've forged... they've altered the very fabric of possibility around you. Such dramatic changes in so short a time.">>
<<thought "Rylan" "faceskeptical" "I can't help but roll my eyes. Here comes the mystical fortune-teller routine again. Let me guess-she'll speak in riddles and then demand payment for her 'wisdom.'">>
<<dialog "Rylan" "faceskeptical" "Right, here comes the part where you speak in cryptic riddles and then demand payment for your 'profound insights.'">>
<<narrative "To my surprise, Veloria throws back her head and erupts in genuine laughter-rich, melodious, and completely unrestrained. The sound echoes through the mystical shop like music from another realm.">>
<<dialog "Veloria" "face" "Oh, how delightfully cynical! You truly have no idea who stands before you, do you? Though I suppose that's hardly surprising-it has been centuries since anyone spoke my name with recognition. Time has a way of erasing even legends.">>
<<dialog "Rylan" "face" "Should I know you?">>
<<narrative "Veloria's amusement fades slightly, replaced by something more calculating. She leans forward, her ancient eyes studying me with renewed interest.">>
<<dialog "Veloria" "face" "Tell me, child-did it never strike you as curious that this establishment materialized from absolute nothingness? That one day empty space, the next a fully formed shop of wonders?">>
<<thought "Rylan" "facethinking" "She has a point, but Nimeria already explained this phenomenon. Magic shops aren't exactly common, but they're not unheard of either.">>
<<dialog "Rylan" "facethinking" "Nimeria already explained that phenomenon. Magical establishments occasionally manifest spontaneously, though she warned me to enter alone-apparently multiple visitors can cause unpredictable dimensional instabilities.">>
<<narrative "For the first time since I've met her, Veloria looks genuinely impressed. Her eyebrows rise slightly, and there's something approaching respect in her ancient gaze.">>
<<dialog "Veloria" "face" "Remarkable. At least one member of your little band possesses genuine wisdom. Her caution is well-founded-though this particular sanctuary transcends even those rules. If you truly wish to understand, cast your gaze beyond that window.">>
<<continueBox "WhispersWisdomWindow" "Look out the window..." "">>
</div>
<</nobr>>
<<pov "rylan" "mystical.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "Curious despite my skepticism, I approach the window and peer outside. What I see makes my stomach drop and my head spin with vertigo.">>
<center><img src="images/landscapes/void.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Nothing. Absolute, complete nothingness stretches in every direction. Not darkness-that would still be something-but pure, empty void that seems to pull at my consciousness just by looking at it. I quickly step back from the window, my hands trembling.">>
<<dialog "Rylan" "faceshocked" "What... what is that? There's nothing out there!">>
<<dialog "Veloria" "face" "This place exists outside of time and space. You could remain here for hundreds of years, and only minutes would pass in your world.">>
<<dialog "Rylan" "faceworried" "What the hell... But how? How is this even possible?">>
<<dialog "Veloria" "face" "Have you heard of the... what do they call it these days... ah yes, the resonance system? Well, I already know the answer just by looking at you.">>
<<dialog "Rylan" "facethinking" "Yes, Elena told us about it. Basically, we get stronger through our bonds with each other.">>
<<narrative "Veloria's laughter echoes through the shop, but this time there's something almost mocking in it.">>
<<dialog "Veloria" "face" "Hahaha! That's barely five percent of what the resonance system is truly capable of. I was the one who discovered it. Or rather, I continued Veryn's research on the soul.">>
<<dialog "Rylan" "faceconfused" "Veryn... I think I've heard that name before.">>
<<dialog "Veloria" "face" "It's a rather long story. Perhaps I'll tell you another time. What's fascinating is that you don't know Veryn, yet you've seemingly continued his experiments. I can see that you've experimented on your soul... accidentally, perhaps? No, I can't imagine that happening by chance.">>
<<dialog "Rylan" "face" "The soulstones?">>
<<dialog "Veloria" "face" "Soulstones? Well, never mind the terminology. What matters is that I can see your lifespan and those connected to you.">>
<<dialog "Rylan" "faceskeptical" "Ah yeah... sure you can.">>
<<continueBox "WhispersWisdomRopes" "Continue the conversation..." "">>
</div>
<</nobr>>
<<pov "rylan" "mystical.mp3">><<nobr>>
<div class="passage-container rylan">
<<dialog "Veloria" "face" "I see you still don't believe me. Very well. Imagine your lifespan as a rope. Yours is remarkably thick-not easily broken. You'll most likely have a long life ahead of you.">>
<center><img src="images/items/rope.webp" style="width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Veloria" "face" "Your friends' souls are connected to yours. I think you should be able to slightly feel them even now, correct?">>
<<thought "Rylan" "facethinking" "Now that she mentions it... I can sense something. A warmth, connections that tug gently at my consciousness. Liora's gentle presence, Serin's fierce energy, even Nimeria and Seryk feel... connected somehow.">>
<<dialog "Rylan" "facethinking" "Somehow... yes. I can feel them.">>
<<dialog "Veloria" "face" "Imagine your friends as smaller ropes connected to yours, like this:">>
<center><img src="images/items/ropes.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Veloria" "face" "In reality, every rope is connected to each other as well, but that would be too complicated for your little brain to comprehend.">>
<<dialog "Rylan" "facefrustrated" "Hey!">>
<<dialog "Veloria" "face" "What's truly interesting is that your rope, as well as those of the others, has grown stronger since your last visit. Well, all but one, which is quite intriguing.">>
<<dialog "Rylan" "faceworried" "How so?">>
<<dialog "Veloria" "face" "As I explained, these ropes represent lifespan. It doesn't make sense for them to become stronger unless you've manipulated your souls somehow.">>
<<dialog "Rylan" "face" "Oh...">>
<<dialog "Veloria" "face" "Do you believe me now?">>
<<dialog "Rylan" "faceskeptical" "Hmm... no, not really.">>
<<narrative "Veloria's expression shifts to something darker, more serious. The playful atmosphere in the shop suddenly feels heavy.">>
<<dialog "Veloria" "face" "Perhaps it's better that you remain skeptical. But let me at least warn you-one of your friends will die soon.">>
<<continueBox "WhispersWisdomWarning" "React to the warning..." "">>
</div>
<</nobr>>
<<pov "rylan" "mystical.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "The words hit me like a physical blow. The playful atmosphere vanishes instantly, replaced by cold dread that settles in my stomach like a stone.">>
<<dialog "Rylan" "faceshocked" "What the hell are you talking about?!">>
<<narrative "Veloria's eyes gleam with predatory satisfaction, like a cat that's finally cornered its prey. She savors my shock, feeding on the fear that's beginning to creep into my voice.">>
<<dialog "Veloria" "face" "Finally, I have your undivided attention. Now then, when mortality comes calling, who shall it claim? Perhaps that weathered champion whose sword arm trembles with age? Or his radiant healer, whose very life force blazes so intensely it may burn through her mortal vessel?">>
<<thought "Rylan" "faceworried" "My heart pounds as I realize she knows exactly who they are. This isn't some generic fortune telling-she's describing specific people in my life with uncanny accuracy.">>
<<dialog "Rylan" "faceworried" "Everyone in Lindale knows about my $bothToHuman-Thalor and Mariel, the heroes who defeated the Demon King. You're not exactly revealing hidden knowledge here.">>
<<narrative "Veloria's smile grows wider, more predatory. She's clearly enjoying this game of psychological chess.">>
<<dialog "Veloria" "face" "But perhaps the danger lies closer to your own generation... Consider the fierce warrior maiden whose spirit burns like wildfire-always first into battle, always risking everything for glory. Or that luminous healer whose innocence shines so purely it seems almost otherworldly-too perfect for this cruel realm.">>
<<thought "Rylan" "facethinking" "Serin and Liora... she's describing them perfectly. My hands start trembling. How can she know these details?">>
<<dialog "Rylan" "facethinking" "Liora and Serin travel with me everywhere... but how do you know their personalities so well?">>
<<dialog "Veloria" "face" "And what of the azure-skinned giant whose fists could shatter stone? Such nobility in his bearing, despite the chains society would place upon him. An elf of remarkable presence...">>
<<narrative "Veloria's gaze grows distant, as if peering through layers of reality I cannot perceive. Her voice takes on an almost hypnotic quality.">>
<<dialog "Veloria" "face" "Then there's the dark-haired maiden with crimson flames dancing in her eyes-such haunting beauty, yet carrying shadows of ancient pain. Two elves... remarkable. Their life threads are unlike anything I've witnessed. At their foundation, there's a rupture-as if their original fate was severed-yet from that wound, stronger bonds have grown. Most peculiar...">>
<center><img src="images/items/bluerope.webp" style="width: 400px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<thought "Rylan" "faceconfused" "Elves? That's impossible. Everyone knows demons and elves are completely different races. But her descriptions are too accurate to dismiss. Something about this feels deeply wrong.">>
<<dialog "Rylan" "faceconfused" "You clearly know Seryk and Nimeria, they're not exactly inconspicuous around here. But calling them elves? They're demons-everyone knows that. How can you be so precise about everything else yet get something so fundamental wrong?">>
<<dialog "Veloria" "face" "Ah, so the old prejudices persist even in this age? How... disappointing, yet predictable.">>
<<narrative "Something in her tone suggests layers of history I can't even begin to fathom. The way she said 'even in this age' carries weight, as if she's speaking from a perspective spanning multiple centuries.">>
<<thought "Rylan" "faceworried" "The way she speaks about time, about ages... it's like she's discussing weather patterns instead of the passage of human lifetimes. Who-or what-is this woman?">>
<<dialog "Rylan" "faceworried" "What do you mean by 'even now'? And just how old are you? You speak like you've witnessed the rise and fall of civilizations.">>
<<continueBox "WhispersWisdomTimeReveal" "Continue the conversation..." "">>
</div>
<</nobr>>
<<pov "rylan" "mystical.mp3">><<nobr>>
<<set $timeOfDay = "morning">>
<<set $gameDay += 1>>
<div id="overlay-transition" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(0, 0, 0, 0.95), rgba(25, 25, 50, 0.9), rgba(0, 0, 0, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; opacity: 1; transition: opacity 2s ease-in-out;">
<div style="text-align: center; color: #E6E6FA; font-size: 1.8em; text-shadow: 2px 2px 8px rgba(0,0,0,0.8);">
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 0s infinite;">A long time ago...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 1s infinite;">In a world that would soon be lost...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 2s infinite;">When the castle still stood proud...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 3s infinite;">And hope had not yet fled...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 4s infinite;">The final days of peace began...</div>
</div>
</div>
<</nobr>>
<style>
@keyframes fadeInOut {
0%, 100% { opacity: 0; transform: translateY(20px); }
50% { opacity: 1; transform: translateY(0); }
}
</style>
<script>
setTimeout(() => {
document.getElementById('overlay-transition').style.opacity = '0';
}, 5000);
setTimeout(() => {
document.getElementById('overlay-transition').style.display = 'none';
}, 7000);
</script>
<div class="passage-container mira">
<center><img src="images/landscapes/castlehallway.webp" style="width: 400px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<narrative "The castle hallways echo with the soft sounds of Mira's cleaning. She moves methodically from window to window.">>
<<narrative "The sound of heavy footsteps echoes through the corridor. Azgorth approaches, his naked upper body glistening with sweat, black pants clinging to his muscular frame. His face carries an expression of deep concern.">>
<<dialog "Azgorth" "facethoughtful" "Mira," "How are you? Is everything... is everything fine?">>
<<dialog "Mira" "faceolder" "Yes, my lord. Everything is fine. The castle is clean, the windows are clear, and all is in order." "Mira looks up from her work, with her usual serious expression" "How is the war going?">>
<<narrative "In recent years, Mira had learned to respect Azgorth deeply. What had once been a formal relationship between servant and master had grown into something more profound. She had started calling him "lord" not out of obligation, but from genuine respect for the man who had proven himself worthy of such reverence.">>
<<dialog "Azgorth" "facesad" "It isn't going well," "Azgorth's expression darkens. He turns to look out the window, his gaze fixed on the distant horizon where smoke rises from burning villages" "he says quietly, his voice barely above a whisper">>
<<dialog "Azgorth" "facesad" "We will lose the war." "The words hang heavy in the air, like a death sentence pronounced on the entire kingdom. He turns back to face Mira directly, looking her in the eyes">>
<<dialog "Azgorth" "facesad" "I'm sorry," "he says, his voice cracking with emotion. Then, to Mira's shock, the mighty warrior slowly lowers himself to his knees before her">>
<<dialog "Azgorth" "facesad" "Thank you," "he says, his head bowed" "Thank you for all your service, for everything you've done for my children. My children are the world to me, and I... I wasn't a good father.">>
<<dialog "Mira" "faceolder" "My lord, please! You shouldn't go down on your knees. You're the king!" "Mira's eyes widen in shock and concern. She reaches out as if to help him up, but stops, uncertain of the proper protocol">>
<<dialog "Azgorth" "facesad" "I have to," "he insists, his voice firm despite his kneeling position" "I'm the reason everyone will die, you included. You should run away, Mira. Run away as long as you still can.">>
<<dialog "Mira" "faceolder" "Run where?" "Mira's expression hardens with determination. she asks, her voice steady despite the tears forming in her eyes" "I'll stay, my lord. Whatever happens, I'll stay. Even if you command me to leave.">>
<<dialog "Azgorth" "facesad" "I'm sorry," "Azgorth's shoulders shake with suppressed emotion. he whispers again, his voice barely audible" "I'm so sorry. I'm sorry for everything.">>
<<narrative "Mira watches the once-proud king kneeling before her, his bare chest and shoulders reflecting the dim light filtering through the windows. The castle around them feels suddenly fragile, like a house of cards waiting to collapse. The weight of his words hangs heavy in the air, a prophecy of doom that cannot be avoided.">>
<<continueBox "Chapter5MorningReturn" "Continue" "">>
</div>
<<pov "mira" "serykmalrikdream.mp3">><<script>>window.AudioSystem.playBGM('nimeria.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentNimeriaFace>><div class="nimeria-mischief-container" style="background-image: url('images/landscapes/night.webp'); background-size: cover; background-position: center; min-height: 600px; position: relative; border-radius: 10px; overflow: hidden;"><div class="night-overlay" style="background: linear-gradient(to bottom, rgba(75, 0, 130, 0.8), rgba(139, 0, 139, 0.9)); position: absolute; top: 0; left: 0; right: 0; bottom: 0;"></div><div class="mischief-content" style="position: relative; z-index: 2; padding: 30px; text-align: center;"> <h2 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin-bottom: 20px; font-size: 1.8em;">🌙 Midnight Visitations 🌙</h2> <div class="nimeria-thoughts" style="background: linear-gradient(145deg, rgba(120,80,160,0.3), rgba(100,60,140,0.4)); border: 2px solid rgba(200,150,255,0.4); border-radius: 12px; padding: 20px; margin: 20px auto; max-width: 600px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/nimeria/faceserious.webp" style="width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"> <p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; line-height: 1.6;"><span class="dialog-nimeria">*The house sleeps, but not all doors are open to me tonight. Some opportunities present themselves... while others remain frustratingly out of reach.*</span></p><div style="clear: left;"></div></div><div class="character-influence-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 40px 0;"><div class="influence-option-wrapper" style="text-align: center; position: relative;"><div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;"><div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></div> <h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>></h3> <p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Sleeping peacefully, unaware..."</p></div> <<link "Visit his room" "RylanDreamcorruptionChoices">><</link>></div><div class="influence-option-wrapper" style="text-align: center; position: relative;"><div class="locked-option" style="position: relative; opacity: 0.6;"><div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/liora/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);"><div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div></div> <h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Liora</h3> <p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"So innocent, so trusting..."</p></div></div><div class="influence-option-wrapper" style="text-align: center; position: relative;"><div class="locked-option" style="position: relative; opacity: 0.6;"><div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/mariel/stage2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);"><div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div></div> <h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Mariel</h3> <p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Alone in her new room..."</p></div></div><div class="influence-option-wrapper" style="text-align: center; position: relative;"><div class="locked-option" style="position: relative; opacity: 0.6;"><div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/serin/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);"><div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div></div> <h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Serin</h3> <p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Light still shines under her door..."</p></div></div><div class="influence-option-wrapper" style="text-align: center; position: relative;"><div class="locked-option" style="position: relative; opacity: 0.6;"><div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/seryk/chapter2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);"><div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div></div> <h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Seryk</h3> <p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"He needs rest to heal his wounds..."</p></div></div><div class="influence-option-wrapper" style="text-align: center; position: relative;"><div class="locked-option" style="position: relative; opacity: 0.6;"><div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/thalor/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);"><div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div></div> <h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Thalor</h3> <p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Not in any bedroom tonight..."</p></div></div><div class="influence-option-wrapper" style="text-align: center; position: relative;"><div class="locked-option" style="position: relative; opacity: 0.6;"><div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;"><div class="magical-barrier" style="position: absolute; top: -10px; left: -10px; right: -10px; bottom: -10px; border: 3px solid rgba(255, 100, 100, 0.8); border-radius: 20px; box-shadow: 0 0 20px rgba(255, 100, 100, 0.6), inset 0 0 20px rgba(255, 100, 100, 0.3); animation: pulse-barrier 2s infinite;"></div> <img src="images/gairos/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);"><div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div></div> <h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Gairos</h3> <p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Magical barriers surround his room..."</p></div></div></div><div class="sleep-option" style="margin-top: 50px;"><div class="return-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease;"><div style="background: linear-gradient(145deg, rgba(120,80,160,0.2), rgba(100,60,140,0.3)); border: 2px solid rgba(200,150,255,0.3); border-radius: 10px; padding: 15px 25px; display: inline-block; box-shadow: 0 4px 8px rgba(0,0,0,0.3); backdrop-filter: blur(3px);"> <h3 style="color: #DDA0DD; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; font-size: 1.1em;">Return to my room</h3><p style="color: #C0A0C0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 5px 0 0 0; font-style: italic;">"Perhaps rest is what I need..."</p></div></div><div style="margin-top: 15px;"><<link "End the night" "Chapter5nightMarielTransition">><</link>></div></div></div></div>
<</nobr>>
<style>
@keyframes pulse-barrier {
0% { opacity: 0.6; transform: scale(1); }
50% { opacity: 1; transform: scale(1.02); }
100% { opacity: 0.6; transform: scale(1); }
}
.influence-option:hover {
transform: translateY(-5px) scale(1.05);
opacity: 0.9;
}
.influence-option:hover .character-frame {
border-color: rgba(255,255,255,0.5);
box-shadow: 0 12px 24px rgba(0,0,0,0.4);
}
.influence-option:hover img {
border-color: rgba(255,255,255,0.6);
transform: scale(1.05);
}
.influence-option:hover h3 {
color: #FFE6FF;
}
.return-option:hover {
transform: translateY(-3px) scale(1.02);
opacity: 0.9;
}
.mischief-content a {
color: #DDA0DD;
text-decoration: none;
background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(255,255,255,0.1));
border: 1px solid rgba(255,255,255,0.3);
border-radius: 8px;
padding: 10px 20px;
display: inline-block;
margin-top: 10px;
transition: all 0.3s ease;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
font-weight: bold;
font-size: 1.1em;
}
.mischief-content a:hover {
color: #FFE6FF;
background: linear-gradient(145deg, rgba(255,255,255,0.25), rgba(255,255,255,0.15));
border-color: rgba(255,255,255,0.5);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}
</style>
<<changeFace $currentNimeriaFace>>
<<statSummary>><<stopLoopingSounds>>
<<nobr>>
<<set $chapter6Dreams = false>>
<<script>>window.AudioSystem.playBGM('nimeria.mp3');<</script>><<set $currentFace = $currentNimeriaFace>><<if not $rylanDreamSeryk>><<set $rylanDreamSeryk = false>><</if>><<if not $rylanDreamMariel>><<set $rylanDreamMariel = false>><</if>><<if not $rylanDreamSelfGay>><<set $rylanDreamSelfGay = false>><</if>><<if not $rylanDreamSelfHetero>><<set $rylanDreamSelfHetero = false>><</if>><<if not $rylanDreamSelfHeteroDominantPOV>><<set $rylanDreamSelfHeteroDominantPOV = false>><</if>>
<<if not $rylanDreamSelfGayDominantPOV>><<set $rylanDreamSelfGayDominantPOV = false>><</if>> <div class="nimeria-mischief-container" style="background-image: url('images/landscapes/night.webp'); background-size: cover; background-position: center; min-height: 600px; position: relative; border-radius: 10px; overflow: hidden;"> <div class="night-overlay" style="background: linear-gradient(to bottom, rgba(75, 0, 130, 0.8), rgba(139, 0, 139, 0.9)); position: absolute; top: 0; left: 0; right: 0; bottom: 0;"></div> <div class="mischief-content" style="position: relative; z-index: 2; padding: 30px; text-align: center;"> <h2 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin-bottom: 20px; font-size: 1.8em;">🌙 Dream Manipulation 🌙</h2> <div class="nimeria-thoughts" style="background: linear-gradient(145deg, rgba(120,80,160,0.3), rgba(100,60,140,0.4)); border: 2px solid rgba(200,150,255,0.4); border-radius: 12px; padding: 20px; margin: 20px auto; max-width: 600px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/nimeria/faceserious.webp" style="width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"> <p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; line-height: 1.6;"><span class="dialog-nimeria">*My Knight sleeps so peacefully, unaware of the dreams I could weave into his mind. Each dream costs precious mana crystals... but the corruption they could plant might be worth the price.*</span></p><div style="clear: left;"></div></div> <div style="background: rgba(75, 50, 100, 0.3); border: 1px solid rgba(120, 80, 150, 0.5); border-radius: 8px; padding: 15px; margin: 20px auto; max-width: 400px;"> <p style="color: #DDA0DD; font-size: 1.1em; margin: 0;"><span style="color: #FFD700;">💎 Mana Crystals:</span> <span style="color: white; font-weight: bold;"><<print $crystals || 0>></span></p> <p style="color: #C0A0C0; font-size: 0.9em; margin: 5px 0 0 0; font-style: italic;">Each dream costs 3 crystals</p></div>
<div style="background: linear-gradient(145deg, rgba(100,60,140,0.2), rgba(80,40,120,0.3)); border: 1px solid rgba(150,100,200,0.4); border-radius: 8px; padding: 15px; margin: 20px auto; max-width: 700px; box-shadow: 0 4px 8px rgba(0,0,0,0.2); backdrop-filter: blur(3px);">
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; line-height: 1.6; font-size: 0.95em; font-style: italic;">💡 <strong>Fetish Development Note:</strong> As in real life, you can have a fetish for both dominance and submission, so in here too. Your dominance and submission fetish values directly influence resistance rolls throughout the story - higher values make certain scenarios easier or harder to resist. Having higher or lower fetish values won't lock you into or out of scenes - you are free to play both dream corruption scenes. However, some future story choices may be influenced by your decisions. Choose freely and explore both paths!</p></div> <div class="character-influence-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 40px 0;"> <<if ($rylan_GayValue || 0) > 1 and not $rylanDreamSeryk>><div class="influence-option-wrapper" style="text-align: center; position: relative;"> <div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;"> <div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/seryk/chapter2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></div> <div class="character-info"> <div class="character-description"> <h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Seryk</h3> <p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Intimate dreams of Seryk..."</p> <p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 3 Crystals</p></div> <div class="character-action"> <<if ($crystals || 0) >= 3>><<link "Weave Seryk Dream" "RylanSerykDream">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>></div></div></div></div> <<elseif $rylanDreamSeryk>><div class="influence-option-wrapper" style="text-align: center; position: relative;"> <div class="used-option" style="position: relative; opacity: 0.4;"> <div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/seryk/chapter2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);"> <div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 2.5em; color: rgba(255,255,255,0.8);">✓</div></div> <h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Seryk</h3> <p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Dream already woven..."</p></div></div> <<else>><div class="influence-option-wrapper" style="text-align: center; position: relative;"> <div class="locked-option" style="position: relative; opacity: 0.6;"> <div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/seryk/chapter2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);"> <div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div></div> <h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Seryk</h3> <p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Not enough attraction yet... (Need Gay Value > 1)"</p></div></div><</if>> <div class="influence-option-wrapper" style="text-align: center; position: relative;"> <div class="locked-option" style="position: relative; opacity: 0.6;"> <div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/mariel/stage2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);"> <div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div></div> <h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Mariel</h3> <p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Not enough sexual encounters yet..."</p></div></div> <<if not $rylanDreamSelfGay>><div class="influence-option-wrapper" style="text-align: center; position: relative;"> <div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></div> <h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>> (Gay - Submissive)</h3> <p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Passion, through another’s eyes..."</p> <p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 3 Crystals</p></div> <<if ($crystals || 0) >= 3>><<link "Submissive Gay Dream" "RylanSelfGayDream">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>></div> <<else>><div class="influence-option-wrapper" style="text-align: center; position: relative;"> <div class="used-option" style="position: relative; opacity: 0.4;"> <div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);"> <div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 2.5em; color: rgba(255,255,255,0.8);">✓</div></div> <h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>> (Gay - Submissive)</h3> <p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Dream already woven..."</p></div></div><</if>> <<if not $rylanDreamSelfGayDominant>><div class="influence-option-wrapper" style="text-align: center; position: relative;"> <div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;"> <div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></div> <h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>> (Gay - Dominant)</h3> <p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Dominate your other self..."</p> <p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 3 Crystals</p></div> <<if ($crystals || 0) >= 3>><<link "Dominant Gay Dream" "RylanSelfGayDreamDominantPOV">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>></div> <<else>><div class="influence-option-wrapper" style="text-align: center; position: relative;"> <div class="used-option" style="position: relative; opacity: 0.4;"> <div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);"> <div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 2.5em; color: rgba(255,255,255,0.8);">✓</div></div> <h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>> (Gay - Dominant)</h3> <p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Dream already woven..."</p></div></div><</if>> <<if $humanTransformationFeminine and not $rylanDreamSelfHetero>><div class="influence-option-wrapper" style="text-align: center; position: relative;"> <div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;"> <div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></div> <h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>>♀️ (Submissive)</h3> <p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Experience femininity from within..."</p> <p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 3 Crystals</p></div> <<if ($crystals || 0) >= 3>><<link "Submissive Dream" "RylanSelfHeteroDream">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>></div> <<elseif $humanTransformationFeminine and $rylanDreamSelfHetero>><div class="influence-option-wrapper" style="text-align: center; position: relative;"> <div class="used-option" style="position: relative; opacity: 0.4;"> <div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);"> <div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 2.5em; color: rgba(255,255,255,0.8);">✓</div></div> <h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>>♀️ (Submissive)</h3> <p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Dream already woven..."</p></div></div> <<elseif not $humanTransformationFeminine>><div class="influence-option-wrapper" style="text-align: center; position: relative;"> <div class="locked-option" style="position: relative; opacity: 0.6;"> <div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);"> <div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div></div> <h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>>♀️ (Submissive)</h3> <p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Feminine transformation required..."</p></div></div><</if>> <<if not $rylanDreamSelfHeteroDominantPOV>><div class="influence-option-wrapper" style="text-align: center; position: relative;"> <div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;"> <div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></div> <h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>>♀️ (Dominant)</h3> <p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Dominate your transformed self..."</p> <p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 3 Crystals</p></div> <<if ($crystals || 0) >= 3>><<link "Dominant Dream" "RylanSelfHeteroDreamMalePOV">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>></div> <<elseif $rylanDreamSelfHeteroDominantPOV>><div class="influence-option-wrapper" style="text-align: center; position: relative;"> <div class="used-option" style="position: relative; opacity: 0.4;"> <div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);"> <div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 2.5em; color: rgba(255,255,255,0.8);">✓</div></div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>>♀️ (Dominant)</h3> <p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Dream already woven..."</p></div></div> <<elseif not $humanTransformationFeminine>><div class="influence-option-wrapper" style="text-align: center; position: relative;"> <div class="locked-option" style="position: relative; opacity: 0.6;"> <div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);"> <div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div></div> <h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>>♀️ (Dominant)</h3> <p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Feminine transformation required..."</p></div></div><</if>> <div class="influence-option-wrapper" style="text-align: center; position: relative;"> <div class="locked-option" style="position: relative; opacity: 0.6;"> <div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/thalor/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);"> <div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div></div> <h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Thalor</h3> <p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Not enough sexual encounters yet..."</p></div></div> <div class="influence-option-wrapper" style="text-align: center; position: relative;"> <div class="locked-option" style="position: relative; opacity: 0.6;"> <div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/serin/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);"> <div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div></div> <h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Serin</h3> <p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Need to develop relationship further..."</p></div></div> <div class="influence-option-wrapper" style="text-align: center; position: relative;"> <div class="locked-option" style="position: relative; opacity: 0.6;"> <div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/liora/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);"> <div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div></div> <h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Liora</h3> <p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Their relationship is still too pure..."</p></div></div>
<div class="influence-option-wrapper" style="text-align: center; position: relative;"> <div class="locked-option" style="position: relative; opacity: 0.6;"> <div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);"> <img src="images/nimeria/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);"> <div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div></div> <h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Nimeria</h3> <p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Not enough sexual encounters yet..."</p></div></div> </div> <div class="sleep-option" style="margin-top: 50px;"> <div class="return-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease;"> <div style="background: linear-gradient(145deg, rgba(120,80,160,0.2), rgba(100,60,140,0.3)); border: 2px solid rgba(200,150,255,0.3); border-radius: 10px; padding: 15px 25px; display: inline-block; box-shadow: 0 4px 8px rgba(0,0,0,0.3); backdrop-filter: blur(3px);"> <h3 style="color: #DDA0DD; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; font-size: 1.1em;">Return to visitations</h3> <p style="color: #C0A0C0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 5px 0 0 0; font-style: italic;">"Perhaps someone else needs my attention..."</p></div></div> <div style="margin-top: 15px;"><<link "Back to night visits" "NimeriaNightVisits">><</link>></div></div> </div></div>
<</nobr>>
<style>
.influence-option-wrapper {
width: 180px;
height: 490px;
display: flex;
flex-direction: column;
justify-content: flex-start;
margin-bottom: 20px;
}
.influence-option, .used-option, .locked-option {
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
padding: 10px;
}
.character-frame {
height: 150px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 15px;
flex-shrink: 0;
}
.character-info {
flex-grow: 1;
display: flex;
flex-direction: column;
justify-content: space-between;
min-height: 120px;
}
.character-description {
flex-grow: 1;
margin-bottom: 15px;
}
.character-action {
margin-top: auto;
padding-top: 10px;
}
.character-frame img {
width: 120px !important;
height: 120px !important;
}
.influence-option:hover {
transform: translateY(-5px) scale(1.05);
opacity: 0.9;
}
.influence-option:hover .character-frame {
border-color: rgba(255,255,255,0.5);
box-shadow: 0 12px 24px rgba(0,0,0,0.4);
}
.influence-option:hover img {
border-color: rgba(255,255,255,0.6);
transform: scale(1.05);
}
.influence-option:hover h3 {
color: #FFE6FF;
}
.return-option:hover {
transform: translateY(-3px) scale(1.02);
opacity: 0.9;
}
.mischief-content a {
color: #DDA0DD;
text-decoration: none;
background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(255,255,255,0.1));
border: 1px solid rgba(255,255,255,0.3);
border-radius: 8px;
padding: 10px 20px;
display: inline-block;
margin-top: 10px;
transition: all 0.3s ease;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
font-weight: bold;
font-size: 1.1em;
}
.mischief-content a:hover {
color: #FFE6FF;
background: linear-gradient(145deg, rgba(255,255,255,0.25), rgba(255,255,255,0.15));
border-color: rgba(255,255,255,0.5);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}
</style>
<<changeFace $currentNimeriaFace>>
<<statSummary>><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<narrative "🌙 Forbidden Desires Dream 🌙">>
<<narrative "New pleasures, through familiar eyes...">>
<<narrative "I wake up lying on what appears to be my own bed, but something feels... different. The room shimmers with an ethereal quality, and I can sense that familiar presence watching me from the shadows.">>
<center><img src="images/rylan/chapter5/dream/selfgay/1.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "face" "This place again... where am I? Everything feels so surreal...">>
<<if $rylanDreamSeryk>>
<<dialog "Nimeria" "face" "Welcome back, my curious Knight," "the familiar voice purrs with obvious delight." "I see our previous encounter with Seryk left quite an impression on you. How delicious... your mind is becoming so wonderfully receptive to new experiences.">>
<<else>>
<center><img src="images/rylan/chapter5/dream/selfgay/2.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "face" "Hello again, my sweet $humanName," "the mysterious voice echoes through the dreamscape with playful warmth." "I do hope you're ready for another... educational experience.">>
<</if>>
<<dialog "Rylan" "faceangry" "You again! What do you want with me this time?">>
<<dialog "Nimeria" "face" "Oh, I have something very special planned for you tonight. A guest who I think you'll find... intimately familiar." "The voice takes on a sultry, mischievous tone." "I've designed him just for you, my dear Knight.">>
<center><img src="images/rylan/chapter5/dream/selfgay/3.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "The bedroom door opens slowly, and my heart stops. Standing in the doorway is... me. Or rather, someone who looks exactly like me, but there's something different about his presence. His posture is more confident, more commanding, his eyes holding a dominant intensity that makes my stomach flutter nervously.">>
<<quickRoll "Dominant Self Temptation" "Rylan" 70 5 "DominanceFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<changeLust "Rylan" 3>>
<<thought "Rylan" "face" "There's something intoxicating about seeing myself like this - confident, powerful, in control. It's... arousing.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selfgay/21.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "Hello there, beautiful," "the other me says with a voice that's deeper, more assured than my own." "I've been waiting to meet you.">>
<<dialog "Nimeria" "face" "Perfect, isn't he? I designed him just like you, $humanName... just a bit more dominating. If you play nice tonight, maybe next time we can switch roles and you can be the one in control.">>
<<dialog "Rylan" "faceangry" "What are you talking about? This is insane!">>
<<dialog "Nimeria" "face" "Sex, of course, my dear Knight," "the voice purrs with obvious amusement." "Today I want to show you the pleasure you can gain from another man through anal sex. Think of it as... the endgame of your curious explorations.">>
<<dialog "Rylan" "faceangry" "Are you completely crazy?! I won't do that!">>
<<dialog "Nimeria" "face" "Yes, I am quite crazy, $humanName. Delightfully so," "she laughs with wicked delight." "In reality, you would need much more preparation to avoid serious injury. But in here, we can skip all those tedious preliminaries. Sadly, we have so little time for proper education...">>
<<narrative "Suddenly, waves of intense heat wash over my body. My skin flushes and becomes hypersensitive, my heart racing as unwanted arousal courses through my veins. I can feel myself becoming hard despite my mental protests.">>
<<quickRoll "Forced Arousal" "Rylan" 65 5 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.4>>
<<changeLust "Rylan" 4>>
<<thought "Rylan" "face" "The way my body responds against my will is both terrifying and... strangely exciting. I can't control it.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selfgay/31.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceembarrassed" "What's happening to me?! Why do I feel so...">>
<<narrative "I gasp, my voice trailing off as the arousal intensifies beyond my control.">>
<<dialog "Nimeria" "face" "Now, my sweet boy, get on all fours and show him your pleasure hole. Present yourself like a good little puppy.">>
<<narrative "Against my will, my body moves without my permission. I find myself turning around and getting on my hands and knees on the bed, my most intimate area completely exposed and vulnerable. The humiliation burns through me like fire.">>
<<quickRoll "Exhibition Temptation" "Rylan" 60 5 "ExhibitionismFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "ExhibitionismFetish" 0.4>>
<<changeLust "Rylan" 4>>
<<thought "Rylan" "face" "Being exposed like this is humiliating, but there's also something... thrilling about the vulnerability.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selfgay/41.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangry" "Stop this! I don't want this! Please!">>
<<narrative "I shout desperately, my voice cracking with shame and terror.">>
<<dialog "Nimeria" "face" "I just want to help you, my dear Knight. This is just a dream, so it doesn't really count, does it?" "Her voice takes on a falsely soothing tone." "And believe me, you'll like it. If not, then simply forget it happened and move on. But trust me... you'll love every moment of it.">>
<<narrative "I feel the other me climbing onto the bed behind me, his hands gently caressing my exposed skin. His touch is surprisingly tender, almost loving, which confuses me even more.">>
<<quickRoll "Gentle Touch Temptation" "Rylan" 55 5 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<changeLust "Rylan" 3>>
<<thought "Rylan" "face" "His touch is so gentle, so caring. It's confusing how good it feels despite the circumstances.">>
<</if>>
<<dialog "Rylan" "faceeerie" "You're so beautiful like this," "the dominant version of me whispers, his voice filled with desire and authority." "I'm going to make you feel things you never imagined possible.">>
<<dialog "Nimeria" "face" "But enough chatter, you lovebirds. Continue your dance of passion. I'm giving him full control while I... attend to other matters." "The voice fades away with wicked laughter.">>
<<narrative "I feel him moving closer behind me, his warmth radiating against my exposed skin. But instead of immediately trying to enter me, he does something completely unexpected - he begins to rub his hardness against my lower back and down across my cheeks, the hot flesh sliding slowly across my skin.">>
<center><img src="images/rylan/chapter5/dream/selfgay/4.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "Mmm, you feel so perfect under me," "he murmurs, his voice thick with desire as he continues the slow, teasing motions." "I want to savor every moment of this.">>
<<narrative "The sensation is maddening - his hardness sliding against my most sensitive areas, the heat and firmness of him creating friction that makes my breath catch. I can feel myself responding despite my mental protests, my body trembling with unwanted arousal.">>
<<quickRoll "Body Betrayal" "Rylan" 50 5 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.4>>
<<changeLust "Rylan" 5>>
<<thought "Rylan" "face" "My body is responding so strongly to his touch. Why can't I control this?">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selfgay/5.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangry" "Stop this! *I don't want this..., but why does my body feel so...*" "I gasp, my voice shaking with confusion and unwanted arousal.">>
<<narrative "He continues his slow, deliberate movements, his hands gently caressing my sides as his hardness slides up and down along my spine, then back down to tease between my cheeks. The intimate contact is driving me to distraction, making my heart race with anticipation I don't want to feel.">>
<center><img src="images/rylan/chapter5/dream/selfgay/6.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "I'm getting you ready, beautiful. I can feel how your body is responding to me... you're perfect like this." "His voice is husky with desire as he continues the slow, torturous teasing.">>
<<narrative "Minutes pass with this exquisite torture, his hardness gliding against my skin, creating a slick trail of arousal that makes everything more sensitive. My breathing becomes ragged as unwanted waves of pleasure wash over me, my body betraying my mind's resistance.">>
<center><img src="images/rylan/chapter5/dream/selfgay/7.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangry" "Please stop... I don't want this! *But why can't I make my body stop responding?!*">>
<<narrative "I whimper, my voice breaking with the intensity of the unwanted sensations.">>
<<narrative "Finally, after what feels like an eternity of this maddening buildup, I feel him positioning himself differently. His tip presses gently against my entrance, not pushing yet, just creating contact that makes my entire body tense with anticipation and fear.">>
<center><img src="images/rylan/chapter5/dream/selfgay/8.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "Now I'm going to claim you, beautiful. Relax for me and let me in slowly.">>
<<narrative "Slowly, incredibly slowly, he begins to push forward. The sensation is overwhelming - a mixture of pressure, stretching, and something else entirely that makes my mind reel. I can feel myself being opened, filled partway with his hardness as he pauses, letting me adjust to this foreign intrusion.">>
<center><img src="images/rylan/chapter5/dream/selfgay/9.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceshock" "No... no, I don't want this! *I can feel him inside me... this is so wrong!*">>
<<narrative "I gasp, my voice breaking with the overwhelming and unwanted sensations coursing through my body.">>
<<narrative "He's only halfway inside me, but already I can feel myself being stretched and filled in ways I never imagined. The sensation is foreign and overwhelming, yet my body seems to be adapting, responding with unwanted arousal that confuses and frightens me.">>
<<continueBox "RylanSelfGayDream2" "The sensations intensify..." "">>
</div>
<</nobr>>
<<pov "rylan" "intimate5.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/handjob.mp3" 1>>
<div class="passage-container rylan">
<<narrative "🌙 Slow, Sensual Domination 🌙">>
<<narrative "Every inch a conquest, every thrust a revelation...">>
<<narrative "I feel him begin to move inside me with agonizing slowness. Each inch he withdraws feels like a loss, each inch he pushes back in feels like a violation. But I can't move, can't fight back - my body is completely at his mercy.">>
<<quickRoll "Penetration Temptation" "Rylan" 45 5 "SubmissionFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.5>>
<<changeLust "Rylan" 5>>
<<thought "Rylan" "face" "Being filled like this is overwhelming, but there's something... primal about the sensation.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selfgay/10.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "No... please stop... I can't move... I can't fight back..." "I whimper helplessly, my voice trembling with shame and unwanted arousal." "Why can't I make my body respond to my mind?">>
<<dialog "Rylan" "faceeerie" "Perfect," "he murmurs with dark satisfaction, his voice thick with desire." "You're taking me so well, beautiful. I can feel every inch of you wrapped around me, accepting what you think you don't want.">>
<<narrative "His movements are torturously slow, each withdrawal making me feel empty and desperate, each return filling me with unwanted sensations. I can feel every ridge, every vein of him as he slides in and out of me with deliberate precision.">>
<<quickRoll "Slow Torture Temptation" "Rylan" 40 5 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.4>>
<<changeLust "Rylan" 4>>
<<thought "Rylan" "face" "The slow, deliberate movements are maddening. I can feel every detail of him inside me.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selfgay/11.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangrycry" "I hate this... I hate how it feels... *but why can't I stop my body from responding?*" "I gasp, my voice breaking with confusion and unwanted pleasure." "This is wrong... so wrong...">>
<<narrative "He continues his slow, methodical rhythm, each thrust calculated to maximize my discomfort and my unwanted arousal. I can feel myself adapting to his size, my body betraying my mind by accepting this violation.">>
<center><img src="images/rylan/chapter5/dream/selfgay/12.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "Your body is telling me the truth, even if your mind won't admit it," "he whispers huskily, his hands gripping my hips possessively." "I can feel you clenching around me, begging for more even as you protest.">>
<<narrative "The sensation is maddening - I can feel every inch of him moving inside me, creating friction that sends unwanted waves of pleasure through my body. My mind screams in protest, but my body responds with traitorous arousal.">>
<center><img src="images/rylan/chapter5/dream/selfgay/13.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "No... no, I'm not... I don't want this!" "I cry out desperately, but my voice betrays me with its breathless quality." "Please stop... I can't take much more...">>
<<narrative "He increases his pace slightly, still maintaining that torturous slowness but with more deliberate force. Each thrust now goes deeper, hitting places inside me that make my breath catch and my body tremble with unwanted responses.">>
<<dialog "Rylan" "faceeerie" "That's it, beautiful. Let yourself feel everything," "he groans with satisfaction, his voice becoming more commanding." "I can feel you starting to accept this, starting to want what I'm giving you.">>
<<narrative "Despite my mental protests, I can feel something changing inside me. The initial pain and discomfort is giving way to something else entirely - something that terrifies me even as it makes my body respond with unwanted pleasure.">>
<<quickRoll "Pleasure Transformation" "Rylan" 35 5 "SubmissionFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.5>>
<<changeLust "Rylan" 5>>
<<thought "Rylan" "face" "The pain is fading, replaced by something else... something that feels disturbingly good.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selfgay/15.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangrycry" "I'm not... I'm not enjoying this!" "I lie desperately, my voice cracking with the effort of denial." "*This is wrong... I don't want this... but why does it feel...*">>
<<narrative "His rhythm becomes more insistent, each thrust now hitting deeper inside me. I can feel myself being stretched and filled in ways I never imagined possible, my body adapting to his size with traitorous ease.">>
<center><img src="images/rylan/chapter5/dream/selfgay/16.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "You're mine now, beautiful," "he pants heavily, his voice thick with dominance and growing arousal." "I can feel you accepting me, welcoming me deeper with every thrust.">>
<<narrative "The sensations are overwhelming - I can feel every inch of him moving inside me, creating friction that sends electric shocks through my entire being. My mind struggles to process what's happening as unwanted waves of pleasure begin to build.">>
<center><img src="images/rylan/chapter5/dream/selfgay/17.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "I can't... I can't think anymore..." "I moan helplessly." "*It's too much... I'm losing myself...*">>
<<narrative "His hands grip my hips possessively as he continues his slow, deliberate rhythm. Every thrust sends waves of sensation coursing through my body, building toward something I've never experienced before.">>
<center><img src="images/rylan/chapter5/dream/selfgay/18.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "You're adapting so well to me," "he whispers with dark satisfaction." "I can feel your body accepting me, welcoming me deeper. Now let's see how you handle a more... intense pace.">>
<<narrative "Suddenly, his rhythm changes completely. The slow, torturous movements give way to something much more aggressive and demanding. I can feel him pulling back and then slamming into me with increasing force.">>
<center><img src="images/rylan/chapter5/dream/selfgay/19.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "No! Stop! It's too fast... too hard!" "I cry out desperately, my voice breaking with the intensity of the new pace." "I can't take this much...">>
<<narrative "But he doesn't stop. Instead, he increases his pace even more, pounding into me with a desperate intensity that makes my entire body shake. The sound of our bodies coming together fills the room as he takes me with increasing ferocity.">>
<<continueBox "RylanSelfGayDream3" "The pace intensifies..." "">>
</div>
<</nobr>>
<<pov "rylan" "intimate5.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<narrative "🌙 Familiar Desires Return 🌙">>
<<narrative "Once tasted, never forgotten...">>
<<narrative "I find myself back in that familiar dreamscape, the ethereal bedroom shimmering with the same otherworldly quality. But this time, there's something different - a sense of anticipation, of knowing what's to come, that makes my heart race with both fear and... something else I don't want to admit.">>
<center><img src="images/rylan/chapter5/dream/selfgay/1.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "face" "Not this place again... but why does part of me feel... excited?">>
<<if $rylanDreamSeryk>>
<<dialog "Nimeria" "face" "Welcome back, my corrupted Knight," "the voice purrs with obvious satisfaction." "I see our previous encounters have left their mark on you. Your mind is becoming so wonderfully receptive to these... educational experiences.">>
<<else>>
<center><img src="images/rylan/chapter5/dream/selfgay/2.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "face" "Ah, my sweet $humanName returns," "the mysterious voice echoes with playful warmth." "Ready for another... enlightening session? I think you'll find this one even more... intense than the last.">>
<</if>>
<<dialog "Rylan" "faceangry" "You again! What twisted game are you playing this time?">>
<<dialog "Nimeria" "face" "Oh, I have something very special planned for you tonight. A familiar guest who I think you'll find... even more intoxicating than before." "The voice takes on a sultry, mischievous tone." "I've enhanced him just for you, my dear Knight.">>
<center><img src="images/rylan/chapter5/dream/selfgay/3.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "The bedroom door opens slowly, and my heart stops. Standing in the doorway is... me again. But this time, there's something even more intense about his presence. His posture is more commanding, more predatory, his eyes holding a dominant intensity that makes my stomach flutter with a mixture of fear and... something else I refuse to name.">>
<center><img src="images/rylan/chapter5/dream/selfgay/21.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "Hello again, beautiful," "the other me says with a voice that's deeper, more assured than my own." "I've been waiting to claim you again.">>
<<dialog "Nimeria" "face" "Perfect, isn't he? I've made him even more dominating this time, $humanName... just for you. If you're good tonight, maybe next time we can explore even more... advanced techniques.">>
<<dialog "Rylan" "faceangry" "What are you talking about? This is still insane!">>
<<dialog "Nimeria" "face" "Sex, of course, my dear Knight," "the voice purrs with obvious amusement." "Today I want to show you even more intense pleasures through anal sex. Think of it as... an advanced course in your curious explorations.">>
<<dialog "Rylan" "faceangry" "Are you completely crazy?! I won't do that again!">>
<<dialog "Nimeria" "face" "Yes, I am quite crazy, $humanName. Delightfully so," "she laughs with wicked delight." "In reality, you would need much more preparation to avoid serious injury. But in here, we can skip all those tedious preliminaries. Sadly, we have so little time for proper education...">>
<<narrative "Suddenly, waves of intense heat wash over my body. My skin flushes and becomes hypersensitive, my heart racing as unwanted arousal courses through my veins. But this time, there's something different - a familiarity that makes the arousal even more intense, even more shameful.">>
<center><img src="images/rylan/chapter5/dream/selfgay/31.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "What's happening to me?! Why do I feel so... familiar with this?" "I gasp, my voice trailing off as the arousal intensifies beyond my control.">>
<<dialog "Nimeria" "face" "Now, my sweet boy, get on all fours and show him your pleasure hole. Present yourself like a good little puppy. You know the drill by now.">>
<<narrative "Against my will, my body moves without my permission. I find myself turning around and getting on my hands and knees on the bed, my most intimate area completely exposed and vulnerable. The humiliation burns through me like fire, but there's something else too - a shameful anticipation that makes my heart race even faster.">>
<center><img src="images/rylan/chapter5/dream/selfgay/41.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangry" "Stop this! I don't want this! Please!" "I shout desperately, my voice cracking with shame and terror.">>
<<dialog "Nimeria" "face" "I just want to help you, my dear Knight. This is just a dream, so it doesn't really count, does it?" "Her voice takes on a falsely soothing tone." "And believe me, you'll like it even more this time. If not, then simply forget it happened and move on. But trust me... you'll love every moment of it.">>
<<narrative "I feel the other me climbing onto the bed behind me, his hands gently caressing my exposed skin. His touch is surprisingly tender, almost loving, which confuses me even more. But there's something else too - a familiarity that makes the touch even more intoxicating.">>
<<dialog "Rylan" "faceeerie" "You're so beautiful like this," "the dominant version of me whispers, his voice filled with desire and authority." "I'm going to make you feel things you never imagined possible. Even more intense than before.">>
<<dialog "Nimeria" "face" "But enough chatter, you lovebirds. Continue your dance of passion. I'm giving him full control while I... attend to other matters." "The voice fades away with wicked laughter.">>
<<narrative "I feel him moving closer behind me, his warmth radiating against my exposed skin. But instead of immediately trying to enter me, he does something completely unexpected - he begins to rub his hardness against my lower back and down across my cheeks, the hot flesh sliding slowly across my skin. The sensation is familiar yet somehow more intense than before.">>
<center><img src="images/rylan/chapter5/dream/selfgay/4.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "Mmm, you feel so perfect under me," "he murmurs, his voice thick with desire as he continues the slow, teasing motions." "I want to savor every moment of this. You're even more responsive than before.">>
<<narrative "The sensation is maddening - his hardness sliding against my most sensitive areas, the heat and firmness of him creating friction that makes my breath catch. I can feel myself responding despite my mental protests, my body trembling with unwanted arousal. But this time, there's something else - a shameful familiarity that makes the arousal even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/5.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangry" "Stop this! *I don't want this..., but why does my body feel so... familiar with it?*" "I gasp, my voice shaking with confusion and unwanted arousal.">>
<<narrative "He continues his slow, deliberate movements, his hands gently caressing my sides as his hardness slides up and down along my spine, then back down to tease between my cheeks. The intimate contact is driving me to distraction, making my heart race with anticipation I don't want to feel. But there's something else too - a shameful recognition of the sensations.">>
<center><img src="images/rylan/chapter5/dream/selfgay/6.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "I'm getting you ready, beautiful. I can feel how your body is responding to me... you're perfect like this. Even more responsive than before." "His voice is husky with desire as he continues the slow, torturous teasing.">>
<<narrative "Minutes pass with this exquisite torture, his hardness gliding against my skin, creating a slick trail of arousal that makes everything more sensitive. My breathing becomes ragged as unwanted waves of pleasure wash over me, my body betraying my mind's resistance. But this time, there's something else - a shameful familiarity that makes the pleasure even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/7.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangry" "Please stop... I don't want this! *But why can't I make my body stop responding?! And why does it feel so... familiar?*" "I whimper, my voice breaking with the intensity of the unwanted sensations.">>
<<narrative "Finally, after what feels like an eternity of this maddening buildup, I feel him positioning himself differently. His tip presses gently against my entrance, not pushing yet, just creating contact that makes my entire body tense with anticipation and fear. But there's something else too - a shameful recognition of what's to come.">>
<center><img src="images/rylan/chapter5/dream/selfgay/8.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "Now I'm going to claim you, beautiful. Relax for me and let me in slowly. This time will be even more intense than before.">>
<<narrative "Slowly, incredibly slowly, he begins to push forward. The sensation is overwhelming - a mixture of pressure, stretching, and something else entirely that makes my mind reel. I can feel myself being opened, filled partway with his hardness as he pauses, letting me adjust to this foreign intrusion. But this time, there's something else - a shameful familiarity that makes the sensation even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/9.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceshock" "No... no, I don't want this! *I can feel him inside me... this is so wrong! But why does it feel so... familiar?*" "I gasp, my voice breaking with the overwhelming and unwanted sensations coursing through my body.">>
<<narrative "He's only halfway inside me, but already I can feel myself being stretched and filled in ways I never imagined. The sensation is foreign and overwhelming, yet my body seems to be adapting, responding with unwanted arousal that confuses and frightens me. But there's something else too - a shameful recognition that makes the arousal even more intense.">>
<<continueBox "RylanSelfGayDream2ndVisit2" "The sensations intensify..." "">>
</div>
<</nobr>>
<<pov "rylan" "intimate5.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/handjob.mp3" 1>>
<div class="passage-container rylan">
<<narrative "🌙 Deeper, More Intense Domination 🌙">>
<<narrative "Every thrust deeper, every sensation more intense...">>
<<narrative "I feel him begin to move inside me with agonizing slowness. Each inch he withdraws feels like a loss, each inch he pushes back in feels like a violation. But I can't move, can't fight back - my body is completely at his mercy. And this time, there's something else - a shameful familiarity that makes the sensations even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/10.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "No... please stop... I can't move... I can't fight back..." "I whimper helplessly, my voice trembling with shame and unwanted arousal." "Why can't I make my body respond to my mind? And why does this feel so... familiar?">>
<<dialog "Rylan" "faceeerie" "Perfect," "he murmurs with dark satisfaction, his voice thick with desire." "You're taking me so well, beautiful. I can feel every inch of you wrapped around me, accepting what you think you don't want. You're even more responsive than before.">>
<<narrative "His movements are torturously slow, each withdrawal making me feel empty and desperate, each return filling me with unwanted sensations. I can feel every ridge, every vein of him as he slides in and out of me with deliberate precision. But this time, there's something else - a shameful recognition that makes the sensations even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/11.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangrycry" "I hate this... I hate how it feels... *but why can't I stop my body from responding? And why does it feel so... familiar?*" "I gasp, my voice breaking with confusion and unwanted pleasure." "This is wrong... so wrong...">>
<<narrative "He continues his slow, methodical rhythm, each thrust calculated to maximize my discomfort and my unwanted arousal. I can feel myself adapting to his size, my body betraying my mind by accepting this violation. But this time, there's something else - a shameful familiarity that makes the adaptation even easier, even more shameful.">>
<center><img src="images/rylan/chapter5/dream/selfgay/12.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "Your body is telling me the truth, even if your mind won't admit it," "he whispers huskily, his hands gripping my hips possessively." "I can feel you clenching around me, begging for more even as you protest. You're even more responsive than before.">>
<<narrative "The sensation is maddening - I can feel every inch of him moving inside me, creating friction that sends unwanted waves of pleasure through my body. My mind screams in protest, but my body responds with traitorous arousal. But this time, there's something else - a shameful familiarity that makes the arousal even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/13.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "No... no, I'm not... I don't want this!" "I cry out desperately, but my voice betrays me with its breathless quality." "Please stop... I can't take much more...">>
<<narrative "He increases his pace slightly, still maintaining that torturous slowness but with more deliberate force. Each thrust now goes deeper, hitting places inside me that make my breath catch and my body tremble with unwanted responses. But this time, there's something else - a shameful recognition that makes the responses even more intense.">>
<<dialog "Rylan" "faceeerie" "That's it, beautiful. Let yourself feel everything," "he groans with satisfaction, his voice becoming more commanding." "I can feel you starting to accept this, starting to want what I'm giving you. You're even more responsive than before.">>
<<narrative "Despite my mental protests, I can feel something changing inside me. The initial pain and discomfort is giving way to something else entirely - something that terrifies me even as it makes my body respond with unwanted pleasure. But this time, there's something else - a shameful familiarity that makes the transition even easier, even more shameful.">>
<center><img src="images/rylan/chapter5/dream/selfgay/15.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangrycry" "I'm not... I'm not enjoying this!" "I lie desperately, my voice cracking with the effort of denial." "*This is wrong... I don't want this... but why does it feel so... familiar?*">>
<<narrative "His rhythm becomes more insistent, each thrust now hitting deeper inside me. I can feel myself being stretched and filled in ways I never imagined possible, my body adapting to his size with traitorous ease. But this time, there's something else - a shameful familiarity that makes the adaptation even easier, even more shameful.">>
<center><img src="images/rylan/chapter5/dream/selfgay/16.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "You're mine now, beautiful," "he pants heavily, his voice thick with dominance and growing arousal." "I can feel you accepting me, welcoming me deeper with every thrust. You're even more responsive than before.">>
<<narrative "The sensations are overwhelming - I can feel every inch of him moving inside me, creating friction that sends electric shocks through my entire being. My mind struggles to process what's happening as unwanted waves of pleasure begin to build. But this time, there's something else - a shameful familiarity that makes the pleasure even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/17.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "I can't... I can't think anymore..." "I moan helplessly." "*It's too much... I'm losing myself... but why does this feel so familiar?*">>
<<narrative "His hands grip my hips possessively as he continues his slow, deliberate rhythm. Every thrust sends waves of sensation coursing through my body, building toward something I've never experienced before. But this time, there's something else - a shameful familiarity that makes the buildup even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/18.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "You're adapting so well to me," "he whispers with dark satisfaction." "I can feel your body accepting me, welcoming me deeper. Now let's see how you handle a more... intense pace. Even more intense than before.">>
<<narrative "Suddenly, his rhythm changes completely. The slow, torturous movements give way to something much more aggressive and demanding. I can feel him pulling back and then slamming into me with increasing force. But this time, there's something else - a shameful familiarity that makes the new pace even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/19.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "No! Stop! It's too fast... too hard!" "I cry out desperately, my voice breaking with the intensity of the new pace." "I can't take this much...">>
<<narrative "But he doesn't stop. Instead, he increases his pace even more, pounding into me with a desperate intensity that makes my entire body shake. The sound of our bodies coming together fills the room as he takes me with increasing ferocity. But this time, there's something else - a shameful familiarity that makes the ferocity even more intense.">>
<<continueBox "RylanSelfGayDream2ndVisit3" "The pace intensifies..." "">>
</div>
<</nobr>>
<<pov "rylan" "intimate5.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/malemoansoft.mp3" "sounds/hsounds/sex.mp3" 1>>
<div class="passage-container rylan">
<<narrative "🌙 Even More Relentless Domination 🌙">>
<<narrative "Every thrust more desperate, every moan more surrendered...">>
<<narrative "The pace becomes absolutely brutal. He's no longer gentle or slow - every thrust is a violent claim, every withdrawal a prelude to another devastating invasion. My body shakes with each impact as he pounds into me with increasing desperation. But this time, there's something else - a shameful familiarity that makes the brutality even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/22.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangrycry" "Stop! Please! It's too much... too fast!" "I scream, my voice cracking with the intensity of his assault." "I can't take this pace... you're going to break me!">>
<<dialog "Rylan" "faceeerie" "You can take it, beautiful," "he growls with dark satisfaction, his voice thick with desire and dominance." "I can feel how your body is responding to my pace. You're loving every brutal thrust. Even more than before.">>
<<narrative "His hands grip my hips with bruising force as he continues his relentless assault. Each thrust sends shockwaves through my entire body, making me cry out with unwanted pleasure despite my mental protests. But this time, there's something else - a shameful familiarity that makes the pleasure even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/23.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "I'm not... I'm not loving it!" "I lie desperately, my voice breaking with the intensity of the sensations." "This is wrong... so wrong... but why does it feel so intense? And why does it feel so... familiar?">>
<<narrative "He increases his pace even more, pounding into me with a ferocity that makes my entire body convulse. I can feel every inch of him moving inside me at this brutal pace, creating friction that sends unwanted waves of pleasure through my body. But this time, there's something else - a shameful familiarity that makes the pleasure even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/24.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "That's it, beautiful. Let yourself feel everything," "he pants heavily, his voice thick with dominance." "I can feel you clenching around me, begging for more even as you protest. Your body knows what it wants. Even more than before.">>
<<narrative "The sensations are overwhelming - I can feel every powerful thrust as he drives into me with increasing desperation. My mind struggles to process what's happening as wave after wave of unwanted pleasure crashes over me. But this time, there's something else - a shameful familiarity that makes the pleasure even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/25.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangrycry" "No... no, my body doesn't want this!" "I cry out desperately, but my voice betrays me with its breathless quality." "I don't want to feel this way... but why can't I stop it? And why does it feel so... familiar?">>
<<narrative "His rhythm becomes absolutely relentless, driving into me with a desperate intensity that makes my entire body shake. I can feel myself being stretched and filled in ways I never imagined possible. But this time, there's something else - a shameful familiarity that makes the stretching even easier, even more shameful.">>
<center><img src="images/rylan/chapter5/dream/selfgay/26.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "You're mine now, beautiful," "he groans with possessive satisfaction." "I can feel you accepting every inch of me, welcoming me... even more than before.">>
<<narrative "The pace becomes even more intense, each thrust hitting deeper inside me than the last. I can feel every ridge, every vein of him as he pounds into me with increasing ferocity. But this time, there's something else - a shameful familiarity that makes the ferocity even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/27.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "I can't... I can't think anymore..." "I moan helplessly, my voice muffled by the bed." "It's too intense... I'm losing myself...">>
<<narrative "His hands grip my hips possessively as he continues his brutal rhythm. Every thrust sends waves of sensation coursing through my body, building toward something I've never experienced before. But this time, there's something else - a shameful familiarity that makes the buildup even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/28.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "That's it, beautiful. Let yourself go completely," "he pants heavily, his voice thick with dominance and growing arousal." "I can feel you trembling, your body begging for release. You're going to come from being fucked like this. Even more intensely than before.">>
<<narrative "The pleasure builds to an almost unbearable intensity. I can feel something powerful approaching, something that will change me forever. My mind can barely process what's happening as wave after wave of sensation crashes over me. But this time, there's something else - a shameful familiarity that makes the pleasure even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/29.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "No... no, I can't be... I'm not..." "I whisper breathlessly, shocked by my own admission." "Something's building inside me... I've never felt anything like this before... but why does it feel so familiar?">>
<<narrative "His rhythm becomes absolutely relentless, driving into me with a desperate intensity that pushes us both toward the edge. The sound of our bodies coming together fills the room as we approach the inevitable climax. But this time, there's something else - a shameful familiarity that makes the climax even more intense.">>
<<dialog "Rylan" "faceeerie" "You're getting close, aren't you?" "he whispers with dark satisfaction." "I can feel your body trembling, your breathing getting shallow. You're going to come from being fucked like this, aren't you? Even more intensely than before?">>
<<narrative "The sensations are overwhelming - I can feel every inch of him moving inside me at this brutal pace, creating friction that sends electric shocks through my entire being. My mind struggles to process what's happening as unwanted waves of pleasure begin to build. But this time, there's something else - a shameful familiarity that makes the pleasure even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/32.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "I can't... I can't hold back anymore..." "I moan helplessly, my voice breaking with the intensity of the sensations." "Something's happening to me... I can't control it...">>
<<narrative "His pace becomes absolutely frantic, pounding into me with a desperation that makes my entire body convulse. I can feel something powerful building inside me, something I've never experienced before. But this time, there's something else - a shameful familiarity that makes the buildup even more intense.">>
<<dialog "Rylan" "faceeerie" "That's it, beautiful. Let it happen," "he groans with satisfaction, his voice thick with dominance." "Come for me. Come from being fucked like a good boy. Even more intensely than before.">>
<<narrative "The pleasure builds to an almost unbearable intensity. I can feel something powerful approaching, something that will change me forever. My mind can barely process what's happening as wave after wave of sensation crashes over me. But this time, there's something else - a shameful familiarity that makes the pleasure even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/33.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "I'm... I'm going to..." "I gasp breathlessly, shocked by my own admission." "Something's happening... I can't stop it...">>
<<narrative "His rhythm becomes absolutely relentless, driving into me with a desperate intensity that pushes us both toward the edge. The sound of our bodies coming together fills the room as we approach the inevitable climax. But this time, there's something else - a shameful familiarity that makes the climax even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/34.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<continueBox "RylanSelfGayDream2ndVisitClimax" "The climactic moment arrives..." "">>
</div>
<</nobr>>
<<pov "rylan" "intimate5.mp3">><<nobr>>
<<stopLoopingAndPlay "sounds/hsounds/cum.mp3">>
<div class="passage-container rylan">
<<narrative "🌙 Even More Intense Climactic Surrender 🌙">>
<<narrative "In the moment of ultimate surrender, all resistance crumbles even deeper...">>
<<narrative "The pleasure builds to an absolutely unbearable intensity. I can feel something powerful approaching, something that will change me forever. My mind can barely process what's happening as wave after wave of sensation crashes over me. But this time, there's something else - a shameful familiarity that makes the pleasure even more intense, even more shameful.">>
<center><img src="images/rylan/chapter5/dream/selfgay/34.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "I'm... I'm going to..." "I gasp breathlessly, shocked by my own admission." "Something's happening... I can't stop it... I'm going to come! Even more intensely than before!">>
<<dialog "Rylan" "faceeerie" "That's it, beautiful. Come for me," "he groans with satisfaction, his voice thick with dominance." "I'm going to pull out and mark you as mine. Even more thoroughly than before.">>
<<narrative "Suddenly, I feel him pulling out of me, and in that same moment, something inside me snaps. The pleasure becomes absolutely overwhelming, and I can feel myself climaxing uncontrollably. At the same time, I feel his hot seed splashing across my back as he comes with a deep, satisfied groan. But this time, there's something else - a shameful familiarity that makes the climax even more intense, even more shameful.">>
<center><img src="images/rylan/chapter5/dream/selfgay/35.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "No... no, I can't believe this happened again..." "I whisper breathlessly, my voice trembling with shock and shame." "I came... I actually came from being fucked like that... again...">>
<<dialog "Rylan" "faceeerie" "Perfect, beautiful," "he pants heavily, his voice thick with satisfaction." "You came from being fucked like a good boy again. I can see my cum all over your back. Even more than before.">>
<<narrative "I collapse onto the bed, completely spent and overwhelmed. I can feel his cum cooling on my back, marking me as his. The sensation is both shameful and somehow... satisfying. I can't believe what just happened, but I can't deny the intense pleasure I experienced. And this time, there's something else - a shameful familiarity that makes the satisfaction even more intense, even more shameful.">>
<center><img src="images/rylan/chapter5/dream/selfgay/36.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "This is wrong... so wrong..." "I whisper to myself, my voice barely audible." "But why did it feel so good? Why did my body betray me like that? And why does it feel so... familiar?">>
<<dialog "Rylan" "faceeerie" "Your body knows what it wants, even if your mind won't admit it," "he says with dark satisfaction, his voice still thick with arousal." "You're perfect like this, marked with my cum, completely spent from being fucked. Even more perfectly than before.">>
<<narrative "I lie there, sprawled on my stomach, unable to move. His cum is cooling on my back, and I can feel it slowly dripping down my sides. The sensation is both humiliating and somehow... right. I can't believe what just happened, but I also can't deny the intense pleasure I experienced. And this time, there's something else - a shameful familiarity that makes the rightness even more intense, even more shameful.">>
<<dialog "Rylan" "facewet" "I can't... I can't believe I came from that again..." "I whisper to myself, still in shock." "What does this mean? What have I become? And why does it feel so... familiar?">>
<<narrative "The dream begins to fade, but the sensations remain vivid in my mind. I can still feel his cum on my back, still feel the echoes of the intense pleasure I experienced. This changes everything. This changes me. And this time, there's something else - a shameful familiarity that makes the change even more profound, even more shameful.">>
<<continueBox "RylanDreamcorruptionChoices" "Wake up..." "">>
</div>
<</nobr>>
<<pov "rylan" "intimate5.mp3">>
<<changeLust "Rylan" -100>>
<<changeFetish "Rylan" "SubmissionFetish" 0.4>>
<<changeFetish "Rylan" "AnalFetish" 0.4>>
<<changeFetish "Rylan" "GayValue" 0.6>>
<<addSoulCorruption "rylan" 1>>
<<soulDisplay "rylan">>
<<statSummary>><<nobr>>
<<playLoopingSounds "sounds/hsounds/malemoansoft.mp3" "sounds/hsounds/sex.mp3" 1>>
<div class="passage-container rylan">
<<narrative "🌙 Relentless Domination 🌙">>
<<narrative "Every thrust a conquest, every moan a surrender...">>
<<narrative "The pace becomes absolutely brutal. He's no longer gentle or slow - every thrust is a violent claim, every withdrawal a prelude to another devastating invasion. My body shakes with each impact as he pounds into me with increasing desperation.">>
<<quickRoll "Brutal Pace Temptation" "Rylan" 30 5 "SubmissionFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.5>>
<<changeLust "Rylan" 5>>
<<narrative "The brutal pace is overwhelming, but my body is responding with intense arousal. I can't control it.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selfgay/22.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangrycry" "Stop! Please! It's too much... too fast!" "I scream, my voice cracking with the intensity of his assault." "I can't take this pace... you're going to break me!">>
<<dialog "Rylan" "faceeerie" "You can take it, beautiful," "he growls with dark satisfaction, his voice thick with desire and dominance." "I can feel how your body is responding to my pace. You're loving every brutal thrust.">>
<<narrative "His hands grip my hips with bruising force as he continues his relentless assault. Each thrust sends shockwaves through my entire body, making me cry out with unwanted pleasure despite my mental protests.">>
<center><img src="images/rylan/chapter5/dream/selfgay/23.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "I'm not... I'm not loving it!" "I lie desperately, my voice breaking with the intensity of the sensations." "This is wrong... so wrong... but why does it feel so intense?">>
<<narrative "He increases his pace even more, pounding into me with a ferocity that makes my entire body convulse. I can feel every inch of him moving inside me at this brutal pace, creating friction that sends unwanted waves of pleasure through my body.">>
<center><img src="images/rylan/chapter5/dream/selfgay/24.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "That's it, beautiful. Let yourself feel everything," "he pants heavily, his voice thick with dominance." "I can feel you clenching around me, begging for more even as you protest. Your body knows what it wants.">>
<<narrative "The sensations are overwhelming - I can feel every powerful thrust as he drives into me with increasing desperation. My mind struggles to process what's happening as wave after wave of unwanted pleasure crashes over me.">>
<center><img src="images/rylan/chapter5/dream/selfgay/25.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangrycry" "No... no, my body doesn't want this!" "I cry out desperately, but my voice betrays me with its breathless quality." "I don't want to feel this way... but why can't I stop it?">>
<<narrative "His rhythm becomes absolutely relentless, driving into me with a desperate intensity that makes my entire body shake. I can feel myself being stretched and filled in ways I never imagined possible.">>
<center><img src="images/rylan/chapter5/dream/selfgay/26.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "You're mine now, beautiful," "he groans with possessive satisfaction." "I can feel you accepting every inch of me, welcoming me...">>
<<narrative "The pace becomes even more intense, each thrust hitting deeper inside me than the last. I can feel every ridge, every vein of him as he pounds into me with increasing ferocity.">>
<center><img src="images/rylan/chapter5/dream/selfgay/27.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "I can't... I can't think anymore..." "I moan helplessly, my voice muffled by the bed." "It's too intense... I'm losing myself...">>
<<narrative "His hands grip my hips possessively as he continues his brutal rhythm. Every thrust sends waves of sensation coursing through my body, building toward something I've never experienced before.">>
<<quickRoll "Possessive Control" "Rylan" 25 5 "SubmissionFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.5>>
<<changeLust "Rylan" 5>>
<<narrative "His possessive grip on my hips is overwhelming. I'm completely at his mercy.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selfgay/28.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "That's it, beautiful. Let yourself go completely," "he pants heavily, his voice thick with dominance and growing arousal." "I can feel you trembling, your body begging for release. You're going to come from being fucked like this.">>
<<narrative "The pleasure builds to an almost unbearable intensity. I can feel something powerful approaching, something that will change me forever. My mind can barely process what's happening as wave after wave of sensation crashes over me.">>
<center><img src="images/rylan/chapter5/dream/selfgay/29.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "No... no, I can't be... I'm not..." "I whisper breathlessly, shocked by my own admission." "Something's building inside me... I've never felt anything like this before...">>
<<narrative "His rhythm becomes absolutely relentless, driving into me with a desperate intensity that pushes us both toward the edge. The sound of our bodies coming together fills the room as we approach the inevitable climax.">>
<<dialog "Rylan" "faceeerie" "You're getting close, aren't you?" "he whispers with dark satisfaction." "I can feel your body trembling, your breathing getting shallow. You're going to come from being fucked like this, aren't you?">>
<<narrative "The sensations are overwhelming - I can feel every inch of him moving inside me at this brutal pace, creating friction that sends electric shocks through my entire being. My mind struggles to process what's happening as unwanted waves of pleasure begin to build.">>
<center><img src="images/rylan/chapter5/dream/selfgay/32.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "I can't... I can't hold back anymore..." "I moan helplessly, my voice breaking with the intensity of the sensations." "Something's happening to me... I can't control it...">>
<<narrative "His pace becomes absolutely frantic, pounding into me with a desperation that makes my entire body convulse. I can feel something powerful building inside me, something I've never experienced before.">>
<center><img src="images/rylan/chapter5/dream/selfgay/31.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "That's it, beautiful. Let it happen," "he groans with satisfaction, his voice thick with dominance." "Come for me. Come from being fucked like a good boy.">>
<<narrative "The pleasure builds to an almost unbearable intensity. I can feel something powerful approaching, something that will change me forever. My mind can barely process what's happening as wave after wave of sensation crashes over me.">>
<center><img src="images/rylan/chapter5/dream/selfgay/33.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "I'm... I'm going to..." "I gasp breathlessly, shocked by my own admission." "Something's happening... I can't stop it...">>
<<narrative "His rhythm becomes absolutely relentless, driving into me with a desperate intensity that pushes us both toward the edge. The sound of our bodies coming together fills the room as we approach the inevitable climax.">>
<center><img src="images/rylan/chapter5/dream/selfgay/34.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<continueBox "RylanSelfGayDreamClimax" "The climactic moment arrives..." "">>
</div>
<</nobr>>
<<pov "rylan" "intimate5.mp3">><<nobr>>
<<stopLoopingAndPlay "sounds/hsounds/cum.mp3">>
<div class="passage-container rylan">
<<narrative "🌙 Climactic Surrender 🌙">>
<<narrative "In the moment of ultimate surrender, all resistance crumbles...">>
<<narrative "The pleasure builds to an absolutely unbearable intensity. I can feel something powerful approaching, something that will change me forever. My mind can barely process what's happening as wave after wave of sensation crashes over me.">>
<center><img src="images/rylan/chapter5/dream/selfgay/34.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "I'm... I'm going to..." "I gasp breathlessly, shocked by my own admission." "Something's happening... I can't stop it... I'm going to come!">>
<<dialog "Rylan" "faceeerie" "That's it, beautiful. Come for me," "he groans with satisfaction, his voice thick with dominance." "I'm going to pull out and mark you as mine.">>
<<narrative "Suddenly, I feel him pulling out of me, and in that same moment, something inside me snaps. The pleasure becomes absolutely overwhelming, and I can feel myself climaxing uncontrollably. At the same time, I feel his hot seed splashing across my back as he comes with a deep, satisfied groan.">>
<center><img src="images/rylan/chapter5/dream/selfgay/35.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "No... no, I can't believe this happened..." "I whisper breathlessly, my voice trembling with shock and shame." "I came... I actually came from being fucked like that...">>
<<dialog "Rylan" "faceeerie" "Perfect, beautiful," "he pants heavily, his voice thick with satisfaction." "You came from being fucked like a good boy. I can see my cum all over your back.">>
<<narrative "I collapse onto the bed, completely spent and overwhelmed. I can feel his cum cooling on my back, marking me as his. The sensation is both shameful and somehow... satisfying. I can't believe what just happened, but I can't deny the intense pleasure I experienced.">>
<center><img src="images/rylan/chapter5/dream/selfgay/36.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "This is wrong... so wrong..." "I whisper to myself, my voice barely audible." "But why did it feel so good? Why did my body betray me like that?">>
<<dialog "Rylan" "faceeerie" "Your body knows what it wants, even if your mind won't admit it," "he says with dark satisfaction, his voice still thick with arousal." "You're perfect like this, marked with my cum, completely spent from being fucked.">>
<<narrative "I lie there, sprawled on my stomach, unable to move. His cum is cooling on my back, and I can feel it slowly dripping down my sides. The sensation is both humiliating and somehow... right. I can't believe what just happened, but I also can't deny the intense pleasure I experienced.">>
<<dialog "Rylan" "facewet" "I can't... I can't believe I came from that..." "I whisper to myself, still in shock." "What does this mean? What have I become?">>
<<narrative "The dream begins to fade, but the sensations remain vivid in my mind. I can still feel his cum on my back, still feel the echoes of the intense pleasure I experienced. This changes everything. This changes me.">>
<<set $rylanDreamSelfGay = true>>
<<if $chapter6Dreams>>
<<continueBox "NightActivitiesEnd" "Wake up..." "">>
<<else>>
<<continueBox "RylanDreamcorruptionChoices" "Wake up..." "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate5.mp3">>
<<changeLust "Rylan" -100>>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<changeFetish "Rylan" "AnalFetish" 0.3>>
<<changeFetish "Rylan" "GayValue" 0.5>>
<<addSoulCorruption "rylan" 1>>
<<soulDisplay "rylan">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<narrative "🌙 Forbidden Control Dream 🌙">>
<<narrative "Power over the self, through unfamiliar eyes...">>
<<set $crystals -= 3>>
<<set $rylanDreamSelfGayDominant = true>>
<<set $timeOfDay = "night">>
<<narrative "I wake up standing in what appears to be my own bedroom, but something feels... different. The room shimmers with an ethereal quality, and I can sense that familiar presence watching me from the shadows. But this time, I'm not the one on the bed - I'm standing, looking down at someone who looks exactly like me.">>
<center><img src="images/rylan/chapter5/dream/selfgay/1.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "face" "What... what is this place? Why am I standing here looking at... myself?">>
<<if $rylanDreamSeryk>>
<<dialog "Nimeria" "face" "Welcome back, my curious Knight," "the familiar voice purrs with obvious delight." "I see our previous encounter with Seryk left quite an impression on you. How delicious... your mind is becoming so wonderfully receptive to new experiences. This time, you'll be the one in control.">>
<<else>>
<center><img src="images/rylan/chapter5/dream/selfgay/2.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "face" "Ah, my sweet $humanName," "the mysterious voice echoes with playful warmth." "Ready for an... enlightening session? I think you'll find this experience quite... empowering.">>
<</if>>
<<dialog "Rylan" "faceangry" "Who are you! What twisted game are you playing?! Why am I standing here looking at myself?">>
<<dialog "Nimeria" "face" "Oh, I have something very special planned for you tonight. A familiar guest who I think you'll find... quite vulnerable and ready for your attention." "The voice takes on a sultry, mischievous tone." "I've designed him just for you, my dear Knight. This time, you'll be the one in control.">>
<center><img src="images/rylan/chapter5/dream/selfgay/3.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "I look down at the bed, and my heart stops. Lying there is... me. Or rather, someone who looks exactly like me, but there's something different about his presence. His posture is vulnerable, submissive, his eyes holding a fearful intensity that makes my stomach flutter nervously. He's completely exposed, lying on his stomach, his most intimate area completely vulnerable.">>
<<quickRoll "Dominant Control Temptation" "Rylan" 70 5 "DominanceFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<changeLust "Rylan" 3>>
<<narrative "There's something intoxicating about seeing myself like this - vulnerable, exposed, completely at my mercy. It's... arousing in a way I don't understand.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selfgay/21.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "Hello there," "I hear myself say with a voice that's deeper, more assured than I remember." "I've been waiting to meet you.">>
<<dialog "Nimeria" "face" "Perfect, isn't he? I designed him just like you, $humanName... just a bit more submissive. If you play nice tonight, maybe next time we can explore even more... advanced techniques of control.">>
<<dialog "Rylan" "faceangry" "What are you talking about? This is insane! I won't do anything to him!">>
<<dialog "Nimeria" "face" "Sex, of course, my dear Knight," "the voice purrs with obvious amusement." "Today I want to show you the pleasure you can gain from taking control of another man through anal sex. Think of it as... the beginning of your journey into dominance.">>
<<dialog "Rylan" "faceangry" "Are you completely crazy?! I won't do that! I'm not gay!">>
<<dialog "Nimeria" "face" "Yes, I am quite crazy, $humanName. Delightfully so," "she laughs with wicked delight." "In reality, you would need much more preparation to avoid serious injury. But in here, we can skip all those tedious preliminaries. Sadly, we have so little time for proper education...">>
<<narrative "Suddenly, waves of intense heat wash over my body. My skin flushes and becomes hypersensitive, my heart racing as unwanted arousal courses through my veins. I can feel myself becoming hard despite my mental protests, and I can see the other me trembling with fear and unwanted arousal as well.">>
<<quickRoll "Forced Arousal" "Rylan" 65 5 "DominanceFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "DominanceFetish" 0.4>>
<<changeLust "Rylan" 4>>
<<narrative "The way my body responds against my will is both terrifying and... strangely exciting. I can feel power building inside me.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selfgay/31.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "What's happening to me?! Why do I feel so... powerful?" "I gasp, my voice trailing off as the arousal intensifies beyond my control.">>
<<dialog "Nimeria" "face" "Now, my sweet boy, take control of him. He's completely at your mercy. Show him who's in charge.">>
<<narrative "Against my will, my body moves without my permission. I find myself climbing onto the bed behind the other me, my hands reaching out to grip his hips possessively. The sensation of power is overwhelming - I can feel him trembling beneath me, completely vulnerable and exposed.">>
<<quickRoll "Exhibition Temptation" "Rylan" 60 5 "DominanceFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "DominanceFetish" 0.4>>
<<changeLust "Rylan" 4>>
<<narrative "Having him completely exposed like this is intoxicating. I can feel the power flowing through me.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selfgay/41.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangry" "Stop this! I don't want this! Please!" "the other me shouts desperately, his voice cracking with shame and terror.">>
<<dialog "Nimeria" "face" "I just want to help you, my dear Knight. This is just a dream, so it doesn't really count, does it?" "Her voice takes on a falsely soothing tone." "And believe me, you'll like it. If not, then simply forget it happened and move on. But trust me... you'll love every moment of it.">>
<<narrative "I feel my hands gently caressing the other me's exposed skin. My touch is surprisingly tender, almost loving, which confuses me even more. The sensation of control is intoxicating in itself, making every caress feel like a claim of ownership.">>
<<dialog "Rylan" "faceeerie" "You feel so good like this," "I whisper, my voice filled with desire and growing authority." "I'm going to make you feel things you never imagined possible.">>
<<dialog "Nimeria" "face" "But enough chatter, you lovebirds. Continue your dance of passion. I'm giving you full control while I... attend to other matters." "The voice fades away with wicked laughter.">>
<<narrative "I feel myself moving closer behind the other me, my warmth radiating against his exposed skin. But instead of immediately trying to enter him, I do something completely unexpected - I begin to rub my hardness against his lower back and down across his cheeks, the hot flesh sliding slowly across his skin.">>
<center><img src="images/rylan/chapter5/dream/selfgay/4.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "Mmm, you feel so perfect under me," "I murmur, my voice thick with desire as I continue the slow, teasing motions." "I want to savor every moment of this.">>
<<narrative "The sensation is maddening - my hardness sliding against his most sensitive areas, the heat and firmness of me creating friction that makes his breath catch. I can feel him responding despite his mental protests, his body trembling with unwanted arousal. The knowledge that I'm causing this reaction in him amplifies my own arousal in ways I never expected.">>
<center><img src="images/rylan/chapter5/dream/selfgay/5.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangry" "Stop this!" "he gasps, his voice shaking with confusion and unwanted arousal.">>
<<narrative "I continue my slow, deliberate movements, my hands gently caressing his sides as my hardness slides up and down along his spine, then back down to tease between his cheeks. The intimate contact is driving me to distraction, making my heart race with anticipation I don't want to feel. The anticipation builds with each passing second, my control over the situation heightening every sensation.">>
<center><img src="images/rylan/chapter5/dream/selfgay/6.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "I'm getting you ready, beautiful. I can feel how your body is responding to me... you're perfect like this." "My voice is husky with desire as I continue the slow, torturous teasing.">>
<<narrative "Minutes pass with this exquisite torture, my hardness gliding against his skin, creating a slick trail of arousal that makes everything more sensitive. My breathing becomes ragged as unwanted waves of pleasure wash over me, my body betraying my mind's resistance. Each moment of resistance from him only fuels my desire to continue, creating a feedback loop of escalating pleasure.">>
<center><img src="images/rylan/chapter5/dream/selfgay/7.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangry" "Please stop... I don't want this!" "he whimpers, his voice breaking with the intensity of the unwanted sensations.">>
<<narrative "Finally, after what feels like an eternity of this maddening buildup, I feel myself positioning differently. My tip presses gently against his entrance, not pushing yet, just creating contact that makes his entire body tense with anticipation and fear. The anticipation builds with each passing second, my control over the situation heightening every sensation.">>
<center><img src="images/rylan/chapter5/dream/selfgay/8.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "Now I'm going to claim you, beautiful. Relax for me and let me in slowly.">>
<<narrative "Slowly, incredibly slowly, I begin to push forward. The sensation is overwhelming - a mixture of pressure, resistance, and something else entirely that makes my mind reel. I can feel myself being accepted, filled partway with his tightness as I pause, letting him adjust to this foreign intrusion. The feeling of dominance courses through me, transforming what should be shameful into something exhilarating.">>
<center><img src="images/rylan/chapter5/dream/selfgay/9.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceshock" "No... no, I don't want this!" "he gasps, his voice breaking with the overwhelming and unwanted sensations coursing through his body.">>
<<continueBox "RylanSelfGayDreamDominantPOV2" "The sensations intensify..." "">>
</div>
<</nobr>>
<<pov "rylan" "intimate5.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/handjob.mp3" 1>>
<div class="passage-container rylan">
<<narrative "🌙 Growing Control and Domination 🌙">>
<<narrative "Every thrust deeper, every moment more controlled...">>
<<narrative "I feel myself begin to move inside him with agonizing slowness. Each inch I withdraw feels like a loss of control, each inch I push back in feels like a claim of dominance. I can't stop myself anymore - my body is completely at the mercy of this growing power and desire. I don't even realize I get full control back over my body.">>
<<quickRoll "Penetration Control" "Rylan" 45 5 "DominanceFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "DominanceFetish" 0.5>>
<<changeLust "Rylan" 5>>
<<narrative "Being inside him like this is overwhelming, but there's something... primal about the control I have.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selfgay/10.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "No... please stop... I can't move... I can't fight back..." "he whimpers helplessly, his voice trembling with shame and unwanted arousal." "Why can't I make my body respond to my mind?">>
<<dialog "Rylan" "faceeerie" "Perfect," "I murmur with dark satisfaction, my voice thick with desire." "You're taking me so well. I can feel every inch of you wrapped around me, accepting what you think you don't want.">>
<<narrative "My movements are torturously slow, each withdrawal making me feel empty and desperate, each return filling me with unwanted sensations. I can feel every ridge, every vein of myself as I slide in and out of him with deliberate precision. The slow, deliberate movements create a rhythm that feels almost hypnotic, each thrust reinforcing my control.">>
<<quickRoll "Slow Control Temptation" "Rylan" 40 5 "DominanceFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "DominanceFetish" 0.4>>
<<changeLust "Rylan" 4>>
<<narrative "The slow, deliberate movements are maddening. I can feel every detail of him around me.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selfgay/11.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangrycry" "I hate this... I hate how it feels..." "he gasps, his voice breaking with confusion and unwanted pleasure." "This is wrong... so wrong...">>
<<narrative "I continue my slow, methodical rhythm, each thrust calculated to maximize his discomfort and my growing arousal. I can feel him adapting to my size, his body betraying his mind by accepting this violation. His body's betrayal of his mind fills me with a dark satisfaction that I can't deny.">>
<center><img src="images/rylan/chapter5/dream/selfgay/12.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "Your body is telling me the truth, even if your mind won't admit it," "I whisper huskily, my hands gripping his hips possessively." "I can feel you clenching around me, begging for more even as you protest.">>
<<narrative "The sensation is maddening - I can feel every inch of me moving inside him, creating friction that sends unwanted waves of pleasure through my body. My mind screams in protest, but my body responds with traitorous arousal. His helplessness amplifies my arousal, creating a feedback loop that I can't escape.">>
<center><img src="images/rylan/chapter5/dream/selfgay/13.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "No... no, I'm not... I don't want this!" "he cries out desperately, but his voice betrays him with its breathless quality." "Please stop... I can't take much more...">>
<<narrative "I increase my pace slightly, still maintaining that torturous slowness but with more deliberate force. Each thrust now goes deeper, hitting places inside him that make his breath catch and his body tremble with unwanted responses. The way his body responds despite his protests only strengthens my resolve to continue.">>
<<dialog "Rylan" "faceeerie" "That's it. Let yourself feel everything," "I groan with satisfaction, my voice becoming more commanding." "I can feel you starting to accept this, starting to want what I'm giving you.">>
<<narrative "Despite his mental protests, I can feel something changing inside him. The initial pain and discomfort is giving way to something else entirely - something that terrifies him even as it makes his body respond with unwanted pleasure. Watching his transformation from pain to pleasure fills me with a predatory satisfaction.">>
<<quickRoll "Pleasure Control" "Rylan" 35 5 "DominanceFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "DominanceFetish" 0.5>>
<<changeLust "Rylan" 5>>
<<narrative "The pain is fading, replaced by something else... something that feels disturbingly good to control.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selfgay/15.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangrycry" "I'm not... I'm not enjoying this!" "he lies desperately, his voice cracking with the effort of denial." "This is wrong... I don't want this... but why does it feel...">>
<<narrative "My rhythm becomes more insistent, each thrust now hitting deeper inside him. I can feel him being stretched and filled in ways I never imagined possible, his body adapting to my size with traitorous ease. His body's eager acceptance of my size fills me with a dark pride.">>
<center><img src="images/rylan/chapter5/dream/selfgay/16.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "You're mine now," "I pant heavily, my voice thick with dominance and growing arousal." "I can feel you accepting me, welcoming me deeper with every thrust.">>
<<narrative "The sensations are overwhelming - I can feel every inch of me moving inside him, creating friction that sends electric shocks through my entire being. My mind struggles to process what's happening as unwanted waves of pleasure begin to build. The pleasure builds with each thrust, my control over the situation amplifying every sensation.">>
<center><img src="images/rylan/chapter5/dream/selfgay/17.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "I can't... I can't think anymore..." "he moans helplessly." "It's too much... I'm losing myself...">>
<<narrative "My hands grip his hips possessively as I continue my slow, deliberate rhythm. Every thrust sends waves of sensation coursing through my body, building toward something I've never experienced before. The anticipation of what's coming next drives me forward with increasing desperation.">>
<center><img src="images/rylan/chapter5/dream/selfgay/18.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "You're adapting so well to me," "I whisper with dark satisfaction." "I can feel your body accepting me, welcoming me deeper. Now let's see how you handle a more... intense pace.">>
<<narrative "Suddenly, my rhythm changes completely. The slow, torturous movements give way to something much more aggressive and demanding. I can feel myself pulling back and then slamming into him with increasing force. The change in rhythm feels like a declaration of complete control over his body.">>
<center><img src="images/rylan/chapter5/dream/selfgay/19.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "No! Stop! It's too fast... too hard!" "he cries out desperately, his voice breaking with the intensity of the new pace." "I can't take this much...">>
<<narrative "But I don't stop. Instead, I increase my pace even more, pounding into him with a desperate intensity that makes his entire body shake. The sound of our bodies coming together fills the room as I take him with increasing ferocity. The ferocity of my movements reflects the depth of my control over him.">>
<<continueBox "RylanSelfGayDreamDominantPOV3" "The pace intensifies..." "">>
</div>
<</nobr>>
<<pov "rylan" "intimate5.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/malemoansoft.mp3" "sounds/hsounds/sex.mp3" 1>>
<div class="passage-container rylan">
<<narrative "🌙 Relentless Domination 🌙">>
<<narrative "Every thrust a conquest, every moan a surrender...">>
<<narrative "The pace becomes absolutely brutal. I'm no longer gentle or slow - every thrust is a violent claim, every withdrawal a prelude to another devastating invasion. His body shakes with each impact as I pound into him with increasing desperation. The brutality of my movements reflects the complete control I now have over him.">>
<<quickRoll "Brutal Control" "Rylan" 30 5 "DominanceFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "DominanceFetish" 0.5>>
<<changeLust "Rylan" 5>>
<<narrative "The brutal pace is overwhelming, but my body is responding with intense arousal. I can't control it anymore.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selfgay/22.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangrycry" "Stop! Please! It's too much... too fast!" "he screams, his voice cracking with the intensity of my assault." "I can't take this pace... you're going to break me!">>
<<dialog "Rylan" "faceeerie" "You can take it," "I growl with dark satisfaction, my voice thick with desire and dominance." "I can feel how your body is responding to my pace. You're loving every brutal thrust.">>
<<narrative "My hands grip his hips with bruising force as I continue my relentless assault. Each thrust sends shockwaves through his entire body, making him cry out with unwanted pleasure despite his mental protests. His helpless cries only fuel my desire to continue, creating a dark cycle of escalating pleasure.">>
<center><img src="images/rylan/chapter5/dream/selfgay/23.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "I'm not... I'm not loving it!" "he lies desperately, his voice breaking with the intensity of the sensations." "This is wrong... so wrong... but why does it feel so intense?">>
<<narrative "I increase my pace even more, pounding into him with a ferocity that makes his entire body convulse. I can feel every inch of me moving inside him at this brutal pace, creating friction that sends unwanted waves of pleasure through my body. The dominance I feel over his helpless form amplifies every sensation.">>
<center><img src="images/rylan/chapter5/dream/selfgay/24.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "That's it. Let yourself feel everything," "I pant heavily, my voice thick with dominance." "I can feel you clenching around me, begging for more even as you protest. Your body knows what it wants.">>
<<narrative "The sensations are overwhelming - I can feel every powerful thrust as I drive into him with increasing desperation. My mind struggles to process what's happening as wave after wave of unwanted pleasure crashes over me. The power I wield over him transforms shame into exhilaration.">>
<center><img src="images/rylan/chapter5/dream/selfgay/25.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceangrycry" "No... no, my body doesn't want this!" "he cries out desperately, but his voice betrays him with its breathless quality." "I don't want to feel this way... but why can't I stop it?">>
<<narrative "My rhythm becomes absolutely relentless, driving into him with a desperate intensity that makes his entire body shake. I can feel him being stretched and filled in ways I never imagined possible. His body's eager acceptance of my size fills me with predatory satisfaction.">>
<center><img src="images/rylan/chapter5/dream/selfgay/26.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "You're mine now," "I groan with possessive satisfaction." "I can feel you accepting every inch of me, welcoming me...">>
<<narrative "The pace becomes even more intense, each thrust hitting deeper inside him than the last. I can feel every ridge, every vein of myself as I pound into him with increasing ferocity. The ferocity of my movements reflects the depth of my control over him.">>
<center><img src="images/rylan/chapter5/dream/selfgay/27.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "I can't... I can't think anymore..." "he moans helplessly, his voice muffled by the bed." "It's too intense... I'm losing myself...">>
<<narrative "My hands grip his hips possessively as I continue my brutal rhythm. Every thrust sends waves of sensation coursing through my body, building toward something I've never experienced before. The anticipation of what's coming next drives me forward with increasing desperation.">>
<<quickRoll "Possessive Control" "Rylan" 25 5 "DominanceFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "DominanceFetish" 0.5>>
<<changeLust "Rylan" 5>>
<<narrative "My possessive grip on his hips is overwhelming. He's completely at my mercy.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selfgay/28.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceeerie" "That's it. Let yourself go completely," "I pant heavily, my voice thick with dominance and growing arousal." "I can feel you trembling, your body begging for release. You're going to come from being fucked like this.">>
<<narrative "The pleasure builds to an almost unbearable intensity. I can feel something powerful approaching, something that will change me forever. My mind can barely process what's happening as wave after wave of sensation crashes over me. The power I wield over him transforms shame into exhilaration.">>
<center><img src="images/rylan/chapter5/dream/selfgay/29.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "No... no, I can't be... I'm not..." "he whispers breathlessly, shocked by his own admission." "Something's building inside me... I've never felt anything like this before...">>
<<narrative "My rhythm becomes absolutely relentless, driving into him with a desperate intensity that pushes us both toward the edge. The sound of our bodies coming together fills the room as we approach the inevitable climax. The anticipation of his climax amplifies my own building pleasure.">>
<<dialog "Rylan" "faceeerie" "You're getting close, aren't you?" "I whisper with dark satisfaction." "I can feel your body trembling, your breathing getting shallow. You're going to come from being fucked like this, aren't you?">>
<<narrative "The sensations are overwhelming - I can feel every inch of me moving inside him at this brutal pace, creating friction that sends electric shocks through my entire being. My mind struggles to process what's happening as unwanted waves of pleasure begin to build. His helplessness amplifies my arousal, creating a feedback loop that drives me deeper.">>
<center><img src="images/rylan/chapter5/dream/selfgay/32.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "I can't... I can't hold back anymore..." "he moans helplessly, his voice breaking with the intensity of the sensations." "Something's happening to me... I can't control it...">>
<<narrative "My pace becomes absolutely frantic, pounding into him with a desperation that makes his entire body convulse. I can feel something powerful building inside me, something I've never experienced before. The frantic pace reflects my complete loss of control over my own desires.">>
<<dialog "Rylan" "faceeerie" "That's it. Let it happen," "I groan with satisfaction, my voice thick with dominance." "Come for me. Come from being fucked like a good boy.">>
<<narrative "The pleasure builds to an almost unbearable intensity. I can feel something powerful approaching, something that will change me forever. My mind can barely process what's happening as wave after wave of sensation crashes over me. The power I wield over him transforms shame into exhilaration.">>
<center><img src="images/rylan/chapter5/dream/selfgay/33.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "I'm... I'm going to..." "he gasps breathlessly, shocked by his own admission." "Something's happening... I can't stop it...">>
<<narrative "My rhythm becomes absolutely relentless, driving into him with a desperate intensity that pushes us both toward the edge. The sound of our bodies coming together fills the room as we approach the inevitable climax. The anticipation of his climax amplifies my own building pleasure.">>
<center><img src="images/rylan/chapter5/dream/selfgay/34.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<continueBox "RylanSelfGayDreamDominantPOVClimax" "The climactic moment arrives..." "">>
</div>
<</nobr>>
<<pov "rylan" "intimate5.mp3">><<nobr>>
<<stopLoopingAndPlay "sounds/hsounds/cum.mp3">>
<div class="passage-container rylan">
<<narrative "🌙 Climactic Domination 🌙">>
<<narrative "In the moment of ultimate control, all resistance crumbles...">>
<<narrative "The pleasure builds to an absolutely unbearable intensity. I can feel something powerful approaching, something that will change me forever. My mind can barely process what's happening as wave after wave of sensation crashes over me. The power I wield over him transforms shame into exhilaration.">>
<center><img src="images/rylan/chapter5/dream/selfgay/34.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "I'm... I'm going to..." "he gasps breathlessly, shocked by his own admission." "Something's happening... I can't stop it... I'm going to come!">>
<<dialog "Rylan" "faceeerie" "That's it. Come for me," "I groan with satisfaction, my voice thick with dominance.">>
<<narrative "Suddenly, I feel myself pulling out of him, and in that same moment, something inside me snaps. The pleasure becomes absolutely overwhelming, and I can feel myself climaxing uncontrollably. At the same time, I feel my hot seed splashing across his back as I come with a deep, satisfied groan. The climax feels like a declaration of complete dominance over him.">>
<center><img src="images/rylan/chapter5/dream/selfgay/35.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "No... no, I can't believe this happened..." "he whispers breathlessly, his voice trembling with shock and shame." "I came... I actually came from being fucked like that...">>
<<dialog "Rylan" "faceeerie" "Perfect," "I pant heavily, my voice thick with satisfaction.">>
<<narrative "I collapse onto the bed beside him, completely spent and overwhelmed. I can see my cum cooling on his back, marking him as mine. The sensation is both shameful and somehow... satisfying. I can't believe what just happened, but I can't deny the intense pleasure I experienced. And there's something else too - a growing sense of power that makes the satisfaction even more intense.">>
<center><img src="images/rylan/chapter5/dream/selfgay/36.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "facewet" "This is wrong... so wrong..." "he whispers to himself, his voice barely audible." "But why did it feel so good? Why did my body betray me like that?">>
<<dialog "Rylan" "faceshock" "What have I done..." "I whisper in shock, my voice trembling with realization." "I can't believe what I just did to you...">>
<<narrative "I lie there, sprawled beside him, unable to move. My cum is cooling on his back, and I can see it slowly dripping down his sides. The sensation is both humiliating and somehow... right. I can't believe what just happened, but I also can't deny the intense pleasure I experienced. And there's something else too - a growing sense of power that makes the rightness even more intense.">>
<<dialog "Rylan" "facewet" "I can't... I can't believe I came from that..." "I whisper to myself, still in shock." "What does this mean? What have I become?">>
<<narrative "The dream begins to fade, but the sensations remain vivid in my mind. I can still see my cum on his back, still feel the echoes of the intense pleasure I experienced. This changes everything. This changes me. And there's something else too - a growing sense of power that makes the change even more profound.">>
<<if $chapter6Dreams>>
<<continueBox "NightActivitiesEnd" "Wake up..." "">>
<<else>>
<<continueBox "RylanDreamcorruptionChoices" "Wake up..." "">>
<</if>>
</div>
<</nobr>>
<<changeLust "Rylan" -100>>
<<changeFetish "Rylan" "DominanceFetish" 0.4>>
<<changeFetish "Rylan" "AnalFetish" 0.3>>
<<changeFetish "Rylan" "GayValue" 0.4>>
<<addSoulCorruption "rylan" 1>>
<<soulDisplay "rylan">>
<<pov "rylan" "intimate5.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<narrative "🌸 Identity Shift Dream 🌸">>
<<narrative "Through different eyes, new sensations...">>
<<set $crystals -= 3>>
<<set $rylanDreamSelfHetero = true>>
<<narrative "The world feels strange as consciousness returns to me. I'm in what appears to be my own bedroom, but something feels... off. The familiar furniture seems to shimmer at the edges of my vision.">>
<center><img src="images/rylan/chapter5/dream/selffemale/1.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "face" "Where... where am I? This looks like my room, but everything feels different...">>
<<narrative "I sit up slowly, trying to shake off the disorientation. The air itself seems to pulse with an otherworldly energy, and I can hear the faint echo of a familiar laugh in the distance.">>
<<dialog "Nimeria" "face" "Oh my sweet $humanName... you look so confused. But you're all wrong like this." "The mysterious voice echoes from everywhere and nowhere, filled with playful mischief." "A strong, masculine body? That simply won't do for what I have planned...">>
<<dialog "rylan" "face" "Who's there?! What are you talking about? What's happening?">>
<center><img src="images/rylan/chapter5/dream/selffemale/1.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Before I can protest further, a warm, tingling sensation begins to spread from my fingertips. I watch in fascination and growing alarm as my hands become more delicate, my fingers longer and more graceful.">>
<<quickRoll "Transformation Temptation" "Rylan" 70 5 "CrossdressingFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "CrossdressingFetish" 0.3>>
<<changeLust "Rylan" 3>>
<<narrative "The sensation of my body changing is strangely... exciting. I shouldn't feel this way.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selffemale/2.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Warmth spreads up my arms, making my muscles loosen and soften. My frame grows more slender, my shoulders drawing in. A tingling sensation builds in my chest, and then it rises-flesh swelling outward until my nipples stand exposed and sensitive in the open air, breasts now fully formed.">>
<<quickRoll "Breast Development Temptation" "Rylan" 65 5 "BreastFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "BreastFetish" 0.4>>
<<changeLust "Rylan" 4>>
<<narrative "The sensation of developing breasts is overwhelming. I can feel every nerve ending becoming hypersensitive.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selffemale/3.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "face" "Much better... look at you, becoming so beautiful. Your skin is getting so soft and smooth..." "The voice purrs with satisfaction.">>
<center><img src="images/rylan/chapter5/dream/selffemale/4.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "The transformation continues downward. My waist cinches in as my hips flare out, creating feminine curves. Between my legs, I feel the strangest sensation - my most masculine feature dissolving away, replaced by something entirely new and foreign.">>
<center><img src="images/rylan/chapter5/dream/selffemale/5.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "female/faceangry" "No, no, no! This isn't right! Change me back!" "My voice comes out higher, more melodic - completely feminine. The sound shocks me into silence.">>
<<dialog "Nimeria" "face" "Oh, but you sound so lovely now! And look..." "The voice takes on a sultry tone." "Someone's here to meet the new you.">>
<center><img src="images/rylan/chapter5/dream/selffemale/6.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "The bedroom door opens, and I gasp. Standing there is... me. Or rather, the male version of me I used to be. He's tall, broad-shouldered, and completely naked, his impressive arousal already evident as he takes in my transformed form.">>
<<quickRoll "Male Self Temptation" "Rylan" 60 5 "MuscleFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "MuscleFetish" 0.3>>
<<changeLust "Rylan" 3>>
<<narrative "Seeing myself like this - strong, masculine, dominant - it's strangely arousing in my new feminine form.">>
<</if>>
<<narrative "I look down at myself and realize with horror that I'm naked too - my new feminine body completely exposed, breasts rising and falling with my panicked breathing. My body won't obey my commands to move or cover myself.">>
<<dialog "rylan" "facewet" "You're beautiful," "the male me says, his voice deep and commanding." "I've been waiting for you.">>
<<dialog "rylan" "female/faceangry" "Stay away from me! This is disgusting and wrong!" "I shout angrily, my feminine voice shaking with rage." "I don't want any of this!">>
<<dialog "Nimeria" "face" "Lie down on the bed, my dear. Lie on your back." "The voice commands with irresistible authority.">>
<<narrative "Against my will, my body moves and lies down, my transformed form sprawled on the sheets. I can feel my naked breasts rising and falling with my panicked breathing.">>
<<dialog "rylan" "female/faceangry" "I won't do this! Let me go!" "I shout defiantly, my feminine voice filled with rage and humiliation.">>
<<dialog "Nimeria" "face" "Now spread your legs wide for him, my sweet little girl.">>
<<narrative "My legs part against my will, exposing my most intimate feminine parts. The humiliation burns through me like fire.">>
<<quickRoll "Exhibition Temptation" "Rylan" 60 5 "ExhibitionismFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "ExhibitionismFetish" 0.4>>
<<changeLust "Rylan" 4>>
<<narrative "Being exposed like this is humiliating, but there's also something... thrilling about the vulnerability.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selffemale/7.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "female/faceangrycry" "No! This is sick! Stop making me do this!" "I scream, tears of rage and humiliation starting to form in my eyes.">>
<<dialog "Nimeria" "face" "Hmm, this won't do at all..." "The voice purrs with amusement." "Let me fix this. Your body grows hotter and hotter, desire coursing through your veins like liquid fire. Your new feminine core becomes slick and wet, aching to be filled.">>
<<narrative "Immediately, waves of unwanted heat wash over my transformed body. My skin flushes and becomes hypersensitive, my nipples hardening into stiff peaks. Between my legs, I feel an alien wetness forming, my new feminine anatomy responding despite my mental resistance.">>
<<quickRoll "Forced Arousal" "Rylan" 60 5 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.4>>
<<changeLust "Rylan" 4>>
<<narrative "My new feminine body is responding so strongly to this forced arousal. I can't control it.">>
<</if>>
<<dialog "rylan" "female/facewet" "What's happening to me?! Why does my body feel so... strange?" "I gasp, my anger mixing with unwanted arousal as heat floods through my feminine form.">>
<<dialog "rylan" "female/faceangrycry" "No! Why can't I control my own body?!" "I cry out in shock and horror, tears streaming down my face." "This is wrong! So wrong!">>
<<narrative "The male version of myself approaches the bed, his impressive arousal standing proud as he looks down at my exposed, transformed body. His eyes are filled with desire as he positions himself between my spread legs.">>
<center><img src="images/rylan/chapter5/dream/selffemale/8.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "I feel him press the head of his member against my slick entrance, rubbing it up and down my wet folds. The sensation is electric, sending unwanted jolts of pleasure through my core.">>
<<dialog "rylan" "female/faceangry" "Stop it! Don't touch me there!" "I cry out angrily, my voice cracking with both rage and the unwanted pleasure building in my transformed body.">>
<center><img src="images/rylan/chapter5/dream/selffemale/9.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "He continues to rub against me, teasing my entrance with the tip of his hardness. My body betrays me, growing wetter and more responsive with each movement, despite my mental protests.">>
<center><img src="images/rylan/chapter5/dream/selffemale/10.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Then, slowly, he begins to press forward. I feel myself stretching to accommodate him as he starts to penetrate my virgin feminine core.">>
<<quickRoll "Penetration Temptation" "Rylan" 60 5 "SubmissionFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.5>>
<<changeLust "Rylan" 5>>
<<narrative "Being penetrated like this is overwhelming, but there's something primal about the sensation.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selffemale/11.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "female/faceangrycry" "Stop! I don't want this! Please don't!" "I scream, tears streaming down my cheeks as I feel him slowly filling me.">>
<center><img src="images/rylan/chapter5/dream/selffemale/12.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Nimeria" "face" "Shh, my dear. This will help you understand how a woman feels during her first time. If you know this sensation, you'll know exactly how to please the women in your life." "The voice explains with false comfort.">>
<<narrative "As he pushes deeper into me, his demeanor suddenly changes. The hungry, predatory look softens into something tender and caring. His movements become gentle, almost reverent.">>
<<dialog "rylan" "facewet" "Oh my sweet, beautiful $humanName," "he whispers lovingly, his voice filled with unexpected tenderness." "You look so perfect like this. I love you so much.">>
<<narrative "His hands caress my transformed body with gentle, loving touches. Despite my fear and anger, my feminine form responds to his affection.">>
<center><img src="images/rylan/chapter5/dream/selffemale/14.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "God, even as a girl you're absolutely beautiful, my sweet $humanName," "he whispers with tender reverence, stroking my cheek." "I love every part of you, no matter what form you take.">>
<<narrative "His touch moves lower, tracing patterns on my soft skin. When his fingers reach between my legs, I gasp at the unfamiliar sensation. The wetness there is evidence of my body's betrayal, proof that despite my mental protests, I'm becoming aroused.">>
<<quickRoll "Gentle Touch Temptation" "Rylan" 60 5 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.4>>
<<changeLust "Rylan" 4>>
<<narrative "His gentle touch is so confusing. It feels good despite everything.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selffemale/15.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "female/facewet" "Oh god... what is this feeling?" "I breathe, my feminine voice trembling with confusion and growing need.">>
<<dialog "Nimeria" "face" "That's arousal, my dear. The aching need to be filled, to be completed by a man's touch. This is what Liora feels when she looks at you, what Serin craves when she teases you." "The voice explains with intimate knowledge.">>
<<narrative "He's already deep inside me, filling me completely. My feminine body trembles around him, still adjusting to the overwhelming sensation of being so thoroughly claimed and stretched.">>
<<quickRoll "Deep Penetration Temptation" "Rylan" 60 5 "SubmissionFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.5>>
<<changeLust "Rylan" 5>>
<<narrative "Being filled so completely is overwhelming. I can feel every inch of him inside me.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selffemale/16.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "My sweet, beautiful $humanName," "he whispers softly, his voice filled with tender love." "How does this feel? Tell me what you're experiencing.">>
<<continueBox "RylanSelfHeteroDream2" "Continue the dream..." "">>
</div>
<</nobr>>
<<pov "rylan" "intimate5.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/sex.mp3" 1>>
<div class="passage-container rylan">
<<narrative "🌸 Overwhelming Sensations 🌸">>
<<narrative "Resistance crumbling under tender touch...">>
<<narrative "He begins to move slowly and lovingly, each gentle thrust sending ripples of unfamiliar sensation through my transformed core. His movements are tender, reverent, as if he's worshipping my new feminine form with every caress.">>
<<quickRoll "Gentle Movement Temptation" "Rylan" 60 5 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<changeLust "Rylan" 3>>
<<narrative "His gentle movements are so confusing. They feel good despite everything.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selffemale/16.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "My sweet, beautiful $humanName," "he whispers lovingly, his voice dripping with adoration." "How does this feel, darling? Tell me everything you're experiencing... every sensation, every emotion flowing through your perfect feminine body.">>
<<narrative "His hands roam over my soft curves, tracing the gentle swell of my breasts, the delicate line of my waist. Each touch sends electric shocks through my transformed flesh, awakening nerve endings I never knew existed.">>
<center><img src="images/rylan/chapter5/dream/selffemale/17.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "But despite his tenderness, my mind rebels against what's happening. This is so weird, I think desperately. I never wanted to know what this feels like... what it's like to be on the receiving end of such intimate touch.">>
<<dialog "rylan" "female/faceangry" "I don't want this!" "I cry out, my feminine voice trembling with rage and confusion." "This is so weird... so wrong! I never wanted to know what this feeling is like! Stop touching me like that!">>
<<narrative "Yet even as I protest, my inner thoughts betray me. When will this finally stop? I wonder desperately, trying to ignore the building warmth spreading through my core. His slow, loving movements create sensations I've never experienced as a man - deeper, more encompassing, more overwhelming.">>
<center><img src="images/rylan/chapter5/dream/selffemale/18.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "You're absolutely perfect, my darling $humanName," "he murmurs with increasing passion, his pace gradually quickening." "Your body was made for this... made to receive love like this. Stop fighting what feels so natural and right.">>
<<narrative "His movements become more rhythmic, more insistent. I can feel every inch of him sliding in and out of my transformed body, creating friction that sends waves of unwanted pleasure coursing through my feminine form.">>
<center><img src="images/rylan/chapter5/dream/selffemale/19.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "Feel how perfectly we fit together," "he breathes against my ear, his voice becoming husky with desire." "Your body welcomes me so completely, my sweet girl. You were born to be loved like this.">>
<<narrative "As he moves faster, my thoughts become increasingly muddled. Why... why does this feel so good? The question terrifies me as much as it confuses me. Each thrust sends waves of pleasure through my feminine form, making coherent thought more difficult.">>
<center><img src="images/rylan/chapter5/dream/selffemale/20.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "female/facewet" "This feels so wrong but... but why does it feel right at the same time?" "I gasp, my voice becoming breathless despite my resistance." "I can't think properly anymore... this is completely wrong!">>
<<narrative "He leans down to kiss my neck, his lips trailing fire across my sensitive skin. His hands cup my breasts, thumbs circling my hardened nipples as he continues his relentless rhythm.">>
<center><img src="images/rylan/chapter5/dream/selffemale/21.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "Look at you, responding so beautifully," "he pants, his thrusts becoming more intense." "Your body knows exactly what it wants, even if your mind resists. Every curve, every breath, every moan tells me the truth.">>
<<narrative "His rhythm becomes more urgent, more demanding. My mind grows hazy as pleasure builds against my will. I'm becoming stupid, I think in panic. I can barely form thoughts anymore... it's like I'm forgetting what gender I'm supposed to be.">>
<center><img src="images/rylan/chapter5/dream/selffemale/22.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "He shifts his angle slightly, and suddenly I'm gasping as he hits a spot inside me that sends lightning through my entire being. My back arches involuntarily, pressing my transformed body closer to his.">>
<<quickRoll "Sweet Spot Discovery" "Rylan" 55 5 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.4>>
<<changeLust "Rylan" 4>>
<<narrative "That sensation was incredible. I've never felt anything like it before.">>
<</if>>
<<dialog "rylan" "female/facewet" "Oh god... what was that?!" "I cry out, my feminine voice cracking with shock and unwanted pleasure." "I... I never knew it could feel like that...">>
<center><img src="images/rylan/chapter5/dream/selffemale/23.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "That's your sweet spot, my darling," "he whispers with dark satisfaction, deliberately targeting that sensitive place again." "Every woman has one. Now you know exactly how to find it in others... and how it feels to have it touched.">>
<<narrative "The relentless rhythm overwhelms my senses completely. I'm losing myself, I think desperately as waves of feminine pleasure crash over me. I feel like I'm even forgetting what gender I'm supposed to be... this is making me lose my mind completely.">>
<<quickRoll "Overwhelming Pleasure" "Rylan" 50 5 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.4>>
<<changeLust "Rylan" 4>>
<<narrative "The pleasure is so overwhelming I can barely think. I'm losing myself completely.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selffemale/24.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "female/facewet" "I... I'm becoming stupid..." "I whimper, my feminine voice growing more needy despite myself." "I feel like I'm even forgetting what gender I'm supposed to be... this is making me lose my mind...">>
<<narrative "His pace becomes absolutely relentless now, driving into me with an intensity that makes rational thought impossible. My transformed body responds with increasing desperation, craving more even as my mind rebels.">>
<center><img src="images/rylan/chapter5/dream/selffemale/25.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "You're incredible, my sweet $humanName," "he groans, his voice thick with passion." "I love watching you discover these new sensations. Your face, your body, your voice - everything about you is perfect like this.">>
<<narrative "My transformed body arches and responds as if it was born for this, betraying every rational thought I try to hold onto. The pleasure builds to an almost unbearable intensity, threatening to shatter what remains of my resistance.">>
<center><img src="images/rylan/chapter5/dream/selffemale/26.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "female/facewet" "Something's building inside me..." "I whisper breathlessly, my feminine voice trembling with confusion and growing need." "It feels different from anything I've ever experienced... deeper, more intense...">>
<center><img src="images/rylan/chapter5/dream/selffemale/27.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "I'm getting close too, my beautiful $humanName," "he pants heavily, his thrusts becoming erratic with approaching climax." "You're driving me completely wild... I can't hold back much longer...">>
<<narrative "The intensity reaches a fever pitch as he pounds into me with increasing desperation. My feminine mind can barely process what's happening anymore, lost in a haze of overwhelming sensation and confusion.">>
<center><img src="images/rylan/chapter5/dream/selffemale/28.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "female/facewet" "I can't... I can't think anymore..." "I moan helplessly, my feminine voice breaking with overwhelming sensation." "Everything feels so intense... I'm completely losing myself...">>
<<narrative "The final moments approach as both our bodies reach their absolute limit. The pleasure has become so intense that I can barely remember who I used to be, completely lost in this new feminine experience.">>
<center><img src="images/rylan/chapter5/dream/selffemale/29.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<continueBox "RylanSelfHeteroDreamClimax" "The climactic moment arrives..." "">>
</div>
<</nobr>>
<<pov "rylan" "intimate5.mp3">><<nobr>>
<<stopLoopingAndPlay "sounds/hsounds/cum.mp3">>
<div class="passage-container rylan">
<<narrative "🌸 Ultimate Surrender 🌸">>
<<narrative "The moment of truth revealed...">>
<center><img src="images/rylan/chapter5/dream/selffemale/29.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "I can't... I can't hold back anymore..." "he gasps desperately, his movements becoming frantic." "You're too perfect, too beautiful... I'm going to...">>
<<narrative "He suddenly pulls out of me and climaxes with an intensity that shocks me - an unnatural, overwhelming amount of his warm release erupting across my transformed body. Thick, hot streams cover my breasts, stomach, arms, and even reach my face and hair, as if he's deliberately trying to mark every inch of my feminine form. The sheer volume is impossible, far more than any normal man could produce, coating me completely in his essence.">>
<center><img src="images/rylan/chapter5/dream/selffemale/30.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "I lie there trembling, completely exhausted and lost in a deep trance-like state. My mind feels blank and empty, overwhelmed by the intensity of what just happened. I can barely form coherent thoughts as I stare blankly at the ceiling.">>
<<dialog "Rylan" "female/facewet" "There's... there's so much..." "I whisper breathlessly, my feminine voice trembling as I feel the warm essence coating every part of my transformed body." "How is this even possible? I'm completely covered... it's like you were trying to claim every inch of me...">>
<<narrative "As I lay there in my trance, he gazes down at my cum-covered feminine form with intense adoration. His eyes drink in every curve, every detail of my transformed body as if memorizing this moment forever.">>
<<dialog "rylan" "facewet" "Perfect... absolutely perfect," "he whispers with dark satisfaction, his voice filled with possessive desire as he admires how thoroughly he's marked me." "Every inch of you is covered in my essence... claimed, marked, mine. You look so beautiful completely coated like this.">>
<<narrative "His hand gently caresses my cheek as he continues to stare at me with that intense, loving gaze. There's something different in his voice now - something deeper, more possessive, more revealing.">>
<<dialog "rylan" "facewet" "I might get addicted to this... to seeing you like this," "he murmurs with dark satisfaction, his voice taking on a sultry, feminine quality." "I can't wait until you are mine completely... body, mind, and soul.">>
<<narrative "There's something unsettling about the way he says those words, as if this isn't just a fantasy but a promise. The realization begins to dawn on me through my haze that this might not be who I thought it was...">>
<<dialog "Nimeria" "face" "Remember this feeling, my sweet $humanName," "the mysterious voice whispers as the dream begins to fade." "Remember what it means to surrender completely, to receive pleasure instead of just giving it. This knowledge will serve you well with the women in your life... and with me.">>
<<narrative "As the dream begins to fade, I'm left staring at the ceiling in complete bewilderment. My body still tingles with aftershocks of the most intense pleasure I've ever experienced. The questions swirl in my mind - what have I learned about myself? About pleasure? About the feminine experience?">>
<center><img src="images/rylan/chapter5/dream/selffemale/31.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "The memory lingers as consciousness returns to my real body - the transformation, the surrender, the incredible sensations, and those final possessive words. I wake up confused, aroused, and fundamentally changed by the experience, with the distinct feeling that someone has been watching me very closely...">>
<<if $chapter6Dreams>>
<<continueBox "NightActivitiesEnd" "Wake up from the dream..." "">>
<<else>>
<<continueBox "RylanDreamcorruptionChoices" "Wake up from the dream..." "">>
<</if>>
</div>
<</nobr>>
<<changeLust "Rylan" -100>>
<<changeFetish "Rylan" "CrossdressingFetish" 0.3>>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<addSoulCorruption "rylan" 1>>
<<soulDisplay "rylan">>
<<pov "rylan" "intimate6.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<narrative "🌸 Identity Shift Dream 🌸">>
<<narrative "Through different eyes, new sensations...">>
<<narrative "I find myself standing in what appears to be my own bedroom, but something feels... off. The familiar furniture seems to shimmer at the edges of my vision, and there's a strange energy in the air that makes my skin tingle.">>
<<dialog "rylan" "face" "Where... where am I? This looks like my room, but everything feels different...">>
<<narrative "I look around, trying to understand what's happening. The air itself seems to pulse with an otherworldly energy, and I can hear the faint echo of a familiar laugh in the distance.">>
<<narrative "Suddenly, I notice something strange on my bed. There's someone there - someone who looks exactly like me, but something's different about them. They seem to be in some kind of trance, their body beginning to change in ways that both fascinate and disturb me.">>
<<quickRoll "Transformation Fascination" "Rylan" 70 5 "CrossdressingFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "CrossdressingFetish" 0.3>>
<<changeLust "Rylan" 3>>
<<narrative "Watching this transformation is strangely... exciting. I shouldn't feel this way.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selffemale/2.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "I watch in fascination as the person on the bed begins to transform. Their frame grows more slender, their shoulders drawing in. A tingling sensation builds in their chest, and then flesh swells outward until nipples stand exposed and sensitive in the open air, breasts now fully formed.">>
<<quickRoll "Breast Development Fascination" "Rylan" 65 5 "BreastFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "BreastFetish" 0.4>>
<<changeLust "Rylan" 4>>
<<narrative "Watching them develop breasts is overwhelming. I can feel myself becoming aroused by the sight.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selffemale/3.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "The transformation continues downward. Their waist cinches in as their hips flare out, creating feminine curves. Between their legs, I see the strangest sensation - their most masculine feature dissolving away, replaced by something entirely new and foreign.">>
<center><img src="images/rylan/chapter5/dream/selffemale/4.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "female/faceangry" "No, no, no! This isn't right! Change me back!" "Their voice comes out higher, more melodic - completely feminine. The sound shocks me into silence.">>
<<narrative "I realize with shock that I'm standing here, completely naked, and I can feel my arousal building as I take in the transformed form before me. There's something primal awakening inside me, a desire I can't control.">>
<<quickRoll "Dominant Urge" "Rylan" 60 5 "MuscleFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "MuscleFetish" 0.3>>
<<changeLust "Rylan" 3>>
<<narrative "Seeing them like this - vulnerable, feminine, exposed - it's making me feel dominant and powerful.">>
<</if>>
<<narrative "I look down at myself and realize I'm naked too - my masculine body completely exposed, my arousal already evident as I take in their transformed form. Something inside me is changing, becoming more primal, more dominant.">>
<<dialog "rylan" "facewet" "You're beautiful," "I hear myself say, my voice deep and commanding." "I've been waiting for you.">>
<<dialog "Rylan" "female/faceangry" "Stay away from me! This is disgusting and wrong!" "They shout angrily, their feminine voice shaking with rage." "I don't want any of this!">>
<<narrative "I feel a surge of power course through me. Their resistance only makes me want them more. I can see the fear in their eyes, and it's intoxicating.">>
<<narrative "Against their will, their body moves and lies down, their transformed form sprawled on the sheets. I can see their naked breasts rising and falling with panicked breathing.">>
<<dialog "Rylan" "female/faceangry" "I won't do this! Let me go!" "They shout defiantly, their feminine voice filled with rage and humiliation.">>
<<narrative "I can feel my control over their body growing stronger. Their legs part against their will, exposing their most intimate feminine parts. The humiliation burns through them like fire, but I can feel my own arousal building as I watch this display of vulnerability.">>
<<quickRoll "Exhibition Fascination" "Rylan" 60 5 "ExhibitionismFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "ExhibitionismFetish" 0.4>>
<<changeLust "Rylan" 4>>
<<narrative "Seeing them exposed like this is incredibly arousing. I want to claim them completely.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selffemale/7.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "female/faceangrycry" "No! This is sick! Stop making me do this!" "They scream, tears of rage and humiliation starting to form in their eyes.">>
<<narrative "I can feel waves of heat washing over their transformed body. Their skin flushes and becomes hypersensitive, their nipples hardening into stiff peaks. Between their legs, I can see an alien wetness forming, their new feminine anatomy responding despite their mental resistance.">>
<<quickRoll "Dominant Control" "Rylan" 60 5 "DominanceFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "DominanceFetish" 0.4>>
<<changeLust "Rylan" 4>>
<<narrative "Seeing them lose control like this is incredibly arousing. I want to dominate them completely.">>
<</if>>
<<dialog "Rylan" "female/facewet" "What's happening to me?! Why does my body feel so... strange?" "They gasp, their anger mixing with unwanted arousal as heat floods through their feminine form.">>
<<dialog "Rylan" "female/faceangrycry" "No! Why can't I control my own body?!" "They cry out in shock and horror, tears streaming down their face." "This is wrong! So wrong!">>
<<narrative "I can feel my control over my own body slipping away as well, but in a different way. The dominant urges are growing stronger, and I find myself approaching the bed with a hunger I can't resist. Their exposed, transformed body calls to me like a siren's song.">>
<center><img src="images/rylan/chapter5/dream/selffemale/8.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "I feel my member press against their slick entrance, rubbing it up and down their wet folds. The sensation is electric, sending jolts of pleasure through my core as I feel their body respond to my touch.">>
<<dialog "Rylan" "female/faceangry" "Stop it! Don't touch me there!" "They cry out angrily, their voice cracking with both rage and the unwanted pleasure building in their transformed body.">>
<center><img src="images/rylan/chapter5/dream/selffemale/9.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "I continue to rub against them, teasing their entrance with the tip of my hardness. Their body betrays them, growing wetter and more responsive with each movement, despite their mental protests.">>
<center><img src="images/rylan/chapter5/dream/selffemale/10.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Then, slowly, I begin to press forward. I feel them stretching to accommodate me as I start to penetrate their virgin feminine core.">>
<<quickRoll "Penetration Control" "Rylan" 60 5 "DominanceFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "DominanceFetish" 0.5>>
<<changeLust "Rylan" 5>>
<<narrative "Being inside them like this is overwhelming. I feel completely in control.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selffemale/11.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "female/faceangrycry" "Stop! I don't want this! Please don't!" "They scream, tears streaming down their cheeks as they feel me slowly filling them.">>
<center><img src="images/rylan/chapter5/dream/selffemale/12.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "As I push deeper into them, I suddenly feel control returning to my body. The strange force that was controlling me releases its grip, and I'm back in charge of my own movements. The sensation of being inside them is overwhelming - it feels so good I can't stop. I start with gentle, almost reverent movements, but I can feel my dominance growing with each thrust as their body responds to my touch.">>
<<dialog "rylan" "facewet" "Oh my god, you feel incredible," "I whisper, my voice filled with growing desire." "I can't believe how good this feels. I don't want to stop.">>
<<narrative "My hands caress their transformed body with gentle, loving touches. Despite their fear and anger, their feminine form responds to my affection.">>
<center><img src="images/rylan/chapter5/dream/selffemale/14.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "God, you feel amazing," "I whisper with growing intensity, stroking their cheek." "I want to claim every part of you.">>
<<narrative "My touch moves lower, tracing patterns on their soft skin. When my fingers reach between their legs, they gasp at the unfamiliar sensation. The wetness there is evidence of their body's betrayal, proof that despite their mental protests, they're becoming aroused.">>
<<quickRoll "Gentle Touch Control" "Rylan" 60 5 "DominanceFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "DominanceFetish" 0.4>>
<<changeLust "Rylan" 4>>
<<narrative "My gentle touch is so confusing to them. It feels good despite everything.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selffemale/15.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "female/facewet" "Oh god... what is this feeling?" "They breathe, their feminine voice trembling with confusion and growing need.">>
<<narrative "I'm already deep inside them, filling them completely. Their feminine body trembles around me, still adjusting to the overwhelming sensation of being so thoroughly claimed and stretched.">>
<<quickRoll "Deep Penetration Control" "Rylan" 60 5 "DominanceFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "DominanceFetish" 0.5>>
<<changeLust "Rylan" 5>>
<<narrative "Being inside them so completely is overwhelming. I can feel every inch of them around me.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selffemale/16.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "Tell me how this feels," "I whisper, my voice filled with growing dominance." "I want to know every sensation you're experiencing.">>
<<continueBox "RylanSelfHeteroDreamMalePOV2" "Continue the dream..." "">>
</div>
<</nobr>>
<<set $crystals -= 3>>
<<set $rylanDreamSelfHeteroDominantPOV = true>>
<<set $timeOfDay = "night">>
<<pov "rylan" "intimate5.mp3">>
<<statSummary>><<nobr>>
<<playLoopingSounds "sounds/hsounds/sex.mp3" 1>>
<div class="passage-container rylan">
<<narrative "🌸 Overwhelming Sensations 🌸">>
<<narrative "Control slipping away, dominance emerging...">>
<<narrative "I begin to move slowly and lovingly, each gentle thrust sending ripples of sensation through their transformed core. My movements are tender, reverent, as if I'm worshipping their new feminine form with every caress.">>
<<quickRoll "Gentle Movement Control" "Rylan" 60 5 "DominanceFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<changeLust "Rylan" 3>>
<<narrative "My gentle movements are so confusing to them. They feel good despite everything.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selffemale/16.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "How... how does this feel?" "I whisper, my voice filled with confusion and growing arousal." "Tell me what you're experiencing... I want to understand.">>
<<narrative "My hands roam over their soft curves, tracing the gentle swell of their breasts, the delicate line of their waist. Each touch sends electric shocks through their transformed flesh, awakening nerve endings they never knew existed.">>
<center><img src="images/rylan/chapter5/dream/selffemale/17.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "But despite my tenderness, their mind rebels against what's happening. I can see the confusion in their eyes as they struggle to understand why their body is responding to my touch.">>
<<dialog "Rylan" "female/faceangry" "I don't want this!" "They cry out, their feminine voice trembling with rage and confusion." "This is so weird... so wrong! I never wanted to know what this feeling is like! Stop touching me like that!">>
<<narrative "Yet even as they protest, their inner thoughts betray them. I can see the building warmth spreading through their core as my slow, loving movements create sensations they've never experienced as a man - deeper, more encompassing, more overwhelming.">>
<center><img src="images/rylan/chapter5/dream/selffemale/18.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "You're... you're perfect," "I murmur with increasing passion, my pace gradually quickening." "This feels so right... I don't want to stop.">>
<<narrative "My movements become more rhythmic, more insistent. I can feel every inch of me sliding in and out of their transformed body, creating friction that sends waves of pleasure coursing through their feminine form.">>
<center><img src="images/rylan/chapter5/dream/selffemale/19.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "We... we fit together so perfectly," "I breathe against their ear, my voice becoming husky with desire." "This feels incredible... I can't believe it.">>
<<narrative "As I move faster, their thoughts become increasingly muddled. I can see the confusion in their eyes as they struggle to understand why this feels so good. Each thrust sends waves of pleasure through their feminine form, making coherent thought more difficult.">>
<center><img src="images/rylan/chapter5/dream/selffemale/20.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "female/facewet" "This feels so wrong but... but why does it feel right at the same time?" "They gasp, their voice becoming breathless despite their resistance." "I can't think properly anymore... this is completely wrong!">>
<<narrative "I lean down to kiss their neck, my lips trailing fire across their sensitive skin. My hands cup their breasts, thumbs circling their hardened nipples as I continue my relentless rhythm.">>
<center><img src="images/rylan/chapter5/dream/selffemale/21.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "Look at you... you're responding so much," "I pant, my thrusts becoming more intense." "Your body... it's like it knows what it wants.">>
<<narrative "My rhythm becomes more urgent, more demanding. Their mind grows hazy as pleasure builds against their will. I can see the panic in their eyes as they struggle to maintain their sense of self.">>
<center><img src="images/rylan/chapter5/dream/selffemale/22.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "I shift my angle slightly, and suddenly they're gasping as I hit a spot inside them that sends lightning through their entire being. Their back arches involuntarily, pressing their transformed body closer to mine.">>
<<quickRoll "Sweet Spot Control" "Rylan" 55 5 "DominanceFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "DominanceFetish" 0.4>>
<<changeLust "Rylan" 4>>
<<narrative "That sensation was incredible for them. I've never seen anyone react like that before.">>
<</if>>
<<dialog "Rylan" "female/facewet" "Oh god... what was that?!" "They cry out, their feminine voice cracking with shock and unwanted pleasure." "I... I never knew it could feel like that...">>
<center><img src="images/rylan/chapter5/dream/selffemale/23.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "That... that felt really good for you," "I whisper with satisfaction, moving the same way again." "I can tell by how you reacted.">>
<<narrative "The relentless rhythm overwhelms their senses completely. I can see the desperation in their eyes as waves of feminine pleasure crash over them.">>
<<quickRoll "Overwhelming Control" "Rylan" 50 5 "DominanceFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "DominanceFetish" 0.4>>
<<changeLust "Rylan" 4>>
<<narrative "The pleasure is so overwhelming for them they can barely think. I'm completely in control.">>
<</if>>
<center><img src="images/rylan/chapter5/dream/selffemale/24.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "female/facewet" "I... I'm becoming stupid..." "They whimper, their feminine voice growing more needy despite themselves." "I feel like I'm even forgetting what gender I'm supposed to be... this is making me lose my mind...">>
<<narrative "My pace becomes absolutely relentless now, driving into them with an intensity that makes rational thought impossible. Their transformed body responds with increasing desperation, craving more even as their mind rebels.">>
<center><img src="images/rylan/chapter5/dream/selffemale/25.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "You're incredible," "I groan, my voice thick with passion." "I love watching you like this... everything about you is perfect.">>
<<narrative "Their transformed body arches and responds as if it was born for this, betraying every rational thought they try to hold onto. The pleasure builds to an almost unbearable intensity, threatening to shatter what remains of their resistance.">>
<center><img src="images/rylan/chapter5/dream/selffemale/26.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "female/facewet" "Something's building inside me..." "They whisper breathlessly, their feminine voice trembling with confusion and growing need." "It feels different from anything I've ever experienced... deeper, more intense...">>
<center><img src="images/rylan/chapter5/dream/selffemale/27.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "I'm getting close too," "I pant heavily, my thrusts becoming erratic with approaching climax." "This feels so good... I can't hold back much longer...">>
<<narrative "The intensity reaches a fever pitch as I pound into them with increasing desperation. Their feminine mind can barely process what's happening anymore, lost in a haze of overwhelming sensation and confusion.">>
<center><img src="images/rylan/chapter5/dream/selffemale/28.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "female/facewet" "I can't... I can't think anymore..." "They moan helplessly, their feminine voice breaking with overwhelming sensation." "Everything feels so intense... I'm completely losing myself...">>
<<narrative "The final moments approach as both our bodies reach their absolute limit. The pleasure has become so intense that they can barely remember who they used to be, completely lost in this new feminine experience.">>
<center><img src="images/rylan/chapter5/dream/selffemale/29.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<continueBox "RylanSelfHeteroDreamMalePOVClimax" "The climactic moment arrives..." "">>
</div>
<</nobr>>
<<pov "rylan" "intimate5.mp3">>
<<statSummary>><<nobr>>
<<stopLoopingAndPlay "sounds/hsounds/cum.mp3">>
<div class="passage-container rylan">
<<narrative "🌸 Ultimate Surrender 🌸">>
<<narrative "The moment of truth revealed...">>
<center><img src="images/rylan/chapter5/dream/selffemale/29.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "rylan" "facewet" "I can't... I can't hold back anymore..." "I gasp desperately, my movements becoming frantic." "This feels too good... I'm going to...">>
<<narrative "I suddenly pull out of them and climax with an intensity that shocks even me - an unnatural, overwhelming amount of my warm release erupting across their transformed body. Thick, hot streams cover their breasts, stomach, arms, and even reach their face and hair, as if I'm deliberately trying to mark every inch of their feminine form. The sheer volume is impossible, far more than any normal man could produce, coating them completely in my essence.">>
<center><img src="images/rylan/chapter5/dream/selffemale/30.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "They lie there trembling, completely exhausted and lost in a deep trance-like state. Their mind feels blank and empty, overwhelmed by the intensity of what just happened. They can barely form coherent thoughts as they stare blankly at the ceiling.">>
<<dialog "Rylan" "female/facewet" "There's... there's so much..." "They whisper breathlessly, their feminine voice trembling as they feel the warm essence coating every part of their transformed body." "How is this even possible? I'm completely covered... it's like you were trying to claim every inch of me...">>
<<narrative "As they lay there in their trance, I gaze down at their cum-covered feminine form with intense adoration. My eyes drink in every curve, every detail of their transformed body as if memorizing this moment forever.">>
<<dialog "rylan" "facewet" "Perfect... absolutely perfect," "I whisper with satisfaction, my voice filled with awe as I admire how thoroughly I've covered them." "Every inch of you is covered... you look incredible like this.">>
<<narrative "My hand gently caresses their cheek as I continue to stare at them with that intense, loving gaze. There's something different in my voice now - something deeper, more possessive, more revealing.">>
<<dialog "rylan" "facewet" "I might get addicted to this... to seeing you like this," "I murmur with satisfaction, my voice taking on a sultry quality." "I want to do this again... I can't get enough.">>
<<narrative "There's something unsettling about the way I say those words, as if this isn't just a fantasy but a promise. The realization begins to dawn on me through my haze that this might not be who I thought I was...">>
<<dialog "Nimeria" "face" "Remember this feeling, my sweet $humanName," "the mysterious voice whispers as the dream begins to fade." "Remember what it means to take complete control, to give pleasure instead of just receiving it. This knowledge will serve you well with the women in your life... and with me.">>
<<narrative "As the dream begins to fade, I'm left staring at their cum-covered form in complete bewilderment. My body still tingles with aftershocks of the most intense pleasure I've ever experienced. The questions swirl in my mind - what have I learned about myself? About dominance? About the masculine experience?">>
<center><img src="images/rylan/chapter5/dream/selffemale/31.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "The memory lingers as consciousness returns to my real body - the transformation I witnessed, the dominance I exerted, the incredible sensations, and those final possessive words. I wake up confused, aroused, and fundamentally changed by the experience, with the distinct feeling that someone has been watching me very closely...">>
<<if $chapter6Dreams>>
<<continueBox "NightActivitiesEnd" "Wake up from the dream..." "">>
<<else>>
<<continueBox "RylanDreamcorruptionChoices" "Wake up from the dream..." "">>
<</if>>
</div>
<</nobr>>
<<changeLust "Rylan" -100>>
<<changeFetish "Rylan" "CrossdressingFetish" 0.3>>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<addSoulCorruption "rylan" 1>>
<<soulDisplay "rylan">>
<<pov "rylan" "intimate6.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/handjob.mp3" 1>>
<div class="passage-container rylan">
<<narrative "🌙 Corrupted Dreams 🌙">>
<<narrative "A Reward for Heroism">>
<<set $currentFace = $currentRylanFace>>
<<set $crystals -= 3>>
<<set $rylanDreamSeryk = true>>
<<set $timeOfDay = "night">>
<<narrative "I find myself in a strange, dreamlike bedroom. The walls seem to shimmer and shift, and there's an otherworldly quality to the dim lighting. On the bed before me sits Seryk, his blue skin gleaming in the ethereal glow.">>
<<if $rylanxserykgaydream>>
<center><img src="images/seryk/chapter5/dream/1.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Rylan" "faceembarrassed" "No... not this again!" "What is this place?">>
<<dialog "Seryk" "faceembarrassed" "<<print $humanName>>?!" "Oh no... not another one of these nightmares!">>
<<else>>
<<dialog "Rylan" "faceconfused" "Seryk? What are you doing here?" "This feels like a dream...">>
<<dialog "Seryk" "faceconfused" "<<print $humanName>>?" "I... I can't move. Something's wrong here.">>
<</if>>
<<narrative "Then, from the shadows, that familiar melodious voice emerges - the same one from before, carrying an undeniable authority that seems to penetrate our very souls.">>
<<if $rylanxserykgaydream>>
<<dialog "Nimeria" "faceserious" "Well, well... my favorite dreamers return. This time, <<print $humanName>>, you'll be the one rewarding dear Seryk for his heroic sacrifice against Gairos.">>
<<else>>
<<dialog "Nimeria" "faceserious" "How delightful... two handsome boys, ripe for corruption. <<print $humanName>>, you should give Seryk a proper reward for his heroic sacrifice against Gairos.">>
<</if>>
<<dialog "Rylan" "faceangry" "What?! No! I won't do anything like that!">>
<<dialog "Seryk" "faceangry" "Absolutely not! Leave us alone, whoever you are!">>
<<dialog "Nimeria" "faceserious" "Oh well... let me help you both get serious about this.">>
<<narrative "Suddenly, I feel my body moving against my will. My legs carry me forward toward the bed where Seryk sits paralyzed, his eyes wide with horror as he watches my involuntary approach.">>
<<dialog "Rylan" "faceshock" "I can't stop! My body won't listen to me!">>
<<narrative "My hand reaches out, trembling as it's guided by forces beyond my control. As my fingers make contact with Seryk's most intimate area, I'm overwhelmed by the sensation - the warmth, the weight, the surprising softness of his skin contrasting with the firmness beneath.">>
<<quickRoll "Muscle Temptation" "Rylan" 70 5 "MuscleFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "MuscleFetish" 0.3>>
<<changeAttraction "Rylan" "Seryk" 0.1>>
<<changeLust "Rylan" 3>>
<<thought "Rylan" "faceembarrassed" "I can't help but marvel at the firmness beneath my fingers, the way his muscles tense and relax with each breath. It's... impressive.">>
<</if>>
<div style="text-align: center; margin-bottom: 25px;">
<img src="images/seryk/chapter5/dream/2.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);">
</div>
<<narrative "The scent hits me next - distinctly masculine, musky, with an underlying sweetness that's somehow intoxicating. It's overwhelming in its intensity, making my head spin as my body responds in ways I don't want to acknowledge.">>
<<quickRoll "Scent Temptation" "Rylan" 65 5 "SmellFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SmellFetish" 0.4>>
<<changeAttraction "Rylan" "Seryk" 0.1>>
<<changeLust "Rylan" 4>>
<<thought "Rylan" "faceembarrassed" "The masculine scent is intoxicating, making my head spin with unwanted arousal. I can't seem to get enough of it.">>
<</if>>
<<dialog "Seryk" "faceembarrassed" "<<print $humanName>>... I'm sorry... I can't make it stop...">>
<<narrative "My hand begins to move, stroking slowly as commanded by the invisible force. Seryk's length grows under my touch, becoming harder and more imposing. The size is intimidating - much larger than my own, thick and pulsing with heat.">>
<<quickRoll "Size Fascination" "Rylan" 60 5 "MuscleFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "MuscleFetish" 0.2>>
<<changeAttraction "Rylan" "Seryk" 0.1>>
<<changeLust "Rylan" 3>>
<<thought "Rylan" "faceembarrassed" "The sheer size and power of him is overwhelming. I can't help but be impressed by his impressive physique.">>
<</if>>
<div style="text-align: center; margin-bottom: 25px;">
<img src="images/seryk/chapter5/dream/3.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);">
</div>
<<dialog "Seryk" "facewet" "Oh god... please stop <<print $humanName>>">>
<<dialog "Nimeria" "faceserious" "God, you're so annoying, Seryk...">>
<<narrative "I hear a sharp snap echo through the dreamscape. Suddenly, Seryk's entire demeanor changes. His eyes, which had been filled with embarrassment and protest, now gleam with something darker, more primal.">>
<<dialog "Seryk" "faceeriesmile" "Good, <<print $humanName>>. Slap it against your face, get a feel for it.">>
<div style="text-align: center; margin-bottom: 25px;">
<img src="images/seryk/chapter5/dream/5.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);">
</div>
<<dialog "Seryk" "faceeriesmile" "That's it... faster, <<print $humanName>>. Don't be shy about it.">>
<<thought "Seryk" "faceeriesmile" "Oh god, those aren't even my own words. But... it feels so good. Why does this feel so right?">>
<<quickRoll "Seryk's Confusion" "Seryk" 70 5 "GayValue" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Seryk" "GayValue" 0.3>>
<<changeAttraction "Seryk" "Rylan" 0.1>>
<<changeLust "Seryk" 3>>
<<thought "Seryk" "faceeriesmile" "The way he's touching me... it's making me question everything I thought I knew about myself.">>
<</if>>
<<narrative "My hand moves faster against my will, feeling every ridge and vein of his impressive length. Pre-cum begins to leak from the tip, making my movements slicker, more intense. The scent grows stronger, more intoxicating.">>
<div style="text-align: center; margin-bottom: 25px;">
<img src="images/seryk/chapter5/dream/66.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);">
</div>
<<dialog "Seryk" "faceeriesmile" "Mmm... that's better. Use both hands, really work it. You know you want to feel how big it is.">>
<<thought "Seryk" "faceeriesmile" "God, he's really getting into this now. Look at how focused he is, how dedicated to making me feel good. This dominant side of me... I never knew it existed, but it feels so right.">>
<<narrative "My second hand joins the first, one stroking his length while the other cups and massages lower. The heat radiating from him is incredible, and I can feel his pulse through the sensitive skin.">>
<div style="text-align: center; margin-bottom: 25px;">
<img src="images/seryk/chapter5/dream/6.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);">
</div>
<<dialog "Seryk" "faceeriesmile" "You're getting good at this... Look at you, completely focused on my cock. You can't take your eyes off it, can you?">>
<<narrative "He's right - I can't look away. The sight is mesmerizing, the way his flesh responds to my touch, growing even harder and more imposing. The masculine scent is making me dizzy with unwanted arousal.">>
<<quickRoll "Visual Temptation" "Rylan" 55 5 "MuscleFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "MuscleFetish" 0.3>>
<<changeAttraction "Rylan" "Seryk" 0.1>>
<<changeLust "Rylan" 4>>
<<thought "Rylan" "faceembarrassed" "The way his body responds to my touch is hypnotic. I'm completely captivated by the sight.">>
<</if>>
<center><img src="images/seryk/chapter5/dream/8.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Seryk" "faceeriesmile" "That's it... stroke it slower now. Feel every inch of it. I want you to memorize how it feels in your hands.">>
<<thought "Seryk" "faceeriesmile" "God, the way he looks at me... like he's actually starting to enjoy this. His breathing is getting heavier, his pupils dilated. Is he getting aroused from touching me?">>
<<narrative "My movements slow as commanded, my fingers exploring every ridge and vein of his impressive length. I can feel his heartbeat through the sensitive skin, the pulse of blood flowing through him. Despite my shame, my own body is responding.">>
<center><img src="images/seryk/chapter5/dream/5.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Seryk" "faceeriesmile" "Mmm, you're learning so well. Now squeeze a little tighter... yes, just like that. You're such a natural at this.">>
<<thought "Seryk" "faceeriesmile" "This power... it's incredible. I can see exactly how my words affect him, how his body responds to my commands. He's completely mine right now, and it feels amazing.">>
<center><img src="images/seryk/chapter5/dream/9.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "My grip tightens as he instructs, feeling the heat and hardness more intensely. Pre-cum continues to leak from the tip, coating my fingers and making everything slicker. The masculine scent grows stronger, filling my nostrils completely.">>
<<dialog "Seryk" "faceeriesmile" "Look at me while you do it, <<print $humanName>>. I want to see your face... see how much you're enjoying serving me.">>
<<narrative "My eyes meet his, and I see something primal and dominant burning in his gaze. There's no trace of the embarrassed, reluctant Seryk from before - this is someone completely different, someone who's embracing his power over me.">>
<center><img src="images/seryk/chapter5/dream/8.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<thought "Seryk" "faceeriesmile" "The look in his eyes... there's shame there, but also arousal. He's fighting it, but his body knows what it wants. I can see him surrendering to this, bit by bit.">>
<<dialog "Seryk" "faceeriesmile" "That's my good boy... Now twist your wrist a little as you stroke. Feel how hard you've made me, how much I'm throbbing for you.">>
<<narrative "I follow his instructions, adding the twisting motion he requests. The new movement makes him pulse even harder in my grip, and I can feel how close he's getting. My own breathing becomes ragged as the intimate contact affects me more than I want to admit.">>
<div style="text-align: center; margin-bottom: 25px;">
<img src="images/seryk/chapter5/dream/88.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);">
</div>
<<dialog "Seryk" "faceeriesmile" "You're breathing harder... getting excited, aren't you? Don't be ashamed, I can see how much you want this. Your body doesn't lie.">>
<<narrative "He's right, and it terrifies me. Despite everything - the force, the shame, the confusion - my body is responding to his dominance, to the intimate contact, to the intoxicating scent filling my senses.">>
<<quickRoll "Submission Temptation" "Rylan" 50 5 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.4>>
<<changeAttraction "Rylan" "Seryk" 0.1>>
<<changeLust "Rylan" 5>>
<<thought "Rylan" "faceembarrassed" "There's something intoxicating about his dominance, about being under his control. It's terrifying but also... exciting.">>
<</if>>
<center><img src="images/seryk/chapter5/dream/6.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Seryk" "faceeriesmile" "Faster now... but keep that twist. Show me how much you want to please me. I want to see you really work for it.">>
<<narrative "My pace quickens, the twisting motion becoming more pronounced. The wet sounds of my movements fill the air, mixing with both our increasingly heavy breathing. His length pulses powerfully in my grip, growing even harder under my attention.">>
<center><img src="images/seryk/chapter5/dream/9.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<thought "Seryk" "faceeriesmile" "God, he's really getting into this now. Look at how focused he is, how dedicated to making me feel good. This dominant side of me... I never knew it existed, but it feels so right.">>
<<dialog "Seryk" "faceeriesmile" "Perfect... you're learning exactly how I like it. Such talented hands... I bet you've been thinking about this, haven't you?">>
<<narrative "His words send shameful heat through my body. Have I been thinking about this? The question disturbs me because I can't immediately deny it. The dreams, the stolen glances, the way I've been noticing his physique lately...">>
<<quickRoll "Hidden Desires" "Rylan" 45 5 "MuscleFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "MuscleFetish" 0.3>>
<<changeAttraction "Rylan" "Seryk" 0.1>>
<<changeLust "Rylan" 4>>
<<thought "Rylan" "faceembarrassed" "Maybe I have been noticing him more lately. His strength, his confidence... it's hard to ignore.">>
<</if>>
<center><img src="images/seryk/chapter5/dream/66.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Seryk" "faceeriesmile" "Don't try to deny it... I can see the truth written all over your face. You want this as much as I do now. Maybe more.">>
<<thought "Seryk" "faceeriesmile" "He's not even trying to deny it anymore. Look at that flush on his cheeks, the way his lips are parted. He's completely lost in this, completely mine. This power is intoxicating.">>
<<narrative "My grip tightens involuntarily at his words, drawing a low groan from him. The sound goes straight through me, making my own arousal impossible to ignore. The scent, the heat, the power dynamic - it's all overwhelming my senses.">>
<<dialog "Seryk" "faceeriesmile" "Mmm, that's it... squeeze me just like that. You're making me feel so good, <<print $humanName>>. I'm getting so close...">>
<center><img src="images/seryk/chapter5/dream/88.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "His praise sends warmth through me that I don't want to acknowledge. My movements become more confident, more purposeful, as if my body knows exactly what he needs even while my mind reels with confusion.">>
<<thought "Seryk" "faceeriesmile" "So close now... I can feel it building. And he's so focused, so dedicated to bringing me there. This is better than I ever imagined. The control, the submission, the way he's embracing what we both want...">>
<<thought "Nimeria" "faceserious" "I don't even need to control him anymore. He's embracing his dominant nature all on his own. How delicious...">>
<<dialog "Seryk" "faceeriesmile" "I'm getting close... You've been such a good boy, working so hard for me. I think you deserve a reward.">>
<<dialog "Nimeria" "faceserious" "Give it a little kiss, <<print $humanName>>. Just a small one... for being such a dedicated friend.">>
<<narrative "My head moves down against my will, bringing me closer to his impressive length. The scent becomes overwhelming - musky, intoxicating, making my head spin with arousal I don't want to feel.">>
<<quickRoll "Final Temptation" "Rylan" 40 5 "SmellFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SmellFetish" 0.5>>
<<changeAttraction "Rylan" "Seryk" 0.1>>
<<changeLust "Rylan" 5>>
<<thought "Rylan" "faceembarrassed" "The scent is overwhelming, making my head spin with arousal. I can't resist the intoxicating masculine musk.">>
<</if>>
<div style="text-align: center; margin-bottom: 25px;">
<img src="images/seryk/chapter5/dream/10.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);">
</div>
<div style="text-align: center; margin-top: 30px;">
<<continueBox "RylanSerykDreamClimax" "Continue the dream..." "">>
</div>
</div>
<</nobr>>
<<pov "rylan" "intimate5.mp3">><<nobr>>
<<stopLoopingAndPlay "sounds/hsounds/cum.mp3">>
<div class="passage-container rylan">
<<narrative "🌙 Corrupted Dreams 🌙">>
<<narrative "The Climax">>
<<set $currentFace = $currentRylanFace>>
<<narrative "As my lips make contact, the smell hit me with incredible intensity. It's salty, slightly sweet, distinctly masculine. The scent fills my nostrils completely, and somehow, impossibly, it makes my own body respond with shameful arousal.">>
<<dialog "Seryk" "facewet" "Oh fuck... I can't... I'm going to...">>
<<narrative "Suddenly, Seryk's body tenses completely. His breathing becomes ragged, his muscles straining as he reaches his peak. The moment of release arrives with explosive intensity.">>
<<narrative "The first release erupts like a fountain, arcing through the air and landing across my face with surprising force. The warm liquid splatters against my skin as his body shudders with pleasure.">>
<div style="text-align: center; margin-bottom: 25px;">
<img src="images/seryk/chapter5/dream/11.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);">
</div>
<<narrative "A second powerful spurt follows immediately, hitting my cheek and dripping down my chin. The overwhelming masculine scent fills my nostrils completely.">>
<div style="text-align: center; margin-bottom: 25px;">
<img src="images/seryk/chapter5/dream/12.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);">
</div>
<<narrative "Finally, a last smaller spurt completes his release, adding to the warm liquid already coating my face. My own body betrays me with unwanted arousal from the intimate contact and intoxicating scent.">>
<div style="text-align: center; margin-bottom: 25px;">
<img src="images/seryk/chapter5/dream/13.webp" style="width: 500px; width: 100%; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); box-shadow: 0 4px 8px rgba(0,0,0,0.3);">
</div>
<<narrative "As Seryk's breathing slowly returns to normal, I remain frozen in place, his essence dripping down my face. The intense scent fills my senses completely, and shamefully, my own body has responded to the intimate encounter.">>
<center><img src="images/seryk/chapter5/dream/14.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Seryk" "facesatisfied" "Good boy... you did so well for me.">>
<<dialog "Nimeria" "faceserious" "Perfect... absolutely perfect. Sweet dreams, my dear boys.">>
<<narrative "The dreamscape begins to fade, but the sensations linger - the scent, the feeling of submission and shameful arousal. As I wake in my own bed, gasping and confused, the memory remains vivid and disturbing, leaving me questioning everything I thought I knew about myself and my feelings toward Seryk.">>
<<changeLust "Rylan" 5>>
<<changeFetish "Rylan" "GayValue" 0.4>>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeAttraction "Rylan" "Seryk" 1.5>>
<<changeLust "Seryk" 3>>
<<changeFetish "Seryk" "GayValue" 0.3>>
<<changeFetish "Seryk" "DominanceFetish" 0.3>>
<<changeAttraction "Seryk" "Rylan" 1.0>>
<<addSoulCorruption "rylan" 1>>
<<soulDisplay "rylan">>
<div style="text-align: center; margin-top: 30px;">
<<if $chapter6Dreams>>
<<continueBox "NightActivitiesEnd" "Wake up from the dream..." "">>
<<else>>
<<continueBox "RylanDreamcorruptionChoices" "Wake up from the dream..." "">>
<</if>>
</div>
</div>
<</nobr>>
<<pov "rylan" "intimate5.mp3">>
<<statSummary>><<nobr>>
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<div class="passage-container mariel">
<<narrative "💥 The Climax 💥">>
<<narrative "The moment of truth arrives...">>
<<if $marielTransformationMother>>
<<narrative "And then... oh gods... it hits me like a tidal wave. The pleasure explodes through my body, sending me arching my back and moaning louder than I intended. I can feel my entire body convulsing with the intensity of the orgasm, my milk-leaking breasts heaving as I gasp for breath.">>
<center><img src="images/mariel/chapter5/rylannightvisit/6b.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Milk Leaking Breasts"></center>
<center><img src="images/mariel/chapter5/rylannightvisit/7b.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Milk Leaking Breasts"></center>
<<dialog "Rylan" "faceconfused" "Are you... are you pregnant?">>
<<dialog "Mariel" "faceembarrassed" "No! No, I'm not pregnant. I haven't... I haven't been with your $humanToThalor for... for many years...">>
<<narrative "I stop mid-sentence, my face flushing with embarrassment. I just told my $humanIsMariel about my sex life with his $humanToThalor. How did this conversation turn so personal? I can see the confusion and concern in his eyes, and I quickly try to change the subject.">>
<<dialog "Mariel" "faceembarrassed" "I... I think we need to stop. This has gone too far. I don't know what's happening to my body.">>
<<else>>
<<narrative "And then... oh gods... it hits me like a tidal wave. The pleasure explodes through my body, sending me arching my back and moaning louder than I intended. I can feel my entire body convulsing with the intensity of the orgasm, my breasts heaving as I gasp for breath.">>
<center><img src="images/mariel/chapter5/rylannightvisit/45.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Breast Massage"></center>
<<narrative "I can feel the awkward tension between us, thick and suffocating. My heart is still racing, my body still humming with the memory of his touch. I can see him looking at me with a mixture of confusion and arousal, his erection still pressed against my stomach.">>
<center><img src="images/mariel/chapter5/rylannightvisit/46.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Breast Massage"></center>
<<if not $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "... $humanName... I think we need to stop. This has gone too far.">>
<</if>>
<</if>>
<<dialog "Rylan" "faceembarrassed" "I... I'm so sorry. I got carried away again. I shouldn't have...">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "It's okay, dear. It's okay. We both got carried away. Let's just... let's just pretend this didn't happen.">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "It's okay. It's okay. We both got carried away. Let's just... let's just pretend this didn't happen.">>
<</if>>
<<narrative "I can feel the awkward tension between us, thick and suffocating. My heart is still racing, my body still humming with the memory of his touch. I can see him trying to adjust himself discreetly, and it makes my stomach clench with a mixture of guilt and desire.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "It was just some maternal skinship, sweetheart. Nothing more. You should go now.">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "It was just some... friendly massage. Nothing more. You should go now.">>
<</if>>
<<dialog "Rylan" "faceembarrassed" "Yes... yes, you're right. I should go. Good night, $humanToMariel.">>
<<narrative "He quickly gets up and leaves the room, his face flushed with embarrassment and arousal. I can hear his footsteps fading away down the hallway, and then the sound of his door closing. I'm left alone in my room, my body still humming with the memory of his touch.">>
<<if $marielTransformationMother>>
<<narrative "What have I done? What have I let him do to me? I can still feel the wetness between my legs, the memory of his hands on my breasts. But more than that... I can still feel the strange sensation of my breasts swelling, of milk leaking from my nipples. How is this possible? Maybe my body remembered... remembered what it was like to be pregnant, to nourish life. The thought sends a shiver through me.">>
<<narrative "I need to clean up, to wash away the evidence of what just happened. But as I get up from the bed, I can still feel the ghost of his touch on my skin, the memory of his hands working my body. And I can still feel that primal, maternal sensation deep inside me. It's going to be a long, restless night.">>
<<narrative "As I clean up the milk from my breasts, I can't help but wonder about what just happened. My body hasn't produced milk since I was nursing $humanName as a baby. Could it be that my body somehow remembered that time? That primal, maternal instinct that was awakened by his touch? The thought that my own $humanIsMariel could trigger such a response in my body is both confusing and strangely arousing.">>
<<else>>
<<narrative "What have I done? What have I let him do to me? I can still feel the wetness between my legs, the memory of his hands on my breasts. The rational part of my mind is screaming that this was wrong, but my body is still responding with lingering arousal.">>
<<narrative "I need to clean up, to wash away the evidence of what just happened. But as I get up from the bed, I can still feel the ghost of his touch on my skin, the memory of his hands working my body. It's going to be a long, restless night.">>
<</if>>
<<continueBox "SerykDreamsOfThePast" "End scene" "">>
<<quickSexTrack "rylan" "Mariel" "breasttouch" "1">>
<<quickSexTrack "rylan" "Mariel" "orgasm" "1">>
<<changeFetish "Rylan" "BreastFetish" 0.4>>
<<changeFetish "Mariel" "BreastFetish" 0.3>>
<<changeLust "Mariel" 8>>
<<changeLust "Rylan" 6>>
</div>
<</nobr>>
<<pov "mariel" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/longmoan.mp3" 1>>
<div class="passage-container mariel">
<<narrative "🦶 Tender Toes 🦶">>
<<narrative "The massage continues...">>
<center><img src="images/mariel/chapter5/rylannightvisit/16.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<narrative "I can feel his hands moving lower, his strong fingers now working their way down to my feet. The sensation is incredible - firm but gentle pressure that makes me arch my back slightly. I can hear his breathing becoming more labored, more... aroused somehow.">>
<<dialog "Rylan" "faceconfident" "Your feet are so... so perfect. Let me work on them properly.">>
<<quickRoll "Foot Fetish Resistance" "Rylan" 80 5 "FeetFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "I can see the hunger in his eyes as he looks at my feet. His breathing is becoming more labored, his hands trembling slightly with barely contained desire.">>
<</if>>
<<narrative "His thumbs press deep into the arches of my feet, and I can't suppress the soft moan that escapes my lips. The way he's focusing so intently on my feet, his breath hot against my skin... it's almost hypnotic. I can feel myself getting more aroused with each passing moment.">>
<center><img src="images/mariel/chapter5/rylannightvisit/17.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<if $marielTransformationMother>>
<<narrative "I find myself thinking about how different this feels from my husband's touch. There's something so... liberating about being desired like this, even at my age. The way he's completely focused on my feet, his breathing getting heavier... it's both amusing and incredibly arousing.">>
<</if>>
<<quickRoll "Foot Massage Resistance" "Mariel" 80 5 "FeetFetish" 2>>
<<if not _tempRollSuccess>>
<<narrative "The sensation is overwhelming. I can feel my own arousal building rapidly, my breath becoming more shallow. There's something about his touch that's making me lose control.">>
<</if>>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "Sweetheart... do you like my feet? You seem so... focused on them.">>
<<else>>
<<dialog "Mariel" "facewet" "$humanName... do you like my feet? You seem so... focused on them.">>
<</if>>
<center><img src="images/mariel/chapter5/rylannightvisit/18.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<dialog "Rylan" "faceconfident" "Yes... yes, I do. They're beautiful.">>
<<narrative "He freezes for a moment, his hands stilling on my feet. I can see the realization dawning on his face - he just admitted to liking my feet. His cheeks flush with embarrassment, and he starts to pull away.">>
<<dialog "Rylan" "facewet" "I... I'm sorry. I shouldn't have said that.">>
<<quickRoll "Honesty Resistance" "Rylan" 80 5 "FeetFetish" 4>>
<<if not _tempRollSuccess>>
<<narrative "I can see the truth in his eyes even as he apologizes. His hands are still on my feet, and I can feel the slight tremor in them - he's not really sorry at all.">>
<</if>>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "No need to apologize, dear. I don't mind at all. In fact... I find it quite flattering.">>
<<else>>
<<dialog "Mariel" "facewet" "No need to apologize. I don't mind at all. In fact... I find it quite flattering.">>
<</if>>
<<narrative "Slowly, I sit up and turn to face him. I can feel my heart racing, my breathing becoming more shallow. There's something so... intoxicating about this moment. I move my feet closer to him, arching my toes slightly.">>
<center><img src="images/mariel/chapter5/rylannightvisit/19.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "Do you want to continue, sweetheart? I can see how much you enjoy this.">>
<<else>>
<<dialog "Mariel" "facewet" "Do you want to continue? I can see how much you enjoy this.">>
<</if>>
<<narrative "What am I doing? He's my $humanIsMariel, for gods' sake. But it feels so good, so liberating. I can feel myself getting more and more aroused, my inhibitions melting away with each touch. I'm becoming someone I don't recognize.">>
<<quickRoll "Moral Resistance" "Mariel" 80 5 "FeetFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "The rational part of my mind is screaming that this is wrong, but my body is responding with such intensity that I can't bring myself to stop him. The pleasure is too overwhelming.">>
<</if>>
<<dialog "Rylan" "faceconfident" "Yes... please. I want to continue.">>
<center><img src="images/mariel/chapter5/rylannightvisit/20.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<narrative "His hands return to my feet, but this time it's different. He's more confident, more focused. His thumbs work the arches, his fingers trace the curves, and I can feel myself getting wetter with each passing moment.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "Sweetheart... kneel beside the bed. It will be easier for you to reach my feet properly.">>
<<else>>
<<dialog "Mariel" "facewet" "$humanName... kneel beside the bed. It will be easier for you to reach my feet properly.">>
<</if>>
<<narrative "I can see the hunger in his eyes as he slowly moves to kneel beside the bed. The position is so intimate, so... submissive. I'm sitting on the edge of the bed now, my feet dangling just above the floor, while he kneels below me like some kind of worshipper.">>
<<narrative "I slowly extend my feet toward him, arching my toes slightly. The power I feel in this moment is intoxicating - I'm literally above him, my feet positioned perfectly for his worship. I can see his breathing becoming more labored as he looks up at me from his kneeling position.">>
<center><img src="images/mariel/chapter5/rylannightvisit/21.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<dialog "Rylan" "facewet" "This... this position is perfect. I can see every detail of your beautiful feet now.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "Tell me, dear... what exactly do you like about my feet? Be specific.">>
<<else>>
<<dialog "Mariel" "facewet" "Tell me... what exactly do you like about my feet? Be specific.">>
<</if>>
<<dialog "Rylan" "faceconfident" "I... I love how soft they are. The way your toes curl when I touch them. The arches... they're perfect.">>
<center><img src="images/mariel/chapter5/rylannightvisit/22.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "Mmm... and what about my toes, sweetheart? Don't forget about them.">>
<<else>>
<<dialog "Mariel" "facewet" "Mmm... and what about my toes? Don't forget about them.">>
<</if>>
<<narrative "I'm becoming more assertive, more seductive. I can feel the power I have over him, and it's intoxicating. His hands are trembling slightly as he works on my feet, his breathing becoming more ragged.">>
<center><img src="images/mariel/chapter5/rylannightvisit/23.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<dialog "Rylan" "faceconfident" "Your toes... they're so delicate. I love how they respond to my touch. The way they curl and flex...">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "That's right, dear. Tell me more. What else do you love about them?">>
<<else>>
<<dialog "Mariel" "facewet" "That's right. Tell me more. What else do you love about them?">>
<</if>>
<<narrative "I'm completely in control now, and I love it. His hands are working my feet with such devotion, such reverence. I can feel my own arousal building to almost unbearable levels.">>
<center><img src="images/mariel/chapter5/rylannightvisit/24.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<dialog "Rylan" "faceconfident" "I love how they feel in my hands. The warmth, the softness. The way they arch when I press here...">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "Would you like to kiss them, sweetheart? I think you deserve a little reward for being so honest.">>
<<else>>
<<dialog "Mariel" "facewet" "Would you like to kiss them? I think you deserve a little reward for being so honest.">>
<</if>>
<center><img src="images/mariel/chapter5/rylannightvisit/25.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<narrative "I can see the conflict in his eyes - the desire warring with his sense of propriety. But desire wins out, and slowly, hesitantly, he brings my foot to his lips.">>
<<continueBox "Chapter5nightMarielFootMassage2" "Continue the foot worship" "">>
<<set $marielFootFetish = true>>
<<changeFetish "Rylan" "FeetFetish" 0.2>>
<<changeFetish "Mariel" "FeetFetish" 0.1>>
<<changeLust "Mariel" 3>>
<<changeLust "Rylan" 2>>
</div>
<</nobr>>
<<pov "mariel" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/longmoan.mp3" 1>>
<div class="passage-container mariel">
<<narrative "🦶 Tender Toes 🦶">>
<<narrative "The foot worship continues...">>
<<quickRoll "Kissing Resistance" "Rylan" 80 5 "FeetFetish" 5>>
<<if not _tempRollSuccess>>
<<narrative "His hesitation is brief, almost non-existent. The moment his lips touch my skin, I can see his eyes glaze over with pure desire. He's completely lost in the sensation.">>
<</if>>
<center><img src="images/mariel/chapter5/rylannightvisit/26.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<dialog "Rylan" "faceconfident" "I... I can't resist.">>
<<narrative "His lips press against the arch of my foot, and I can't suppress the moan that escapes me. The sensation is incredible - his warm breath, the gentle pressure of his lips. I can feel myself getting wetter by the second.">>
<center><img src="images/mariel/chapter5/rylannightvisit/27.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "Oh, sweetheart... that feels amazing. Don't stop.">>
<<else>>
<<dialog "Mariel" "facewet" "Oh... that feels amazing. Don't stop.">>
<</if>>
<<quickRoll "Foot Worship Resistance" "Mariel" 80 5 "FeetFetish" 4>>
<<if not _tempRollSuccess>>
<<narrative "The sensation is overwhelming. His lips feel so good on my feet, so right somehow. I can feel my arousal building rapidly, my breath becoming more shallow. There's something about his worship that's making me lose control completely.">>
<</if>>
<<narrative "His kisses become more confident, more passionate. He's working his way from my arch to my toes, each kiss sending waves of pleasure through me. I can feel my own arousal building to almost unbearable levels.">>
<center><img src="images/mariel/chapter5/rylannightvisit/28.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<narrative "But then... oh gods... I feel something warm and wet against my skin. His tongue. His actual tongue is now tracing the curves of my foot, licking between my toes with such reverence that I can barely breathe. The sensation is overwhelming, sending electric shocks of pleasure through my entire body.">>
<center><img src="images/mariel/chapter5/rylannightvisit/29.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<quickRoll "Tongue Worship Resistance" "Mariel" 80 5 "FeetFetish" 5>>
<<if not _tempRollSuccess>>
<<narrative "The sensation is absolutely overwhelming. His tongue feels so hot and wet against my skin, so incredibly intimate. I can feel my arousal building to almost unbearable levels, my breath becoming more shallow. There's something about his tongue worship that's making me lose control completely.">>
<</if>>
<<narrative "I can feel his tongue working its way up my arch, the wet heat making me arch my back and moan louder than I intended. His hands are gripping my ankle now, holding me in place as he worships my feet with his mouth. I'm completely lost in the sensation, my mind foggy with desire.">>
<<continueBox "Chapter5nightMarielFootMassage3" "Continue the foot worship" "">>
<<changeFetish "Rylan" "FeetFetish" 0.2>>
<<changeFetish "Mariel" "FeetFetish" 0.1>>
<<changeLust "Mariel" 3>>
<<changeLust "Rylan" 2>>
</div>
<</nobr>>
<<pov "mariel" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container mariel">
<<narrative "🦶 Tender Toes 🦶">>
<<narrative "The foot worship continues...">>
<center><img src="images/mariel/chapter5/rylannightvisit/30.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<narrative "Suddenly, reality crashes back into me like a cold bucket of water. What am I doing? This is my $humanIsMariel! I'm letting him lick my feet like some kind of... I can't even think the word. I need to stop this before it goes too far.">>
<<quickRoll "Reality Check Resistance" "Mariel" 80 5 "FeetFetish" 4>>
<<if not _tempRollSuccess>>
<<narrative "But even as I think this, I can feel my body responding to his touch. The pleasure is too overwhelming, too intoxicating. I can't bring myself to stop him, not when it feels so good.">>
<</if>>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "Sweetheart... sweetheart, stop. We need to stop this.">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "$humanName... $humanName, stop. We need to stop this.">>
<</if>>
<<narrative "I pull my foot away from him, my heart racing with a mixture of shame and lingering arousal. He looks up at me with confusion and disappointment, his lips still glistening with my foot's moisture. I can see the bulge in his pants, and it makes my stomach flutter with forbidden desire.">>
<<dialog "Rylan" "faceembarrassed" "I... I'm so sorry. I got carried away. I shouldn't have...">>
<<quickRoll "Shame Resistance" "Rylan" 80 5 "FeetFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "I can see the conflict in his eyes - the shame warring with his desire. But even as he apologizes, I can see the hunger still there, the barely contained need to continue.">>
<</if>>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "It's okay, dear. It's okay. We both got carried away. Let's just... let's just pretend this didn't happen.">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "It's okay. It's okay. We both got carried away. Let's just... let's just pretend this didn't happen.">>
<</if>>
<<narrative "I can feel the awkward tension between us, thick and suffocating. My heart is still racing, my body still humming with the memory of his touch. I can see him trying to adjust himself discreetly, and it makes my stomach clench with a mixture of guilt and desire.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "The massage was wonderful, sweetheart. Thank you. But I think we should end it here.">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "The massage was wonderful. Thank you. But I think we should end it here.">>
<</if>>
<<dialog "Rylan" "faceembarrassed" "Wait... I mean, I could... I could massage your front too? Your shoulders, your arms... it might help you relax more.">>
<<quickRoll "Desire Resistance" "Rylan" 80 5 "FeetFetish" 4>>
<<if not _tempRollSuccess>>
<<narrative "I can see the desperation in his eyes, the need to continue touching me in any way possible. His voice is trembling slightly as he makes the suggestion, and I can feel the heat radiating from him.">>
<</if>>
<<narrative "I can see the hope in his eyes, the desperate need to continue touching me. Part of me wants to say no, to end this madness right now. But another part... another part is still throbbing with the memory of his touch, his tongue on my feet. I can feel my own arousal still pulsing between my legs.">>
<<quickRoll "Temptation Resistance" "Mariel" 80 5 "FeetFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "The rational part of my mind is screaming that this is wrong, but my body is responding with such intensity that I can't bring myself to stop him. The pleasure is too overwhelming, the memory of his touch too intoxicating.">>
<</if>>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "I... I suppose a proper massage would be nice. Just... just the shoulders and arms, okay?">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "I... I suppose a proper massage would be nice. Just... just the shoulders and arms, okay?">>
<</if>>
<<narrative "I'm lying to myself and I know it. But the thought of his hands on my body again, even if it's just my shoulders... it's making my heart race and my breath come in shallow gasps. I can feel the wetness between my legs, and I know I'm not fooling anyone.">>
<<continueBox "Chapter5nightMarielMassage2" "Continue the massage" "">>
<<changeFetish "Rylan" "FeetFetish" 0.4>>
<<changeFetish "Mariel" "FeetFetish" 0.3>>
<<changeLust "Mariel" 6>>
<<changeLust "Rylan" 5>>
</div>
<</nobr>>
<<pov "mariel" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container mariel">
<<set $marielFootFetish = false>>
<<set $currentFace = $currentMarielFace>>
<<set $timeOfDay = "night">>
<<narrative "🌙 Midnight Touch 🌙">>
<<narrative "Mariel's perspective...">>
<center><img src="images/mariel/chapter5/rylannightvisit/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Self Gay Dream"></center>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "Mmm... this feels so good, sweetheart. Your hands are so warm and gentle.">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "Mmm... this feels so good, $humanName. Your hands are so warm.">>
<</if>>
<<quickRoll "Massage Resistance" "Mariel" 80 5 "SubmissionFetish" 2>>
<<if not _tempRollSuccess>>
<<narrative "The sensation is overwhelming. His hands feel so good on my body, so right somehow. I can feel my arousal building rapidly, my breath becoming more shallow. There's something about his touch that's making me lose control.">>
<</if>>
<<narrative "I lie on my stomach, feeling the familiar comfort of my bed beneath me. But something feels different tonight - his touch seems more... intense somehow. I can feel his strong hands working the tension from my shoulders, and I let out a soft sigh of relief.">>
<<if $marielTransformationMother>>
<<narrative "I notice something strange as I lie here - my breasts feel so stiff and sensitive against the mattress. It's almost painful, but in a way that makes my breath catch. I've never experienced this before. The fabric of my nightgown keeps rubbing against them as I shift slightly, creating this strange mixture of discomfort and... something else entirely.">>
<</if>>
<center><img src="images/mariel/chapter5/rylannightvisit/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Self Gay Dream"></center>
<<dialog "Rylan" "faceconfident" "How's that feel, $humanToMariel? I can feel how tense you are.">>
<center><img src="images/mariel/chapter5/rylannightvisit/6.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Self Gay Dream"></center>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "Perfect, dear... don't stop. You have such strong, caring hands.">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "Perfect... don't stop. You have such strong hands.">>
<</if>>
<center><img src="images/mariel/chapter5/rylannightvisit/7.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Self Gay Dream"></center>
<<narrative "His hands move lower, working down my back with firm, confident strokes. I can feel the heat from his palms through the thin fabric of my nightgown. Each touch sends little shivers through me, and I find myself arching slightly into his hands.">>
<center><img src="images/mariel/chapter5/rylannightvisit/8.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Self Gay Dream"></center>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "Oh... that spot right there, honey. It's been bothering me all day.">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "Oh... that spot right there. It's been bothering me all day.">>
<</if>>
<center><img src="images/mariel/chapter5/rylannightvisit/9.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Self Gay Dream"></center>
<<narrative "His thumbs press deep into the muscles around my hips, and I can't help but let out a soft moan. The sound surprises me - I didn't mean to make that noise. I can feel my cheeks burning with embarrassment, but his hands don't stop their work.">>
<<if $marielTransformationMother>>
<<narrative "The pressure on my breasts is becoming almost unbearable. Each time I shift or he applies pressure to my back, they press harder against the mattress. The fabric keeps sliding over my sensitive nipples, and I'm finding it harder and harder to focus on anything else. This shouldn't feel so good, but it does.">>
<</if>>
<center><img src="images/mariel/chapter5/rylannightvisit/10.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Self Gay Dream"></center>
<<dialog "Rylan" "faceconfident" "You're so tense here. Let me work this out for you.">>
<<narrative "His hands continue their journey down my legs, his strong fingers working the muscles of my calves. The sensation is incredible - firm but gentle, knowing exactly where to apply pressure. I can feel my breathing becoming more shallow, and I'm suddenly very aware of how close he is to me.">>
<center><img src="images/mariel/chapter5/rylannightvisit/11.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Self Gay Dream"></center>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "Sweetheart... this is... this feels amazing.">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "$humanName... this is... this feels amazing.">>
<</if>>
<<if $marielTransformationMother>>
<<narrative "The pressure on my breasts is driving me crazy. Every movement, every breath makes them press harder against the mattress. The fabric keeps catching on my nipples, and I'm finding myself arching my back more than necessary, just to feel that delicious friction. What's happening to me? This shouldn't feel so... so arousing.">>
<</if>>
<center><img src="images/mariel/chapter5/rylannightvisit/12.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 1"></center>
<<narrative "His hands move to my thighs now, and I can feel my breath catch. The sensation is incredible - his strong fingers working deep into the muscles, kneading away the tension I didn't even realize I was carrying. Each stroke sends little waves of pleasure through me.">>
<<dialog "Rylan" "facewet" "Your thighs are so tense. Let me work out these knots for you.">>
<<quickRoll "Thigh Massage Resistance" "Mariel" 80 5 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "The sensation is overwhelming. His hands are so close to... to places they shouldn't be. I can feel my arousal building rapidly, my breath becoming more shallow. There's something about his touch that's making me lose control.">>
<</if>>
<center><img src="images/mariel/chapter5/rylannightvisit/13.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 2"></center>
<<narrative "His thumbs press deep into the muscles of my inner thighs, and I can't suppress a soft moan. The pressure is perfect - firm enough to be effective, but gentle enough to be pleasurable. I can feel my heart racing as his hands work higher and higher up my legs.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "Oh... sweetheart... that feels so good...">>
<<else>>
<<dialog "Mariel" "facewet" "Oh... $humanName... that feels so good...">>
<</if>>
<center><img src="images/mariel/chapter5/rylannightvisit/14.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<narrative "His hands continue their journey down my legs, working the muscles of my calves with long, smooth strokes. I can feel the heat radiating from his palms, and every touch sends little shivers through me. The sensation is becoming more and more intimate with each passing moment.">>
<<dialog "Rylan" "facewet" "You have such beautiful legs... so strong and graceful.">>
<center><img src="images/mariel/chapter5/rylannightvisit/15.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 4"></center>
<<narrative "Then his hands move to my feet, and I can feel my entire body tense. His touch is so gentle, so reverent as he begins working the arches. The sensation is overwhelming - his thumbs pressing into the sensitive soles, working out tension I didn't know existed.">>
<<quickRoll "Foot Touch Resistance" "Mariel" 80 5 "FeetFetish" 2>>
<<if not _tempRollSuccess>>
<<narrative "The sensation is absolutely overwhelming. His touch on my feet feels so intimate, so incredibly arousing. I can feel my arousal building rapidly, my breath becoming more shallow. There's something about his touch that's making me lose control completely.">>
<</if>>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "Sweetheart... my feet are so sensitive...">>
<<else>>
<<dialog "Mariel" "facewet" "$humanName... my feet are so sensitive...">>
<</if>>
<<dialog "Rylan" "faceconfident" "There we go. You're so much more relaxed now. How do you feel?">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "I feel... I feel wonderful, my dear. Thank you, sweetheart. You always know exactly what I need.">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "I feel... I feel wonderful. Thank you, $humanName. You always know exactly what I need.">>
<</if>>
<<narrative "As I slowly sit up, I can feel my heart still racing. That massage was... different somehow. More intimate, more intense than any he's given me before. I can't help but wonder if he felt it too - this strange tension between us that seems to grow stronger every day.">>
<<dialog "Rylan" "faceconfident" "Should I continue with your feet? I know they're probably tired from standing all day.">>
<<quickRoll "Foot Offer Resistance" "Mariel" 80 5 "FeetFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "The thought of him touching my feet again makes my heart race and my breath catch. I can feel my arousal building again, my body responding to the mere suggestion. There's something about his offer that's making me lose control.">>
<</if>>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "Oh... I don't know if that's a good idea, dear. My feet are... well, they're quite sensitive, sweetheart.">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "Oh... I don't know if that's a good idea. My feet are... well, they're quite sensitive.">>
<</if>>
<<choiceBox "Continue Massage" "🦶 Continue with foot massage" "Chapter5nightMarielFootMassage" "Chapter5nightMarielMassage=foot" "Skip foot massage (no feet fetish)" "Chapter5nightMarielMassage2" "Chapter5nightMarielMassage=skip">>
<<changeLust "Mariel" 5>>
<<changeLust "Rylan" 4>>
<<changeAffection "Mariel" "Rylan" 3>>
<<changeAffection "Rylan" "Mariel" 2>>
</div>
<</nobr>>
<<pov "mariel" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/longmoan.mp3" 1>>
<div class="passage-container mariel">
<<set $currentFace = $currentMarielFace>>
<<set $timeOfDay = "night">>
<<narrative "🔥 Forbidden Touch 🔥">>
<<narrative "The massage continues to new heights...">>
<<narrative "I lie back on the bed, my heart still racing from what just happened. His hands are warm and strong as they begin working on my lower legs, kneading the muscles with practiced precision. The touch is innocent enough, but I can feel the lingering tension between us, thick and electric.">>
<<dialog "Rylan" "faceconfident" "Your muscles are so tense. Let me work on your calves first.">>
<center><img src="images/mariel/chapter5/rylannightvisit/31.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<narrative "His hands move up my calves with firm, confident strokes. The sensation is incredible - his thumbs pressing deep into the muscle, working out knots I didn't even know I had. I can feel myself relaxing despite the lingering arousal, my breathing becoming more steady.">>
<<dialog "Rylan" "faceconfident" "You have such beautiful legs... so strong and graceful.">>
<<narrative "But then his hands move higher, to my thighs, and I can feel my breath catch. His touch is still professional, but there's something... different about it now. More intimate, more aware of my body. I can feel the heat radiating from his palms as they work the muscles of my inner thighs.">>
<center><img src="images/mariel/chapter5/rylannightvisit/32.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<quickRoll "Thigh Massage Resistance" "Mariel" 80 5 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "The sensation is overwhelming. His hands are so close to... to places they shouldn't be. I can feel my arousal building again, my breath becoming more shallow. There's something about his touch that's making me lose control all over again.">>
<</if>>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "Mmm... that feels wonderful, sweetheart. You have such strong hands.">>
<<else>>
<<dialog "Mariel" "facewet" "Mmm... that feels wonderful. You have such strong hands.">>
<</if>>
<<narrative "His hands continue upward, working on my waist now. The pressure is perfect - firm enough to be effective, gentle enough to be pleasurable. But I can feel his breathing becoming more labored, and when I glance down, I can see the obvious bulge in his pants. It makes my stomach clench with forbidden desire.">>
<center><img src="images/mariel/chapter5/rylannightvisit/33.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<dialog "Rylan" "facewet" "Your waist is so... perfect. I can't help but admire it.">>
<<narrative "I should say something. I should stop this before it goes too far. But his hands feel so good, and I can feel my own arousal building with each passing moment. The rational part of my mind is screaming that this is wrong, but my body is responding with such intensity that I can't bring myself to stop him.">>
<center><img src="images/mariel/chapter5/rylannightvisit/34.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<narrative "His hands move to my sides, working the muscles there with long, smooth strokes. I can feel his breath on my neck as he leans over me, and the proximity is making my heart race. His hands are so close to my breasts now, and I can feel the heat radiating from them.">>
<center><img src="images/mariel/chapter5/rylannightvisit/35.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "Sweetheart... your hands are so warm...">>
<<else>>
<<dialog "Mariel" "facewet" "$humanName... your hands are so warm...">>
<</if>>
<<narrative "Suddenly, I feel his weight shift, and before I can react, he's sitting on top of me, straddling my hips. The position is so intimate, so... sexual. I can feel his erection pressing against my stomach through his pants, and it makes my breath catch in my throat.">>
<center><img src="images/mariel/chapter5/rylannightvisit/36.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<dialog "Rylan" "faceconfident" "This position will give me better leverage for your sides.">>
<<narrative "I can see the lie in his eyes even as he says it. This position has nothing to do with leverage and everything to do with the way his erection is now pressed firmly against my stomach. I can feel the heat and hardness of it through his pants, and it's making my own arousal spike to almost unbearable levels.">>
<center><img src="images/mariel/chapter5/rylannightvisit/37.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<narrative "But I don't say anything. I don't stop him. Because despite the wrongness of this situation, despite the fact that he's my $humanIsMariel, I'm finding myself incredibly aroused by the attention. The way he's looking at me, the way his hands are working my body... it's making me feel desired, beautiful, powerful.">>
<center><img src="images/mariel/chapter5/rylannightvisit/38.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "I shouldn't... but I can't help myself...">>
<<else>>
<<dialog "Mariel" "facewet" "I shouldn't... but I can't help myself...">>
<</if>>
<<narrative "His hands continue working on my sides, but now they're brushing dangerously close to my breasts with each stroke. I can feel the heat radiating from his palms as they work the muscles, and every time they get close to my chest, I can feel my nipples hardening in response.">>
<<if $marielTransformationMother>>
<<narrative "I can feel something strange happening to my breasts. They're becoming more sensitive, more... full somehow. The sensation is unlike anything I've ever experienced. It's as if they're swelling with each passing moment, becoming more and more aroused. I can feel them getting stiffer, more sensitive to his touch.">>
<</if>>
<center><img src="images/mariel/chapter5/rylannightvisit/39.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Leg Massage 3"></center>
<<narrative "His hands move to my shoulders now, working the tension there with firm, confident strokes. But I can see that he's becoming more distracted, more focused on my body than on the massage. His breathing is becoming more labored, and I can feel his erection twitching against my stomach.">>
<<dialog "Rylan" "facewet" "You're so tense here... let me work this out for you.">>
<<narrative "Then his hands move back to my sides, and this time... this time they're definitely not just massaging. I can feel his fingers tracing the curves of my body, getting closer and closer to my breasts with each stroke. I can see the hunger in his eyes, the barely contained desire.">>
<<dialog "Rylan" "facewet" "you're so beautiful...">>
<<narrative "I should stop him. I should say something. But his touch feels so good, and I can feel my own arousal building to almost unbearable levels. The rational part of my mind is screaming that this is wrong, but my body is responding with such intensity that I can't bring myself to stop him.">>
<center><img src="images/mariel/chapter5/rylannightvisit/40.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Breast Massage"></center>
<<narrative "And then... oh gods... his hands are on my breasts. Not just brushing against them, but actually touching them, massaging them. The sensation is incredible - his warm palms cupping my breasts, his thumbs tracing circles around my hardened nipples. I can't suppress the moan that escapes my lips.">>
<center><img src="images/mariel/chapter5/rylannightvisit/41.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Breast Massage"></center>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "Sweetheart... sweetheart, what are you doing?">>
<<else>>
<<dialog "Mariel" "facewet" "$humanName... what are you doing?">>
<</if>>
<<narrative "But even as I ask the question, I can feel my body responding to his touch. My nipples are hardening even more under his ministrations, and I can feel the wetness building between my legs. His hands feel so good on my breasts, so right somehow.">>
<center><img src="images/mariel/chapter5/rylannightvisit/42.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Breast Massage"></center>
<<quickRoll "Breast Massage Resistance" "Mariel" 80 5 "BreastFetish" 4>>
<<if not _tempRollSuccess>>
<<narrative "The sensation is overwhelming. His hands are working my breasts with such skill, such reverence. I can feel my arousal building rapidly, my breath becoming more shallow. There's something about his touch that's making me lose control completely.">>
<</if>>
<center><img src="images/mariel/chapter5/rylannightvisit/42a.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Breast Massage"></center>
<<narrative "His hands continue working my breasts, his thumbs now tracing circles around my hardened nipples. The sensation is incredible - each touch sending waves of pleasure through my body. I can feel myself getting wetter by the second, my breath becoming more shallow as the pleasure builds.">>
<center><img src="images/mariel/chapter5/rylannightvisit/43.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Breast Massage"></center>
<<narrative "I can feel my body betraying me with every touch. My nipples are so hard now, so sensitive that even the slightest brush of his fingers sends jolts of electricity through my core. The wetness between my legs is undeniable, and I know he can probably feel it too through the thin fabric of my nightgown.">>
<<dialog "Rylan" "facewet" "Your breasts are so... perfect.">>
<<if $marielTransformationMother>>
<<narrative "I can feel my breasts becoming more and more sensitive, more and more aroused. It's as if they're swelling with each passing moment, becoming more and more full. I can feel them getting stiffer, more sensitive to his touch. It's as if they're about to burst with the intensity of my arousal.">>
<<narrative "And then... oh gods... I feel something warm and wet on my breasts. I look down and see that my nipples are actually leaking milk. The sight is both shocking and incredibly arousing. How is this possible? I'm not pregnant.">>
<center><img src="images/mariel/chapter5/rylannightvisit/1b.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Milk Leaking Breasts"></center>
<<dialog "Rylan" "facewet" "Oh gods... $marielToHuman... your breasts are... they're leaking milk...">>
<<narrative "I can see the shock and arousal in his eyes as he stares at my leaking breasts. His breathing has become even more labored, and I can feel his erection twitching against my stomach. The sight of my milk seems to have completely overwhelmed him.">>
<center><img src="images/mariel/chapter5/rylannightvisit/2b.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Milk Leaking Breasts"></center>
<<narrative "The sensation is overwhelming - his hands working my milk-leaking breasts with such devotion, such reverence. I can see the hunger in his eyes, the barely contained desire mixed with shock at what's happening to my body. His erection is twitching against my stomach, and I can feel the heat radiating from it.">>
<center><img src="images/mariel/chapter5/rylannightvisit/3b.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Milk Leaking Breasts"></center>
<<narrative "The pleasure is building to a crescendo I can barely contain. His hands feel so good on my swollen, milk-filled breasts, so right somehow. The way he's touching me, the way he's looking at me with such awe... it's making me feel desired, beautiful, powerful. I can feel myself getting closer and closer to the edge, my body trembling with anticipation.">>
<center><img src="images/mariel/chapter5/rylannightvisit/4b.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Milk Leaking Breasts"></center>
<<dialog "Rylan" "facewet" "Your breasts are... they're incredible. The milk... it's so beautiful...">>
<<dialog "Mariel" "facewet" "Sweetheart... this is wrong... *but it feels so right...*">>
<center><img src="images/mariel/chapter5/rylannightvisit/5b.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Milk Leaking Breasts"></center>
<<dialog "Rylan" "facewet" "I want to make you feel good... let me take care of you.">>
<div style="margin: 20px 0; text-align: center;">
<<continueBox "Chapter5nightMarielClimax" "Continue to Climax" "">>
</div>
<<else>>
<<narrative "His touch becomes more confident, more focused. He's completely lost in the sensation now, his hands working my breasts with such devotion, such reverence. I can see the hunger in his eyes, the barely contained desire. His erection is twitching against my stomach, and I can feel the heat radiating from it.">>
<center><img src="images/mariel/chapter5/rylannightvisit/44.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Breast Massage"></center>
<<narrative "The pleasure is building to a crescendo I can barely contain. His hands feel so good on my breasts, so right somehow. The way he's touching me, the way he's looking at me... it's making me feel desired, beautiful, powerful. I can feel myself getting closer and closer to the edge, my body trembling with anticipation.">>
<<dialog "Rylan" "facewet" "You're so beautiful...">>
<<dialog "Mariel" "facewet" "$humanName... this is wrong... but it feels so right...">>
<<dialog "Rylan" "facewet" "I want to make you feel good... let me take care of you.">>
<<continueBox "Chapter5nightMarielClimax" "Continue..." "">>
<</if>>
</div>
<</nobr>>
<<pov "mariel" "intimate.mp3">><<nobr>>
<div class="passage-container mariel">
<<set $currentFace = $currentMarielFace>>
<<set $timeOfDay = "night">>
<<narrative "💔 The Breaking Point 💔">>
<<narrative "Mariel's perspective - confronting the man she once loved in their cramped new reality...">>
<<narrative "The scene fades in as we witness the final moments of a marriage...">>
<<dialog "Mariel" "faceangry" "How can you just sit there, Thalor? How can you act like nothing happened? That... that creature nearly killed Seryk right in front of us, and you're treating it like it's just another day at the market! Do you even care about what we've lost?">>
<<dialog "Thalor" "faceworried" "Mariel, please... we've been through this a hundred times. What choice did I have? He would have killed us all if I hadn't... I was trying to protect you.">>
<<dialog "Mariel" "faceangry" "Protect me? You call this protection?! You had every choice in the world! You could have fought harder, you could have stood your ground instead of surrendering to that... that butcher! And now he's sleeping in our bedroom while we're trapped in this... this prison cell! Is this what protection looks like to you?">>
<center><img src="images/landscapes/smallcoupleroom.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Small Bedroom"></center>
<<narrative "The new bedroom is barely half the size of their old one. A single bed, a small dresser, and barely enough space to walk around. The walls feel like they're closing in, suffocating them both.">>
<<dialog "Thalor" "faceangry" "This is all your fault, Mariel! If you had just listened to me, we wouldn't be in this situation! I told you in that letter not to keep any demons in our household, but you never listen to me! You always think you know better!">>
<<dialog "Mariel" "faceangry" "Haven't we suffered enough, Thalor? What we did in that throne room... it broke something inside me that I don't think will ever heal. And I know you carry that weight too, even if you won't admit it. We're both broken, Thalor. Both of us.">>
<<dialog "Thalor" "faceangry" "Not what we did... What I did! You didn't do anything, Mariel. Not a damn thing! So don't you dare play the victim here! You were just a bystander, watching while I... while I became a monster.">>
<<dialog "Mariel" "faceangry" "Gods, you reek of alcohol. Are you really serious about what you just said? Do you actually believe that? That I was just... watching? That I didn't feel every moment of that horror?">>
<<dialog "Thalor" "faceworried" "I'm exhausted, Mariel. Can we just... can we just forget what happened and move on? Please? I can't keep fighting like this.">>
<<dialog "Mariel" "faceangry" "How could I ever forget? Look around us, Thalor! This isn't even our room anymore! We are prisoners in our own home! And this promise you gave Gairos... you really want us all to go to war with him? Forget what he did and travel again with this... this monster? Have you lost your mind completely?">>
<<dialog "Thalor" "faceworried" "You don't know what he's capable of, Mariel. What he does to those who cross him... I've seen things that would make you never sleep again.">>
<<dialog "Mariel" "faceangry" "I know exactly what he's capable of, Thalor! I watched him try to kill Seryk right in front of us, and he would have killed $humanName too, who is your $thalorCallsHuman! But maybe you've forgotten about that while you were off traveling the world, sleeping with every woman you meet, and inviting murderers into our home! How can you be so blind to what's happening to your own family?">>
<<dialog "Thalor" "faceangry" "Is he even my $thalorCallsHuman?! Sure he has your hair, but nothing from me! Not my hair, not my looks, and my eyes are brown, yours are green, and his are blue! How do you explain that?!">>
<<dialog "Mariel" "facecrying" "My mother had blue eyes, Thalor! And how can you say that to me?! I was faithful to you my entire life, even when you stopped touching me, even when you stopped looking at me! But maybe this was all a mistake from the beginning!">>
<<dialog "Thalor" "faceangry" "...Yes, maybe it was! I'll sleep in another room from now on. Good luck, Mariel. Maybe you'll find a better husband who treats you right, since I clearly can't.">>
<<narrative "Thalor storms out of the room, leaving the door wide open behind him. The cold air from the hallway rushes in, carrying with it the weight of his words and the shattered remains of our marriage.">>
<<dialog "Mariel" "facecrying" "How could he... how could he say those things about $humanName? After everything we've been through together, after all the years of love and trust... How could he question something so fundamental about our family?">>
<<narrative "Meanwhile, outside the room, a certain person has been listening to the entire fight. This person's heart is filled with rage, their fists clenched so tightly that their nails dig into their palms...">>
<center><img src="images/landscapes/marielroomshadow.webp" style="width: 400px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Self Female Dream"></center>
<<continueBox "Chapter5nightThalorPOV" "Continue..." "">>
</div>
<</nobr>>
<<pov "mariel" "marielthalorfight.mp3">><<nobr>>
<div class="passage-container rylan">
<<set $marielChapter5Massage = true>>
<<set $rylan_MarielOrgasmsGiven = 2>>
<<set $mariel_RylanOrgasmsReceived = 2>>
<<set $mariel_RylanOrgasmsGiven = 2>>
<<set $rylan_MarielOrgasmsReceived = 2>>
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "night">>
<<narrative "🌙 Midnight Comfort 🌙">>
<<narrative "Checking on $marielToHuman...">>
<<dialog "Rylan" "faceworried" "Right, I'll just make sure she's okay. We can go back to normal - $marielToHuman and $humanIsMariel, just like always. Nothing has to change between us.">>
<<narrative "I gently push the door open wider and peer inside. The room is much smaller than their old bedroom, barely half the size. Mariel sits alone on the edge of the bed, her back to me, shoulders shaking slightly. Even in the dim light, I can tell she's been crying.">>
<center><img src="images/mariel/chapter5/rylannightvisit/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Self Gay Dream"></center>
<<dialog "Rylan" "faceworried" "$marielToHuman? What's the matter? Are you alright?">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facesad" "Oh, $humanName... It's nothing, sweetheart. Just something in my eyes, that's all.">>
<<else>>
<<dialog "Mariel" "facesad" "Oh, $humanName... It's nothing. Just something in my eyes, that's all.">>
<</if>>
<<dialog "Rylan" "faceworried" "Come on, $humanToMariel, don't lie to me. I can see you've been crying. Your face tells me everything.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facesad" "It's nothing serious, sweetheart... Just a little argument with your $thalorToHuman.">>
<<dialog "Mariel" "facesad" "I'm not sure we can fix it this time... I said some things I shouldn't have, and now I'm afraid I've ruined everything.">>
<<else>>
<<dialog "Mariel" "facesad" "It's nothing serious... Just a little argument with your $thalorToHuman.">>
<<dialog "Mariel" "facesad" "I'm not sure we can fix it this time... I said some things I shouldn't have, and now I'm afraid I've ruined everything.">>
<</if>>
<center><img src="images/mariel/chapter5/rylannightvisit/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Self Gay Dream"></center>
<<narrative "I move closer and wrap my arms around her shoulders.">>
<<dialog "Rylan" "faceworried" "Don't worry, $humanToMariel. I'm certain it's $thalorToHuman's fault, not yours. You deserve so much better than this. You're incredible.">>
<<dialog "Mariel" "faceembarrassed" "$humanName...">>
<<narrative "She quickly looks away, her cheeks flushing.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "Sweetheart, you really shouldn't say things like that to your $marielToHuman. Especially after that... incident in the kitchen! Don't think I've forgotten about it. What on earth was that all about?">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "$humanName, you really shouldn't say things like that to your $marielToHuman. Especially after that... incident in the kitchen! Don't think I've forgotten about it. What on earth was that all about?">>
<</if>>
<<dialog "Rylan" "faceembarrassed" "I'm really sorry about that. I have no idea what got into me - it was like I was in some kind of trance... But look! You're actually smiling now!">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facesmile" "Alright, alright, let's just put what happened in the kitchen behind us. Now you need to go back to bed, sweetheart. You should get some rest.">>
<<else>>
<<dialog "Mariel" "facesmile" "Alright, alright, let's just put what happened in the kitchen behind us. Now you need to go back to bed. You should get some rest.">>
<</if>>
<<dialog "Rylan" "faceworried" "I really don't think I should leave you alone like this, $humanToMariel. What if I give you a massage? That always helps you feel better.">>
<<dialog "Mariel" "faceembarrassed" "I'm not sure that's wise, $humanName. Not after... well, you know what happened in the kitchen.">>
<<dialog "Rylan" "faceworried" "Wait, what are you talking about? What happened in the kitchen? I can't remember anything since you said we should forget about it.">>
<<dialog "Mariel" "faceangry" "Don't be clever with me, young man!">>
<<narrative "She punches him softly against the shoulder.">>
<<dialog "Mariel" "faceangry" "You know perfectly well what I'm referring to!">>
<<dialog "Rylan" "facesmile" "Well then, my lady, shall we proceed with that massage?">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "Fine, fine. But you keep your hands where they belong, young man! I'm still your $marielToHuman, don't you forget that.">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "Fine, fine. But you keep your hands where they belong! I'm still your $marielToHuman, don't you forget that.">>
<</if>>
<<if $rylan_wearingPanties>>
<<narrative "I start to remove my shirt and pants to make it easier to move around during the massage. I'm still wearing my underwear, so it's not like I'm completely exposed. But as I pull down my pants, I realize with a jolt of panic that I'm wearing panties instead of boxers.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "Sweetheart... why are you wearing panties?">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "$humanName... why are you wearing panties?">>
<</if>>
<<dialog "Rylan" "faceembarrassed" "Oh... um... they're just really comfortable! Much more comfortable than boxers, actually. I've been wearing them for a while now.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "Oh, sweetheart... they look absolutely beautiful on you. I've always secretly wanted a daughter, and seeing you like this... it's like my wish has come true in a way.">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "Well... I suppose they do look quite nice on you. I never would have expected it, but you actually pull them off quite well.">>
<</if>>
<<else>>
<<narrative "I start to remove my shirt and pants to make it easier to move around during the massage. I'm still wearing my boxers, so it's not like I'm completely exposed.">>
<</if>>
<<narrative "She lies down on her stomach on the bed, just like so many times before. The familiar position brings back memories of all the massages I've given her over the years, though now everything feels different somehow.">>
<center><img src="images/mariel/chapter5/rylannightvisit/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Self Gay Dream"></center>
<div id="soulBlessingAnimation" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; display: none;">
<div style="background: radial-gradient(circle, rgba(255, 215, 0, 0.9), rgba(255, 165, 0, 0.8)); border-radius: 50%; width: 200px; height: 200px; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 50px rgba(255, 215, 0, 0.6); animation: pulse 2s ease-in-out;">
<div style="text-align: center; color: white; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
<h3 style="margin: 0; font-size: 1.5em;">✨ Soul Blessing ✨</h3>
<p style="margin: 5px 0; font-size: 1.1em;">$humanName +1</p>
<p style="margin: 5px 0; font-size: 1.1em;">Mariel +1</p>
</div></div></div>
<style>
@keyframes pulse {
0% { transform: scale(0.5); opacity: 0; }
50% { transform: scale(1.1); opacity: 1; }
100% { transform: scale(1); opacity: 0.8; }
}
</style>
<script>
setTimeout(() => {
document.getElementById('soulBlessingAnimation').style.display = 'block';
setTimeout(() => {
document.getElementById('soulBlessingAnimation').style.display = 'none';
}, 3000);
}, 500);
</script>
<<continueBox "Chapter5nightMarielMassage" "Continue to Massage" "">>
</div>
<</nobr>>
<<pov "rylan" "nightrylan.mp3">>
<<addSoulBlessing "rylan" 1>>
<<addSoulBlessing "mariel" 1>>
<<changeAffection "Rylan" "Mariel" 2>>
<<changeAffection "Mariel" "Rylan" 2>>
<<changeLust "Rylan" 3>>
<<changeLust "Mariel" 3>><<nobr>>
<div class="passage-container rylan">
<<set $currentFace = $currentRylanFace>>
<<set $timeOfDay = "night">>
<div id="transition-overlay" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(25, 25, 112, 0.95), rgba(72, 61, 139, 0.9), rgba(123, 104, 238, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; opacity: 1; transition: opacity 2s ease-in-out;">
<div style="text-align: center; color: #E6E6FA;">
<h1 style="font-size: 3em; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); margin-bottom: 20px;">🌙 Midnight Awakening 🌙</h1>
<p style="font-size: 1.5em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); font-style: italic;">The story continues through $humanName's eyes...</p>
</div>
</div>
<script>
setTimeout(function() {
document.getElementById('transition-overlay').style.opacity = '0';
setTimeout(function() {
document.getElementById('transition-overlay').style.display = 'none';
}, 2000);
}, 3000);
</script>
<div style="text-align: center; margin: 20px 0; padding: 20px; background: linear-gradient(145deg, rgba(75, 25, 75, 0.9), rgba(100, 50, 100, 0.95)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 12px;">
<h3 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0;">🔄 POV Switch: Returning from Thalor's confrontation with Nimeria</h3>
<p style="color: #DDA0DD; font-style: italic; margin: 10px 0 0 0;">Meanwhile, back at the main house...</p></div>
<<narrative "🌙 Midnight Awakening 🌙">>
<<narrative "$humanName's perspective - waking from strange dreams...">>
<<dialog "Rylan" "faceworried" "I awaken suddenly in the middle of the night, my heart pounding against my chest. What a weird dream that was...">>
<<if $rylanDreamSeryk>>
<center><img src="images/seryk/chapter5/dream/10.webp" style="width: 400px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Seryk Dream"></center>
<<narrative "The memory of that dream with Seryk... it was horrifying. I was forced to touch him, to pleasure him against my will. That mysterious voice controlled my body, made me stroke him while he was paralyzed. The worst part was when his personality suddenly changed - he went from protesting to commanding me to slap his... his thing against my face. It felt so real, so violating.">>
<</if>>
<<if $rylanDreamSelfGay>>
<center><img src="images/rylan/chapter5/dream/selfgay/20.webp" style="width: 400px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Self Gay Dream"></center>
<<narrative "That dream where I was... forced to have sex with myself. The other me was more dominant, more commanding. That voice - made me get on all fours, exposed and vulnerable. She forced me to have anal sex with my own clone, saying it was \"just a dream so it doesn't count.\" But it felt so real, so degrading. I was completely powerless to stop it.">>
<</if>>
<<if $rylanDreamSelfHetero>>
<center><img src="images/rylan/chapter5/dream/selffemale/28.webp" style="width: 400px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Self Female Dream"></center>
<<narrative "That dream where I was... transformed into a woman. My body changed completely - I grew breasts, my hips widened, my voice became feminine. Then I was forced to have sex with the male version of myself. That voice made me spread my legs, exposed my new feminine parts. It was humiliating, degrading. I was completely powerless as my own male self took advantage of my transformed body.">>
<</if>>
<<dialog "Rylan" "faceworried" "I need to use the bathroom. These dreams have left me feeling... violated, to say the least. Maybe some cold water will help clear my head.">>
<<narrative "I quietly make my way down the hallway, the wooden floorboards creaking softly under my bare feet. The house is completely silent except for the gentle breathing of my sleeping family.">>
<<dialog "Rylan" "faceworried" "Wait... that's not right. That's Gairos's room now, isn't it? The one that used to be $marielToHuman and $thalorToHuman's bedroom.">>
<center><img src="images/landscapes/gairosroom.webp" style="width: 400px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Gairos's Room"></center>
<<narrative "As I pass by, I can feel it - a powerful magical barrier surrounding the entire room. Even from several meters away, the energy is so intense it makes my skin tingle. This guy must really be strong to maintain something like that while sleeping.">>
<<narrative "I continue down the hall and find their new bedroom. It's much smaller now, barely half the size of their old one. The door is slightly ajar, and I can see a soft light shining through the crack.">>
<center><img src="images/landscapes/marielroom.webp" style="width: 400px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Mariel and Thalor's New Bedroom"></center>
<<narrative "The light flickers gently, casting dancing shadows on the hallway wall.">>
<<dialog "Rylan" "faceworried" "I should probably just go back to bed. These dreams have me all worked up, and I don't need to be creeping around the house in the middle of the night.">>
<<if $marielMorningVisitChapter4>>
<<dialog "Rylan" "facewet" "But then I think about what happened this morning with $marielToHuman... that kiss, the way she looked at me. My heart starts racing again just remembering it.">>
<<dialog "Rylan" "facewet" "I still don't understand why I couldn't control myself. Why I kissed her like that, why I let things go so far. It's like something took over my mind, and now I can't stop thinking about it.">>
<<dialog "Rylan" "facewet" "What's happening to me? She's my $marielToHuman, for gods' sake. I should be repulsed by these thoughts, not... not excited by them. This is completely twisted.">>
<<dialog "Rylan" "facewet" "But I should stay away. $thalorToHuman is back now, sleeping in the same room as her. What if he wakes up and finds me there? What if he realizes something happened between us?">>
<<dialog "Rylan" "facewet" "The rational part of me says to go back to bed and forget about it. But there's another part... a part that keeps replaying those moments, that wonders what would happen if I saw her again. I need to control myself. I can't let whatever happened this morning happen again.">>
<</if>>
<<if $marielMorningVisitChapter4>>
<<choiceBox "What do you do?" "Check inside the bedroom (💞 Mariel)" "Chapter5nightRylanBedroomCheck" "Chapter5nightRylanTransition=bedroom" "Go back to sleep" "SerykDreamsOfThePast" "Chapter5nightRylanTransition=sleep">>
<<else>>
<<continueBox "SerykDreamsOfThePast" "Go back to sleep" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "nightrylan.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/longmoan.mp3" "sounds/hsounds/handjob.mp3" 1>>
<div class="passage-container serin">
<<set $timeOfDay = "night">>
<<narrative "Serin's mind races as she tries to remember Nimeria's exact instructions.">>
<<dialog "Serin" "faceembarrassed" "How much did she say to use?">>
<<narrative "she whispers to herself, her fingers trembling around the vial.">>
<<dialog "Serin" "faceembarrassed" "Right, just a bit. Just a small amount.">>
<<narrative "With careful precision, she dips her index finger into the ointment, coating just the tip. The substance feels warm and slightly oily against her skin.">>
<<dialog "Serin" "faceembarrassed" "Here goes nothing,">>
<<narrative "she breathes, her heart pounding in her chest.">>
<center><img src="images/serin/chapter5/masturbating/clit/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<narrative "The moment the ointment touches her most intimate flesh, Serin gasps. The substance feels warm and tingly against her sensitive skin, but the effect is subtle at first.">>
<<dialog "Serin" "facewet" "Hmm, that's... different,">>
<<narrative "she murmurs, waiting for something more dramatic to happen.">>
<<narrative "After a few moments, she begins to feel a subtle warmth spreading through her lower body.">>
<<dialog "Serin" "facewet" "Oh... that's starting to feel nice,">>
<<narrative "she whispers, her breathing becoming slightly heavier. The warmth intensifies, making her skin more sensitive to touch.">>
<<dialog "Serin" "facewet" "Mmm, this is getting interesting...">>
<center><img src="images/serin/chapter5/masturbating/clit/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Serin" "facewet" "Hmm, maybe I need more...">>
<<narrative "she thinks, starting to rub herself experimentally. But as her fingers move, the warmth begins to intensify, spreading through her entire lower body.">>
<<dialog "Serin" "facewet" "Oh... this is getting really good,">>
<<narrative "she breathes, her arousal mounting with every touch. Soon the heat becomes overwhelming, and she finds herself unable to stop.">>
<center><img src="images/serin/chapter5/masturbating/clit/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<narrative "The heat continues to build, making her entire body feel alive with sensation. Her fingers move instinctively, exploring her own body as the ointment's effects intensify.">>
<<dialog "Serin" "facewet" "This is... this is incredible,">>
<<narrative "she breathes, her arousal mounting with every touch.">>
<<narrative "As the pleasure builds, Serin's mind drifts to fantasies.">>
<<dialog "Serin" "facewet" "What should I think about today?">>
<<narrative "she wonders, her fingers tracing lazy circles around her entrance.">>
<<dialog "Serin" "facewet" "Maybe how $humanName becomes dominant with me...">>
<center><img src="images/serin/chapter5/masturbating/clit/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<narrative "The fantasy takes hold, vivid and intoxicating. She imagines $humanName sitting while penetrating her, their eyes locked in a loving gaze as they share the most intimate connection.">>
<<dialog "Serin" "facewet" "I love you...">>
<<narrative "she whispers, her fingers sliding deeper inside herself as she imagines the warmth of his body and the deep penetration they share.">>
<center><img src="images/serin/chapter5/masturbating/clit/missionary.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<narrative "She can almost feel his warm body pressed against hers, his strong arms holding her close as they move together in perfect harmony.">>
<<dialog "Serin" "facewet" "Oh... oh yes...">>
<<narrative "Serin moans, her hips moving gently with her own touch as she imagines the deep, intimate connection they share.">>
<center><img src="images/serin/chapter5/masturbating/clit/fingering2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<narrative "But then her thoughts shift, as they often do during these intimate moments.">>
<<dialog "Serin" "facewet" "Or maybe... maybe I'm the one in control,">>
<<narrative "she thinks, her fingers moving faster now.">>
<<dialog "Serin" "facewet" "How I make him addicted to my body...">>
<<narrative "This new fantasy is even more arousing. She imagines $humanName lying beneath her, completely at her mercy as she straddles his hips.">>
<<dialog "Serin" "facewet" "You're mine now,">>
<<narrative "she growls in her fantasy, her body moving in rhythm with her own touch.">>
<center><img src="images/serin/chapter5/masturbating/clit/cowgirl2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<narrative "Another scenario floods her thoughts, even more primal and intense.">>
<<dialog "Serin" "facewet" "Or maybe...">>
<<narrative "she gasps, her fingers moving faster as the new image takes hold.">>
<<dialog "Serin" "facewet" "Maybe he takes me from behind, hard and rough...">>
<<narrative "She imagines being on all fours, her back arched and her ass raised high as $humanName grips her hips with bruising force.">>
<<dialog "Serin" "facewet" "Yes... take me like an animal,">>
<<narrative "she moans in her fantasy, her body trembling with arousal as she imagines the raw, primal connection.">>
<center><img src="images/serin/chapter5/masturbating/clit/rylandoggy2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<narrative "In her mind's eye, she feels his massive cock slamming into her with each powerful thrust, his balls slapping against her clit as he fucks her like a beast in heat.">>
<<dialog "Serin" "facewet" "Oh gods... he's so deep... so hard...">>
<<narrative "she whimpers, her fingers frantically working her clit as the fantasy overwhelms her.">>
<center><img src="images/serin/chapter5/masturbating/clit/5a.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<narrative "The fantasy is so vivid she can almost feel his hands pulling her hair, his voice growling in her ear as he claims her body.">>
<<dialog "Serin" "facewet" "You're mine, Serin. All mine,">>
<<narrative "he growls in her imagination, and she moans aloud as her arousal reaches new heights.">>
<center><img src="images/serin/chapter5/masturbating/clit/rylandoggy.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<if $serinFutanariTransformation>>
<<narrative "Suddenly, Serin remembers another part of Nimeria's instructions.">>
<<dialog "Serin" "facewet" "She said to focus on my clitoris too,">>
<<narrative "she recalls, her enhanced body tingling with anticipation.">>
<<dialog "Serin" "facewet" "Does that mean I should put more on it?">>
<<narrative "Her mind races with logic.">>
<<dialog "Serin" "facewet" "Well, more medicine is always better than less, right?">>
<<narrative "she thinks, already reaching for the vial again.">>
<<dialog "Serin" "facewet" "I should be thorough about this.">>
<<narrative "This time, she coats two full fingers with the ointment, the substance glistening in the dim light.">>
<<dialog "Serin" "facewet" "Let's see what this does,">>
<<narrative "she whispers, her voice husky with arousal as she applies it directly to her swollen clitoris.">>
<<narrative "The effect is immediate and overwhelming. Blood rushes into her clitoris, making it engorged and incredibly sensitive.">>
<<dialog "Serin" "facewet" "Oh gods... this feels amazing!">>
<<narrative "she gasps, her back arching as waves of pleasure crash through her body.">>
<center><img src="images/serin/chapter5/masturbating/clit/clit.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<narrative "But soon it becomes almost too much to bear.">>
<<dialog "Serin" "facewet" "It's too intense... I can't stop touching myself,">>
<<narrative "she moans, her fingers moving frantically now as she tries to find the perfect rhythm.">>
<<dialog "Serin" "facewet" "I need more...">>
<center><img src="images/serin/chapter5/masturbating/clit/clit2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<narrative "Her fantasies intensify as she masturbates harder, her thoughts still focused on $humanName. But something shifts in her mind, a subtle change that makes her body tremble with even more arousal.">>
<<dialog "Serin" "facewet" "Wait... what am I thinking about now?">>
<<narrative "The fantasy has changed again, but this time it's more primal, more dominant. She's no longer thinking about $humanName taking her - she's imagining herself taking him.">>
<<dialog "Serin" "facewet" "I'm the one in control,">>
<<narrative "she growls, her fingers moving faster.">>
<<narrative "She imagines pinning $humanName down, her natural strength making it easy to hold him in place.">>
<<dialog "Serin" "facewet" "You're going to take everything I give you,">>
<<narrative "she whispers in her fantasy, her body building toward climax.">>
<center><img src="images/serin/chapter5/masturbating/clit/futa.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<else>>
<<narrative "Serin continues to masturbate, her fingers moving in perfect rhythm as she loses herself in her fantasies about $humanName. The ointment has made her body incredibly responsive, every touch sending waves of pleasure through her core.">>
<center><img src="images/serin/chapter5/masturbating/clit/futa.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<narrative "Her thoughts alternate between the two scenarios - $humanName taking control and her being the dominant one. Each fantasy makes her body respond differently, her hips bucking and her fingers moving faster as she gets closer to climax.">>
<center><img src="images/serin/chapter5/masturbating/clit/clit2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Serin" "facewet" "I'm so close...">>
<<narrative "she gasps, her body tensing as she feels the familiar build-up of pleasure.">>
<<dialog "Serin" "facewet" "Just a little more...">>
<<narrative "Her fingers move faster, her breathing becoming more erratic.">>
<</if>>
<center>
<<continueBox "SerinCh5Masturbate2" "Continue to Recovery" "">>
</center>
</div>
<</nobr>>
<<pov "serin" "intimatech5.mp3">><<nobr>>
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<div class="passage-container serin">
<<narrative "The combination of the ointment's effects and her dominant fantasy pushes her over the edge.">>
<<dialog "Serin" "facewet" "I'm coming... I'm coming so hard!">>
<<narrative "she cries out, her body convulsing as waves of intense pleasure crash through her.">>
<center><img src="images/serin/chapter5/masturbating/clit/squirt1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<narrative "Her orgasm is intense and prolonged, her body responding to every sensation. When it finally subsides, she's left panting and trembling, her mind still processing what just happened.">>
<<dialog "Serin" "facewet" "What was that? It was amazing...">>
<center><img src="images/serin/chapter5/masturbating/clit/aftermath.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<narrative "After a few moments of recovery, Serin sits up and looks around her room. The ointment vial sits on her bedside table, and she can't help but smile.">>
<<dialog "Serin" "facewet" "Well, now I can sleep for sure,">>
<<narrative "she thinks, her body finally relaxed and her mind clear of the day's worries.">>
<<narrative "She carefully cleans herself up and gets dressed again, the cool night air no longer making her shiver. As she settles back into bed, her mind is finally quiet, the battle with Gairos and her worries about Seryk pushed to the back of her thoughts.">>
<<dialog "Serin" "facewet" "Thank you, Nimeria,">>
<<narrative "she whispers to herself as she pulls the covers up.">>
<<dialog "Serin" "facewet" "Whatever that ointment was, it definitely did the trick.">>
<<narrative "With a contented sigh, Serin closes her eyes and drifts off to sleep.">>
<center>
<<continueBox "Chapter5NextMorning" "Continue..." "">>
</center>
</div>
<</nobr>>
<<pov "serin" "intimatech5.mp3">>
<<changeLust "Serin" -100>>
<<changeFetish "Serin" "MasturbationFetish" 0.3>>
<<trackAddSexualExperience "Serin" "masturbationCount" 1>>
<<changeFetish "Serin" "DominanceFetish" 0.2>>
<<changeFetish "Serin" "SubmissionFetish" 0.2>><<nobr>>
<<stopLoopingSounds>>
<<set $timeOfDay = "night">>
<<set $thalorLioraNtr = false>>
<div class="passage-container liora">
<div id="pov-transition" style="text-align: center; margin: 20px 0; padding: 40px; background: linear-gradient(145deg, rgba(25, 25, 35, 0.9), rgba(40, 40, 60, 0.95)); border: 2px solid rgba(100, 100, 150, 0.4); border-radius: 12px; position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(45deg, transparent 30%, rgba(255, 182, 193, 0.3) 50%, transparent 70%); animation: shimmer 2s infinite;"></div>
<h3 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0; position: relative; z-index: 2;">🌙 Liora's Perspective 🌙</h3>
<p style="color: #C0C0C0; font-style: italic; margin: 10px 0 0 0; position: relative; z-index: 2;">The perspective shifts to Liora as she stands in the dimly lit kitchen...</p></div>
<div id="overlay-transition" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(25, 25, 35, 0.95), rgba(40, 40, 60, 0.9), rgba(60, 60, 80, 0.95)); z-index: 9999; opacity: 1; transition: opacity 2s ease-in-out; pointer-events: none;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; color: #E6E6FA;">
<h2 style="margin: 0 0 20px 0; font-size: 2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🌙 Night Falls 🌙</h2>
<p style="font-size: 1.2em; margin: 0; opacity: 0.8;">The kitchen grows quiet as darkness settles...</p>
</div>
</div>
<script>
setTimeout(() => {
document.getElementById('overlay-transition').style.opacity = '0';
}, 1000);
setTimeout(() => {
document.getElementById('overlay-transition').style.display = 'none';
}, 3000);
</script>
<style>
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
</style>
<<thought "Liora" "faceshortpink" "Mmm, this coffee is so refreshing...">>
<<dialog "Liora" "faceshortpink" "I hope Seryk will be fine..." "Liora murmurs to herself, taking another slow sip">>
<center><img src="images/liora/chapter5/thalorkitchen/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<thought "Liora" "faceshortpink" "I wonder what $humanName is doing right now... she thinks, her mind drifting to her beloved boyfriend.">>
<<if $liora_RylanKissCount && $liora_RylanKissCount > 0>>
<<narrative "Her cheeks warm as she recalls">>
<<if $liora_RylanKissCount === 1>>
<<narrative "the first time their lips met">>
<<elseif $liora_RylanKissCount < 5>>
<<narrative "their few precious kisses">>
<<elseif $liora_RylanKissCount < 15>>
<<narrative "their many sweet kisses">>
<<else>>
<<narrative "their countless passionate kisses">>
<</if>>
<<else>>
<<narrative "Her cheeks warm at the thought of what their first kiss might be like.">>
<</if>>
<<dialog "Liora" "faceshortpink" "Footsteps?">>
<<narrative "Liora's heart skips a beat as she turns toward the kitchen entrance.">>
<<dialog "Liora" "faceshortpink" "Who could be up at this hour?">>
<<dialog "Thalor" "facedrunk" "Mmm... kitchen... need water...">>
<<narrative "Thalor slurs as he stumbles in, his movements uncoordinated. His glassy eyes scan the room before settling on Liora's figure.">>
<<dialog "Liora" "faceembarrassedshortpink" "Oh, hello Thalor," "Liora says politely, though she can't help but notice his disheveled appearance" "Are you feeling alright?">>
<<if $thalorRylanGayContent>>
<<dialog "Thalor" "facedrunk" "Oh Mariel... there you are again..." "Want to go for round two? That was... that was amazing earlier...">>
<</if>>
<<if not $thalorRylanGayContent>>
<<dialog "Thalor" "facedrunk" "Oh Mariel... there you are..." "My beautiful wife...">>
<</if>>
<<narrative "Liora's eyes widen in shock and confusion.">>
<<dialog "Liora" "faceembarrassedshortpink" "Thalor, I'm not Mariel! I'm Liora!" "she says firmly, taking a step back" "You're drunk, you need to go to bed!">>
<<continueBox "Chapter5nightThalorKitchen2" "Continue Scene" "">>
</div>
<</nobr>>
<<pov "liora" "defaultch5.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/deepkiss.mp3" 1>>
<<set $thalorLioraNtr = true>>
<div class="passage-container liora">
<<dialog "Thalor" "facedrunk" "Don't be silly, Mariel..." "Thalor chuckles drunkenly, stumbling toward her" "You're always playing these games with me...">>
<<dialog "Liora" "facewet" "Thalor, what are-" "Liora gasps as he suddenly lunges forward, his strong arms wrapping around her waist. Before she can react, his lips crash against hers again in a forceful, alcohol-tainted kiss" "Mmmph!" "she tries to cry out, but his mouth muffles her protests as he pulls her body flush against his, the heat of his alcohol-warmed skin seeping through her clothed breasts.">>
<<quickRoll "Kiss Resistance" "Liora" 80 5 "MuscleFetish" 2>>
<<set _grabResist = _tempRollSuccess>>
<<if _grabResist>>
<<thought "Liora" "facewet" "Hold it together... don't let him affect you.">>
<<changeFetish "Liora" "MuscleFetish" 0.1>>
<<else>>
<<thought "Liora" "facewet" "Why can't I resist?">>
<<changeFetish "Liora" "MuscleFetish" 0.3>>
<</if>>
<center><img src="images/liora/chapter5/thalorkitchen/1a.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Liora" "facewet" "Thalor! Stop! Let me go!" "Liora struggles against his grip, but his strength is overwhelming" "I can't break free!" "she panics, feeling his muscular chest pressed against her, smelling the alcohol on his breath mixed with his masculine scent.">>
<<dialog "Thalor" "facedrunk" "Come on, Mariel... let's have some fun..." "Thalor murmurs, his hands sliding down to grip her ass firmly" "Let's do some roleplay... you can be the naughty maid...">>
<<narrative "Liora's heart pounds in her chest as she feels his hands on her body.">>
<<thought "Liora" "faceembarrassedshortpink" "This is wrong, so wrong!">>
<<narrative "But there's something about his touch that makes her skin tingle. She thinks of $humanName, her sweet boyfriend, and feels a pang of guilt.">>
<<quickRoll "Touch Confusion" "Liora" 80 5 "ExhibitionismFetish" 3>>
<<set _touchConfusionSuccess = _tempRollSuccess>>
<<if _touchConfusionSuccess>>
<<thought "Liora" "faceembarrassedshortpink" "Stay calm. Don't let his touch affect you.">>
<<changeFetish "Liora" "ExhibitionismFetish" 0.1>>
<<else>>
<<thought "Liora" "faceembarrassedshortpink" "Why am I reacting like this...?">>
<<changeFetish "Liora" "ExhibitionismFetish" 0.3>>
<</if>>
<<dialog "Liora" "facewet" "No, don't-" "Liora gasps as Thalor's face moves closer, his breath hot and heavy" "I can't turn away!" "she panics as his lips crash against hers in a rough, demanding kiss.">>
<<quickRoll "Kiss Resistance" "Liora" 80 5 "SubmissionFetish" 3>>
<<set _kissResistSuccess = _tempRollSuccess>>
<<if _kissResistSuccess>>
<<thought "Liora" "facewet" "No-keep it closed.">>
<<changeFetish "Liora" "SubmissionFetish" 0.1>>
<<else>>
<<thought "Liora" "facewet" "$humanName... I'm sorry-">>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<</if>>
<<dialog "Liora" "facewet" "Mmmph!">>
<<narrative "Liora tries to speak, but Thalor's lips are pressed firmly against hers. The kiss is nothing like $humanName's gentle, loving kisses. This is raw, primal, and overwhelming. She tries to resist, but her body betrays her.">>
<center><img src="images/liora/chapter5/thalorkitchen/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Thalor" "facedrunk" "Open your mouth for me, Mariel..." "Thalor murmurs against her lips, his voice deep and commanding" "Let me taste you...">>
<<dialog "Liora" "facewet" "I... I can't..." "Liora whimpers, but something in his voice makes her feel strangely compliant">>
<<thought "Liora" "facewet" "This is wrong... she thinks, yet her lips part slightly.">>
<center><img src="images/liora/chapter5/thalorkitchen/3a.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Thalor" "facedrunk" "Good girl..." "Thalor purrs, his tongue slowly tracing her bottom lip" "Stick out your tongue for me...">>
<center><img src="images/liora/chapter5/thalorkitchen/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Liora" "facewet" "Why am I..." "Liora feels herself slipping into a strange trance-like state. Without thinking, her tongue slowly emerges from between her parted lips">>
<<thought "Liora" "facewet" "I shouldn't be doing this..." "she thinks, but she can't stop herself.">>
<center><img src="images/liora/chapter5/thalorkitchen/4a.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Thalor" "facedrunk" "Perfect..." "Thalor's eyes gleam with satisfaction as he sees her pink tongue exposed" "Now let's make this a proper French kiss...">>
<<dialog "Liora" "facewet" "French... kiss?" "Liora's mind is foggy, her thoughts scattered. She's only ever kissed $humanName with closed lips">>
<<thought "Liora" "facewet" "I don't know how... she thinks, but her tongue remains exposed.">>
<center><img src="images/liora/chapter5/thalorkitchen/4b.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Thalor" "facedrunk" "I'll show you..." "Thalor's voice is hypnotic as he leans in again" "Just keep your tongue out and let me take control...">>
<<dialog "Liora" "facewet" "I... I can't think clearly..." "Liora feels like she's floating, her mind disconnected from her body">>
<<thought "Liora" "facewet" "Why am I listening to him?" "she wonders, but she remains perfectly still.">>
<<dialog "Thalor" "facedrunk" "That's it... just like that..." "Thalor's lips meet hers again, but this time his tongue slowly slides out to meet hers" "Feel how good this is...">>
<center><img src="images/liora/chapter5/thalorkitchen/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Liora" "facewet" "Oh... oh my..." "Liora's eyes widen as she feels his tongue caressing hers. The sensation is completely foreign, overwhelming">>
<<thought "Liora" "facewet" "This is... this is incredible..." "she thinks, her resistance melting away.">>
<center><img src="images/liora/chapter5/thalorkitchen/5a.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Thalor" "facedrunk" "Mmm... your tongue is so soft..." "Thalor groans as he explores her mouth, his tongue dancing with hers" "You're a natural at this...">>
<center><img src="images/liora/chapter5/thalorkitchen/5b.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Liora" "facewet" "I can't... I can't stop..." "Liora's mind is completely blank now, lost in the overwhelming sensations. Her tongue moves instinctively against his, matching his rhythm">>
<<thought "Liora" "facewet" "This feels so wrong but so right...">>
<center><img src="images/liora/chapter5/thalorkitchen/6.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Thalor" "facedrunk" "Mariel..." "Thalor's voice is a deep growl as he deepens the kiss, his tongue plunging deeper into her mouth" "Let me show you what real passion feels like...">>
<<narrative "Liora's mind races as she compares this experience to her first kiss with $humanName. That had been sweet, tender, filled with love and respect. This... this is something else entirely. It's wrong, but her body is responding despite her will.">>
<<dialog "Thalor" "facedrunk" "Mmm... you taste so good, Mariel..." "Thalor groans against her lips, his hands roaming over her body" "Let's do some roleplay... you can be the naughty maid...">>
<center><img src="images/liora/chapter5/thalorkitchen/7.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<narrative "Liora's face burns with shame and confusion. She's never experienced anything like this before. Rylan has always been so respectful, so gentle. This rough, dominant treatment is completely foreign to her.">>
<<dialog "Liora" "facewet" "His hands are everywhere!" "Liora gasps as Thalor's hands continue their exploration, one cupping her breast through the thin fabric of her pink dress, the other sliding down to grip her thigh">>
<<thought "Liora" "facewet" "Why does this feel so... good?" "she panics, her body betraying her as she feels a strange warmth building inside her.">>
<<quickRoll "Breast Touch Resistance" "Liora" 80 5 "MasochismFetish" 3>>
<<set _breastResistSuccess = _tempRollSuccess>>
<<if _breastResistSuccess>>
<<thought "Liora" "facewet" "Don't touch me there.">>
<<changeFetish "Liora" "MasochismFetish" 0.1>>
<<else>>
<<thought "Liora" "facewet" "N-no... not there-why does that feel-">>
<<changeFetish "Liora" "MasochismFetish" 0.3>>
<</if>>
<center><img src="images/liora/chapter5/thalorkitchen/6a.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Thalor" "facewet" "Your breasts are so perfect..." "Thalor murmurs against her lips as he continues to kiss her deeply, his tongue still exploring her mouth while his hands roam over her body" "I can feel how sensitive they are...">>
<center><img src="images/liora/chapter5/thalorkitchen/6b.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Liora" "facewet" "Please... don't..." "Liora whimpers against his lips, but her voice is weak, her protests half-hearted">>
<<thought "Liora" "facewet" "I shouldn't... I shouldn't like this... she thinks, yet her nipples harden under his touch.">>
<center><img src="images/liora/chapter5/thalorkitchen/7.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Thalor" "facewet" "Your body is telling me the truth..." "Thalor murmurs as he deepens their kiss, his tongue plunging into her mouth while his thumb circles her nipple through the fabric, making her gasp" "You want this as much as I do...">>
<center><img src="images/liora/chapter5/thalorkitchen/7a.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Liora" "facewet" "I... I don't..." "Liora tries to deny it against his lips, but her body betrays her. Her breathing quickens, her heart pounding in her chest as the dual sensations of his kiss and his touch overwhelm her">>
<<thought "Liora" "facewet" "Why does this feel so good? she wonders in confusion.">>
<<narrative "Suddenly, Thalor releases her, and Liora's heart leaps with hope.">>
<<thought "Liora" "facewet" "I can finally get away! she thinks, taking a step toward the door. But before she can escape, he moves behind her with surprising speed for someone so drunk.">>
<<dialog "Thalor" "facewet" "Not so fast, Mariel..." "Thalor growls, his hands suddenly gripping both of her breasts from behind" "I'm not done with you yet...">>
<<dialog "Liora" "facewet" "Ah!" "Liora gasps as his rough hands knead her breasts through the fabric of her dress">>
<<thought "Liora" "facewet" "Why can't I move away? I should resist! she panics, but her body feels frozen, paralyzed by the conflicting sensations of fear and arousal.">>
<center><img src="images/liora/chapter5/thalorkitchen/8.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Thalor" "facewet" "Mmm... so soft..." "Thalor murmurs, his right hand continuing to knead her left breast while his left arm wraps around her waist, pulling her back against his muscular chest" "You feel so good in my hands...">>
<center><img src="images/liora/chapter5/thalorkitchen/8a.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Thalor" "facewet" "Look me in the eyes, Mariel..." "Thalor commands, his voice deep and hypnotic as he continues to knead her breast with his right hand while holding her close with his left arm">>
<<dialog "Liora" "facewet" "I... I can't..." "Liora whimpers, but something in his commanding tone makes her slowly turn her head to look over her shoulder. Their eyes meet, and she finds herself trapped in his intense, alcohol-glazed gaze">>
<center><img src="images/liora/chapter5/thalorkitchen/8b.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Thalor" "facewet" "Let me feel more of you..." "Thalor murmurs as he continues to kiss her passionately, his tongue dancing with hers while his other hand slides down her thigh, his fingers tracing the sensitive skin" "You're so soft, so perfect...">>
<center><img src="images/liora/chapter5/thalorkitchen/9a.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Liora" "facewet" "Thalor... please..." "Liora's voice is barely a whisper now, her resistance crumbling as she's overwhelmed by the combination of his passionate kiss and his roaming hands">>
<<thought "Liora" "facewet" "I can't... I can't think... she gasps as his touch sends waves of pleasure through her.">>
<center><img src="images/liora/chapter5/thalorkitchen/9.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Thalor" "facewet" "That's it... just let go..." "Thalor's voice is hypnotic as he continues to kiss her deeply while his hands explore her body" "Let your body feel what it wants to feel...">>
<center><img src="images/liora/chapter5/thalorkitchen/10a.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Liora" "facesadshortpink" "No... please stop..." "Liora whimpers, but her voice lacks conviction. She's confused by her own body's response. Why does this feel so... good? She thinks of $humanName again, trying to anchor herself to her love for him">>
<center><img src="images/liora/chapter5/thalorkitchen/10.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping $humanName"></center>
<<dialog "Thalor" "facewet" "You're so beautiful, Mariel..." "Thalor murmurs, his lips trailing down her neck" "I want you so bad right now...">>
<<narrative "Liora feels his hot breath on her neck, his teeth grazing her sensitive skin. She shivers, not entirely from fear. This is wrong, she knows it's wrong, but her body is responding in ways she doesn't understand.">>
<<narrative "She thinks about how $humanName would never treat her like this. He's always so careful, so loving. But there's something primal about Thalor's touch that's awakening desires she didn't know she had.">>
<<narrative "Thalor's hands become more insistent, his touch more intimate. Liora feels her resistance weakening, her body responding despite her mind's protests. She's never felt so conflicted, so confused about what she truly wants.">>
<<continueBox "Chapter5nightThalorKitchen3" "Continue Scene" "🔥 Scene Continues">>
</div>
<</nobr>>
<<pov "liora" "intimatech5a.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container liora">
<<narrative "Suddenly, something snaps inside Liora. This is wrong! She's Rylan's girlfriend, she loves him! She can't let this happen. With a surge of determination, she brings her elbow up sharply, striking Thalor in the stomach.">>
<<dialog "Thalor" "facedrunk" "Ouch! Mariel, that hurt!">>
<<narrative "Thalor gasps, clutching his stomach as he stumbles backward. His alcohol-clouded mind still hasn't registered what's happening.">>
<<dialog "Thalor" "facedrunk" "Why would you-" "He stops mid-sentence as his vision finally clears, and he sees Liora standing there, not Mariel. His face goes pale.">>
<<dialog "Thalor" "facedrunk" "Liora? Oh gods... Liora?">>
<<narrative "Liora's hands are shaking violently now, her breath coming in short, panicked gasps. The reality of what just happened crashes down on her like a tidal wave.">>
<<dialog "Liora" "facecrying" "I... I'm sorry, I didn't mean to hurt you, but you wouldn't stop..." "Her voice cracks, and suddenly the tears come flooding out.">>
<<dialog "Liora" "facecrying" "You thought I was Mariel... you were drunk and you wouldn't listen to me..." "She sinks to her knees, sobbing uncontrollably.">>
<<dialog "Liora" "facecrying" "I tried to tell you... I tried to make you stop...">>
<<narrative "But then a new wave of horror crashes over her, and her sobs become even more desperate.">>
<<dialog "Liora" "facesadshortpink" "Oh gods... oh gods, what have I done?" "she wails, her voice breaking with pure anguish" "I... I cheated on $humanName! I kissed someone else!" "She clutches at her chest, her heart feeling like it's being torn apart" "I'm a terrible girlfriend... I'm disgusting... I let him touch me and I... I liked it!" "Her words come out in gasping sobs as she rocks back and forth on her knees" "Rylan will never forgive me... I've ruined everything... I'm so sorry, Rylan, I'm so sorry...">>
<<narrative "Thalor's face contorts with horror and shame as the full weight of his actions hits him. He staggers forward, his hands trembling as he reaches out to her.">>
<<dialog "Thalor" "facedrunk" "Liora, I'm so sorry... I'm so, so sorry. I would never... I could never..." "His voice breaks with emotion" "I was drunk and stupid and I hurt you. Please, please forgive me. I don't know what I was thinking... I'm so ashamed.">>
<<narrative "Liora looks up at him through her tears, her heart still pounding with fear and confusion.">>
<<dialog "Liora" "facesadshortpink" "I forgive you, Thalor," "she whispers, her voice barely audible" "It wasn't really you. You were drunk and confused... you thought I was Mariel." "She wipes her eyes with the back of her hand" "Just... just promise me this will never happen again.">>
<<narrative "Thalor nods gratefully, still looking shaken. He apologizes again before stumbling out of the kitchen, leaving Liora alone with her thoughts.">>
<<narrative "Liora stands there for a long moment, her body still tingling from the encounter. She thinks about what just happened, about how it made her feel. Why did it feel so good? She shouldn't think that way. That should never happen again.">>
<<narrative "She thinks of $humanName, her sweet, loving boyfriend. He would never treat her like that. He respects her, cherishes her. She loves him with all her heart. This incident means nothing.">>
<<narrative "But as she makes her way back to her room, Liora can't shake the memory of Thalor's touch, of the way his strong hands felt on her body. She tries to push these thoughts away, but they linger, confusing and troubling her.">>
<<narrative "She knows this was wrong, that she should never think about it again. But deep down, in a part of herself she doesn't want to acknowledge, she wonders what it would be like to experience that kind of passion again.">>
<<continueBox "SerinNightThoughts" "Return to your room..." "">>
</div>
<</nobr>>
<<pov "liora" "defaultch5.mp3">>
<<changeLust "Liora" 15>>
<<changeLust "Thalor" 15>>
<<changeAffection "Liora" "Thalor" -3>>
<<changeAttraction "Liora" "Thalor" 3>>
<<changeFetish "Thalor" "DominanceFetish" 0.3>>
<<changeFetish "Thalor" "SadismFetish" 0.3>>
<<addSoulCorruption "liora" 1>>
<<quickSexTrack "kiss" "thalor" "Liora" 1>>
<<quickSexTrack "breasttouch" "thalor" "Liora" 1>>
<<if not $lioraFirstKiss>><<addSoulCorruption "liora" 1>><</if>><<nobr>>
<div class="passage-container thalor">
<<narrative "🌙 Some Time Later 🌙">>
<<narrative "The scene shifts to reveal Thalor emerging from the bathroom...">>
<<narrative "A man still under the influence, seeking clarity in the night...">>
<<narrative "The bathroom door creaks open, and Thalor stumbles out, still feeling the effects of the alcohol. His face is flushed, his movements slightly uncoordinated as he steadies himself against the wall.">>
<<if $thalorRylanGayContent>>
<<dialog "Thalor" "facedrunk" "Damn, that flask really did wonders..." "Thalor mutters to himself, a satisfied smile crossing his face." "Felt so good to finally be together with Mariel again. Like old times.">>
<<else>>
<<dialog "Thalor" "facedrunk" "Right, I should drink that flask..." "Thalor mumbles, rubbing his temples." "Mariel mentioned it was important. Need to remember where I put it.">>
<</if>>
<<narrative "He stands in the hallway for a moment, swaying slightly as he considers his next move. The alcohol has left him thirsty, and the thought of a glass of water before bed sounds appealing.">>
<<thought "Thalor" "facedrunk" "Should probably get some water before I pass out..." "He thinks, though the idea of going downstairs to the kitchen feels like quite the journey in his current state.">>
<<narrative "The hallway seems to stretch endlessly before him as he stands there, swaying, trying to make a decision. He needs to choose. Sleep or... something else...">>
<<choiceBox "What do you do?" "🍽️ Go to Kitchen (⚠️ NTR CONTENT)" "Chapter5nightThalorKitchen" "Chapter5nightThalorBathroom=kitchen" "💤 Go to Sleep (💤 Safe Option)" "SerinNightThoughts" "Chapter5nightThalorBathroom=sleep">>
</div>
<</nobr>>
<<pov "thalor" "defaultch5.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/malemoansoft.mp3" "sounds/hsounds/handjobclothed.mp3" 1>>
<div class="passage-container thalor">
<center><img src="images/thalor/chapter5/rylanhump/boxers/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<narrative "Carefully, he adjusts his position, sliding his body closer to the sleeping figure. The mattress creaks softly as he moves, and he can feel the warmth radiating from their body. His own arousal is now painfully obvious, and he knows he can't hold back much longer.">>
<<quickRoll "Resist Temptation" "thalor" 80 5 "GayValue" 3>>
<<if not _tempRollSuccess>>
<<narrative "The temptation is too strong. His resistance crumbles as he gives in to the overwhelming desire to be close to the sleeping figure.">>
<</if>>
<<dialog "Thalor" "facedrunk" "I'm going to... I'm going to move against you..." "he whispers, his voice thick with anticipation." "I hope you can feel how much I want you...">>
<<narrative "Slowly, almost reverently, Thalor begins to move his hips against the sleeping figure. The contact is electric, sending jolts of pleasure through his entire body. The flask has made every touch, every movement, incredibly intense.">>
<<quickRoll "Resist Movement" "thalor" 80 5 "GayValue" 3>>
<<if not _tempRollSuccess>>
<<narrative "His body betrays him, moving with increasing urgency as the pleasure overwhelms his remaining resistance.">>
<</if>>
<<narrative "The first gentle movements are tentative, testing the waters. The friction between his boxers and their body creates a sensation that's both familiar and completely new. The flask has heightened every nerve ending, making even the slightest contact incredibly pleasurable.">>
<center><img src="images/thalor/chapter5/rylanhump/boxers/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<dialog "Thalor" "facedrunk" "Oh... oh this feels... this feels amazing..." "he gasps, his voice barely above a whisper" "I can't believe how good this feels...">>
<<narrative "As he continues to move, his rhythm becomes more confident. The sleeping figure's body responds to his movements, their breathing still steady and deep. He can feel the warmth of their skin, and it drives him wild with desire.">>
<center><img src="images/thalor/chapter5/rylanhump/boxers/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<dialog "Thalor" "facedrunk" "Mariel... you feel so good... so perfect..." "he moans, his voice growing louder with each movement" "I want this to last forever...">>
<<narrative "The pleasure is building rapidly, and he can feel himself getting closer to the edge. The flask's effects have made him incredibly sensitive, and every thrust sends waves of ecstasy through his entire body.">>
<<quickRoll "Resist Climax" "thalor" 80 5 "GayValue" 3>>
<<if not _tempRollSuccess>>
<<narrative "The overwhelming pleasure makes it impossible to hold back. He's completely lost in the sensation, unable to resist the building climax.">>
<</if>>
<center><img src="images/thalor/chapter5/rylanhump/boxers/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<dialog "Thalor" "facedrunk" "Oh... oh Mariel... this feels... this feels incredible..." "he moans, his voice barely above a whisper" "You're so perfect... so beautiful...">>
<<narrative "The intensity builds with each movement. He can feel the heat radiating from their body, smell the sweet scent of their skin mixed with the faint aroma of sleep. The flask has made every sensation incredibly intense, and he's completely lost in the pleasure.">>
<center><img src="images/thalor/chapter5/rylanhump/boxers/6.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<narrative "His rhythm becomes frantic, desperate. The pleasure is overwhelming, and he can feel himself teetering on the brink of ecstasy. Every nerve in his body is alight with sensation, and he knows he's about to experience something incredible.">>
<center><img src="images/thalor/chapter5/rylanhump/boxers/7.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<dialog "Thalor" "facedrunk" "I'm getting so close... so close to the edge..." "he gasps, his voice thick with need" "I can't... I can't hold back much longer...">>
<center><img src="images/thalor/chapter5/rylanhump/boxers/8.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<narrative "His movements become more urgent, more desperate. The friction between his boxers and the sleeping figure's body creates a sensation that's almost too much to bear. He can feel himself building toward something incredible, something he's never experienced before.">>
<<continueBox "Chapter5nightThalorNoPantiesClimax" "Continue to Climax" "">>
</div>
<</nobr>>
<<pov "thalor" "intimatech5.mp3">>
<<changeLust "thalor" 50>>
<<changeFetish "thalor" "GayValue" 0.4>>
<<changeAttraction "thalor" "rylan" 0.5>>
<<set $thalor_rylanIntimateEncounter = true>>
<<set $thalor_rylanGayContent = true>><<nobr>>
<<playLoopingSounds "sounds/hsounds/malemoansoft.mp3" "sounds/hsounds/handjobclothed.mp3" 1>>
<div class="passage-container thalor">
<<narrative "Carefully, he adjusts his position, sliding his body closer to the sleeping figure. The mattress creaks softly as he moves, and he can feel the warmth radiating from their body. His own arousal is now painfully obvious, and he knows he can't hold back much longer.">>
<<quickRoll "Resist Temptation" "thalor" 80 5 "GayValue" 3>>
<<if not _tempRollSuccess>>
<<narrative "The temptation is too strong. His resistance crumbles as he gives in to the overwhelming desire to be close to the sleeping figure.">>
<</if>>
<center><img src="images/thalor/chapter5/rylanhump/panties/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<dialog "Thalor" "facedrunk" "I'm going to... I'm going to move against you..." "he whispers, his voice thick with anticipation." "I hope you can feel how much I want you...">>
<<narrative "Slowly, almost reverently, Thalor begins to move his hips against the sleeping figure. The contact is electric, sending jolts of pleasure through his entire body. The flask has made every touch, every movement, incredibly intense.">>
<<quickRoll "Resist Movement" "thalor" 80 5 "GayValue" 3>>
<<if not _tempRollSuccess>>
<<narrative "His body betrays him, moving with increasing urgency as the pleasure overwhelms his remaining resistance.">>
<</if>>
<<narrative "The first gentle movements are tentative, testing the waters. The friction between his boxers and their body creates a sensation that's both familiar and completely new. The flask has heightened every nerve ending, making even the slightest contact incredibly pleasurable.">>
<center><img src="images/thalor/chapter5/rylanhump/panties/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<dialog "Thalor" "facedrunk" "Oh... oh this feels... this feels amazing..." "he gasps, his voice barely above a whisper." "I can't believe how good this feels...">>
<<narrative "As he continues to move, his rhythm becomes more confident. The sleeping figure's body responds to his movements, their breathing still steady and deep. He can feel the warmth of their skin through the thin fabric, and it drives him wild with desire.">>
<center><img src="images/thalor/chapter5/rylanhump/panties/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<dialog "Thalor" "facedrunk" "Mariel... you feel so good... so perfect..." "he moans, his voice growing louder with each movement." "I want this to last forever...">>
<<narrative "The pleasure is building rapidly, and he can feel himself getting closer to the edge. The flask's effects have made him incredibly sensitive, and every thrust sends waves of ecstasy through his entire body.">>
<<quickRoll "Resist Climax" "thalor" 80 5 "GayValue" 3>>
<<if not _tempRollSuccess>>
<<narrative "The overwhelming pleasure makes it impossible to hold back. He's completely lost in the sensation, unable to resist the building climax.">>
<</if>>
<center><img src="images/thalor/chapter5/rylanhump/panties/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<dialog "Thalor" "facedrunk" "Oh... oh Mariel... this feels... this feels incredible..." "he moans, his voice barely above a whisper." "You're so perfect... so beautiful...">>
<<narrative "The intensity builds with each movement. He can feel the heat radiating from their body, smell the sweet scent of their skin mixed with the faint aroma of sleep. The flask has made every sensation incredibly intense, and he's completely lost in the pleasure.">>
<center><img src="images/thalor/chapter5/rylanhump/panties/6.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<narrative "His rhythm becomes frantic, desperate. The pleasure is overwhelming, and he can feel himself teetering on the brink of ecstasy. Every nerve in his body is alight with sensation, and he knows he's about to experience something incredible.">>
<center><img src="images/thalor/chapter5/rylanhump/panties/7.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<dialog "Thalor" "facedrunk" "I'm getting so close... so close to the edge..." "he gasps, his voice thick with need." "I can't... I can't hold back much longer...">>
<<narrative "His movements become more urgent, more desperate. The friction between his boxers and the sleeping figure's body creates a sensation that's almost too much to bear. He can feel himself building toward something incredible, something he's never experienced before.">>
<<continueBox "Chapter5nightThalorPantiesClimax" "Continue to Climax" "">>
</div>
<</nobr>>
<<pov "thalor" "intimatech5.mp3">>
<<changeFetish "thalor" "GayValue" 0.4>>
<<changeLust "thalor" 50>>
<<changeAttraction "thalor" "rylan" 0.5>>
<<set $thalor_rylanIntimateEncounter = true>>
<<set $thalor_rylanGayContent = true>><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container thalor">
<<set $thalorRylanGayContent = true>>
<<dialog "Thalor" "facedrunk" "Left room... left room it ish..." "Thalor mumbles to himself, his hand fumbling with the doorknob." "Mariel... my beautiful Mariel...">>
<<narrative "The door creaks open slowly, revealing a dark room bathed in moonlight. Thalor's vision swims as he steps inside, his boots heavy on the wooden floor. The air is thick with the scent of sleep and something else... something familiar and intoxicating.">>
<center><img src="images/thalor/chapter5/rylanhump/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<narrative "There, in the center of the bed, lies a figure wrapped in blankets. Blonde hair spills across the pillow like liquid gold, catching the moonlight in a way that makes Thalor's heart race. His breath catches in his throat.">>
<<dialog "Thalor" "facedrunk" "Mariel... my love..." "he whispers, his voice thick with emotion and alcohol." "You're so beautiful when you sleep...">>
<<narrative "Thalor begins to undress slowly, his fingers clumsy from drink. His shirt falls to the floor with a soft thud, followed by his pants. Soon he stands in just his boxers, the cool night air making his skin prickle with anticipation.">>
<center><img src="images/thalor/chapter5/rylanhump/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<dialog "Thalor" "facedrunk" "The flask... I need the flask..." "he mumbles, patting his pocket." "Nimeria said it would help... help me be the man you deserve...">>
<center><img src="images/items/thaloraphrodisiac.webp" style="width: 400px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<narrative "He pulls the small flask from his pocket, the liquid inside catching the moonlight with an almost magical glow. With trembling hands, he uncorks it and brings it to his lips. The taste is sweet and warm, spreading through his body like liquid fire.">>
<<dialog "Thalor" "facedrunk" "Oh... oh that feels... that feels amazing..." "he gasps, his voice barely above a whisper." "I can feel it... I can feel everything...">>
<<narrative "The effects of the flask are immediate and intense. Thalor's senses sharpen, his skin becomes hypersensitive, and a deep, primal hunger awakens within him. He can smell the sleeping figure on the bed - a scent that makes his head spin with desire.">>
<<quickRoll "Resist Flask Effects" "thalor" 80 5 "GayValue" 3>>
<<if not _tempRollSuccess>>
<<narrative "The flask's power overwhelms his resistance, making him completely vulnerable to the intoxicating sensations.">>
<</if>>
<<dialog "Thalor" "facedrunk" "Mariel... you smell... you smell so good..." "he breathes, his voice thick with lust." "I can't... I can't resist you anymore...">>
<<narrative "Slowly, carefully, Thalor climbs onto the bed. The mattress creaks softly under his weight as he settles beside the sleeping figure. He can feel the warmth radiating from their body, smell the sweet scent of their skin mixed with the faint aroma of sleep.">>
<<dialog "Thalor" "facedrunk" "Let me... let me hold you..." "he whispers, his arms sliding around the sleeping figure." "You're so warm... so perfect...">>
<<narrative "As he pulls the figure closer, his body responds to the contact. The flask's effects have made him incredibly sensitive, and the feel of warm skin against his own sends waves of pleasure through him. He can't help but press his body closer, seeking more contact.">>
<<quickRoll "Resist Contact" "thalor" 80 5 "GayValue" 3>>
<<if not _tempRollSuccess>>
<<narrative "The physical contact overwhelms his remaining resistance, making him crave more intimate touch.">>
<</if>>
<center><img src="images/thalor/chapter5/rylanhump/boxers/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<dialog "Thalor" "facedrunk" "I need you... I need you so much..." "he moans softly, his voice barely controlled." "You're all I think about... all I dream about...">>
<<narrative "His hands begin to explore, running over the sleeping figure's body with increasing urgency. The skin is smooth and warm, and he can feel the warmth of their bare skin beneath his touch. His breathing becomes heavier, more labored as he traces the curves of their body.">>
<<narrative "His fingers trace along their waist, feeling the smooth skin. But something feels different... his alcohol-clouded mind struggles to process what he's feeling. He runs his hands along their thighs, and every touch sends electric currents through his hypersensitive body.">>
<<dialog "Thalor" "facedrunk" "Hmm... since when do you wear boxers, Mariel?" "he mumbles, his voice slurred with confusion." "Did you accidentally wear my underwear? You are so clumsy...">>
<center><img src="images/thalor/chapter5/rylanhump/boxers/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<narrative "The alcohol and flask effects make him dismiss this oddity quickly. His hands continue their exploration, moving higher to trace the contours of their chest. The skin is smooth and warm, but something feels different... his alcohol-clouded mind struggles to process why the curves feel so unfamiliar.">>
<<dialog "Thalor" "facedrunk" "I can't... I can't stop myself..." "he gasps, his voice thick with need." "You're driving me crazy... I need to... I need to feel you...">>
<<dialog "Thalor" "facedrunk" "I need to be closer... I need to feel you against me..." "he moans, his voice barely controlled." "Let me... let me hold you properly...">>
<<continueBox "Chapter5nightThalorIntimateNoPanties" "Continue..." "">>
</div>
<</nobr>>
<<pov "thalor" "intimatech5.mp3">>
<<changeLust "thalor" 25>>
<<changeFetish "thalor" "GayValue" 0.2>>
<<changeAttraction "thalor" "rylan" 0.5>><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container thalor">
<<set $thalorRylanGayContent = true>>
<<dialog "Thalor" "facedrunk" "Left room... left room it ish..." "Thalor mumbles to himself, his hand fumbling with the doorknob." "Mariel... my beautiful Mariel...">>
<<narrative "The door creaks open slowly, revealing a dark room bathed in moonlight. Thalor's vision swims as he steps inside, his boots heavy on the wooden floor. The air is thick with the scent of sleep and something else... something familiar and intoxicating.">>
<center><img src="images/thalor/chapter5/rylanhump/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<narrative "There, in the center of the bed, lies a figure wrapped in blankets. Blonde hair spills across the pillow like liquid gold, catching the moonlight in a way that makes Thalor's heart race. His breath catches in his throat.">>
<<dialog "Thalor" "facedrunk" "Mariel... my love..." "he whispers, his voice thick with emotion and alcohol." "You're so beautiful when you sleep...">>
<center><img src="images/thalor/chapter5/rylanhump/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<narrative "Thalor begins to undress slowly, his fingers clumsy from drink. His shirt falls to the floor with a soft thud, followed by his pants. Soon he stands in just his boxers, the cool night air making his skin prickle with anticipation.">>
<<dialog "Thalor" "facedrunk" "The flask... I need the flask..." "he mumbles, patting his pocket." "Nimeria said it would help... help me be the man you deserve...">>
<<narrative "He pulls the small flask from his pocket, the liquid inside catching the moonlight with an almost magical glow. With trembling hands, he uncorks it and brings it to his lips. The taste is sweet and warm, spreading through his body like liquid fire.">>
<center><img src="images/items/thaloraphrodisiac.webp" style="width: 400px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<dialog "Thalor" "facedrunk" "Oh... oh that feels... that feels amazing..." "he gasps, his voice barely above a whisper." "I can feel it... I can feel everything...">>
<<narrative "The effects of the flask are immediate and intense. Thalor's senses sharpen, his skin becomes hypersensitive, and a deep, primal hunger awakens within him. He can smell the sleeping figure on the bed - a scent that makes his head spin with desire.">>
<<quickRoll "Resist Flask Effects" "thalor" 80 5 "GayValue" 3>>
<<if not _tempRollSuccess>>
<<narrative "The flask's power overwhelms his resistance, making him completely vulnerable to the intoxicating sensations.">>
<</if>>
<<dialog "Thalor" "facedrunk" "Mariel... you smell... you smell so good..." "he breathes, his voice thick with lust." "I can't... I can't resist you anymore...">>
<<narrative "Slowly, carefully, Thalor climbs onto the bed. The mattress creaks softly under his weight as he settles beside the sleeping figure. He can feel the warmth radiating from their body, smell the sweet scent of their skin mixed with the faint aroma of sleep.">>
<<dialog "Thalor" "facedrunk" "Let me... let me hold you..." "he whispers, his arms sliding around the sleeping figure." "You're so warm... so perfect...">>
<<narrative "As he pulls the figure closer, his body responds to the contact. The flask's effects have made him incredibly sensitive, and the feel of warm skin against his own sends waves of pleasure through him. He can't help but press his body closer, seeking more contact.">>
<<quickRoll "Resist Contact" "thalor" 80 5 "GayValue" 3>>
<<if not _tempRollSuccess>>
<<narrative "The physical contact overwhelms his remaining resistance, making him crave more intimate touch.">>
<</if>>
<<dialog "Thalor" "facedrunk" "I need you... I need you so much..." "he moans softly, his voice barely controlled." "You're all I think about... all I dream about...">>
<center><img src="images/thalor/chapter5/rylanhump/panties/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<narrative "His hands begin to explore, running over the sleeping figure's body with increasing urgency. The soft fabric of their panties feels silky against his hypersensitive skin, and he can feel the warmth of their bare skin beneath. His breathing becomes heavier, more labored as he traces the curves of their body.">>
<<narrative "His fingers trace along the waistband of their panties, feeling the delicate lace and elastic. The fabric is warm from their body heat, and he can't resist running his hands along the smooth skin of their thighs. Every touch sends electric currents through his hypersensitive body.">>
<<dialog "Thalor" "facedrunk" "Your skin... it's so soft... so perfect..." "he whispers, his voice trembling with desire." "I want to... I want to touch every inch of you...">>
<<narrative "Slowly, his hands move upward, exploring the curves of their hips and waist. The fabric of their panties is thin enough that he can feel the heat radiating from their most intimate areas. His own arousal becomes almost unbearable as he imagines what lies beneath that delicate fabric.">>
<<dialog "Thalor" "facedrunk" "I can't... I can't stop myself..." "he gasps, his voice thick with need." "You're driving me crazy... I need to... I need to feel you...">>
<<narrative "His hands continue their exploration, moving higher to trace the contours of their chest. The skin is smooth and warm, but something feels different... his alcohol-clouded mind struggles to process why the curves feel so unfamiliar. The flask's effects have made every sensation incredibly intense, and he can't help but press his body closer.">>
<<dialog "Thalor" "facedrunk" "I need to be closer... I need to feel you against me..." "he moans, his voice barely controlled." "Let me... let me hold you properly...">>
<<continueBox "Chapter5nightThalorIntimatePanties" "Continue..." "">>
</div>
<</nobr>>
<<pov "thalor" "intimatech5.mp3">>
<<changeLust "thalor" 25>>
<<changeFetish "thalor" "GayValue" 0.2>>
<<changeAttraction "thalor" "rylan" 0.5>>
<<set $thalor_rylanGayContent = true>><<nobr>>
<<stopLoopingAndPlay "sounds/hsounds/cum.mp3">>
<div class="passage-container thalor">
<center><img src="images/thalor/chapter5/rylanhump/boxers/9.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<dialog "Thalor" "facedrunk" "I'm... I'm coming... I'm coming for you, Mariel..." "he gasps, his voice breaking with the intensity of his pleasure." "Oh gods... I can't... I can't stop...">>
<center><img src="images/thalor/chapter5/rylanhump/boxers/end1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<narrative "The climax hits him like a tidal wave, overwhelming his senses completely. His body tenses, his muscles lock, and he has to bite his lip to keep from crying out. The pleasure is so intense it borders on pain, but it's the most incredible thing he's ever felt.">>
<center><img src="images/thalor/chapter5/rylanhump/boxers/end2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<dialog "Thalor" "facedrunk" "Oh... oh gods... that was... that was amazing..." "he pants, his voice hoarse with exertion." "Mariel... you're incredible...">>
<<narrative "As the waves of pleasure begin to subside, Thalor becomes aware of the mess he's made. His boxers are soaked, and he knows he needs to clean up. But first, he takes one last look at the sleeping figure beside him, his heart full of love and satisfaction.">>
<<dialog "Thalor" "facedrunk" "I need to... I need to clean up..." "he whispers, carefully sliding off the bed." "I'll be back... I'll be back soon, my love...">>
<<narrative "Thalor gathers his clothes from the floor, his movements still unsteady from the alcohol and the intense experience he just had. He takes one last look at the sleeping figure, his heart full of love and desire, before quietly slipping out of the room.">>
<<narrative "The hallway is dark and quiet as he makes his way toward the bathroom. His mind is still clouded with alcohol and the afterglow of his climax, but he knows he needs to clean up before returning to his own room. The night has taken an unexpected turn, but he can't bring himself to regret it.">>
<<continueBox "Chapter5nightThalorRylanReaction" "Continue to Bathroom" "">>
</div>
<</nobr>>
<<pov "thalor" "intimatech5.mp3">>
<<changeFetish "thalor" "GayValue" 0.4>>
<<changeAttraction "thalor" "rylan" 0.5>>
<<set $thalor_rylanIntimateEncounter = true>>
<<set $thalor_rylanGayContent = true>>
<<quickSexTrack "orgasm" "rylan" "Thalor" 1>>
<<quickSexTrack "orgasm" "thaor" "Rylan" 1>><<nobr>>
<<stopLoopingAndPlay "sounds/hsounds/cum.mp3">>
<div class="passage-container thalor">
<center><img src="images/thalor/chapter5/rylanhump/panties/8.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<dialog "Thalor" "facedrunk" "I'm... I'm coming... I'm coming for you, Mariel..." "he gasps, his voice breaking with the intensity of his pleasure." "Oh gods... I can't... I can't stop...">>
<center><img src="images/thalor/chapter5/rylanhump/panties/9.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<narrative "The climax hits him like a tidal wave, overwhelming his senses completely. His body tenses, his muscles lock, and he has to bite his lip to keep from crying out. The pleasure is so intense it borders on pain, but it's the most incredible thing he's ever felt.">>
<center><img src="images/thalor/chapter5/rylanhump/panties/10.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<dialog "Thalor" "facedrunk" "Oh... oh gods... that was... that was amazing..." "he pants, his voice hoarse with exertion." "Mariel... you're incredible...">>
<<narrative "As the waves of pleasure begin to subside, Thalor becomes aware of the mess he's made. His boxers are soaked, and he knows he needs to clean up. But first, he takes one last look at the sleeping figure beside him, his heart full of love and satisfaction.">>
<<dialog "Thalor" "facedrunk" "I need to... I need to clean up..." "he whispers, carefully sliding off the bed." "I'll be back... I'll be back soon, my love...">>
<center><img src="images/thalor/chapter5/rylanhump/panties/cumendpanties.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<narrative "Thalor gathers his clothes from the floor, his movements still unsteady from the alcohol and the intense experience he just had. He takes one last look at the sleeping figure, his heart full of love and desire, before quietly slipping out of the room.">>
<<narrative "The hallway is dark and quiet as he makes his way toward the bathroom. His mind is still clouded with alcohol and the afterglow of his climax, but he knows he needs to clean up before returning to his own room. The night has taken an unexpected turn, but he can't bring himself to regret it.">>
<<continueBox "Chapter5nightThalorRylanReaction" "Continue to Bathroom" "">>
</div>
<</nobr>>
<<pov "thalor" "intimatech5.mp3">>
<<stopLoopingAndPlay "sounds/hsounds/cum.mp3">>
<<changeFetish "thalor" "GayValue" 0.4>>
<<changeAttraction "thalor" "rylan" 0.5>>
<<set $thalor_rylanIntimateEncounter = true>>
<<set $thalor_rylanGayContent = true>>
<<quickSexTrack "orgasm" "rylan" "Thalor" 1>>
<<quickSexTrack "orgasm" "thaor" "Rylan" 1>><<nobr>>
<div class="passage-container rylan">
<<narrative "The moment the door clicks shut behind Thalor, $humanName's eyes snap open wide. His heart is pounding so hard he's certain it must be audible throughout the entire house. His body is still tingling from the intense sensations that just coursed through him, and he can feel the warmth of Thalor's body still lingering on his skin.">>
<<quickRoll "Resist Memory" "rylan" 80 5 "GayValue" 3>>
<<if not _tempRollSuccess>>
<<narrative "The memories flood back with overwhelming intensity, making it impossible to deny how much he enjoyed the experience.">>
<</if>>
<<dialog "Rylan" "faceembarrassed" "What... what just happened?" "$humanName whispers to himself, his voice trembling with shock and confusion." "Oh gods... that was Thalor... that was my $thalorToHuman...">>
<<narrative "He sits up slowly, his entire body shaking. The room feels different now - charged with something he can't quite name. His skin is hypersensitive, every nerve ending still buzzing from the contact. The memory of Thalor's warm body pressed against his, the rhythmic movements, the whispered words of love and desire...">>
<<dialog "Rylan" "faceembarrassed" "This is wrong... this is so wrong..." "he mutters, running his hands through his hair." "He thought I was Mariel... he was drunk and confused... but why... why did it feel so...">>
<<narrative "The word hangs unspoken in the air, but $humanName knows exactly what he was about to say. Good. It felt good. Incredibly, impossibly good. The warmth of Thalor's body, the way his strong arms held him, the gentle but insistent movements that sent waves of pleasure through his entire being.">>
<<dialog "Rylan" "faceembarrassed" "I should be disgusted... I should be furious..." "he whispers, his voice barely audible." "But I'm not... I'm not disgusted at all...">>
<<narrative "He looks down at his body, still trembling from the experience. His skin is flushed, his breathing still uneven. The memory of Thalor's touch lingers like a phantom sensation, making his skin tingle with remembered pleasure. He can still smell Thalor's scent - that masculine, protective aroma that had surrounded him during those intense moments.">>
<<dialog "Rylan" "faceembarrassed" "Why did it feel so right?" "he asks himself, his voice filled with confusion." "Why did being held by him... being touched by him... feel so natural?">>
<<narrative "The realization hits him like a physical blow. He had been completely still, pretending to sleep, but his body had responded to Thalor's touch. Every caress, every gentle movement had sent electric currents through him. He had felt safe, protected, desired in a way he had never experienced before.">>
<<dialog "Rylan" "faceembarrassed" "I wanted it..." "he admits in a horrified whisper." "I wanted him to keep touching me... I wanted him to...">>
<<narrative "He can't finish the thought, but his body knows the truth. The way his heart had raced, the way his skin had tingled, the way he had unconsciously pressed back against Thalor's movements. He had been an active participant, not just a passive recipient. The shame of that realization makes his stomach churn.">>
<<dialog "Rylan" "faceembarrassed" "What's wrong with me?" "he asks, his voice breaking with emotion." "How could I enjoy that? How could I want that?">>
<<narrative "He looks around the room, his eyes falling on the rumpled sheets where Thalor had been moments before. The scent of their encounter still lingers in the air - a mix of sweat, desire, and something else he can't identify. His body responds to the memory, making him feel things he knows he shouldn't.">>
<<dialog "Rylan" "faceembarrassed" "I need to get out of here..." "he whispers, his voice trembling." "I need to... I need to think about this...">>
<<narrative "But even as he says the words, he knows he's lying to himself. He doesn't want to think about it because thinking about it means acknowledging the truth. The truth that somewhere deep inside, in a place he's never dared to explore, he had wanted exactly what happened.">>
<<dialog "Rylan" "faceembarrassed" "What am I going to do?" "he asks the empty room, his voice filled with desperation." "How do I face him tomorrow? How do I face myself?">>
<<narrative "The questions hang in the air like a dark cloud, but $humanName knows there are no easy answers. He's caught between what he knows is right and what his body is telling him felt right. The conflict tears at his soul, leaving him feeling more lost and confused than he's ever been in his life.">>
<<continueBox "Chapter5nightThalorBathroom" "Continue..." "">>
</div>
<</nobr>>
<<pov "rylan" "intimatech5.mp3">>
<<changeFetish "rylan" "GayValue" 0.5>>
<<changeAttraction "rylan" "thalor" 0.8>>
<<changeAttraction "thalor" "rylan" 1.2>>
<<set $rylan_thalorIntimateEncounter = true>>
<<set $rylan_thalorGayContent = true>><<nobr>>
<div class="passage-container seryk">
<div id="transition-overlay" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(25, 25, 112, 0.95), rgba(72, 61, 139, 0.9), rgba(123, 104, 238, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; opacity: 1; transition: opacity 2s ease-in-out;">
<div style="text-align: center; color: #E6E6FA;">
<h1 style="font-size: 3em; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); margin-bottom: 20px;">🌙 Dreams of the Past 🌙</h1>
<p style="font-size: 1.5em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); font-style: italic;">Meanwhile, Seryk dreams of memories long buried...</p>
</div>
</div>
<script>
setTimeout(function() {
document.getElementById('transition-overlay').style.opacity = '0';
setTimeout(function() {
document.getElementById('transition-overlay').style.display = 'none';
}, 2000);
}, 3000);
</script>
<div class="dream-header" style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); font-size: 2em; margin-bottom: 10px;">🌙 Dreams of the Past 🌙</h2>
<p style="color: #DDA0DD; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-style: italic; font-size: 1.1em;">Meanwhile, Seryk dreams of the past...</p>
</div>
<<narrative "The pain in my nose throbs like a heartbeat, each pulse sending fresh waves of agony through my face. I'm lying in my bed, trying to find a position that doesn't make the pain worse, when the door creaks open and familiar footsteps echo across the stone floor.">>
<center><img src="images/malrik/portrait.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Malrik" "face" "Well well, look what we have here. My little bro got his face rearranged by a maid, huh?">>
<<narrative "Malrik's voice carries that same teasing tone he always uses, but there's something else underneath-something I can't quite place. He's always been like this, giving everyone nicknames and treating life like one big adventure. Even at his age, he's already hunting monsters and building a reputation that makes the castle guards nervous. His muscular build makes him look so much older than me-sometimes I forget he's only two years my senior.">>
<<dialog "seryk" "past/facebandaged" "It's not funny, Malrik. My nose is broken.">>
<<dialog "Malrik" "face" "Oh come on, bro. A broken nose builds character! Besides, I heard the whole story. You and your little friends were picking on Nim again, weren't you?">>
<<narrative "My heart stops for a moment. How does he always know everything? Malrik has this uncanny ability to read situations like he's reading a book, and right now he's staring at me with those piercing eyes that seem to see straight through my lies.">>
<<dialog "Malrik" "face" "Let me guess-Torin and Drevon were being their usual charming selves, and you just stood there like a statue. Am I close?">>
<<dialog "seryk" "past/facebandaged" "I... I didn't do anything wrong. I just didn't want to get bullied too.">>
<<dialog "Malrik" "face" "Listen, bro. I know you think you're weak, but that's exactly why you stay weak. You keep telling yourself you can't do anything, so you never try. But here's the thing-you're the demon king's son. You have power in your blood that you haven't even begun to tap into.">>
<<narrative "Malrik sits down on the edge of my bed, his expression serious for the first time since he walked in. This is the side of him that rarely shows-the older brother who actually cares about teaching me something important.">>
<<dialog "Malrik" "face" "Dad taught me something that I think you need to hear. Family is everything, bro. Everything else-your home, your money, your reputation, even your friends-can all disappear in an instant. But family? That's forever. And Nim is family, whether you like it or not.">>
<<dialog "seryk" "past/facebandaged" "But she's... she's different. Everyone says she's cursed.">>
<<dialog "Malrik" "face" "Different doesn't mean less, bro. And cursed? That's just what people call things they don't understand. Nim is your sister, and she needs someone to stand up for her. Right now, that someone needs to be you.">>
<center><img src="images/malrik/side.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Malrik stands up and walks to the window, looking out at the castle grounds below. His purple skin catches the moonlight in a way that makes him look almost regal, and for a moment I can see why the guards respect him so much.">>
<<dialog "Malrik" "face" "Strength isn't just about muscles or magic, bro. It's about having the courage to do what's right, even when it's hard. Even when it means standing alone. That maid-what's her name, Mira?-she showed more strength today than you've shown in months.">>
<<dialog "Malrik" "face" "So here's what you're going to do. You're going to get your ass out of this bed, and you're going to start acting like the prince you are. You're going to protect Nim, not because it's easy, but because it's right. Because she's family.">>
<<narrative "Malrik turns back to me, and for the first time I see something in his eyes that I've never seen before-pride. Not the kind of pride that comes from being better than others, but the kind that comes from seeing potential in someone you care about.">>
<<dialog "Malrik" "face" "You can do this, bro. I know you can. Start believing in yourself, and others will start believing in you too. Now get some rest-tomorrow you have a sister to protect.">>
<<narrative "As Malrik leaves the room, his words echo in my mind like a mantra. Family is everything. Start believing in yourself. Protect Nim. For the first time in a long time, I feel something I thought I'd lost-hope.">>
<<narrative "The pain in my nose doesn't seem so bad anymore. Tomorrow, everything changes. Tomorrow, I start being the brother Nim deserves.">>
<<continueBox "SerykDreamsOfThePast2" "Continue..." "">>
</div>
<</nobr>>
<<pov "seryk" "serykmalrikdream.mp3">><<nobr>>
<div class="passage-container seryk">
<div class="dream-header" style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); font-size: 2em; margin-bottom: 10px;">🌙 The Day Everything Changed 🌙</h2>
<p style="color: #DDA0DD; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-style: italic; font-size: 1.1em;">Memories of a family destroyed...</p>
</div>
<center><img src="images/landscapes/demonkingthrone.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "The dream shifts, and suddenly I'm back in that moment-the moment everything shattered. Heat from raging fires burns my lungs, smoke thick with blood and burning flesh. Shouts echo off stone walls, battle cries and dying screams ringing in my ears. I hear Zarn's distant howl as Thalor's blade cuts him down outside.">>
<<narrative "I see our three mothers. Nirith, Oriss, and Nyssin. Their magic clashing against the heroes. Mariel's holy light pierces Nirith's illusions, Thalor's sword cuts deep into Oriss's side, Gairos's lightning shatters the remaining illusions, and Verdalis's thorny vines wrap around Nyssin, crushing her magic. One by one, they fall.">>
<<narrative "We huddle behind the throne, trembling with terror, as we watch helplessly as our world crumbles. Thalor's sword descends toward us, and I know everything we were is dying with us in this burning castle.">>
<<narrative "How did we survive? That's the question that haunts me even now.">>
<<continueBox "SerykDreamsOfThePast3" "Continue..." "">>
</div>
<</nobr>>
<<pov "seryk" "serykch5dream2.mp3">><<nobr>>
<div class="passage-container seryk">
<div class="dream-header" style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); font-size: 2em; margin-bottom: 10px;">🌙 The Aftermath 🌙</h2>
<p style="color: #DDA0DD; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-style: italic; font-size: 1.1em;">Memories of survival and slavery...</p>
</div>
<center><img src="images/landscapes/ruinedthroneroom.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Time passes in a blur. The heroes have left, taking their victory with them. We remain in the ruins, surrounded by the bodies of our family. Malrik is dead too - his body lies broken beside our father's throne. Only Nimeria and I remain, two frightened children in a world that wants us dead.">>
<<narrative "Then I hear them - heavy boots crunching through debris, weapons clanking against armor, rough voices in a language I don't recognize. Raiders emerge from the smoke like shadows, faces hidden behind scarves and helmets.">>
<<narrative "One crouches beside me, breath hot and sour as he examines my wounds. I try to speak, to ask for help, but he just grunts and moves on to Nimeria. That's when I realize they aren't here to save us. Cold metal bites into my wrists as they chain us together.">>
<<narrative "The slave market is a nightmare of noise and stench. Air reeks of unwashed bodies and iron - chains, collars, manacles gleaming dully in torchlight. I keep my eyes locked on Nimeria as we're paraded through the crowd, her small form trembling as rough hands examine her like livestock.">>
<<dialog "Seryk" "face" "Don't let them separate us," "I whisper to her, gripping her small hand tightly." "She nods, her eyes wide with fear but determination burning in them. The chains rattle as we're examined together, and I can see her forcing a smile at the buyers - a skill she's already learning to survive.">>
<<narrative "We were sold from one cruel master to another, never separated but always together in our suffering. Each new owner brought fresh horrors - some wanted us to work until we dropped, others found pleasure in our pain. But through it all, Nimeria learned to smile constantly, buttering up every master with false sweetness.">>
<<narrative "My wounds began healing strangely since I woke up in the throne room. Small cuts would close in minutes, larger injuries in hours. This made my new masters punish me even more, as if they were trying to break something that refused to break. I still don't understand why this happens. The pain remained real, though - I felt every cut, every bruise, every lash, even as my body erased the evidence. Nimeria, meanwhile, kept her weak body, but they eventually discovered that her bodily fluids now had some kind of aphrodisiac effect.">>
<<dialog "Nimeria" "face" "Master, you look so handsome today," "she'd say, her voice dripping with honey." "Would you like me to clean your boots? I'm very good at it.">>
<<narrative "I watched her transform from a frightened child into a master manipulator, using her charm to protect us both.">>
<<narrative "Eventually, we were bought by Thalindra and Klaus. Thalindra seemed different from our previous masters - she treated Nimeria with a kind of distant kindness. For a demon slave, Nimeria was treated well. She worked hard in the kitchen, cleaning and feeding the animals, but Thalindra even let her use the bath. It was a small mercy in our harsh world. The irony wasn't lost on me when we discovered Thalindra was Gairos's niece - the same Gairos who led the attack that destroyed our family.">>
<<continueBox "SerykDreamsOfThePast4" "Continue..." "">>
</div>
<</nobr>>
<<pov "seryk" "serykch5dream2.mp3">><<nobr>>
<div class="passage-container seryk">
<div class="dream-header" style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); font-size: 2em; margin-bottom: 10px;">🌙 The Work Begins 🌙</h2>
<p style="color: #DDA0DD; text-shadow: 1px 1px 2px rgba(255,255,255,0.8); font-style: italic; font-size: 1.1em;">Memories of labor and survival...</p>
</div>
<<narrative "The work was brutal. Fields during the day, mines at night. My hands always bleeding, my back always aching. But I learned I was stronger than I thought.">>
<<narrative "The fields stretch endlessly under scorching sun, the hoe making my shoulders burn with every swing. Soil hard and unyielding, my palms raw and bleeding by midday, healed in the evening. When the sun sets, my body exhausted, but no rest - the mines await.">>
<<narrative "The tunnels are a different hell. Cold, damp air making my lungs ache, constant drip of water echoing off stone walls. The pickaxe feels like it weighs a hundred pounds, each impact sending shockwaves through my battered body.">>
<<narrative "The whip became a familiar companion. Klaus found any excuse to see me bleed. But my wounds healed unnaturally fast - within hours, they closed completely. No scars, no marks. My body rejecting damage, healing itself with magical resilience I didn't understand.">>
<<narrative "Nimeria learned to adapt quickly. Despite her naturally weak body, she found ways to survive through charm and manipulation. She became a master of reading people, knowing exactly what each person wanted to hear.">>
<<dialog "Nimeria" "face" "Good morning, Master Klaus!" "she chirps, her voice bright and cheerful." "Would you like me to prepare your favorite tea? I'm very good at it.">>
<<narrative "I promised Malrik I would protect her, and thankfully, under Thalindra's care, she was actually doing better than before. The kitchen work was lighter than the fields, and Thalindra's kindness meant better food and rest. Still, I pushed myself harder, hoping to prove my worth so they'd keep treating her well.">>
<<narrative "Then came the incident that changed everything. Late evening, I was cleaning the kitchen after a long day in the fields. Air thick with cooked meat and sweat, I was exhausted beyond words.">>
<<dialog "Thalindra" "face" "Seryk," "Thalindra's voice purred from behind me, making my skin crawl." "You work so hard. Don't you ever think about... other things?">>
<<narrative "I turned to see her standing there, dress already loosened, revealing far more than appropriate. Thalindra was young and beautiful, but the hunger in her eyes was predatory, not passionate.">>
<<dialog "Thalindra" "face" "Come here, boy," "she commanded, voice dropping to a whisper." "I know you want this. I can see it in your eyes every time you look at me.">>
<<narrative "Before I could respond, she walked to the kitchen table and pulled down her undergarments with deliberate slowness. The fabric pooled around her ankles as she sat on the edge, spreading her legs wide.">>
<center><img src="images/thalindra/seduce.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<dialog "Thalindra" "face" "Take me, Seryk," "she demanded, voice husky with desire." "Right here, right now. I want to feel your strength inside me. I want you to make me scream.">>
<<narrative "My heart was pounding, but not with desire. This was a trap. The memory of Klaus's last victim's screams haunted my dreams - a slave who'd dared to touch what belonged to him. If I said yes, he would kill me.">>
<<dialog "Seryk" "faceembarrassed" "I... I can't, Mistress Thalindra," "I stammered, voice barely above a whisper." "It wouldn't be right. Master Klaus...">>
<<dialog "Thalindra" "face" "Klaus is away for the night," "she purred, running hands along her exposed thighs." "He won't be back until morning. We have all night to... explore. Don't tell me you've never thought about this.">>
<<narrative "I had thought about it, of course. I was a man with needs, and she was beautiful. But the consequences... I couldn't risk it.">>
<<dialog "Seryk" "faceembarrassed" "I'm sorry, Mistress," "I said firmly, though my voice shook." "I cannot do this. It would dishonor you and your husband. Please, put your clothes back on.">>
<<dialog "Thalindra" "faceangry" "You dare refuse me?" "Her voice turned cold, dangerous." "A slave refusing his mistress? Do you know what happens to slaves who disobey?">>
<<narrative "She stood up, pulling her undergarments back into place with angry, jerky movements. The hunger in her eyes replaced by cold calculation - a predator denied her prey.">>
<<dialog "Thalindra" "faceangry" "You'll regret this, boy," "she hissed, voice barely above a whisper." "You'll regret turning me down. I'll make sure of it.">>
<<narrative "She stormed out of the kitchen, leaving me alone with my racing heart and the knowledge that I had just made a very dangerous enemy.">>
<<narrative "The next day, she told everyone I tried to rape her. The accusation hung like a death sentence. Usually, a slave accused of such a thing would be tortured to death, but I was their best worker, and they couldn't afford to lose me completely.">>
<<narrative "So they compromised. One hundred lashes every day for a week. Seven hundred lashes total. They wanted to castrate me too, but Thalindra convinced them the whipping should be enough. After all, nothing had actually happened, she said. What a nice girl... The irony still makes me sick.">>
<<narrative "Those seven days were the longest of my life. The whip cut deep, but my body healed faster than they could damage it. By morning, my back would be smooth and unmarked, ready for the next round. It infuriated them, but they couldn't understand what was happening.">>
<<narrative "Despite all they had done, they didn't deserve to die. Not like that. Thalindra had shown us kindness when others showed only cruelty. She had protected Nimeria, given her small comforts, treated her with dignity. But they died anyway, and I can't help but wonder what kind of monster my sister has become that she would kill people who treated her well. The thought chills me to my core.">>
<center><img src="images/landscapes/burningvillage2.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "But the dream doesn't fade to peaceful memories. Instead, I'm back in that burning village, the night air thick with smoke and the acrid stench of charred flesh. I can still hear the screams - not just of pain, but of betrayal. The sound of metal hitting flesh echoes in my ears, the wet thuds of blades finding their marks. Horses' hooves thunder through the streets as people flee, their panicked cries mixing with the crackle of flames consuming wooden homes.">>
<<narrative "The smell... gods, the smell. Burning wood and thatch, yes, but underneath it all, the sweet, sickly odor of cooking meat that makes my stomach turn. I know what that smell means. I've smelled it before, in the throne room when our family burned.">>
<<narrative "Nimeria... why? What became of you? The lonely child who was always ignored, who sat alone under the oak tree watching others play, who was abandoned in the dark forest by her own brother - how did she become this? How did the sister I failed to protect become the monster who burns villages and slaughters families?">>
<<narrative "Is it still true, Malrik? 'Family is everything'? Even when family becomes everything you fear?">>
<<narrative "The dream dissolves into darkness, but the screams follow me. They always follow me.">>
<<continueBox "Chapter5nightThalorDrunk" "Continue..." "">>
</div>
<</nobr>>
<<pov "seryk" "serykch5dream2.mp3">><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div id="chapter-end" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(251, 19, 197, 0.98), rgba(255, 138, 239, 0.95), rgba(255, 255, 255, 0.98)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<div id="chapter-title" style="color: #E6E6FA; font-size: 4em; font-weight: bold; text-shadow: 4px 4px 15px rgba(0,0,0,0.9); margin-bottom: 60px; opacity: 0; animation: titleFadeIn 2s ease-out 1s forwards;">
End of Chapter 5
</div>
<div id="chapter-quote" style="color: #DDA0DD; font-size: 2.5em; font-style: italic; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; animation: quoteFadeIn 3s ease-out 3s forwards; line-height: 1.4;">
"If this is healing, let it hurt..."
</div>
</div>
</div>
<style>
@keyframes titleFadeIn {
0% { opacity: 0; transform: translateY(-50px) scale(0.8); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes quoteFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
</style>
<<timed 10s>>
<<goto "Sandbox">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<nobr>>
<div id="time-transition" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 248, 220, 0.95), rgba(255, 235, 205, 0.9), rgba(255, 228, 196, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; opacity: 1; transition: opacity 2s ease-in-out;">
<div style="text-align: center; color: #8B4513; font-size: 2em; text-shadow: 2px 2px 8px rgba(0,0,0,0.3);">
<div style="margin-bottom: 40px; opacity: 0; animation: timeFadeInOut 4s ease-in-out 0s infinite;">Morning fades into memory...</div>
<div style="margin-bottom: 40px; opacity: 0; animation: timeFadeInOut 4s ease-in-out 1s infinite;">The sun climbs higher in the sky...</div>
<div style="margin-bottom: 40px; opacity: 0; animation: timeFadeInOut 4s ease-in-out 2s infinite;">Shadows shorten as noon approaches...</div>
<div style="margin-bottom: 40px; opacity: 0; animation: timeFadeInOut 4s ease-in-out 3s infinite;">The air grows thick with afternoon heat...</div>
<div style="margin-bottom: 40px; opacity: 0; animation: timeFadeInOut 4s ease-in-out 4s infinite;">And training becomes survival...</div>
</div>
</div>
<div class="passage-container rylan">
<style>
@keyframes timeFadeInOut {
0%, 100% { opacity: 0; transform: translateY(30px); }
50% { opacity: 1; transform: translateY(0); }
}
</style>
<script>
setTimeout(() => {
document.getElementById('time-transition').style.opacity = '0';
}, 8000);
setTimeout(() => {
document.getElementById('time-transition').style.display = 'none';
}, 10000);
</script>
<center><img src="images/landscapes/backyard.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Backyard training area"></center>
<<narrative "The afternoon sun beats down on the backyard as we gather outside, just as Gairos demanded. The air crackles with tension, and I can feel my heart pounding in my chest. This isn't going to be a friendly sparring session - I can tell from the way Gairos is looking at us.">>
<<narrative "I grip my sword tightly, trying to steady my trembling hands. Beside me, Serin is checking her daggers with practiced precision, while Seryk stands bare-chested, his massive fists clenched. We're all getting ready to fight, but I can't shake the feeling that we're completely outmatched.">>
<<narrative "Near the house entrance, Thalor and Mariel stand with anxious expressions, but I notice they're positioned strangely far apart from each other. There's tension between them that wasn't there before, and I wonder what happened.">>
<<if $marielChapter5Massage === true>>
<<narrative "Could it be because of the fight they had? I remember seeing $humanToMariel crying afterward, and the way they're avoiding each other now suggests whatever happened between them was serious. The distance between them feels more than just physical - there's an emotional wall that wasn't there before.">>
<</if>>
<<narrative "Liora stands far behind us, her hands clasped together nervously. She looks anxious but determined, ready to provide support if needed.">>
<center><img src="images/liora/poses/pray.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Backyard training area"></center>
<<dialog "Gairos" "face" "What is this?!" "Gairos's voice booms across the yard, making me jump" "I told you we fight, not dance! You're all standing around like you're waiting for tea to be served!">>
<<dialog "Serin" "faceconfused" "What do you mean? We're all armed and ready to fight.">>
<<dialog "Gairos" "face" "Get yourselves properly positioned!" "He barks, his eyes scanning our formation with obvious disdain" "You will fight me with the intent to kill if you don't want to die. And what about you both, Thalor and Mariel?">>
<<dialog "Gairos" "face" "You will join too. This is a team exercise, not a solo performance.">>
<<narrative "Thalor reacts with visible fear, his face paling as he looks at Gairos. But I can see in his eyes that he knows there's no arguing with the man. With trembling hands, he draws his sword and takes a defensive stance.">>
<<dialog "Mariel" "faceworried" "Me too? I haven't fought for over a decade, Gairos. I'm not sure I remember how to properly cast combat spells.">>
<<dialog "Gairos" "face" "You mean you never fought in your life, woman!" "Gairos scoffs, his patience clearly wearing thin" "What you did when we traveled was mostly just healing. It's about high time you gain some actual combat magic instead of just hiding behind your staff.">>
<<narrative "A short while later, we're all equipped and ready. The air is thick with anticipation and fear. I can see Serin adjusting her stance, Seryk rolling his massive shoulders, and Thalor trying to steady his breathing. Mariel looks completely out of her element, clutching her staff like a lifeline.">>
<<narrative "Gairos looks at our formation and shakes his head in obvious disappointment. His expression is one of someone who's just realized they're dealing with complete amateurs.">>
<<dialog "Gairos" "face" "What is this formation?! I can see you guys never had to fight seriously in your lives!" "He gestures at our scattered positions" "Even you both, Thalor and Mariel. Did you seriously never learn anything during our travels together?">>
<<dialog "Gairos" "face" "And you, demon!" "He turns to Seryk with a critical eye" "Do you underestimate me? Why are you barely wearing anything, nor carrying any weapon?">>
<<dialog "Seryk" "face" "That's my style, buff gramps. I always fight with my bare fists. Weapons just get in the way of my natural strength.">>
<<narrative "Gairos looks at Nimeria, who is sitting in the grass near the house entrance, yawning and looking completely uninterested in the whole affair.">>
<<dialog "Gairos" "face" "And you, demon girl, you won't join the fight? You're just going to sit there and watch?">>
<<dialog "Nimeria" "face" "Sorry, but I'm too weak to fight. I'd just get in the way.">>
<<dialog "Gairos" "face" "Can you at least see what's wrong with their formation? Surely even you can spot the obvious tactical errors.">>
<<dialog "Nimeria" "face" "Not really... I don't have much experience with combat formations.">>
<<narrative "Gairos shakes his head in obvious frustration, his patience clearly at its limit.">>
<<dialog "Gairos" "face" "Liora and Mariel, you both are standing too far away from everyone else. This is a team fight, not a solo performance!">>
<<dialog "Liora" "faceworried" "B-but we are healers, we can heal from a distance. It's safer for us to stay back.">>
<<dialog "Gairos" "face" "Sure you can, and that's exactly why you both are target number one in a real fight!" "He gestures emphatically" "If you stand that far apart, your team won't be able to help you in time if someone ambushes you or if I get behind you all.">>
<<dialog "Gairos" "face" "I want you all to imagine that this is our previous fight. You will have to fight for your lives, not for sport. Demon girl, I want you to join as well - as a tactician. You coordinate everyone.">>
<<dialog "Nimeria" "faceworried" "But I don't really have any fighting experience... I'm not sure I can coordinate a battle.">>
<<dialog "Gairos" "face" "Then it's time for you to gain some! You seem to be the only one in this lot with some actual brain. Now get up and start thinking tactically!">>
<<narrative "Nimeria thinks for a bit, her red eyes scanning our positions with sudden intensity. I can see the gears turning in her mind as she analyzes the situation.">>
<<dialog "Nimeria" "facehappy" "Alright, let me think... Thalor, Seryk, and $humanName will be in front. Seryk will be the shield to stop most attacks since he's the strongest physically. Serin will focus on getting behind the target to get some strikes in.">>
<<dialog "Nimeria" "facehappy" "Mariel will focus on casting a barrier around herself and Liora, as well as keeping buffs up on everyone. Liora saves her mana for actual healing, but should cast strength buffs on Serin before she's about to strike.">>
<<dialog "Gairos" "facesmile" "Four out of ten points.">>
<<dialog "Nimeria" "faceworried" "So bad? I thought that was a decent strategy.">>
<<dialog "Gairos" "facesmile" "That's a good score for the first time. But let's start. I'll fight barehanded, without using any magic.">>
<<dialog "Nimeria" "faceshock" "Didn't you say we should fight with the intent to kill you?">>
<<dialog "Gairos" "facelaugh" "Yes, but I worry otherwise I would accidentally kill you all. Now, let's begin!">>
<<narrative "Nimeria thinks that's their chance. If Gairos is fighting barehanded and without magic, maybe they actually have a shot at this.">>
<<continueBox "Chapter5GairosTrainingFight" "The Training Begins" "">>
</div>
<<pov "rylan" "gairostraining.mp3">>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<<dialog "Gairos" "face" "Now that you've all had a taste of real combat, let me tell you exactly what you did wrong." "Gairos paces around the yard, his voice cutting through the groans and whimpers of the defeated team" "You fought like children playing with sticks.">>
<<dialog "Gairos" "face" "$humanName, you charge in like a bull seeing red. No strategy, no awareness of your surroundings. You're so focused on hitting me that you don't see the openings I'm deliberately leaving for your teammates.">>
<<dialog "Gairos" "face" "Serin, you have speed but no patience. You see an opening and immediately dive in without considering if it's a trap. And you never coordinate with $humanName - you're both fighting the same opponent but acting like you're alone.">>
<<dialog "Gairos" "face" "Seryk, you rely too much on brute strength. You think because you're a demon, you can overpower everything. But strength without technique is useless against a skilled opponent.">>
<<dialog "Gairos" "face" "Thalor, you're too rigid. You fight like you're in a textbook - perfect form but no adaptability. When I change tactics, you're still stuck in your old patterns.">>
<<dialog "Gairos" "face" "Mariel and Liora, you're both too focused on support. Yes, healing and barriers are important, but you need to learn to fight while maintaining them. You can't just stand back and cast spells - you need to be part of the battle.">>
<<dialog "Gairos" "face" "Nimeria, you're the only one who showed any tactical thinking. You recognized the problem with our dependency on healing and tried to adapt. But you need to communicate your insights to the team, not just think them.">>
<<dialog "Gairos" "face" "The fundamental problem is that none of you have real battle experience. You've been fighting weak monsters, not opponents who can actually kill you.">>
<<dialog "Gairos" "face" "You need to face death. Real death. The kind that makes your heart stop and your blood run cold. Only then will you understand what it means to fight for your life.">>
<<dialog "Gairos" "face" "Is there anywhere near here with challenging monsters? Someplace where you can actually get killed if you're not careful?">>
<<dialog "Rylan" "faceworried" "The hardest place around here is probably Blightwood," "I say, still wincing from the pain in my ribs" "It's a corrupted forest with dangerous creatures. But even that might not be enough for what you're asking.">>
<<dialog "Gairos" "face" "Perfect. You're going to Blightwood. And you're not just going to the edge - you're going deep. Deeper than you've ever been. You're going to push yourselves to the absolute limit.">>
<<dialog "Gairos" "face" "You need near-death experiences. The kind that make you question whether you'll make it out alive. Only then will you develop the instincts and reflexes you need for real combat.">>
<<dialog "Gairos" "face" "Mariel and Thalor will accompany you from now on. But you'll travel in two groups. They'll only help your group if absolutely necessary, and vice versa. Your strength levels are still too far apart for effective joint training.">>
<<dialog "Mariel" "faceworried" "Gairos, are you certain this is wise?" "Mariel asks, her voice tinged with concern" "What if they encounter something truly dangerous? We can't always reach them in time.">>
<<dialog "Thalor" "faceworried" "I understand the logic, but this feels reckless," "Thalor adds, clearly conflicted" "How can we protect them if we're not there when they need us most?">>
<<dialog "Gairos" "face" "And that's exactly the reason why they're still weak," "Gairos responds, his tone firm but not unkind" "They need to learn to protect themselves. You can't always be their safety net. Sometimes the best protection is teaching someone to stand on their own.">>
<<dialog "Gairos" "face" "You have about a week to get as powerful as you can. Meanwhile, I'll investigate who destroyed Mistfen Reach and prepare for the war against the Holy Kingdom.">>
<<dialog "Gairos" "face" "Now get some rest. In one hour, I want you hunting in Blightwood. No excuses, no delays.">>
<<dialog "Rylan" "faceworried" "But we're exhausted from the fight!" "I protest, my body still aching from Gairos's brutal lesson" "We can barely move, let alone fight monsters!">>
<<dialog "Gairos" "faceangry" "You want to complain to me, boy?" "Gairos's voice drops to a dangerous growl, and I can feel the air around him crackle with barely contained violence" "You think being tired is an excuse? In real combat, your enemies won't care if you're exhausted. They'll kill you just the same.">>
<<dialog "Rylan" "faceworried" "No, sir!" "I quickly respond, the memory of his fists still fresh in my mind" "We'll be ready in an hour.">>
<<dialog "Gairos" "face" "Good. Now get some rest. Use the time to think about what you learned today. And remember - in one hour, you're going to Blightwood whether you're ready or not.">>
<<dialog "Liora" "faceworried" "Let me heal everyone's wounds before we rest," "Liora says, her hands already glowing with healing magic as she moves between the injured team members">>
<<if $serykxliorantr>>
<<dialog "Seryk" "faceworried" "Liora, you look exhausted," "Seryk says, concern evident in his voice as he watches her work" "Your face is pale. Are you sure you're alright?">>
<<dialog "Liora" "faceworried" "I'm fine, really," "she responds, though her voice sounds tired and weak" "Just need to make sure everyone is properly healed before we head to Blightwood.">>
<</if>>
<<continueBox "Chapter5SoraEncounter" "Return to Room" "">>
</div>
<</nobr>>
<<pov "rylan" "defaultch5.mp3">><<nobr>>
<div class="passage-container rylan">
<center><img src="images/landscapes/backyard.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Backyard training area"></center>
<<dialog "Gairos" "face" "Ready? Then let's begin!">>
<center><img src="images/gairos/poses/fight/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Backyard training area"></center>
<<narrative "I charge forward with my shortsword, trying to remember everything I learned about combat. My heart is racing, and I can feel the weight of the weapon in my trembling hands.">>
<center><img src="images/rylan/poses/rylanattack.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Backyard training area"></center>
<<dialog "Gairos" "face" "Too slow! Your stance is all wrong!" "Gairos easily sidesteps my attack, his movements fluid and effortless" "You're telegraphing every move before you make it!">>
<center><img src="images/gairos/poses/fight/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Backyard training area"></center>
<<dialog "Serin" "faceangry" "Now!" "Serin darts in from behind, her daggers flashing as she tries to strike at Gairos's exposed back">>
<center><img src="images/serin/posesnew/attack.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Backyard training area"></center>
<<dialog "Gairos" "face" "Predictable!" "Gairos spins around, catching Serin's wrist mid-strike" "You're too focused on the obvious target. Think three moves ahead!">>
<<dialog "Seryk" "faceangry" "Get off her!" "Seryk charges forward, his massive fists swinging with demonic strength">>
<center><img src="images/seryk/pose/new/back/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Backyard training area"></center>
<<dialog "Gairos" "face" "Finally, someone with some power!" "Gairos releases Serin and meets Seryk's charge head-on. Their fists collide with a thunderous impact that sends shockwaves through the air">>
<center><img src="images/gairos/poses/fight/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Backyard training area"></center>
<<dialog "Seryk" "faceshock" "What the... how can a human be this strong?!">>
<<dialog "Gairos" "facelaugh" "Years of training, boy! Decades of pushing beyond human limits!" "Gairos pushes back, and Seryk actually stumbles backward" "But you have potential. You just need to learn to channel that raw power properly!">>
<<dialog "Thalor" "faceworried" "Now!" "Thalor swings his broadsword with all his might, aiming for Gairos's exposed side">>
<center><img src="images/thalor/poses/fight/attack.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Backyard training area"></center>
<<dialog "Gairos" "face" "Good timing, but your grip is too tight!" "Gairos catches the blade between his palms, stopping it dead" "You're cutting off your own power flow. Loosen up, let the weapon breathe!">>
<<dialog "Mariel" "faceworried" "Barrier up!" "Mariel's magic swirls around us, creating a protective shield" "I'll keep everyone protected!">>
<center><img src="images/mariel/poses/fight/magic.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Backyard training area"></center>
<<dialog "Gairos" "face" "That barrier won't last long against real force!" "Gairos punches the magical shield, and cracks immediately spider-web across its surface" "You're wasting mana on weak protection!">>
<<dialog "Liora" "faceworried" "Healing everyone! Stay strong!" "Liora's healing magic flows through the air, mending our wounds as fast as Gairos inflicts them">>
<<dialog "Gairos" "face" "You two are the real problem!" "Gairos points at Liora and Mariel" "I could end this fight in seconds by just taking you out. You're keeping everyone alive, but you're also making them dependent on you!">>
<<dialog "Nimeria" "faceworried" "We need to change tactics! He's right - we can't keep relying on healing!">>
<<dialog "Gairos" "face" "Exactly! Think tactically! You have numbers, use them! Coordinate your attacks, don't just charge in one by one!">>
<<narrative "I try to coordinate with Serin, but Gairos is just too fast. Every time we think we have an opening, he's already moved. It's like fighting a shadow.">>
<<dialog "Serin" "faceangry" "We can't even touch him! This is impossible!">>
<<dialog "Gairos" "face" "Nothing is impossible! You're just not thinking clearly! Look at your positioning - you're all bunched up, making it easy for me to dodge!">>
<<dialog "Seryk" "faceangry" "Then show us how it's done! Stop holding back!">>
<<dialog "Gairos" "facelaugh" "You want to see what I'm really capable of? Fine!" "Gairos's stance changes, and suddenly the air around him seems to crackle with power" "But don't say I didn't warn you!">>
<<dialog "Nimeria" "faceshock" "Everyone, get ready! He's about to strike!">>
<<dialog "Gairos" "face" "Lesson one: Never underestimate your opponent!" "Gairos moves so fast he becomes a blur. In the blink of an eye, he's behind all of us" "Speed kills!">>
<center><img src="images/gairos/poses/fight/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Backyard training area"></center>
<<narrative "I barely have time to react before Gairos's fist connects with my stomach. The impact sends me flying backward, and I can feel my ribs crack as I crash into the ground. This is no training session - this is a brutal beating.">>
<<dialog "Gairos" "face" "Lesson two: Always protect your healers!" "Gairos's voice echoes as he appears behind Liora. His hand strikes the back of her neck with surgical precision, and she crumples to the ground unconscious">>
<center><img src="images/gairos/poses/fight/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Backyard training area"></center>
<<dialog "Gairos" "face" "Lesson three: Never fight alone!" "He vanishes again, reappearing beside Serin. Her daggers are still gripped in her hands as his palm strikes her temple, dropping her like a stone">>
<center><img src="images/gairos/poses/fight/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Backyard training area"></center>
<<dialog "Gairos" "face" "Lesson four: Your strength means nothing without technique!" "Seryk barely has time to raise his fists before Gairos's knee drives into his solar plexus. The demon gasps and falls to his knees, clutching his stomach">>
<center><img src="images/gairos/poses/fight/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Backyard training area"></center>
<<dialog "Gairos" "face" "Lesson five: Magic users are priority targets!" "Mariel's barrier spell shatters like glass as Gairos's fist passes through it, striking her jaw with enough force to send her spinning to the ground">>
<center><img src="images/gairos/poses/fight/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Backyard training area"></center>
<<dialog "Gairos" "face" "Lesson six: Tactical positioning is everything!" "Thalor's sword is still raised in a defensive stance when Gairos's elbow connects with his temple, dropping the warrior like a felled tree">>
<center><img src="images/gairos/poses/fight/6.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Backyard training area"></center>
<<dialog "Gairos" "face" "Lesson seven: The fight is over before it begins!" "Gairos stands in the center of the yard, surrounded by our unconscious and groaning forms" "You all fought like amateurs. Like children playing with sticks.">>
<<narrative "I try to push myself up, but the pain in my ribs is excruciating. Around me, I can see the others slowly regaining consciousness, but we're all clearly defeated. Gairos wasn't kidding about fighting with the intent to kill - he just showed us exactly how vulnerable we all are.">>
<<dialog "Gairos" "face" "Now," "he says, his voice cold and clinical" "let's discuss what you did wrong and how to fix it. Because if this had been a real fight, you'd all be dead.">>
<<continueBox "Chapter5GairosTrainingDebrief" "Training Debrief" "">>
</div>
<</nobr>>
<<pov "rylan" "gairostraningfight.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0;">Journey to Blightwood</h2>
</div>
<<narrative "The morning sun casts long shadows as we gather in front of the house, getting ready for our trip to Blightwood. The air feels crisp and full of promise, though I have this weird feeling that this journey won't be normal at all.">>
<<dialog "Mariel" "face" "This reminds me so much of our travels during the demon war," "Mariel says wistfully, adjusting her pack straps">>
<center><img src="images/landscapes/rylanhouse.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="The Climax"></center>
<<narrative "I notice Thalor walking a few steps behind us, his face unreadable as he listens to Mariel talk about the old days. It's kind of funny how he's trying to keep his distance while still being part of the group.">>
<<dialog "Nimeria" "facehappy" "Oh Mariel, tell me about it!" "Nimeria exclaims, suddenly appearing beside us with her characteristic enthusiasm">>
<<narrative "Before I can react, Nimeria casually drapes her arm around my shoulders, pulling me close like we're old friends. I freeze, completely unsure how to respond to this unexpected physical contact. My mind races through a dozen different reactions, but I end up just standing there like a statue, awkwardly trying to keep my balance.">>
<<dialog "Thalor" "faceworried" "YAAAH!" "Thalor suddenly screams, jumping back several feet with a comically exaggerated reaction" "Oh gods, it's you!">>
<<narrative "The sight of $humanToThalor, who's normally so stoic and intimidating, acting like a scared kid is absolutely priceless. He's practically cowering, his eyes wide with what looks like genuine fear as he stares at Nimeria like she's some kind of monster that just popped out of nowhere.">>
<<dialog "Mariel" "faceangry" "What is wrong with you?" "Mariel snaps, clearly annoyed" "You're acting like a complete fool!">>
<<dialog "Thalor" "faceembarrassed" "Nothing, nothing..." "he mumbles, trying to get himself together while still keeping a safe distance from Nimeria" "Just... startled me, that's all.">>
<<narrative "I can't help but suppress a grin at how ridiculous this whole situation is. Here's $humanToThalor, the man who defeated Azgorth, acting like he just saw a ghost, while I'm still awkwardly standing with Nimeria's arm around mine.">>
<<dialog "Nimeria" "facesmirk" "Oh Thalor, you're such a scaredy-cat," "Nimeria teases, clearly amused" "I'm not going to bite... unless you want me to.">>
<<narrative "Thalor's face goes pale at that last comment, and I can see him actually take another step back. Mariel just rolls her eyes, clearly used to this kind of behavior from her husband. Meanwhile, I'm still trying to figure out how to get out of Nimeria's embrace without making things even more awkward.">>
<<narrative "After what feels like forever but is probably only a few seconds, Nimeria finally lets me go, and I can breathe again. The journey continues with Thalor keeping his safe distance, occasionally glancing nervously over his shoulder at Nimeria, who seems to be thoroughly enjoying his discomfort. I wonder if something happened between them, or just because she is a demon...">>
<<narrative "Hours later, we finally reach the edge of Blightwood. The forest looms before us like a wall of darkness, its twisted trees and sickly atmosphere a stark contrast to the bright morning we left behind.">>
<<dialog "Nimeria" "faceconcerned" "Everyone, listen carefully," "Nimeria says, her voice suddenly serious" "We need to watch out for any dangers like enemy attacks. We're going as far in as we can this time, deeper than we've ever ventured before.">>
<<narrative "She reaches into her bag and pulls out several small vials filled with a glowing green liquid. The antidotes shimmer with an otherworldly light, and I can't help but feel worried about what we're about to face.">>
<<dialog "Nimeria" "faceconcerned" "Take one of these," "she continues, handing out the vials to each of us" "It'll make you more resistant against the poisonous miasma for a while. Deeper in, the miasma might become too much otherwise.">>
<center><img src="images/items/antidotes.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="The Climax"></center>
<<narrative "I examine the vial in my hand, the green liquid pulsing with an almost hypnotic rhythm. The thought of what we're about to face sends a chill down my spine, but I can't deny the thrill of adventure that runs through my veins.">>
<<narrative "As we get ready to enter the forest, I can't help but think about the weird dynamics of our group. Thalor's fear of Nimeria, Mariel's exasperation, and my own awkward encounter with Nimeria's unexpected affection. This expedition is going to be anything but boring.">>
<<continueBox "BlightwoodJourney" "Enter Blightwood" "">>
<<set $Chapter5BlightwoodVisit = true>>
</div>
<</nobr>>
<<pov "rylan" "defaultch5.mp3">><<stopLoopingAndPlay "sounds/hsounds/cum.mp3">>
<<nobr>>
<div class="passage-container liora">
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0;">The Climax</h2>
</div>
<<narrative "I can see it building in him, can feel the tension reaching its breaking point. His body tenses, his strokes become frantic, and then...">>
<<dialog "Seryk" "facewet" "Liora... I'm... I'm..." "His voice is barely a whisper, his body trembling with the effort to hold back">>
<<narrative "And then it happens. With a deep, guttural moan, Seryk's body convulses. His hand stops moving, and I watch in absolute shock as cum erupts from his tip in a tremendous, powerful stream.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/cum1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="The Climax"></center>
<<narrative "The amount is... incredible. It's not just a normal orgasm - it's like a fountain, shooting out with such force that it reaches nearly a meter wide. The cum splatters across the floor, the wooden boards, creating a massive mess. It's everywhere, coating the ground in thick, white streams.">>
<<narrative "I'm just... shocked. Completely and utterly shocked. I've never seen anything like this before. The sheer volume, the force, the way it covers the entire floor... I can't even process what I'm seeing.">>
<<narrative "Seryk's breathing is ragged, his body still trembling from the intensity of his climax. He looks down at the floor, at the mess covering the wooden boards, and I can see the realization dawning on his face.">>
<<dialog "Seryk" "faceembarrassed" "Oh... oh gods..." "His voice is barely a whisper, filled with shock and embarrassment">>
<<narrative "After a moment, Seryk slowly relaxes, his movements careful as he tries not to step in the mess. He looks around the room, his face a picture of embarrassment and concern.">>
<<dialog "Seryk" "faceembarrassed" "Liora, I... I'm so sorry. This is... this is completely inappropriate. I never should have..." "He trails off, shaking his head">>
<<dialog "Seryk" "faceembarrassed" "I'm so sorry for putting you in this position. This was wrong of me. I should have controlled myself better.">>
<<dialog "Seryk" "faceembarrassed" "Let me clean this up instantly. I won't leave this mess for you to deal with.">>
<<dialog "Liora" "faceembarrassedshortpink" "You... you don't have to..." "My voice is barely a whisper, still processing what just happened">>
<<dialog "Seryk" "faceembarrassed" "No, I insist. This is my mess, and I'll clean it up properly.">>
<<narrative "Seryk quickly finds some cloths and begins cleaning the floor with practiced efficiency. Despite the embarrassment, he's thorough, making sure to remove every trace of the mess. I can see he's done this before, which makes me wonder about his... habits.">>
<<narrative "When he's finished cleaning the floor, he looks much more composed, though still clearly embarrassed. He sits down on the edge of the bed, keeping a respectful distance from me.">>
<<dialog "Seryk" "faceworried" "Liora... are you alright now? I mean, after... everything?">>
<<dialog "Liora" "faceembarrassedshortpink" "Hmm? Oh yes, I am... *I'm just remembering we did this whole thing to regen my mana...*">>
<<dialog "Seryk" "faceworried" "Liora, we have to find a solution. This can't continue like this. We need to talk with someone who can help.">>
<<dialog "Liora" "faceembarrassedshortpink" "I agree. But I don't want to talk with Mariel about this.">>
<<dialog "Seryk" "faceworried" "I personally would prefer to ask anyone else but my sister is knowledgeable. She might be able to help...">>
<<dialog "Liora" "faceembarrassedshortpink" "Oh right! Nimeria!">>
<<dialog "Seryk" "faceworried" "But I won't let you talk with her alone. Let me come with you.">>
<<narrative "I wonder why he's so insistent about that. Nimeria is such a nice girl, always helpful and kind. She's never given me any reason to be concerned about talking with her alone.">>
<<changeFetish "Liora" "SubmissionFetish" 0.2>>
<<changeAttraction "Liora" "Seryk" 0.3>>
<<changeAttraction "Seryk" "Liora" 0.2>>
<<changeAffection "Seryk" "Liora" 0.1>>
<<changeAffection "Liora" "Seryk" 0.1>>
<<continueBox "Chapter5NimeriaManipulation" "Talk to Nimeria together" "">>
<<quickSexTrack "orgasm" "Liora" "Seryk" 1>>
</div>
<</nobr>>
<<pov "liora" "intimatech5a.mp3">><<playLoopingSounds "sounds/hsounds/handjob.mp3" 1>>
<<nobr>>
<div class="passage-container liora">
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0;">The Forbidden Spectacle</h2>
</div>
<<narrative "I quickly avert my gaze, my face burning with embarrassment. I shouldn't be here, shouldn't be watching this. But I can't leave - I promised to stay, and I'm too weak to move anyway. The sound of his breathing fills the room, heavy and desperate.">>
<center><img src="images/liora/chapter5/serykntr/face/8.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Looking Away"></center>
<<quickRoll "Voyeuristic Temptation" "Liora" 80 4 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "I can hear the wet sounds, the way his hand moves up and down his shaft. It's so... intimate, so private. I shouldn't be listening, shouldn't be here, but I can't help it. There's something strangely arousing about being in this position, about being forced to witness something so personal.">>
<</if>>
<<dialog "Seryk" "facewet" "Liora..." "Seryk moans my name, his voice thick with desire" "Oh gods, Liora...">>
<center><img src="images/liora/chapter5/serykntr/masturbate/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Looking Away"></center>
<<narrative "I can't help it - I steal a quick glance. Just for a moment. His hand is wrapped around his massive erection, moving up and down with desperate urgency. The way he grips it, the way he strokes it... it's so rough, so primal. I can see the muscles in his arm flexing with each stroke, and I can't help but wonder what it would feel like to be touched like that.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk Masturbating"></center>
<<quickRoll "Size Fascination" "Liora" 80 3 "MuscleFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "MuscleFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "It's so big, so intimidating. I can see the way it throbs with each stroke, the way it seems to pulse with life. It's like nothing I've ever seen before - so masculine, so dominant. I know I shouldn't be looking, shouldn't be thinking about it, but I can't help myself. The way his hand barely fits around it, the way it strains against his grip... it's overwhelming and strangely arousing.">>
<</if>>
<center><img src="images/liora/chapter5/serykntr/masturbate/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Looking Away"></center>
<<dialog "Seryk" "facewet" "Liora... I can't stop thinking about you..." "His voice is barely controlled now, each word punctuated by a desperate moan">>
<<narrative "I can feel my own body responding to his words, to the sounds he's making. My heart is racing, my breathing becoming shallow. I shouldn't be feeling this way, shouldn't be getting aroused by this, but I am. The way he says my name, the way he moans... it's making me feel things I've never felt before.">>
<center><img src="images/liora/chapter5/serykntr/face/9.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming Aroused"></center>
<<quickRoll "Unconscious Arousal" "Liora" 80 4 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "I can feel warmth spreading through my body, a tingling sensation that starts in my core and radiates outward. I shouldn't be enjoying this, shouldn't be getting wet from watching him, but I am. The way he strokes himself, the way he moans my name, the way his body tenses with each stroke... it's all so intoxicating.">>
<</if>>
<<narrative "I steal another glance, unable to resist. His breathing is getting harder and harder, his strokes more desperate. I can see the way his muscles flex with each movement, the way his body tenses as he gets closer to climax. It's so... masculine, so powerful. I feel so small and vulnerable in comparison.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk Getting Closer"></center>
<<dialog "Seryk" "facewet" "Liora... look at me..." "His voice has changed, become more demanding, more dominant">>
<<narrative "I look up at his face, and what I see there makes my breath catch. His eyes are filled with hunger, with desire, with something primal and dangerous. He looks like he's about to devour me, like he wants to consume me whole. There's something in his gaze that makes me feel both terrified and strangely aroused.">>
<center><img src="images/liora/chapter5/serykntr/face/10.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Hungry Gaze"></center>
<<dialog "Seryk" "facewet" "Look me in the eyes, Liora," "he commands, his voice deep and authoritative" "Don't look away.">>
<<quickRoll "Dominant Command" "Liora" 80 3 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "His command sends shivers down my spine. There's something in his voice, something authoritative and dominant that makes me want to obey. I shouldn't be responding to this, shouldn't be getting aroused by his commands, but I am. The way he looks at me, the way he demands my attention... it's making me feel things I've never felt before.">>
<</if>>
<<narrative "I can't look away, can't disobey his command. His eyes hold mine captive, and I can see the raw desire burning within them. He's getting closer to climax, I can tell. His strokes are becoming more frantic, more desperate. The way he looks at me while he pleasures himself... it's so intimate, so personal.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk Getting Closer"></center>
<<dialog "Seryk" "facewet" "Now look at it, Liora," "he growls, his voice thick with desire" "Look at what you're doing to me.">>
<<narrative "I look down, unable to resist his command. His erection is massive, throbbing with each stroke. I can see precum dripping from the tip, glistening in the dim light. It looks... delicious. The thought shocks me, makes me realize how far I've fallen. I shouldn't be thinking about his cum, shouldn't be wanting to taste it, but I am.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/6.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Precum Dripping"></center>
<<quickRoll "Cum Fascination" "Liora" 80 4 "SmellFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SmellFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "I can't stop staring at the precum dripping from his tip. It's so... beautiful, so tempting. I shouldn't be thinking about it, shouldn't be wanting to taste it, but I am. The way it glistens, the way it drips... it's making me feel things I've never felt before. I want to taste it, want to feel it on my tongue.">>
<</if>>
<<narrative "I'm shocked by my own thoughts, by how far I've fallen. I'm watching Seryk masturbate, getting aroused by it, thinking about tasting his cum. This is wrong, so wrong. I have $humanName, I love him. But right now, with Seryk's massive erection in front of me, with his precum dripping, I can't think straight.">>
<center><img src="images/liora/chapter5/serykntr/face/10.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora's Internal Conflict"></center>
<<dialog "Seryk" "facewet" "Liora... I'm so close..." "His voice is barely a whisper now, his strokes becoming more frantic">>
<<narrative "I can see he's about to climax, can feel the tension building in the room. His breathing is ragged, his strokes desperate. I should look away, should leave, but I can't. I'm too aroused, too curious, too... corrupted. I want to see him finish, want to see what happens next.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/6.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk About to Climax"></center>
<<quickRoll "Final Corruption" "Liora" 80 3 "SubmissionFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.5>>
<<changeAttraction "Liora" "Seryk" 0.3>>
<<narrative "I can feel myself getting wetter and wetter, my body responding to his impending climax. I shouldn't be enjoying this, shouldn't be getting aroused by watching him masturbate, but I am. The way he strokes himself, the way he moans my name, the way he looks at me with such hunger... it's all so intoxicating. I want him to finish, want to see what happens next.">>
<</if>>
<<narrative "I'm completely corrupted now, completely under his spell. I'm watching him masturbate, getting aroused by it, thinking about his cum. This is so wrong, so sinful, but I can't help myself. I want to see him finish, want to see what his climax looks like. I want to be a part of this moment, even if it's just as a spectator.">>
<<dialog "Seryk" "facewet" "Liora... I'm going to..." "His voice trails off as his body tenses, his strokes becoming frantic">>
<<narrative "I can see it coming, can feel the tension building to its peak. His body is tensing, his strokes becoming more desperate. I'm completely captivated, unable to look away. I want to see this, need to see this. I want to see what his climax looks like, want to see what he looks like when he loses control.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/7.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="The Climax Approaches"></center>
<<continueBox "Chapter5LioraSerykClimax" "Watch him climax" "">>
<<changeAttraction "Liora" "Seryk" 1>>
<<changeAttraction "Seryk" "Liora" 1>>
</div>
<</nobr>>
<<pov "liora" "intimatech5a.mp3">><<script>>
if (window.FloatingEffects) {
window.FloatingEffects.removeEffect('Liora');
}
<</script>>
<<stopLoopingSounds>>
<<nobr>>
<<set $lioraSalivaAddiction = 3>>
<<set $lioraSweatAddiction = 1>>
<div class="passage-container liora">
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0;">Liora's Desperate Need</h2>
</div>
<<narrative "I sit in my room, completely exhausted and in pain. The healing during and after the Gairos fight seems to have exhausted my mana so much that I've hurt my mana circuits again. My whole body hurts and I can barely move. I don't know what to do and I can't help but think... $humanName, please help me...">>
<center><img src="images/liora/chapter5/serykntr/sitonbed.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<quickRoll "Desperate Need" "Liora" 80 5 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<changeAffection "Liora" "Seryk" 0.1>>
<<narrative "I feel so helpless and vulnerable right now. My body aches everywhere, and I can barely lift my arms. I need someone to take care of me, to help me... but I'm too proud to ask. The pain is overwhelming, and I'm starting to feel desperate enough to accept any help offered.">>
<</if>>
<<dialog "Liora" "faceembarrassedshortpink" "Please... someone help me..." "I whisper weakly, my voice barely audible even to myself">>
<<narrative "Then I hear it - a gentle knock at my door. My heart leaps with hope, but I'm too weak to even call out.">>
<<dialog "Seryk" "face" "Liora? Are you okay?" "Seryk's voice comes through the door, filled with concern">>
<<narrative "I try to respond, but only manage a weak moan. The door opens and Seryk steps in, his eyes widening as he sees my condition.">>
<<dialog "Seryk" "faceworried" "Liora! You're so sweaty and pale... you've hurt your mana circuits again, haven't you?" "He rushes to my side, his muscular frame radiating warmth">>
<<quickRoll "Muscle Attraction" "Liora" 80 5 "MuscleFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "MuscleFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "Even in my weakened state, I can't help but notice how strong and muscular Seryk looks. His broad shoulders and powerful arms make me feel so small and fragile in comparison. There's something strangely comforting about his physical presence, like he could protect me from anything. I shouldn't be thinking about this right now, but his strength is... distracting.">>
<</if>>
<<dialog "Liora" "facesadshortpink" "I... I need help," "I manage to whisper, my voice trembling with pain and exhaustion">>
<<dialog "Seryk" "face" "Wait, I'll get Mariel! She can help you with healing magic!" "Seryk turns toward the door, but I reach out weakly to stop him">>
<<dialog "Liora" "faceembarrassedshortpink" "No! Please, don't tell her," "I plead, my voice desperate" "I can't let her know what happened or cause concern. She has enough to worry about.">>
<<dialog "Seryk" "faceworried" "Then what should we do? You can barely stand!" "Seryk's concern is evident in his voice as he looks down at me helplessly">>
<<narrative "I hesitate, my face flushing with embarrassment. I know what helped before, but asking for it again feels so... wrong. Yet I have no choice. My mana circuits are damaged and I need help.">>
<<dialog "Liora" "faceembarrassedshortpink" "Your... your saliva again," "I whisper, my voice barely audible" "It helped before and might help again.">>
<<quickRoll "Saliva Temptation" "Liora" 80 5 "SalivaFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SalivaFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "Just thinking about his saliva makes my heart race. I remember how sweet it tasted before, how it filled me with warmth and energy. The memory of that intimate moment is both embarrassing and... strangely exciting. I shouldn't want this, but my body is already responding to the thought of tasting him again.">>
<</if>>
<<dialog "Seryk" "faceembarrassed" "Are you really sure about this?" "Seryk asks, his voice filled with concern and something else I can't quite identify">>
<<dialog "Liora" "faceembarrassedshortpink" "Yes," "I nod weakly, my cheeks burning with embarrassment" "Please, I need this.">>
<<narrative "Seryk hesitates for a moment, then slowly leans down toward me. I can feel his warm breath on my face as he positions himself above me. Then he starts to let his saliva directly flow into my mouth.">>
<center><img src="images/liora/chapter5/serykntr/saliva1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<quickRoll "Saliva Craving" "Liora" 80 5 "SalivaFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SalivaFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "As I drink his saliva, my mind fills with thoughts: There it is again. The taste, so sweet... so intoxicating. I can feel warmth spreading through my body, and my mana circuits begin to tingle with renewed energy. But it's not just the mana restoration - there's something primal about this act, something that makes my body crave more. I want to drink deeper, to taste more of him.">>
<</if>>
<<narrative "We continue for a while, and I can feel myself getting visibly flushed. I can't get enough of his saliva - it's like I'm addicted to the taste, to the feeling of his warm essence flowing into me. My body responds to the intimate contact, and I can feel my heart racing.">>
<center><img src="images/liora/chapter5/serykntr/face/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<quickRoll "Intimate Contact" "Liora" 80 6 "SubmissionFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.2>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "Being in this position, lying helplessly while Seryk feeds me his saliva, makes me feel so vulnerable and submissive. I should be embarrassed, but instead I feel... safe. Protected. There's something comforting about surrendering control to him, about letting him take care of me. I'm starting to enjoy this feeling of being completely at his mercy.">>
<</if>>
<<narrative "I notice Seryk starting to sweat more too, and he gets visibly horny. The bulge in his boxers reacts to our intimate contact, and I can see the fabric straining against his growing arousal. His muscular frame seems to radiate even more heat, and I can feel my own body responding to his obvious desire.">>
<center><img src="images/liora/chapter5/serykntr/boxers/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<center><img src="images/liora/chapter5/serykntr/face/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<quickRoll "Physical Arousal" "Liora" 80 4 "MuscleFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "MuscleFetish" 0.2>>
<<changeAttraction "Seryk" "Liora" 0.1>>
<<narrative "I can see the effect this is having on Seryk. His breathing has become heavier, and I notice the way his eyes keep darting down to my body. There's something intense in his gaze that makes me feel both vulnerable and strangely... desired. I can see the bulge in his boxers growing larger, and it's impossible to ignore how aroused he's becoming from this intimate act. The way he looks at me makes me feel like I'm something precious to him, something he wants to protect but also... possess.">>
<</if>>
<<dialog "Seryk" "faceembarrassed" "Do you feel better?" "Seryk asks, his voice slightly breathless from the intimate contact">>
<<dialog "Liora" "faceembarrassedshortpink" "Somehow barely..." "I reply, my voice still weak but stronger than before" "Last time it helped directly but this time...">>
<<narrative "I look at the clock and realize that already 20 minutes have passed. I have to get my mana back soon to be ready for Blightwood. Time is running out, and I'm still not fully recovered.">>
<<narrative "Then I remember when Seryk was unconscious the day before, and I licked his sweat. It filled me with mana instantly, much more effectively than his saliva. A realization dawns on me, and I get an idea...">>
<<continueBox "Chapter5LioraSerykSweatMethod" "Try the sweat method" "">>
<<changeAffection "Liora" "Seryk" 4>>
<<changeAffection "seryk" "Liora" 2>>
</div>
<</nobr>>
<<pov "liora" "ntr1.mp3">><<nobr>>
<<if not $serykLioraNTRProgressionLevel>>
<<set $serykLioraNTRProgressionLevel = 1>>
<<else>>
<<set $serykLioraNTRProgressionLevel += 1>>
<</if>>
<<if not $lioraSizeAddiction>>
<<set $lioraSizeAddiction = 1>>
<<else>>
<<set $lioraSizeAddiction += 1>>
<</if>>
<div class="passage-container liora">
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0;">A More Potent Solution</h2>
</div>
<<narrative "I hesitate, my face burning with embarrassment. The saliva helped a little, but I'm still not fully recovered. Time is running out, and I remember how much more effective his sweat was yesterday. But asking for that... it feels so much more intimate, so much more... wrong.">>
<<dialog "Liora" "faceembarrassedshortpink" "There's... there's something else that might work better," "I whisper, my voice barely audible" "Your sweat...">>
<<dialog "Seryk" "faceembarrassed" "Liora, that would be... that would go too far," "Seryk says, his voice strained with concern and something else I can't quite identify">>
<<dialog "Liora" "facesadshortpink" "We don't have a choice," "I plead, my voice desperate" "Time is running out, and I need to be ready for Blightwood. Please, Seryk. I need this.">>
<<narrative "Seryk looks down at me, his eyes filled with conflict. I can see the struggle in his expression - his desire to help me warring with his sense of propriety. After what feels like an eternity, he slowly nods.">>
<<dialog "Seryk" "faceembarrassed" "Alright," "he says quietly, his voice thick with emotion" "But just... just be quick about it.">>
<<narrative "Seryk stands before me, his muscular chest already exposed as always. His skin glistens with a thin layer of sweat from our previous activities. I can see his heart pounding beneath his ribs, and the way his muscles tense as I approach.">>
<center><img src="images/liora/chapter5/serykntr/body.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Sweaty Chest"></center>
<<quickRoll "Sweat Temptation" "Liora" 80 5 "SmellFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SmellFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "The moment I get close to his chest, his masculine scent overwhelms me. It's so much stronger than his saliva - rich, musky, and intoxicating. I can feel my heart racing and my body responding in ways I don't understand. This is wrong, I shouldn't want this, but my body is already craving more.">>
<</if>>
<<narrative "I lean forward, my face hovering just inches from his chest. I can feel the heat radiating from his body, and the way his breathing has become more rapid. Then, very slowly, I extend my tongue and touch it to his skin.">>
<center><img src="images/liora/chapter5/serykntr/sweat1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Sweaty Chest"></center>
<<dialog "Seryk" "faceembarrassed" "Mmm..." "Seryk lets out a soft moan, then immediately looks embarrassed" "Sorry, Liora. I didn't mean to...">>
<<narrative "I look up at him, my tongue still pressed against his chest. His face is flushed, and I can see the way his eyes are darting between my face and his own body. There's something in his gaze that makes me feel both vulnerable and strangely powerful. I shouldn't be enjoying this, but I am.">>
<center><img src="images/liora/chapter5/serykntr/face/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Sweaty Chest"></center>
<<quickRoll "Innocent Corruption" "Liora" 80 4 "SubmissionFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.2>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "I know this is wrong. I have $humanName, and I love him. But right now, lying here with my tongue on Seryk's chest, I can't help but feel something else entirely. There's something intoxicating about being in this position, about having this kind of power over someone so strong. I should stop, but I don't want to.">>
<</if>>
<<narrative "I continue licking, starting from his collarbone and upper chest. The taste is initially salty and slightly bitter, but as I continue, it becomes sweeter, more complex. It's like nothing I've ever tasted before - primal, masculine, and incredibly arousing. I can feel my own body responding, my heart racing, my breathing becoming shallow.">>
<center><img src="images/liora/chapter5/serykntr/sweat2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Licking Seryk's Chest"></center>
<<quickRoll "Sweat Addiction" "Liora" 80 4 "SmellFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SmellFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "I'm becoming addicted to this taste, to this feeling. Each lick sends waves of warmth through my body, and I can feel my mana circuits tingling with renewed energy. But it's not just the mana restoration - there's something deeply sexual about this act, something that makes my body crave more. I want to lick every inch of him, to taste every drop of his sweat.">>
<</if>>
<center><img src="images/liora/chapter5/serykntr/face/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Sweaty Chest"></center>
<<narrative "As I work my way down his chest, I can feel Seryk's breathing becoming more rapid. His muscles are tensing beneath my tongue, and I can hear the way his heart is pounding. I notice his boxers are straining even more now, and I can't help but wonder about what's hidden beneath the fabric. The thought makes me feel things I shouldn't be feeling.">>
<center><img src="images/liora/chapter5/serykntr/boxers/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Sweaty Chest"></center>
<<dialog "Seryk" "faceembarrassed" "Liora..." "Seryk moans my name, his voice thick with desire" "Are you getting better?">>
<<narrative "I look up at him, my face flushed, my lips glistening with his sweat. I can see the way he's looking at me - there's hunger in his eyes, but also concern. I know I should stop, but I can't. The taste is too intoxicating, the feeling too overwhelming. I need more.">>
<center><img src="images/liora/chapter5/serykntr/face/7.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Sweaty Chest"></center>
<<dialog "Liora" "faceembarrassedshortpink" "I need just a bit more," "I whisper, my voice breathless" "Please, let me continue.">>
<<narrative "I continue my exploration, my tongue tracing the contours of his upper abs. Each lick sends jolts of pleasure through my body, and I can feel myself becoming more and more aroused. I shouldn't be enjoying this, but I am. The way his muscles tense beneath my touch, the way he moans my name, the way his body responds to my ministrations - it's all so intoxicating.">>
<center><img src="images/liora/chapter5/serykntr/sweat1b.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Sweaty Chest"></center>
<<dialog "Seryk" "faceembarrassed" "Liora..." "He moans again, his voice barely controlled" "Are you getting better?">>
<<narrative "I can see the way his boxers are straining now, the fabric barely containing what's beneath. I can see the way his erection twitches with each moan, and I can't help but wonder about its size. The thought makes me feel things I've never felt before - excitement, curiosity, and something else I can't quite identify.">>
<center><img src="images/liora/chapter5/serykntr/boxers/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Sweaty Chest"></center>
<<quickRoll "Muscle Fascination" "Liora" 80 3 "MuscleFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "MuscleFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "His muscles are so defined, so powerful. I can feel the strength beneath my tongue, and it's incredibly arousing. I shouldn't be thinking about this, but I can't help it. The way his body responds to my touch, the way he moans my name, the way his muscles tense and flex - it's all so masculine, so dominant. I feel so small and vulnerable in comparison, and I'm starting to enjoy that feeling.">>
<</if>>
<<narrative "I continue licking, moving between his upper chest and upper abs. I can feel his body trembling beneath my touch, and I can hear the way his breathing has become ragged. I know I should stop, but I can't. The taste is too good, the feeling too overwhelming. I'm becoming addicted to this, to him.">>
<<dialog "Seryk" "faceembarrassed" "Liora, please," "Seryk's voice is strained, barely controlled" "It's getting too much...">>
<<dialog "Liora" "faceembarrassedshortpink" "Just a bit more," "I whisper, my voice breathless with desire" "I'm almost done.">>
<<narrative "I continue, my tongue now tracing the line of his boxers. I can feel the heat radiating from beneath the fabric, and I can see the way his erection is straining against the material. It's so much bigger than I imagined, and the thought makes me feel things I shouldn't be feeling.">>
<<dialog "Seryk" "faceembarrassed" "... fuck..." "Seryk's voice is barely a whisper now" "I can't hold back anymore...">>
<<narrative "Before I can react, Seryk reaches down and pulls his boxers down. His erection springs free, and I'm completely shocked by its size. It's massive - as big around as my arm and longer than I could have imagined. I can't help but stare, my mouth hanging open in surprise.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Massive Erection"></center>
<<dialog "Seryk" "faceembarrassed" "Sorry, Liora," "Seryk's voice is thick with desire and shame" "I can't hold back. Please... let me masturbate.">>
<<quickRoll "Shock and Awe" "Liora" 80 3 "MuscleFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "MuscleFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "I can't stop staring at it. It's so big, so intimidating, so... masculine. I've never seen anything like it before, and I can't help but feel a mixture of fear and fascination. I know I shouldn't be looking, shouldn't be thinking about it, but I can't help myself. The way it throbs, the way it's so much bigger than anything I've ever seen - it's overwhelming and strangely arousing.">>
<</if>>
<<narrative "I feel terrible. Seryk has always helped me, always been there for me, and now I've hurt him. I can see the conflict in his eyes, the way he's trying to control himself but failing. I know I should say no, should leave, but I can't. I'm too weak, too curious, too... aroused.">>
<<dialog "Liora" "faceembarrassedshortpink" "Okay," "I whisper, my voice barely audible" "But I don't want to do anything. I just... I'll stay here.">>
<<dialog "Seryk" "faceembarrassed" "Thank you," "Seryk's voice is thick with relief and desire" "You don't have to do anything. Just let me look at you...">>
<<narrative "I can see the way he's looking at me, his eyes filled with hunger and desire. I know I should feel ashamed, should feel guilty, but instead I feel... powerful. The way he's looking at me, the way his body is responding to my presence - it's intoxicating. I know this is wrong, but I can't help but enjoy it.">>
<<continueBox "Chapter5LioraSerykMasturbation" "Continue" "">>
</div>
<</nobr>>
<<pov "liora" "intimatech5a.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0;">🦋 Hidden Passage Revealed 🦋</h2>
</div>
<<narrative "*The team approaches the mysterious entrance, pink mist swirling around the ancient stone archway. At the top, a delicate butterfly symbol is carved into the weathered stone.*">>
<center><img src="images/landscapes/lustdungeonentrance.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $marielTransformationMother === true>>
<<dialog "Mariel" "face" "Oh my goodness, sweetheart!" "Mariel gasps, her motherly instincts kicking in" "This is absolutely incredible! A dungeon entrance - I've only seen one before in all my travels, and it was absolutely terrifying!">>
<<else>>
<<dialog "Mariel" "face" "This... this is incredible," "Mariel whispers, her voice filled with awe" "A dungeon entrance. I've only seen one before in all my travels.">>
<</if>>
<<dialog "Rylan" "face" "What exactly are dungeons?" "I ask, stepping closer to examine the butterfly symbol">>
<<if $marielTransformationMother === true>>
<<dialog "Mariel" "faceworried" "Oh honey, let me explain this to you," "she says in a patient, teaching tone" "These are ancient magical relics - no one knows where they come from, but they're filled with incredible treasures like magical weapons and artifacts worth fortunes. But sweetheart, they're also incredibly dangerous, and I don't want you getting hurt!">>
<<else>>
<<dialog "Mariel" "faceworried" "Ancient magical relics," "she explains, her expression growing serious" "No one knows where they come from, but they're filled with incredible treasures - magical weapons, artifacts worth fortunes. But they're also incredibly dangerous.">>
<</if>>
<<dialog "Seryk" "faceworried" "How dangerous are we talking?" "Seryk asks, his usual confidence wavering">>
<<if $marielTransformationMother === true>>
<<dialog "Mariel" "faceworried" "Oh dear, it was absolutely horrible," "she says, her voice trembling with maternal concern" "Without Gairos, we never would have survived the last one. We lost one companion completely, and another lost an arm. Even with his power, it was a close thing. I don't want you to ever experience something like that, my sweet!">>
<<else>>
<<dialog "Mariel" "faceworried" "Without Gairos, we never would have survived the last one," "she says grimly" "We lost one companion completely, and another lost an arm. Even with his power, it was a close thing.">>
<</if>>
<<dialog "Rylan" "face" "But what about the treasures?" "I can't help but ask, my eyes drawn to the swirling pink mist">>
<<if $marielTransformationMother === true>>
<<dialog "Mariel" "faceworried" "Now listen carefully, dear," "she says, taking on a protective motherly tone" "At the heart of each dungeon lies a magic core - a small crystal that powers the entire structure. Gairos gained tremendous power from the one we found, and they're worth hundreds of thousands of gold, at least. But honey, that doesn't mean they're worth risking your life for!">>
<<else>>
<<dialog "Mariel" "faceworried" "At the heart of each dungeon lies a magic core - a small crystal that powers the entire structure. Gairos gained tremendous power from the one we found. They're worth hundreds of thousands of gold, at least.">>
<</if>>
<<dialog "Rylan" "face" "Hundreds of thousands?!" "My voice cracks with excitement" "We'll be rich!">>
<<if $marielTransformationMother === true>>
<<dialog "Mariel" "faceangry" "Absolutely not, young man!" "she snaps, her maternal authority coming through" "It's far too dangerous for you! We should report this to the guild. They'll give us a small share - usually a few thousand gold. That's much safer than risking your life, sweetheart!">>
<<else>>
<<dialog "Mariel" "faceangry" "Of course not!" "she snaps, her patience clearly wearing thin" "It's far too dangerous! We should report this to the guild. They'll give us a small share - usually a few thousand gold.">>
<</if>>
<<dialog "Nimeria" "faceangry" "NO!" "Nimeria's voice rings out, sharp and unexpected" "We won't!">>
<<narrative "*Everyone turns to stare at Nimeria, shocked by the usually innocent girl's sudden outburst. Her eyes are burning with an intensity none of us have seen before.*">>
<<dialog "Nimeria" "faceangry" "This is exactly what we need!" "she continues, her voice trembling with emotion" "Now that we have Gairos on us!">>
<<if $marielTransformationMother === true>>
<<dialog "Mariel" "faceworried" "Nimeria, dear, you don't understand," "Mariel says, stepping closer to the entrance with maternal concern" "I can feel a tremendous amount of mana concentrated in here. T-this place is dangerous! Far too dangerous for any of us, especially my dear!">>
<<else>>
<<dialog "Mariel" "faceworried" "Nimeria, you don't understand," "Mariel says, stepping closer to the entrance" "I can feel a tremendous amount of mana concentrated in here. T-this place is dangerous! Far too dangerous!">>
<</if>>
<<if $marielTransformationMother === true>>
<<dialog "Mariel" "faceworried" "Maybe even for Gairos alone, sweetheart!" "she adds, her voice filled with maternal worry">>
<<else>>
<<dialog "Mariel" "faceworried" "Maybe even for Gairos alone!">>
<</if>>
<<dialog "Nimeria" "faceangry" "Even more reason to take it for ourselves! Once Gairos is done with us, do you really believe he will let us live? He will kill us once he is done." "she counters, her voice growing more desperate">>
<<if $marielTransformationMother === true>>
<<dialog "Mariel" "faceangry" "So you want us to speed up the progress, young lady?!" "Mariel's voice rises with maternal frustration" "I won't allow my child to be put in danger like this!">>
<<else>>
<<dialog "Mariel" "faceangry" "So you want us to speed up the progress?!" "Mariel's voice rises with frustration">>
<</if>>
<<dialog "Liora" "faceangryshortpink" "Guys, stop it!!!" "Liora's voice cuts through the argument like a knife">>
<<narrative "*Everyone falls silent, shocked that the usually shy Liora would react this way. Tears are streaming down her face.*">>
<<dialog "Liora" "facecryingshortpink" "Aren't we all friends?!" "she sobs" "So why do we fight each other?">>
<<dialog "Rylan" "faceworried" "Liora..." "I step forward, my heart heavy" "Let us all vote on what we do?">>
<<narrative "*Everyone nods in agreement, the tension slowly easing as we prepare to make this decision together.*">>
<<if $marielTransformationMother === true>>
<<dialog "Mariel" "faceworried" "I'm absolutely against it, my dear," "she says firmly, her maternal protectiveness coming through" "I won't risk your safety for any amount of treasure!">>
<<else>>
<<dialog "Mariel" "faceworried" "I'm against it," "she says firmly">>
<</if>>
<<dialog "Thalor" "faceworried" "... I'm in favor," "he says, looking directly at Nimeria">>
<<if $marielTransformationMother === true>>
<<dialog "Mariel" "faceworried" "Thalor?!" "she gasps, clearly shocked by her husband's decision" "How could you agree to put our child in such danger?!">>
<<else>>
<<dialog "Mariel" "faceworried" "Thalor?!" "she gasps, clearly shocked by her husband's decision">>
<</if>>
<<dialog "Liora" "faceworriedshortpink" "I vote against it..." "she whispers, still wiping away tears">>
<<dialog "Serin" "faceworried" "I'm voting against it," "she says after a moment of thought">>
<<narrative "*I think back to Veloria's warning about one of us dying. What's the right decision here? Will they die if we explore the dungeon, or if we don't? The weight of this choice feels crushing.*">>
<<dialog "Rylan" "faceangry" "Arrgh, this is too stupid!" "I finally snap" "I'm in favor!">>
<<dialog "Nimeria" "facehappy" "Absolutely in favor, of course," "she says, a small smile playing on her lips">>
<<dialog "Rylan" "faceworried" "So we have three in favor, three against. Seryk, you decide.">>
<<dialog "Seryk" "faceworried" "I think this is too dangerous..." "he begins, then looks at Nimeria, who is practically pleading with her eyes">>
<<dialog "Seryk" "faceworried" "... Nimeria. Can I fully trust you with this?">>
<<dialog "Nimeria" "facehappy" "... Yes. We will need it. Promised.">>
<<dialog "Seryk" "faceworried" "... I'm in favor.">>
<<dialog "Nimeria" "facehappy" "Yes!">>
<<dialog "Rylan" "faceworried" "Then let's rest for today. No one speaks about the discovery. Tomorrow we'll explore it.">>
<<continueBox "Chapter5NimeriaEvening" "Go Home and rest for today..." "">>
<<changeAffection "Rylan" "Mariel" 1>>
<<changeAffection "Mariel" "Rylan" 1>>
<<changeAffection "Nimeria" "Rylan" 1>>
<<changeAffection "Rylan" "Liora" 2>>
<<changeAffection "Liora" "Rylan" 2>>
<<changeAffection "Rylan" "Serin" 1>>
<<changeAffection "Serin" "Rylan" 1>>
<<changeAffection "Rylan" "Seryk" 1>>
<<changeAffection "Seryk" "Rylan" 1>>
<<changeAffection "Mariel" "Thalor" -1>>
<<changeAffection "Mariel" "Nimeria" -1>>
<<changeAffection "Mariel" "Liora" 1>>
<<changeAffection "Liora" "Mariel" 1>>
<<changeAffection "Nimeria" "Thalor" 1>>
<<changeAffection "Nimeria" "Seryk" 2>>
<<changeAffection "Seryk" "Nimeria" 1>>
</div>
<</nobr>>
<<pov "rylan" "mystical.mp3">><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 112, 184, 0.95), rgba(241, 147, 183, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/mira/faceangry2.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Mira">
<div id="memory-text" style="color: #FF69B4; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"Cursed child, who will burn the world? I hope she will!"
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5Memory11">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 112, 184, 0.95), rgba(241, 147, 183, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/mira/faceangry2.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Mira">
<div id="memory-text" style="color: #FF69B4; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
...who will burn the world?
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5Memory10B">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 112, 184, 0.95), rgba(241, 147, 183, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/mira/faceangry2.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Mira">
<div id="memory-text" style="color: #FF69B4; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
I hope she will!
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5Memory11">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 112, 184, 0.95), rgba(241, 147, 183, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/mira/faceangry2.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Mira">
<div id="memory-text" style="color: #FF69B4; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"If this is healing, let it hurt!"
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5ChapterEnd">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 112, 184, 0.95), rgba(241, 147, 183, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/mira/faceangry2.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Mira">
<div id="memory-text" style="color: #FF69B4; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"...let it hurt"
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5ChapterEnd">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 112, 184, 0.95), rgba(241, 147, 183, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/mira/facemaid.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Mira">
<div id="memory-text" style="color: #FF69B4; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"... small dick, tall dick? Is this some kind of sick joke?"
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5Memory3">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(139, 69, 19, 0.95), rgba(160, 82, 45, 0.9), rgba(139, 69, 19, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/azgorth/facesad.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Azgorth">
<div id="memory-text" style="color: #DDA0DD; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"...My children are the world to me, and I..."
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5Memory4">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(139, 69, 19, 0.95), rgba(160, 82, 45, 0.9), rgba(139, 69, 19, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/azgorth/facesad.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Azgorth">
<div id="memory-text" style="color: #DDA0DD; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"I'm sorry,"
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5Memory4A">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(139, 69, 19, 0.95), rgba(160, 82, 45, 0.9), rgba(139, 69, 19, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/azgorth/facesad.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Azgorth">
<div id="memory-text" style="color: #DDA0DD; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
...I will save my world...
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5Memory5">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(139, 69, 19, 0.95), rgba(160, 82, 45, 0.9), rgba(139, 69, 19, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/azgorth/faceserious.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Azgorth">
<div id="memory-text" style="color: #DDA0DD; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"... A spell of healing, not destruction..."
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5Memory6">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(139, 69, 19, 0.95), rgba(160, 82, 45, 0.9), rgba(139, 69, 19, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/azgorth/faceserious.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Azgorth">
<div id="memory-text" style="color: #DDA0DD; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"...the spell that will remake this world's very foundations..."
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5Memory6A">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 112, 184, 0.95), rgba(241, 147, 183, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/mira/faceworried.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Mira">
<div id="memory-text" style="color: #FF69B4; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"..."
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5Memory6B">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 112, 184, 0.95), rgba(241, 147, 183, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/mira/faceworried.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Mira">
<div id="memory-text" style="color: #FF69B4; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"I'll cast the spell..."
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5Memory7">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 112, 184, 0.95), rgba(241, 147, 183, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/mira/faceworried.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Mira">
<div id="memory-text" style="color: #FF69B4; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"...Zmaldrik Taldrik!..."
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5Memory8">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 112, 184, 0.95), rgba(241, 147, 183, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/mira/faceworried.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Mira">
<div id="memory-text" style="color: #FF69B4; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"take my mana, my life...""
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5Memory8B">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 112, 184, 0.95), rgba(241, 147, 183, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/mira/faceworried.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Mira">
<div id="memory-text" style="color: #FF69B4; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5Memory8B">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 112, 184, 0.95), rgba(241, 147, 183, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/mira/faceangry2.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Mira">
<div id="memory-text" style="color: #FF69B4; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"... everything!"
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5Memory8C">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 112, 184, 0.95), rgba(241, 147, 183, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/mira/faceangry2.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Mira">
<div id="memory-text" style="color: #FF69B4; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"...and bring her back to life!"
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5Memory9">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 112, 184, 0.95), rgba(241, 147, 183, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/mira/faceangry2.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Mira">
<div id="memory-text" style="color: #FF69B4; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"I curse you 'heroes'! You and your family!"
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5Memory10">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 112, 184, 0.95), rgba(241, 147, 183, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/mira/faceangry2.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: faceFadeIn 2s ease-out 1s forwards;" alt="Mira">
<div id="memory-text" style="color: #FF69B4; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
</div>
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes faceFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5Memory10">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<nobr>>
<div id="time-transition" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(139, 69, 19, 0.95), rgba(160, 82, 45, 0.9), rgba(139, 69, 19, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; opacity: 1; transition: opacity 2s ease-in-out;">
<div style="text-align: center; color: #E6E6FA; font-size: 2em; text-shadow: 2px 2px 8px rgba(0,0,0,0.3);">
<div style="margin-bottom: 40px; opacity: 0; animation: timeFadeInOut 2s ease-in-out 0s infinite;">Time flows backward like a river...</div>
<div style="margin-bottom: 40px; opacity: 0; animation: timeFadeInOut 2s ease-in-out 1s infinite;">Through years of darkness...</div>
<div style="margin-bottom: 40px; opacity: 0; animation: timeFadeInOut 2s ease-in-out 2s infinite;">To a moment of tragedy...</div>
<div style="margin-bottom: 40px; opacity: 0; animation: timeFadeInOut 2s ease-in-out 3s infinite;">When everything was lost...</div>
<div style="margin-bottom: 40px; opacity: 0; animation: timeFadeInOut 2s ease-in-out 4s infinite;">And only one remained...</div>
</div>
</div>
<style>
@keyframes timeFadeInOut {
0%, 100% { opacity: 0; transform: translateY(30px); }
50% { opacity: 1; transform: translateY(0); }
}
</style>
<script>
setTimeout(() => {
document.getElementById('time-transition').style.opacity = '0';
}, 6000);
setTimeout(() => {
document.getElementById('time-transition').style.display = 'none';
}, 7000);
</script>
<div class="passage-container mira">
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0;">The End of Everything</h2>
</div>
<<narrative "*The world dissolves into memory, and you find yourself in the ruins of a once-magnificent palace. The air is thick with the acrid stench of burning flesh and the metallic tang of spilled blood. This is the aftermath of Azgorth's fall - the demon king lies motionless, his wives scattered like broken dolls across the marble floor. The brown-haired warrior has left nothing but death in his wake, claiming the lives of children and maids alike. Only one soul still draws breath in this ruined castle.*">>
<center><img src="images/landscapes/ruinedthroneroomnight.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "*Mira's body is a testament to the cruelty of fate. Half of her beautiful form is charred black, the skin cracked and weeping. Her legs are numb, lifeless weights that refuse to respond to her desperate commands. With the last remnants of her strength, she drags herself across the blood-slicked floor, leaving a crimson trail as she crawls toward the one person she cannot bear to leave behind.*">>
<<dialog "Mira" "faceangry" "What kind of twisted joke is this?" "Her voice is a raw, broken thing, torn from a throat that has screamed itself hoarse" "I endured decades of torment, clawed my way through hell itself, and when I finally found something beautiful, something worth living for... you snatch it away like it was nothing?">>
<<dialog "Mira" "faceangry" "I curse you all to the deepest pits of damnation!" "She spits the words like acid, each syllable dripping with venomous hatred" "You call yourselves heroes while bathing in the blood of innocents? You think murder becomes noble when you dress it in righteousness?">>
<<dialog "Mira" "faceangry" "And you, Azgorth!" "Her voice cracks with emotion as she turns her fury toward her fallen lord" "You spoke of healing the world, of making things better. But look what your noble intentions brought us! If this world is so broken it needs healing, then let it burn! Let it all turn to ash!">>
<<narrative "*Her trembling fingers find Nimeria's cold hand, and she clasps it desperately. She tries to channel her magic, to summon the healing energies that once flowed so easily through her veins. But her power is as shattered as her body, and nothing responds to her desperate pleas.*">>
<<dialog "Mira" "facecry" "There must be something I can do!" "Her scream echoes through the empty halls, a sound of pure, unadulterated despair" "Tell me my life wasn't meaningless! Tell me I wasn't born just to watch everything I love die!">>
<<narrative "*Then, like a whisper on the wind, she feels it. Something pulses in the air around her, a presence that defies the destruction that surrounds them. Her eyes widen as realization dawns, and for the first time since the massacre began, something like hope flickers in her broken heart.*">>
<<dialog "Mira" "faceworried" "Wait... I can still sense it," "she breathes, her voice barely above a whisper" "The mana from Azgorth's spell... it's still here, still pulsing with life even though the magic circle was destroyed. How is this possible?">>
<<dialog "Mira" "faceworried" "But what good does it do me now?" "she mutters, her strength fading like the last embers of a dying fire" "She is already dead. It's not like I you can bring back...">>
<<narrative "*Her words die in her throat as a thought strikes her with the force of a thunderbolt. Her eyes widen, and in that moment, something shifts in her soul. The despair that had consumed her begins to give way to something else entirely - something dark, something dangerous, something that might just change everything.*">>
<<dialog "Mira" "faceworried" "Wait... what if I could?">>
<<continueBox "Chapter5MirasRevenge" "Continue" "">>
</div>
<</nobr>>
<<pov "mira" "mirasend.mp3">><<script>>window.AudioSystem.playBGM('mirasrealization.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentMiraFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 112, 184, 0.95), rgba(241, 147, 183, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div id="memory-text" style="text-align: center; color: #FF69B4; font-size: 3em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"...it needs a massive amount of magical energy to actually move souls between worlds..."
</div>
</div>
<style>
@keyframes memoryFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
#memory-text {
animation: memoryFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter5Memory2">>
<</timed>>
<<changeFace $currentMiraFace>>
<<statSummary>>
<</nobr>><<nobr>>
<<set $timeOfDay = "morning">>
<<set $rylanNimeriaFootfetish = false>>
<div id="overlay-transition" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(0, 0, 0, 0.95), rgba(139, 69, 19, 0.9), rgba(0, 0, 0, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; opacity: 1; transition: opacity 2s ease-in-out;">
<div style="text-align: center; color: #F5DEB3; font-size: 1.8em; text-shadow: 2px 2px 8px rgba(0,0,0,0.8);">
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 0s infinite;">The past fades like morning mist...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 1s infinite;">Returning to the present...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 2s infinite;">Where the consequences of yesterday's battle...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 3s infinite;">Begin to unfold in unexpected ways...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 4s infinite;">Through different eyes...</div>
</div>
</div>
<style>
@keyframes fadeInOut {
0%, 100% { opacity: 0; transform: translateY(20px); }
50% { opacity: 1; transform: translateY(0); }
}
</style>
<script>
setTimeout(() => {
document.getElementById('overlay-transition').style.opacity = '0';
}, 3000);
setTimeout(() => {
document.getElementById('overlay-transition').style.display = 'none';
}, 5000);
</script>
<div class="passage-container thalor">
<center><img src="images/landscapes/kitchennew.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<narrative "The morning light filters through the kitchen windows, casting long shadows across the familiar wooden table. I make my way downstairs, my footsteps heavy with the weight of yesterday's events. The house feels different now - like a cage we're all trapped in together.">>
<<narrative "To my surprise, Nimeria is already sitting at the kitchen table, her usual gentle smile in place as if nothing has changed. She looks up at me with those red eyes that seem to see right through everything.">>
<<dialog "Nimeria" "facesmile" "Good morning, Thalor! Did you sleep well?">>
<<narrative "I can't help but stutter in response, my anxiety making my voice crack. There's something about her calm demeanor that makes me even more nervous.">>
<<dialog "Thalor" "faceworried" "G-g-good morning... I... I suppose I slept as well as could be expected.">>
<<dialog "Nimeria" "face" "That's good to hear. The morning always brings new possibilities, doesn't it?">>
<<narrative "Soon, $humanName joins us in the kitchen. The moment he appears, Nimeria's smile brightens noticeably, and she greets him with genuine warmth that makes me uneasy.">>
<<if $thalor_rylanGayContent>>
<<narrative "I notice $humanName blushes slightly when he sees me, and he quickly looks away, avoiding eye contact. It's strange behavior - he's never acted this way around me before. I wonder what's gotten into him lately.">>
<</if>>
<<dialog "Nimeria" "facehappy" "Good morning, $humanName! I was just telling Thalor how beautiful the morning light is today.">>
<<narrative "$humanName looks at her briefly, then his expression darkens as he looks angrily somewhere else before sitting down at the table. The tension between them is palpable, and I can feel the weight of unspoken accusations hanging in the air.">>
<<narrative "One by one, the others join us - Mariel, Serin, and Liora. Each arrival adds to the heavy atmosphere in the room.">>
<<if $thalorLioraNtr>>
<<narrative "When Liora enters, she looks at me briefly, then quickly looks away with an embarrassed expression. The memory of last night floods back - how I mistook her for Mariel in the darkness, how I kissed and groped her before realizing my mistake. I feel a deep pang of guilt and shame. I should never have let that happen, and I can see the awkwardness it's created between us.">>
<</if>>
<<narrative "And finally, the sound of heavy footsteps announces Gairos's entrance.">>
<<dialog "Liora" "faceworried" "Mariel, how is Seryk doing? I'm worried about him.">>
<<dialog "Mariel" "faceworried" "He is still sleeping. We can't do more for him for now... The wounds were severe, and even with our combined healing, it will take time.">>
<<dialog "Liora" "faceworried" "I hope he will be fine. He was so brave yesterday, protecting us all.">>
<<dialog "Gairos" "face" "Who cares about him? But I can already tell you your blue friend will either die, or become a cripple. Those wounds were beyond what any healer could mend.">>
<<dialog "Nimeria" "facesmile" "I hope our bet still stands? You seemed so confident in your assessment yesterday.">>
<<dialog "Gairos" "face" "... of course... I don't make bets I can't win.">>
<<dialog "Gairos" "face" "Woman, why I still don't have coffee nor bread?! I've been waiting since I got up!">>
<<dialog "Mariel" "faceangry" "Make them yourself! I'm not your servant! I have more important things to worry about than your breakfast!">>
<<narrative "I inwardly worry about the escalating tension. Then I hear footsteps approaching from the hallway, and I wonder if someone is missing from our gathering. Who could it be?">>
<<narrative "Suddenly, we can hear a big yawning sound. Everyone at the table looks toward the source of the sound - everyone except Nimeria, who maintains her same smile and hasn't moved an inch. It's as if she expected this.">>
<<dialog "Nimeria" "facesmile" "I guess I won the bet? It seems miracles do happen, even in the most unlikely circumstances.">>
<<narrative "The collective gasp from everyone at the table is almost comical. We all turn to see Seryk standing in the doorway, looking completely healthy and unharmed. It's impossible, yet there he is.">>
<<dialog "Liora" "faceshock" "Seryk! You're fine?! How is this possible?!">>
<<dialog "Seryk" "face" "Yep, just a few sore muscles. Nothing a good night's sleep couldn't fix.">>
<<narrative "Gairos stands up from his seat, his chair scraping loudly against the floor as he shouts in disbelief. His face is a mask of shock and confusion.">>
<<dialog "Gairos" "face" "How can this be?! You should be dead, or at least unhealable! Those wounds were fatal!">>
<<narrative "Then he looks toward Mariel and Liora, his expression shifting from shock to suspicion.">>
<<dialog "Gairos" "face" "Was it your doing? Are you truly so powerful? Let me see what you're capable of.">>
<<narrative "Then he uses an analyze spell on both of them, magical energy crackling around his hands as he studies their power levels. The air hums with magical energy.">>
<<dialog "Gairos" "face" "No, your healing powers are strong but not enough to heal such wounds... Mariel's mana circuits got stronger than when we traveled? How can this be? But it's dormant. Looks like you didn't fight much since then... Liora's healing power isn't much inferior to Mariel's. This is amazing. Such a prodigy in such a small village... Still...">>
<<narrative "He looks at Seryk now, his analytical gaze intensifying as he studies the demon's condition. The magical energy around his hands pulses with renewed intensity.">>
<<dialog "Seryk" "face" "That's great Buff Gramps, but could you stop staring at me... I'm shy. And I'd really like some breakfast if that's not too much to ask.">>
<<dialog "Gairos" "face" "... Buff gramps? ... What kind of disrespectful...">>
<<narrative "Then he looks at Nimeria, his expression shifting to one of reluctant admiration. There's something in his eyes that suggests he's beginning to understand just how dangerous she might be.">>
<<dialog "Gairos" "facelaugh" "Well, well! It seems I underestimated you, demon girl. You've earned yourself better accommodations, but don't get too comfortable yet. I still need to verify your story about yesterday's events and confirm neither of you had any involvement in Mistfen Reach's destruction.">>
<<continueBox "GairosInvestigation" "Continue" "">>
</div>
<</nobr>>
<<pov "thalor" "defaultch5.mp3">><<nobr>>
<<set $timeOfDay = "evening">>
<<set $gameDay += 1>>
<div class="passage-container nimeria">
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0;">🌙 Evening Return 🌙</h2>
</div>
<<narrative "*The team returns to the mansion as evening settles over the land. The expedition to Blightwood has left everyone exhausted, but there's a sense of accomplishment in the air.*">>
<<narrative "*Gairos waits in the grand hall, his massive form casting long shadows in the candlelight. His reaction is... not what anyone expected. He's disappointed that no one lost limbs during the expedition, complaining that it was supposed to be a life-or-death experience. Then he singles out Nimeria, ordering her to visit his room later tonight to "discuss something important."*">>
<<narrative "*The team disperses, each heading to their own quarters. But Nimeria lingers in the shadows, her mind racing with dark thoughts.*">>
<<dialog "Nimeria" "faceserious" "Who knows what he wants..." "she mutters to herself, her voice barely a whisper" "Maybe torture me again? Just wait, Gairos!">>
<<narrative "*Her eyes narrow with determination, and a cold smile plays across her lips.*">>
<<dialog "Nimeria" "facesmirk" "Soon I'll pay you back tenfold!">>
<<narrative "*With that dark promise hanging in the air, Nimeria turns and heads toward Gairos's room, her mind already plotting her next moves.*">>
<<narrative "*She arrives at the door to Gairos's private room. A tremendous magical barrier crackles with energy, pulsing with power that makes the air around it feel heavy and oppressive.*">>
<<narrative "*Nimeria stands before the barrier, taking one last deep breath. Her mind races with the possibilities of what awaits her on the other side.*">>
<<dialog "Nimeria" "faceworried" "Here goes nothing..." "she whispers to herself, steeling her resolve">>
<center><img src="images/landscapes/gairosroom.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<dialog "Nimeria" "face" "Master Gairos," "she calls out, her voice steady despite her inner turmoil" "I'm here. Can I come in?">>
<<continueBox "Chapter5NimeriaGairosRoom" "Enter the Room" "">>
</div>
<</nobr>>
<<pov "nimeria" "mystical.mp3">><<nobr>>
<<set $rylanNimeriaFootfetish = true>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<narrative "I take a deep breath, trying to steady my nerves. This is just a massage, I tell myself. Just helping a friend relax. But as I look at her feet, so small and delicate in the black pantyhose, I can feel my heart racing.">>
<<quickRoll "Foot Fetish Resistance" "Rylan" 80 5 "FeetFetish" 3>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 4>>
<<changeFetish "Rylan" "FeetFetish" 0.3>>
<<narrative "I can't help but stare at her feet. They're so beautiful, so perfectly formed. The black pantyhose cling to them like a second skin, and I can see every curve, every toe through the thin fabric. My hands are trembling as I reach for them.">>
<</if>>
<<dialog "Nimeria" "facewet" "Come on, $humanName. Don't be shy. My feet are right here, and they're so sore. I can see you want to touch them. Don't fight it.">>
<<narrative "She slowly rolls onto her back, her legs spreading slightly as she lifts her feet toward me. The black pantyhose are still damp with sweat from the thigh massage, and they cling to her feet like a second skin. I can see the outline of every toe, every arch, and the way the fabric stretches over her soles.">>
<center><img src="images/nimeria/chapter5/rylan/feet/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria feet massage start"></center>
<<narrative "My hands hover over her feet, and I can feel the heat radiating from them through the thin fabric. The scent of her is overwhelming now - a mix of her natural fragrance, the heat from the massage, and something else that makes my head swim. I start with gentle circular motions on her arches, feeling the muscles beneath the silky material.">>
<<quickRoll "Scent Overwhelm" "Rylan" 80 5 "SmellFetish" 4>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 5>>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<<narrative "Her scent is intoxicating. I can't help but inhale deeply, drawn to her unique fragrance. It's not like anything I've smelled before - something primal and seductive that makes my arousal spike. I find myself leaning closer, breathing her in as I massage her feet.">>
<</if>>
<<dialog "Nimeria" "facewet" "Mmm... that feels amazing. Your hands are so strong, so skilled. I can feel every muscle relaxing. But... but I think I want you to be even more thorough. Don't hold back, $humanName. I want to feel completely relaxed.">>
<center><img src="images/nimeria/chapter5/rylan/feet/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria feet massage start"></center>
<<narrative "I work my way from her arches to her toes, being extra gentle and thorough. The black pantyhose are incredibly smooth, and I can feel every curve of her feet through the thin fabric. She's breathing more heavily now, and I can see her chest rising and falling with each breath.">>
<<narrative "As I massage her toes, she lets out a soft moan, and I can feel her feet flexing slightly in my hands. The black fabric is now thoroughly damp with sweat, making it cling even more provocatively to her skin. I can see the outline of every toe through the dark material, and the sight is incredibly arousing.">>
<center><img src="images/nimeria/chapter5/rylan/feet/2a.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria feet massage start"></center>
<<dialog "Nimeria" "facewet" "Oh yes... that's exactly what I need. You're so good at this. I can feel myself getting so relaxed, so... so aroused. Your touch is driving me crazy, $humanName. I want more.">>
<<quickRoll "Arousal Control" "Rylan" 70 5 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 6>>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<narrative "I can feel my arousal growing with every touch, every moan she makes. The way she's responding to my massage is incredibly seductive, and I find myself wanting to please her more, to hear more of those soft sounds. I'm losing control, and part of me doesn't want to stop.">>
<</if>>
<<narrative "Suddenly, she sits up on the bed, her legs still spread, and holds her feet toward me more insistently. The black pantyhose are now thoroughly damp and cling to every curve of her feet like a second skin. She's looking at me with those intense eyes, and I can see the desire burning there.">>
<center><img src="images/nimeria/chapter5/rylan/feet/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria sitting up seductively"></center>
<<dialog "Nimeria" "facewet" "Don't stop, $humanName. I want you to continue. I can see how much you're enjoying this. Your hands are trembling, your breathing is getting faster. You want this as much as I do. Don't deny it.">>
<<narrative "She's right. I can feel my hands trembling as I continue massaging her feet, and my breathing is definitely getting faster. The way she's looking at me, the way she's holding her feet toward me so insistently, it's incredibly seductive. I'm losing myself in the moment.">>
<center><img src="images/nimeria/chapter5/rylan/feet/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria sitting up seductively"></center>
<<dialog "Nimeria" "facewet" "Mmm... yes, that's it. I can feel your hands getting more confident, more... more intimate. You're not holding back anymore, are you? I can see it in your eyes, $humanName. You're enjoying this as much as I am.">>
<<narrative "I can feel my arousal growing with every touch, every moan she makes. The way she's responding to my massage is incredibly seductive, and I find myself wanting to please her more, to hear more of those soft sounds. I'm working her feet more thoroughly now, my thumbs pressing into her arches, my fingers working between her toes through the damp black pantyhose.">>
<center><img src="images/nimeria/chapter5/rylan/feet/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria sitting up seductively"></center>
<<dialog "Nimeria" "facewet" "Oh gods... that feels incredible. You're hitting all the right spots. I can feel myself getting so... so aroused. Your touch is driving me crazy, $humanName. I want you to be even more thorough. Don't rush. Take your time with every inch of my feet.">>
<center><img src="images/nimeria/chapter5/rylan/feet/6.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria sitting up seductively"></center>
<<continueBox "Chapter5NimeriaFootMassageKiss" "Continue" "">>
</div>
<</nobr>>
<<pov "rylan" "intimatech5.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<narrative "I'm completely lost in the sensation now. The black pantyhose are thoroughly damp with sweat, making them cling to every curve of her feet like a second skin. I can see the outline of every toe, every arch through the dark fabric, and the sight is incredibly arousing. I'm massaging her feet with increasing intensity, my hands moving from her arches to her toes, then to her soles, being extra thorough as she requested.">>
<<quickRoll "Pantyhose Fascination" "Rylan" 60 5 "ClothingFetish" 3>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 3>>
<<changeFetish "Rylan" "ClothingFetish" 0.2>>
<<narrative "The way the black pantyhose cling to her feet is mesmerizing. Every curve, every arch, every toe is perfectly outlined through the thin, damp fabric. I can't help but stare at how the material stretches and clings, creating such an intimate view of her feet. The sight is incredibly arousing.">>
<</if>>
<<dialog "Nimeria" "facewet" "Perfect... absolutely perfect. I can feel every muscle in my feet relaxing, every tension melting away. But... but I think I want something more intimate now. Something more... personal. I want you to kiss them, $humanName. Just a little kiss, to show me how much you care. I can see you want to. Don't fight it anymore.">>
<center><img src="images/nimeria/chapter5/rylan/feet/kiss1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria feet close up"></center>
<<quickRoll "Kiss Temptation" "Rylan" 70 5 "FeetFetish" 4>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 4>>
<<changeFetish "Rylan" "FeetFetish" 0.3>>
<<narrative "The thought of kissing her feet sends waves of arousal through me. I can imagine how soft the pantyhose would feel against my lips, how intimate it would be. My heart races and I can feel my hands trembling with anticipation. I want this so badly.">>
<</if>>
<<narrative "My heart stops for a moment. Kiss her feet? That's... that's too much. I can't do that. But as I look at her feet, so small and delicate in the black pantyhose, I can feel my resistance crumbling. The thought of kissing them is incredibly arousing, and I can feel my erection pressing against my pants.">>
<<dialog "Rylan" "faceembarrassed" "I... I can't do that. That's too much. This is just a massage, remember?">>
<<dialog "Nimeria" "facewet" "Oh, $humanName. You're so adorable when you're flustered. I can see how much you want to. Your hands are shaking, your face is red. Just one little kiss. It won't hurt anyone. I promise.">>
<<continueBox "Chapter5NimeriaFootMassageKiss2" "Continue" "">>
</div>
<</nobr>>
<<pov "rylan" "intimatech5.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/malekiss.mp3" 1>>
<div class="passage-container rylan">
<center><img src="images/nimeria/chapter5/rylan/feet/kiss2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria feet close up"></center>
<<quickRoll "Final Resistance" "Rylan" 80 5 "FeetFetish" 3>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 8>>
<<changeFetish "Rylan" "FeetFetish" 0.5>>
<<narrative "I can't resist anymore. The sight of her feet, the way she's looking at me, the overwhelming scent of her - it's all too much. I lean forward slowly, my heart pounding, and press my lips gently against the top of her foot through the black pantyhose. The fabric is incredibly soft, and I can feel the warmth of her skin beneath.">>
<<else>>
<<narrative "I try to resist, I really do. But as I look at her feet, so small and delicate in the black pantyhose, I can feel my willpower crumbling. The thought of kissing them is incredibly arousing, and despite my best efforts, I find myself leaning forward. My heart pounding, I press my lips gently against the top of her foot through the thin fabric.">>
<</if>>
<<dialog "Nimeria" "facewet" "That wasn't a kiss, $humanName. That was barely a touch. I want a real kiss. Show me how much you care about my feet. I can see you want to do more. Don't hold back.">>
<<quickRoll "Submission Urge" "Rylan" 75 5 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 3>>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<narrative "Her commanding tone sends shivers down my spine. The way she's ordering me around, telling me what to do - it's incredibly arousing. I can feel myself wanting to submit, to do exactly what she asks. The power dynamic is intoxicating.">>
<</if>>
<<narrative "She's right. That was barely a kiss. I can feel my arousal growing with every word she says, every look she gives me. The way she's holding her feet toward me, the way she's encouraging me to go further, it's incredibly seductive. I'm losing myself in the moment.">>
<<narrative "I lean forward again, this time more deliberately. I can see her feet clearly now, so small and delicate in the black pantyhose. The fabric is damp with sweat and clings to every curve. I press my lips against her foot more firmly this time, feeling the softness of the fabric and the warmth of her skin beneath.">>
<center><img src="images/nimeria/chapter5/rylan/feet/kiss3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria feet close up"></center>
<<quickRoll "Scent Overwhelm" "Rylan" 70 5 "SmellFetish" 4>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 4>>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<<narrative "The scent of her feet through the damp pantyhose is intoxicating. I can smell her natural fragrance mixed with the heat and sweat from the massage, creating an incredibly arousing combination. I find myself breathing deeply, drawn to her unique scent like a moth to flame.">>
<</if>>
<<dialog "Nimeria" "facewet" "Mmm... that's better. I can feel your lips on my feet. It's so intimate, so... so arousing. I want more, $humanName. Kiss them again. Show me how much you love them.">>
<<narrative "I'm losing myself in the sensation. The softness of the black pantyhose against my lips, the warmth of her skin beneath, the way she's responding to my touch - it's all incredibly arousing. I find myself kissing her feet more passionately, moving from the top of her foot to her toes, then to her sole.">>
<center><img src="images/nimeria/chapter5/rylan/feet/kiss4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria feet close up"></center>
<<quickRoll "Passion Surge" "Rylan" 60 5 "FeetFetish" 5>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 5>>
<<changeFetish "Rylan" "FeetFetish" 0.4>>
<<narrative "I'm completely consumed by passion now. Every kiss, every touch of her feet against my lips sends waves of arousal through me. I can't get enough of the sensation - the soft fabric, the warmth of her skin, the way she responds to my touch. I'm kissing them with increasing desperation and need.">>
<</if>>
<<dialog "Nimeria" "facewet" "Yes... yes, that's it. I can feel your passion, your desire. You're not holding back anymore. I can see how much you love this, how much you love my feet. Don't stop, $humanName. Keep going.">>
<<narrative "I'm in a trance now, completely lost in the sensation of kissing her feet. The black pantyhose are incredibly soft against my lips, and I can feel every curve of her feet through the thin fabric. I'm kissing them lovingly, passionately, as if they're the most precious things in the world.">>
<center><img src="images/nimeria/chapter5/rylan/feet/kiss5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria feet close up"></center>
<<narrative "I'm kissing her feet over and over, moving from her toes to her arches to her soles, completely lost in the moment. The scent of her is overwhelming, and I can feel my arousal growing with every kiss. I'm not thinking about anything else, just the sensation of her feet against my lips.">>
<center><img src="images/nimeria/chapter5/rylan/feet/kiss6.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria feet close up"></center>
<<quickRoll "Reality Check" "Rylan" 85 5 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 2>>
<<narrative "I'm so lost in the moment that I barely register what I'm doing. The sensation of kissing her feet, the way she's responding, the overwhelming arousal - it's all consuming me completely. I'm not thinking about consequences or morality, just pure sensation and desire.">>
<</if>>
<<dialog "Nimeria" "facewet" "Oh gods... this is incredible. I can feel your passion, your devotion. You're kissing my feet like you worship them. I can see how much you love this, how much you need this. You're mine now, $humanName. Completely mine.">>
<<narrative "Suddenly, I realize what I'm doing. I'm kissing her feet passionately, completely lost in the moment, and I can feel my erection pressing painfully against my pants. What am I doing? This is wrong. I have Liora. I need to stop.">>
<<dialog "Rylan" "faceembarrassed" "I... I need to stop. This is getting out of hand. We should end this here.">>
<<dialog "Nimeria" "facewet" "Oh, $humanName. You're so adorable when you're embarrassed. I can see how much you enjoyed that. Your face is red, your hands are shaking, and I can see exactly how aroused you are. Don't worry, I won't tell anyone. This will be our little secret.">>
<<narrative "I can feel my face burning with embarrassment. She's right - I did enjoy it, more than I should have. The way her feet felt against my lips, the way she responded to my touch, it was incredibly arousing. But this is wrong. I have Liora. I need to get control of myself.">>
<<changeAffection "Rylan" "Nimeria" 1>>
<<changeAffection "Nimeria" "Rylan" 2>>
<<changeAttraction "Rylan" "Nimeria" 3>>
<<changeAttraction "Nimeria" "Rylan" 1>>
<<changeLust "Rylan" 5>>
<<changeFetish "Rylan" "SmellFetish" 0.4>>
<<changeFetish "Rylan" "FeetFetish" 0.4>>
<<continueBox "Chapter5NimeriaMassageHandjob" "Continue" "">>
</div>
<</nobr>>
<<pov "rylan" "intimatech5.mp3">><<nobr>>
<div class="passage-container nimeria">
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0;">🔮 The Master's Chambers 🔮</h2>
</div>
<<narrative "*Nimeria wipes away her tears, trying to compose herself. She needs to change the subject before Gairos gets too suspicious.*">>
<<dialog "Nimeria" "faceworried" "So... how was the fight against Azgorth?" "she asks, trying to sound casual despite the lump in her throat">>
<<dialog "Gairos" "faceworried" "... fierce," "Gairos says, his expression darkening at the memory" "Azgorth was a tremendous enemy. His Barrier was even able to stop my strongest spell, and that says a lot.">>
<<dialog "Gairos" "faceworried" "I had to use a dirty trick to get through his barrier.">>
<<dialog "Nimeria" "faceexcited" "What kind of spell?" "she asks enthusiastically, her eyes lighting up with genuine curiosity">>
<<dialog "Gairos" "face" "A self-created spell. Javelin," "he explains, his voice taking on a proud tone" "The idea was to pour as much mana just into the tip of a spell. The result: it goes through mountains like butter.">>
<<dialog "Gairos" "faceworried" "But still, Azgorth's barrier could hold it.">>
<<dialog "Nimeria" "faceexcited" "Wow, so cool!" "she exclaims, clapping her hands together" "But I guess the downside is the mana cost?">>
<<dialog "Gairos" "face" "Exactly," "he confirms with a nod" "I have to basically use all my mana just for this one spell.">>
<<dialog "Nimeria" "faceexcited" "I'd like to see it some time!" "she says with genuine excitement">>
<<dialog "Gairos" "facesmile" "Maybe I'll use it on you, demon girl!" "he says jokingly, though there's a hint of something darker in his tone">>
<<dialog "Nimeria" "faceworried" "Haha, I sure hope not," "she replies, forcing a laugh that doesn't quite reach her eyes">>
<<continueBox "Chapter5NimeriaGairosRoom" "Continue?" "">>
</div>
<</nobr>>
<<pov "nimeria" "gairosnimeriatalk.mp3">><<nobr>>
<div class="passage-container nimeria">
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0;">🔮 The Master's Chambers 🔮</h2>
</div>
<<narrative "*The magical barrier parts like water, and Nimeria steps into Gairos's private chambers. What she sees makes her jaw drop.*">>
<<narrative "*The walls are covered in scribbled notes and complex magic circles. Papers and scrolls litter the floor like autumn leaves. Gairos's massive desk is buried under layers of ancient tomes and grimoires.*">>
<center><img src="images/landscapes/gairosroominside.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria feet close up"></center>
<<dialog "Gairos" "face" "Ah, Nimeria! Thanks for coming," "Gairos says, looking up from a particularly thick book" "I know it's late, but I've got something that's been driving me crazy for years.">>
<<dialog "Nimeria" "face" "What's got you so worked up, Master?" "she asks, trying to sound casual while her eyes dart around the chaotic room">>
<<dialog "Gairos" "faceworried" "After I killed Azgorth, I basically learned every spell I was interested in," "he explains, rubbing his temples" "All but one. This one spell... it gives me a headache just thinking about it.">>
<<dialog "Gairos" "faceworried" "I've been trying to figure out what this spell does for years, but I'm hitting a wall. As you said, it's hard to talk with idiots. But maybe since you're a 'demon', you might have some insight I'm missing.">>
<<dialog "Nimeria" "faceworried" "What kind of spell are we talking about?" "she asks, her curiosity piqued despite herself">>
<<dialog "Gairos" "face" "Azgorth's last spell. He was killed before it could activate, but I'm still obsessed with figuring out what it was supposed to do. Come here, let me show you the magic circle.">>
<<narrative "*Gairos leads her to one of the walls where a massive, intricate magic circle is drawn. The design is unlike anything Nimeria has ever seen.*">>
<center><img src="images/items/magiccircle.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria feet close up"></center>
<<dialog "Gairos" "face" "This is a really unusual magic circle. Normally, if there's a loop, it's to speed up mana flow and shoot it out at one point to increase power. But this thing... it's more like a labyrinth.">>
<<dialog "Gairos" "face" "The goal seems to be storing mana. What's even more intriguing is that the circle itself isn't that important. The mana stays inside even when the circle is destroyed, and you can still drain it from the exit.">>
<<dialog "Gairos" "faceworried" "Both the mana entrance and exit are at different points too. Honestly, the more I talk about it, the less sense it makes.">>
<<dialog "Gairos" "face" "But let me show you practically. You see when I put mana in the small circle at the bottom right, it gets stored in the main circle. I can drain it from the small circle in the top left.">>
<center><img src="images/items/magiccircle2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria feet close up"></center>
<<dialog "Gairos" "faceworried" "I didn't even realize this until after his death. The main magic circle to store the mana was around his throne. The entrance was on a pillar at the bottom right near the throne, and the exit was at a pillar in the top left corner.">>
<<dialog "Gairos" "face" "That's where his maids and children were hiding.">>
<<narrative "*At the mention of her family and maids, Nimeria feels her mask nearly slip. She has to swallow hard to keep her emotions in check.*">>
<<dialog "Gairos" "faceworried" "Any ideas? Azgorth said he wanted to heal the world with this spell, but all it did was store a tremendous amount of mana. Azgorth was anything but a fool - if anything, he was a genius!">>
<<narrative "*Nimeria's mind races with memories. Her father never told them what the spell was for, but it seemed important to him since he protected it with all his might, putting all his mana inside. Even their mothers put most of their mana inside before they fought the "heroes"...*">>
<<dialog "Nimeria" "faceworried" "A useless spell... needs a huge tremendous amount of mana... healing something important..." "she mutters, piecing it together">>
<<narrative "*In that moment, Nimeria realizes the truth and can't stop her tears flowing...*">>
<<dialog "Gairos" "faceworried" "You know something? Anything?!" "he demands, his voice rising with excitement">>
<center><img src="images/items/magiccircle.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria feet close up"></center>
<<dialog "Nimeria" "facesmile" "No... Azgorth truly was a fool," "she says, forcing a smile through her tears" "The spell truly was useless.">>
<<continueBox "Chapter5MirasEnd" "Continue?" "">>
</div>
<<pov "nimeria" "gairosnimeriatalk.mp3">>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<<dialog "Rylan" "facesad" "I'm sorry, Nimeria... I can't. I just can't.">>
<<narrative "The words feel like lead in my mouth, and I can see the light in her eyes dimming as I speak. I hate that I'm hurting her, but I have to be honest. I can't give her what she wants, what she deserves.">>
<<dialog "Rylan" "face" "I have Liora. She's my everything, and I can't betray her like that. I won't.">>
<<if $nimeriaMassageChoice>>
<<narrative "And now, thinking about what we did earlier... I feel sick with guilt. That was cheating. I cheated on Liora, the person I love most in this world. How could I have been so weak? How could I have let myself get carried away like that?">>
<<dialog "Rylan" "faceembarrassed" "What we did earlier... that was wrong. We went too far.">>
<<addSoulCorruption "rylan" 1>>
<div id="soulCorruptionAnimation" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; display: none;">
<div style="background: radial-gradient(circle, rgba(139, 0, 0, 0.9), rgba(220, 20, 60, 0.8)); border-radius: 50%; width: 200px; height: 200px; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 50px rgba(139, 0, 0, 0.6); animation: corruptionPulse 2s ease-in-out;">
<div style="text-align: center; color: white; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
<h3 style="margin: 0; font-size: 1.5em;">💀 Soul Corruption 💀</h3>
<p style="margin: 5px 0; font-size: 1.1em;">$humanName +1</p>
</div>
</div>
</div>
<script>
setTimeout(function() {
const animation = document.getElementById('soulCorruptionAnimation');
if (animation) {
animation.style.display = 'block';
setTimeout(function() {
animation.style.display = 'none';
}, 2000);
}
}, 100);
</script>
<style>
@keyframes corruptionPulse {
0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
20% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
80% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
100% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
}
</style>
<</if>>
<<dialog "Nimeria" "facesad" "I understand, $humanName." "Her voice is quiet, controlled, but I can hear the pain beneath the surface" "I always knew this was a possibility. I just... I hoped it wouldn't be true.">>
<<narrative "I can see her trying to put on a brave face, but the way her shoulders slump and the way she won't quite meet my eyes tells me everything I need to know.">>
<<dialog "Rylan" "face" "I'm so sorry, Nimeria. You deserve someone who can give you everything you want, everything you need. That person just... that person can't be me.">>
<<narrative "The room feels heavy with unspoken words and broken dreams. I want to reach out to her, to comfort her somehow, but I know that would only make things worse. Sometimes the kindest thing you can do is walk away, even when it hurts both of you.">>
<<continueBox "Chapter5NimeriaRylanTalkConclusion2" "Continue..." "">>
<<if $nimeriaMassageChoice>>
<<changeAffection "Rylan" "Nimeria" -5>>
<</if>>
</div>
<<pov "rylan" "defaultch5.mp3">>
<</nobr>><<nobr>>
<<set $humanNameHaremMindset += 1>>
<div class="passage-container rylan">
<<dialog "Rylan" "face" "Yes... I think I could. I think I could love someone like you, Nimeria... But I won't.">>
<<narrative "The words feel both terrifying and heartbreaking as they leave my lips. I can feel something shifting inside me, some barrier breaking down that I didn't even know existed. Looking into her eyes, I realize that maybe I've been fighting against this feeling for longer than I want to admit. But I have to be honest with myself, and with her.">>
<<dialog "Rylan" "face" "I have Liora. She's... she's everything to me. And society would never accept us. I can't do that to her, I can't make her sad. I won't.">>
<<dialog "Nimeria" "facehappy" "Oh, $humanName..." "Her voice is barely a whisper, but I can hear the emotion in it" "You have no idea how much that means to me. To hear you say that you could love someone like me... even if the circumstances aren't right now, it gives me hope.">>
<<dialog "Nimeria" "facehappy" "I understand why you can't pursue this now. You're loyal to Liora, and that's beautiful. But knowing that you could love me... that's enough for now. Maybe someday... or in another life...">>
<<addSoulBlessing "rylan" 1>>
<<narrative "A strange warmth spreads through my body, and I feel... lighter somehow. Like a weight I've been carrying has been lifted. Maybe this is what it feels like to finally be honest with yourself about what you really want.">>
<<if $nimeriaMassageChoice>>
<<narrative "And when I think about what we shared earlier... I realize I don't feel bad about it at all. It felt right, natural. The way she touched me, the way she looked at me with such desire and affection - it wasn't just physical pleasure.">>
<<addSoulBlessing "rylan" 1>>
<div id="soulBlessingAnimation" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; display: none;">
<div style="background: radial-gradient(circle, rgba(255, 215, 0, 0.9), rgba(255, 165, 0, 0.8)); border-radius: 50%; width: 200px; height: 200px; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 50px rgba(255, 215, 0, 0.6); animation: pulse 2s ease-in-out;">
<div style="text-align: center; color: white; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
<h3 style="margin: 0; font-size: 1.5em;">✨ Soul Blessing ✨</h3>
<p style="margin: 5px 0; font-size: 1.1em;">$humanName +1</p>
</div></div></div>
<script>
setTimeout(function() {
const animation = document.getElementById('soulBlessingAnimation');
if (animation) {
animation.style.display = 'block';
setTimeout(function() {
animation.style.display = 'none';
}, 2000);
}
}, 100);
</script>
<style>
@keyframes pulse {
0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
20% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
80% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
100% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
}
</style>
<</if>>
<<continueBox "Chapter5NimeriaRylanTalkConclusion2" "Continue" "">>
<<set $rylanNimeriaLove = 1>>
<<changeAffection "Rylan" "Nimeria" 5>>
<<changeAffection "Nimeria" "Rylan" 5>>
<<if $nimeriaMassageChoice>>
<<changeAffection "Rylan" "Nimeria" 3>>
<</if>>
</div>
<<pov "rylan" "defaultch5.mp3">>
<</nobr>><<nobr>>
<div class="passage-container nimeria">
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0;">Nimeria's Manipulation</h2>
</div>
<<narrative "*Knock knock knock*">>
<<narrative "I look up from my book, surprised by the unexpected visitors. When I open the door, I have to suppress a delighted smirk - Liora and Seryk standing together. How... interesting.">>
<<dialog "Nimeria" "facesmile" "Oh! What a pleasant surprise," "I say, playing the innocent girl perfectly" "Please, come in!">>
<<narrative "As they enter, I immediately notice the state they're in. My eyes widen dramatically, and I can't help but let out a theatrical gasp.">>
<<dialog "Nimeria" "faceangry" "Gods above, Seryk!" "I exclaim, wrinkling my nose" "You absolutely reek!">>
<<dialog "Nimeria" "facewet" "*sniff* Oh my... Liora, but you smell absolutely divine." "I whisper, my voice taking on a dreamy quality">>
<<narrative "I can already piece together what happened between them, but I want to hear it from their own lips. The manipulation will be so much more effective that way.">>
<<dialog "Nimeria" "facesmirk" "But tell me," "I say, settling into my chair" "what exactly do you need help with?">>
<<dialog "Liora" "faceembarrassedshortpink" "Well... it's complicated," "she begins hesitantly" "a few days ago, during a mission I was attacked by goblins, and I... I used too much healing magic on myself. My magic circuits overloaded.">>
<<dialog "Liora" "facesadshortpink" "Seryk... his saliva was able to regenerate my mana. It worked at first, but then... it suddenly didn't help much anymore. His sweat actually worked better.">>
<<thought "Nimeria" "facesmileeerie" "This is absolutely perfect. Seryk, you magnificent bastard, you have corruption running through your very essence! Even while playing the noble holy knight with your overloaded sense of justice, you still managed to corrupt the innocent flower girl. The irony is delicious.">>
<<dialog "Nimeria" "faceworried" "Oh, Liora, that must have been so painful," "I say, my voice dripping with false concern" "Why did you never tell me? We're best friends, right?">>
<<dialog "Liora" "faceconfusedshortpink" "Best friends?" "she asks, confusion evident in her voice">>
<<dialog "Nimeria" "facesad" "Oh... did I only think so?" "I whisper, my voice trembling slightly" "I thought we were closer than that...">>
<<dialog "Liora" "facehappyshortpink" "Oh no, I would be absolutely happy to be best friends with you!" "she exclaims">>
<<dialog "Nimeria" "facehappy" "I'm so happy!" "I squeal, throwing my arms around her in a tight embrace" "This means so much to me!">>
<<dialog "Seryk" "faceworried" "Nimeria... can you just answer the questions?" "he asks, his voice tinged with irritation">>
<<dialog "Nimeria" "facetongue" "The third wheel should shut up!" "I snap, sticking my tongue out at him childishly">>
<<narrative "Then I return my attention to Liora, my expression becoming more serious and knowledgeable.">>
<<dialog "Nimeria" "facesmirk" "Now, about your mana problem," "I begin, adopting a scholarly tone" "Your body has learned it can get mana from other sources, so it's naturally lowered your internal mana regeneration. It's a survival adaptation.">>
<<dialog "Liora" "faceworriedshortpink" "But why am I getting so much less mana from his saliva now?" "she asks">>
<<dialog "Nimeria" "facesmirk" "Attraction," "I say simply" "That's the key. The more lust Seryk feels, the stronger the effect. Over time, you need to put in a little more effort to get the same result.">>
<<dialog "Liora" "facecryingshortpink" "I can't keep cheating on $humanName," "she whispers, her voice breaking" "What am I supposed to do?">>
<<dialog "Nimeria" "facesmirk" "Simple," "I say smoothly" "Stop taking his body fluids. In a few months, your mana regeneration should go back to normal.">>
<<dialog "Liora" "facepanicshortpink" "B-but I can't wait months!" "she exclaims" "Our party will fall apart without my healing!">>
<<dialog "Nimeria" "facesmirk" "Then keep doing it," "I suggest simply">>
<<dialog "Liora" "faceangryshortpink" "But... that's cheating," "Liora protests weakly">>
<<dialog "Nimeria" "facesmirk" "It's only 'cheating' because someone told you to believe it is," "I say dismissively" "Is drinking milk cheating?">>
<<dialog "Liora" "faceconfusedshortpink" "Of course not," "she says">>
<<dialog "Nimeria" "facesmile" "Then why is drinking his body fluids cheating, but not milk from a cow?" "I press, my voice taking on a more challenging tone">>
<<dialog "Liora" "faceworriedshortpink" "Because... he's a person," "she finally says">>
<<dialog "Nimeria" "facesmile" "Would you drink dog milk?" "I ask">>
<<dialog "Liora" "facedisgustedshortpink" "Ew, no!" "she exclaims, making a face">>
<<dialog "Nimeria" "facesmile" "What about a stranger's breast milk?" "I continue">>
<<dialog "Liora" "faceangryshortpink" "Definitely not. That's disgusting," "Liora says firmly">>
<<dialog "Nimeria" "facesmirk" "And why is that?" "I demand" "Go on, explain to me why it's perfectly normal to drink the milk of a cow-an animal-but not from another animal, and not from your own species unless you're a baby.">>
<<dialog "Liora" "faceconfusedshortpink" "...I have no idea," "she finally admits">>
<<dialog "Nimeria" "facesmile" "Exactly," "I say, my voice taking on a more serious, almost pitying tone" "Because, like so many things, people decided some things are 'okay' and others aren't. They force society to follow their rules, and no one questions them. Honestly, it's disgusting. How can no one ever question this?">>
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<p style="color: #E6E6FA; font-style: italic; margin: 10px 0; line-height: 1.6;">I lean forward again, my tone sharpening as I begin the real psychological manipulation.</p>
<div style="clear: left;"></div></div>
<<dialog "Nimeria" "facesmirk" "It's called social conditioning-you've been hearing the same thing since you were a child, so of course it feels like truth. Like how they say kissing is fine, but if I poured saliva into a cup and you drank it, suddenly that's 'gross'? Same liquid, same mouth... but one is 'romantic' and the other is 'wrong.' How stupid is that?">>
<<narrative "I can see the wheels turning in Liora's mind as I continue my assault on her moral framework.">>
<<dialog "Nimeria" "facesmirk" "Then there's cultural conditioning-beliefs tied to traditions so old no one even remembers why they started. Like how you can crack open a chicken's egg and eat it without a second thought, but if I offered you a stranger's breast milk, you'd recoil. Why? Both come from a mammal. One is breakfast, the other is 'disgusting' because someone, somewhere, told you so.">>
<<narrative "I let out a bitter laugh, shaking my head.">>
<<dialog "Nimeria" "facesmirk" "Some of these things are just arbitrary taboos-completely made-up prohibitions. Eating insects? In some places, it's normal. In others, it's treated like poison. Wearing certain clothes? Fine in one country, scandalous in another. You see the pattern? None of it is real-it's all pretend rules.">>
<<dialog "Nimeria" "facesmirk" "And tradition bias? Don't even get me started. People only believe some things because 'it's always been that way.' Like this idiotic idea that you only take a man's fluids if you're romantically involved with him. Why? Who decided that? And why are you letting them tell you what's right for you?">>
<<narrative "I lean back, folding my arms across my chest, my tone dropping to something colder and more calculating.">>
<<dialog "Nimeria" "facesmirk" "You've been living inside a cage built by other people, Liora," "I say softly" "They've convinced you that stepping outside makes you 'bad.' But the truth is... it only makes you free.">>
<<narrative "Liora stares at me, her mind clearly reeling from my words. I can see the internal conflict playing out across her face.">>
<<dialog "Liora" "faceworriedshortpink" "...And what does this have to do with Seryk?" "she finally asks">>
<<dialog "Nimeria" "facesmirk" "Everything!" "I exclaim" "Do you take his body fluids because you're in love with him more than $humanName?">>
<<dialog "Liora" "faceangryshortpink" "No..." "she says firmly">>
<<dialog "Nimeria" "facesmirk" "Then it's just treatment. Medical necessity," "I say simply" "If you don't believe it's cheating, then it isn't.">>
<<dialog "Liora" "faceworriedshortpink" "But others won't see it that way..." "she protests weakly">>
<<dialog "Nimeria" "facesmirk" "Stop worrying about 'others,'" "I say firmly" "Care about the ones who matter. You know it's necessary, and I'm sure $humanName would understand if you explained it.">>
<<dialog "Liora" "faceembarrassedshortpink" "...Alright. I'll think about it," "she says softly">>
<<narrative "I squeeze her hand reassuringly, but inside I'm practically giddy with success. The seeds have been planted, the moral barriers weakened. Liora's journey down the path of corruption has just taken a significant step forward.">>
<<changeAffection "Liora" "Nimeria" 1>>
<<changeAffection "Nimeria" "Liora" 1>>
<<addSoulCorruption "nimeria" 1>>
<<dialog "Nimeria" "facesmile" "That's all I ask," "I say gently" "Just think about what I've said. The truth has a way of making itself known when you're ready to see it.">>
<<narrative "*Inner monologue: Oh, this is going to be absolutely delightful. Liora, my innocent little flower, you have no idea how thoroughly I've just dismantled your moral compass. By the time you realize what's happening, it will be far too late. And Seryk... you magnificent demon, you're doing my work for me without even knowing it. The corruption spreads, one innocent soul at a time.*">>
<<continueBox "Chapter5BlightwoodPreparations" "Return to the expedition" "">>
</div>
<<pov "nimeria" "nimeria.mp3">>
<</nobr>>
<script>
setTimeout(function() {
const animation = document.getElementById('soulCorruptionAnimation');
if (animation) {
animation.style.display = 'block';
setTimeout(function() {
animation.style.display = 'none';
}, 2000);
}
}, 100);
</script>
<style>
@keyframes corruptionPulse {
0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
20% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
80% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
100% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
}
</style><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<narrative "I take a deep breath, trying to steady my nerves as I approach the bed. This feels... intimate, more intimate than I expected.">>
<<quickRoll "Composure Check" "Rylan" 80 5 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 3>>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<narrative "I try to steady my breathing, but the intimate atmosphere is getting to me. My hands feel unsteady as I approach the bed, and I can't help but notice how vulnerable she looks lying there.">>
<</if>>
<<changeAffection "Rylan" "Nimeria" 1>>
<<changeAttraction "Rylan" "Nimeria" 0.5>>
<<dialog "Nimeria" "faceworried.webp" "Just... just start with my shoulders, okay? They're so tense from all the stress today. I can feel every muscle knot from here.">>
<<narrative "Nimeria slowly lies down on her stomach, the fabric of her dress stretching across her back. She reaches behind her neck and begins to loosen the straps, the fabric falling away to reveal smooth, pale skin. I can see the tension in her shoulders even from here - tight knots that look painful to the touch.">>
<center><img src="images/nimeria/chapter5/rylan/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria on bed"></center>
<<narrative "I sit down beside her on the bed, my hands hovering uncertainly over her exposed shoulders. The skin there is soft and warm, and I can feel the heat radiating from her body. She smells... incredible. Not like perfume or soap, but something deeper, more primal. It's intoxicating in a way I can't quite explain.">>
<<quickRoll "Scent Resistance" "Rylan" 80 5 "SmellFetish" 3>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 2>>
<<changeFetish "Rylan" "SmellFetish" 0.1>>
<<narrative "Her scent is intoxicating - a mix of something sweet and musky that makes my head spin. I try to focus on the massage, but I keep finding myself inhaling deeply, drawn to her unique fragrance.">>
<</if>>
<<dialog "Rylan" "faceworried.webp" "I'll start gently. Let me know if I'm pressing too hard or if you want me to focus on a specific area.">>
<<narrative "My hands finally make contact with her skin, and I'm immediately struck by how soft and smooth it is. I start with gentle circular motions on her shoulders, feeling the tension beneath my fingertips. The muscles there are like steel cords, and I can feel them gradually relaxing as I work.">>
<center><img src="images/nimeria/chapter5/rylan/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria on bed"></center>
<<quickRoll "Touch Resistance" "Rylan" 80 5 "BreastFetish" 3>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 2>>
<<changeFetish "Rylan" "BreastFetish" 0.1>>
<<narrative "As I work my hands lower, I can't help but notice the curves of her body. The way her dress clings to her form is distracting, and I find my gaze lingering longer than it should. I need to focus on the massage, not... other things.">>
<</if>>
<<dialog "Nimeria" "facewet.webp" "Mmm... that feels amazing. You have such strong hands, $humanName. I can feel the tension just melting away. Could you... could you go a bit lower? My upper back is killing me too.">>
<<narrative "I move my hands lower, working along her spine. The dress has fallen away more, revealing the smooth expanse of her back. Her skin is flawless, not a blemish or scar in sight. As I work my way down, I can feel her breathing becoming deeper, more relaxed. She's practically purring with contentment.">>
<<dialog "Nimeria" "facewet.webp" "Oh gods, yes... right there. You're hitting all the right spots. My waist is so sore from all the tension. Could you work on that area too? I promise I won't ask for anything inappropriate.">>
<center><img src="images/nimeria/chapter5/rylan/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria on bed"></center>
<<narrative "I continue downward, my hands now working around her waist. The fabric of her dress is bunched up here, and I can feel the curve of her hips beneath my palms. She's so... shapely. I try to focus on the massage, but I can't help noticing how perfectly proportioned she is. The scent of her is even stronger now, making my head swim slightly.">>
<<quickRoll "Hip Touch Resistance" "Rylan" 80 5 "AssFetish" 3>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 3>>
<<changeFetish "Rylan" "AssFetish" 0.2>>
<<narrative "My hands are dangerously close to her hips now, and I can feel the warmth radiating from her skin. The curve of her body is so... inviting. I have to force myself to keep my touch professional, but it's getting harder to resist the urge to explore further.">>
<</if>>
<<dialog "Nimeria" "facewet.webp" "This is... this is so much better than I expected. Your hands are like magic, $humanName. I feel like I'm floating. But... but I think it would be easier if I took this dress off. It's getting in the way, and I want you to be able to really work on all the sore spots.">>
<<narrative "My heart starts pounding as Nimeria slowly sits up. The dress is already loose from the loosened straps, and as she moves, it slides down her shoulders. Beneath the dress, I can see she's wearing black pantyhose that cling to her body like a second skin. The dark fabric hugs every curve of her breasts, her stomach, and her hips, making her figure even more alluring. I have to look away, but not before I feel a familiar stirring in my pants that I desperately try to ignore.">>
<<quickRoll "Nudity Resistance" "Rylan" 80 5 "ExhibitionismFetish" 3>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 4>>
<<changeFetish "Rylan" "ExhibitionismFetish" 0.2>>
<<narrative "The sight of her in just the black pantyhose is overwhelming. I can feel my heart racing and my breathing becoming shallow. There's something incredibly erotic about her lying there, the dark fabric clinging to every curve of her body, trusting me to touch her through the thin material. I have to force myself to look away, but the image is already burned into my mind.">>
<</if>>
<center><img src="images/nimeria/chapter5/rylan/back.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria undressing"></center>
<<dialog "Rylan" "faceembarrassed.webp" "I... I should probably go. This is getting a bit... um... intimate for just a massage.">>
<<dialog "Nimeria" "faceworried.webp" "Please don't go. I promise, this is just for the massage. I'm not trying to seduce you or anything. I just... I just want to feel better. My muscles are so sore, and you're the only one who can help. Please?">>
<<narrative "She looks so vulnerable, so genuinely in need of help. And she's right - this is just a massage. I'm being ridiculous. But as she lies back down on her stomach, now wearing only the black pantyhose, I can feel my arousal growing despite my best efforts to control it. The way the dark fabric clings to her body is incredibly distracting. I have to focus on the task at hand.">>
<center><img src="images/nimeria/chapter5/rylan/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria undressing"></center>
<<narrative "I resume the massage, now working through the thin black pantyhose. The fabric is incredibly smooth and silky, and as I work my way down her back, I can feel every muscle, every curve through the material. When I reach her waist, I'm careful to stay on the sides, avoiding her... more intimate areas. But I can't help the occasional glimpse of her breasts through the dark fabric as she shifts position, and each time I do, I feel my arousal spike.">>
<center><img src="images/nimeria/chapter5/rylan/6.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria undressing"></center>
<<dialog "Nimeria" "facewet.webp" "Mmm... that feels so good. You're so good at this. But... but I think you can touch wherever you want. I trust you, $humanName. If you need to work on a certain area, don't hold back. I want to feel completely relaxed.">>
<<narrative "My hands pause for a moment. She's giving me permission to touch her... anywhere. The thought is intoxicating, and I can feel my erection pressing against my pants. I want to touch her ass, to feel the soft curves there, to explore her body in ways that have nothing to do with massage. But I think of Liora, of the relationship we have, and I force myself to stay focused.">>
<center><img src="images/nimeria/chapter5/rylan/7.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria thighs massage start"></center>
<<narrative "Instead, I move lower, working on her thighs through the black pantyhose. The fabric is incredibly smooth and silky, and as I massage, I can feel the muscles beneath. I start with gentle kneading motions, working from the top of her thighs down toward her knees.">>
<<narrative "She spreads her legs slightly to give me better access, and when I look up, I have to suppress a gasp. The black pantyhose cling to her thighs, now damp with sweat, and I can see the outline of her body through the dark fabric. It's beautiful and incredibly arousing. I have to look away quickly, but the image is burned into my mind.">>
<<quickRoll "Voyeurism Resistance" "Rylan" 80 5 "VoyeurismFetish" 3>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 4>>
<<changeFetish "Rylan" "VoyeurismFetish" 0.2>>
<<narrative "I know I shouldn't look, but I can't help myself. The sight of her spread legs in the black pantyhose, the dark fabric clinging to her thighs, is incredibly arousing. I feel like a voyeur, but I can't tear my eyes away. There's something primal about watching her like this through the thin material, knowing she's unaware of my gaze.">>
<</if>>
<center><img src="images/nimeria/chapter5/rylan/8.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria thighs massage start"></center>
<<narrative "The whole time, I'm wondering about her scent. It's not like anything I've smelled before - not perfume, not soap, not even her natural body odor. It's something else entirely, something that makes my head swim and my arousal spike. Is it her shampoo? Some kind of lotion? Or is it something more... primal? The thought makes me shiver.">>
<<dialog "Nimeria" "facewet.webp" "Oh yes... that's exactly what I need. My thighs are so sore from all the walking today. Please be thorough with them, $humanName. Don't rush.">>
<center><img src="images/nimeria/chapter5/rylan/9.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria thighs massage start"></center>
<<narrative "I can feel her muscles tensing and relaxing beneath my hands as I work. The black pantyhose are starting to cling even more to her skin as she begins to sweat slightly from the massage. The scent of her becomes more intense, mixing with the heat radiating from her body.">>
<center><img src="images/nimeria/chapter5/rylan/10.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria thighs massage start"></center>
<center><img src="images/nimeria/chapter5/rylan/11.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria thighs massage deeper"></center>
<<narrative "I increase the pressure, working deeper into the muscle tissue. She lets out a soft moan as I hit a particularly tight spot, and I can see her body arching slightly against the bed. The black fabric is now glistening with a thin sheen of sweat, making it cling even more provocatively to her curves.">>
<center><img src="images/nimeria/chapter5/rylan/12.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria thighs massage intense"></center>
<<dialog "Nimeria" "facewet.webp" "Mmm... yes, right there. That spot is so tight. You're... you're really good at this. I can feel the tension just melting away.">>
<<narrative "I work my way down to her inner thighs, being extra careful and gentle. The skin there is incredibly sensitive, and I can feel her muscles quivering beneath my touch. She's breathing more heavily now, and I can see small beads of sweat forming on her forehead and neck.">>
<center><img src="images/nimeria/chapter5/rylan/13.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria inner thighs massage"></center>
<<narrative "As I continue working, she starts to moan more frequently, soft sounds that escape her lips despite her best efforts to stay quiet. The black pantyhose are now damp with sweat, clinging to every curve and contour of her thighs. I can feel the heat radiating from her skin through the thin fabric.">>
<<dialog "Nimeria" "facewet.webp" "Oh gods... that feels so good. I'm getting so... so relaxed. Your hands are like magic, $humanName. I can feel myself getting all sweaty. This is exactly what I needed.">>
<<narrative "I finish with her outer thighs, working the muscles there thoroughly. She's now completely relaxed, her body limp and pliant beneath my hands. The black pantyhose are thoroughly damp with sweat, making them cling to her skin like a second skin. The scent of her is overwhelming now - a mix of her natural fragrance, the heat from the massage, and something else that makes my head swim.">>
<center><img src="images/nimeria/chapter5/rylan/15.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria thighs massage complete"></center>
<<narrative "I work my way down to her calves, then her ankles. The skin there is just as soft, and I can feel her relaxing more and more with each touch. But as I reach her feet, I pause, uncertain about continuing further.">>
<<dialog "Nimeria" "faceworried.webp" "What's wrong, $humanName? Don't you want to massage my feet too? They could really use a massage after all the walking today.">>
<<if $rylan_FeetFetish >= 5>>
<<narrative "She wiggles her toes slightly, and I can't help but stare. Her feet are so small and delicate in the black pantyhose, each toe perfectly formed. The fabric clings to them like a second skin, and I can see the outline of her toes through the dark material. My heart starts racing as I imagine touching them, feeling their softness beneath my hands. The thought is intoxicating.">>
<<dialog "Nimeria" "facewet.webp" "Look at my toes, $humanName. So small and delicate, aren't they? I bet they'd feel amazing under your strong hands. You can be gentle with them, I trust you completely.">>
<<else>>
<<narrative "I look down at her feet, small and delicate in the black pantyhose. They do look like they could use some attention after all the walking today. I've never really thought about feet in that way before, but now that she's mentioned it, I can see how they might be sore and in need of a good massage.">>
<<dialog "Nimeria" "facewet.webp" "Come on, $humanName. My feet are right here and they're so sore. Don't leave them hanging like this. I promise they won't bite.">>
<</if>>
<<choiceBox "Foot Massage" "Massage Her Feet (Foot fetish)" "Chapter5NimeriaFootMassage" "Chapter5NimeriaMassage=feet" "Continue Without Feet" "Chapter5NimeriaMassageHandjob" "Chapter5NimeriaMassage=no_feet">>
</div>
<<pov "rylan" "intimatech5.mp3">>
<</nobr>><<nobr>>
<<playLoopingSounds "sounds/hsounds/blowjob.mp3" 1>>
<<set $rylanNimeriaCumKiss = false>>
<div class="passage-container rylan">
<<narrative "I'm still reeling from the intense handjob, my entire body trembling with need and frustration. The way she kept stopping just before I could climax has left me desperate for release. I can feel my erection throbbing in her hand, and I'm so close to begging her to continue.">>
<<quickRoll "Desperation Overwhelm" "Rylan" 70 5 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 4>>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<narrative "The desperation is overwhelming me completely. I can feel myself losing control, my body trembling with need. The way she's been teasing me, keeping me on the edge without release, it's making me want to submit to anything she asks. I'm so desperate I can barely think straight.">>
<</if>>
<center><img src="images/nimeria/chapter5/rylan/hj/7.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria giving handjob"></center>
<<dialog "Nimeria" "facewet" "Mmm... you're so beautiful like this, $humanName. So desperate, so needy. I can feel you trembling in my hand. You want release so badly, don't you? Well, since we're just friends helping each other out...">>
<<narrative "Her voice trails off as she slowly lowers her head toward my erection. I can feel her warm breath against my sensitive skin, and the anticipation is almost unbearable. My heart is pounding so hard I'm sure she can hear it. What is she planning to do?">>
<<quickRoll "Oral Temptation" "Rylan" 75 5 "SalivaFetish" 3>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 3>>
<<changeFetish "Rylan" "SalivaFetish" 0.2>>
<<narrative "The thought of her mouth on me sends waves of arousal through my body. I can imagine the warmth, the wetness, the intimate connection. My heart races and I can feel my erection twitching with anticipation. I want this so badly.">>
<</if>>
<<narrative "Suddenly, I feel something warm and wet against the tip of my penis. It takes me a moment to realize what's happening - she's licking me! The sensation is incredible, her tongue soft and warm as it traces delicate circles around the most sensitive part of my body.">>
<center><img src="images/nimeria/chapter5/rylan/bj/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria licking Rylan"></center>
<<dialog "Rylan" "faceembarrassed" "Nimeria! What are you... what are you doing? That's... that's too much!">>
<<dialog "Nimeria" "facewet" "Oh, $humanName... don't be so dramatic. This is just two friends helping each other out, remember? You're clearly in need of relief, and I'm just being a good friend. Besides...">>
<center><img src="images/nimeria/chapter5/rylan/bj/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria licking Rylan"></center>
<<narrative "She pauses her licking just long enough to speak, her breath hot against my skin. The way she's looking up at me, with those intense eyes and that knowing smile, it's incredibly arousing. I can feel my resistance crumbling even further.">>
<<dialog "Nimeria" "facewet" "Besides, you taste absolutely divine. I can't help myself. You're just... perfect for me. The way you smell, the way you taste, it's intoxicating. I want to savor every moment of this.">>
<<quickRoll "Scent Overwhelm" "Rylan" 70 5 "SmellFetish" 4>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 4>>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<<narrative "Her scent is intoxicating, overwhelming my senses completely. I can smell her natural fragrance mixed with arousal and desire, creating an incredibly seductive combination. I find myself breathing deeply, drawn to her unique scent like a moth to flame.">>
<</if>>
<<narrative "Her words send shivers down my spine, and I can feel my erection twitching in response. The way she's talking about me, about how I taste and smell... it's incredibly flattering and arousing. I'm finding it harder and harder to maintain my resistance.">>
<center><img src="images/nimeria/chapter5/rylan/bj/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria licking more intensely"></center>
<<narrative "She resumes her licking with even more enthusiasm, her tongue now working the tip with increased intensity while her hand strokes up and down my shaft. The combination of her warm, wet tongue on the most sensitive part and her hand working the length creates an incredible sensation that makes me gasp.">>
<<narrative "I can hear soft moans escaping from her throat as she works, and the sound is incredibly arousing. She's clearly enjoying this as much as I am, and the thought that she finds me so appealing is making my arousal spike even higher. I'm already close to climax from the handjob, and this is pushing me over the edge.">>
<<dialog "Nimeria" "facewet" "Mmm... you're getting even harder, $humanName. I can feel you pulsing in my mouth. You're so responsive, so perfect. I love how you react to my touch. You're absolutely delicious.">>
<<narrative "Her words are like honey, dripping into my ears and clouding my thoughts. The way she's praising me, telling me how perfect I am, how delicious I taste... it's incredibly flattering and arousing. I can feel my resistance completely crumbling now.">>
<center><img src="images/nimeria/chapter5/rylan/bj/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria sucking the tip"></center>
<<narrative "Suddenly, I feel her lips wrap around the tip of my penis, and I let out an involuntary moan. The sensation is incredible - warm, wet, and perfectly tight. She's not taking me deep, just the tip, but it's enough to drive me wild with desire.">>
<center><img src="images/nimeria/chapter5/rylan/bj/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria sucking the tip"></center>
<<narrative "She starts moving her head up and down, but it's clear this is new to her. Her movements are a bit awkward and uncertain, but somehow that makes it even more arousing. She's only using her lips for now, just sucking on the tip, and even that simple action feels incredible. I can feel myself building up to climax faster than ever before.">>
<<dialog "Nimeria" "facewet" "Mmm... $humanName. I can feel you getting harder, getting closer. But I want this to last longer... I want to savor every moment with you.">>
<center><img src="images/nimeria/chapter5/rylan/bj/6.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria sucking the tip"></center>
<<narrative "She's deliberately keeping me on the edge, her lips working the tip with just enough pressure to drive me wild but not enough to push me over. It's maddening and incredibly arousing at the same time. I can feel my entire body trembling with need.">>
<center><img src="images/nimeria/chapter5/rylan/bj/7.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria sucking the tip"></center>
<<dialog "Nimeria" "facewet" "You're so close, aren't you? I can feel you pulsing, feel you trembling. But I want to try something else... I want to use my tongue too. Let me see what that feels like.">>
<<quickRoll "Tongue Exploration" "Rylan" 65 5 "SalivaFetish" 4>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 5>>
<<changeFetish "Rylan" "SalivaFetish" 0.4>>
<<narrative "The thought of her tongue exploring me sends waves of pure arousal through my body. I can imagine the wet, warm sensation, the intimate exploration. My heart races and I can feel my erection throbbing with anticipation. I want to feel her tongue on every inch of me.">>
<</if>>
<<narrative "Suddenly I feel her tongue join the action, slowly exploring the tip alongside her lips. At first it's tentative, uncertain, but she quickly discovers what works. The combination of her warm, wet lips and her soft, exploring tongue is absolutely overwhelming.">>
<center><img src="images/nimeria/chapter5/rylan/bj/8.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria sucking the tip"></center>
<<dialog "Nimeria" "facewet" "Oh yes... this is perfect, $humanName! I can feel you responding so much more now. it's like I was made for this!">>
<center><img src="images/nimeria/chapter5/rylan/bj/9.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria sucking the tip"></center>
<<narrative "She's found her rhythm now, her lips and tongue working in perfect harmony on the tip. It's incredible how quickly she's learned what feels good - she's discovered exactly where to focus her attention and how to keep me right on the edge of climax without going over.">>
<center><img src="images/nimeria/chapter5/rylan/bj/10.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria sucking the tip"></center>
<<quickRoll "Climax Anticipation" "Rylan" 60 5 "SubmissionFetish" 5>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 6>>
<<changeFetish "Rylan" "SubmissionFetish" 0.4>>
<<narrative "I'm completely consumed by the anticipation of climax. Every touch, every word she says drives me closer to the edge. I can feel myself losing control, submitting completely to her will. The way she's controlling my pleasure is intoxicating and I never want it to stop.">>
<</if>>
<<dialog "Nimeria" "facewet" "Oh yes... I can feel you getting so close, $humanName. You're trembling, your breathing is getting faster. You're going to cum for me, aren't you? I want to taste it all. I want to savor every drop of you.">>
<<narrative "Her words are the final straw. The way she's talking about wanting to taste me, about savoring every drop... it's incredibly arousing. I can feel the pressure building inside me.">>
<center><img src="images/nimeria/chapter5/rylan/bj/11.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria intensifying the blowjob"></center>
<<narrative "I'm so close now, I can feel my entire body tensing with anticipation. Despite her inexperience, her mouth is working me incredibly well, her tongue and lips creating sensations I've never experienced before. She's only working the tip, but she's discovered exactly where to focus her attention. The way she's looking up at me, with those hungry eyes and that knowing smile...">>
<center><img src="images/nimeria/chapter5/rylan/bj/12.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria intensifying the blowjob"></center>
<<dialog "Nimeria" "facewet" "Mmm... you're so close, aren't you, $humanName? I can feel you throbbing in my mouth, getting harder and harder. You're going to cum for me, and I want every single drop. Don't hold back... give me everything you have.">>
<<narrative "Her words are driving me absolutely wild. The way she's talking about wanting my cum, about not wanting me to hold back... it's incredibly arousing and flattering. I can feel the pressure building inside me like a coiled spring, and I know I'm about to explode.">>
<center><img src="images/nimeria/chapter5/rylan/bj/13.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan climaxing"></center>
<<dialog "Rylan" "facewet" "Nimeria... I can't... I'm going to...">>
<<dialog "Nimeria" "facewet" "Come for me, $humanName. Fill my mouth with your cum. I want to taste you!">>
<<continueBox "Chapter5NimeriaMassageBlowjob2" "Continue" "">>
</div>
<<pov "rylan" "intimatech5.mp3">>
<</nobr>><<nobr>>
<<stopLoopingAndPlay "sounds/hsounds/cum.mp3">>
<div class="passage-container rylan">
<center><img src="images/nimeria/chapter5/rylan/bj/14.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan climaxing"></center>
<<dialog "Rylan" "facewet" "I'm... I'm cumming! Oh gods, Nimeria!">>
<<narrative "Suddenly, I can't hold back anymore. The pressure inside me reaches its breaking point, and I feel myself erupting into her mouth. The sensation is incredible, waves of pleasure crashing through my entire body as I climax harder than I ever have before. Her inexperience actually makes it more intense - she's not pulling away, just holding me there as I cum.">>
<center><img src="images/nimeria/chapter5/rylan/bj/end.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan climaxing"></center>
<<narrative "I can feel her moaning around my tip as I cum, the vibrations sending additional waves of pleasure through my body. She's not pulling away, not stopping - she's just holding me there, taking everything I have to give. Her inexperience makes it even more intimate and arousing even as I'm climaxing.">>
<<dialog "Rylan" "facewet" "Oh... oh gods...">>
<<narrative "As the last waves of my orgasm fade away, I collapse back onto the bed, completely spent. My entire body is trembling, and I can barely catch my breath. That was the most intense climax I've ever experienced, and I'm still trying to process what just happened.">>
<<dialog "Nimeria" "facewet" "Mmm... $humanName. You taste even better than I imagined.">>
<<narrative "She slowly lifts her head, and I can see her mouth is still full. She's not swallowing yet - instead, she's holding my cum in her mouth, savoring the taste. The sight is incredibly erotic, and I can feel my arousal starting to build again despite just climaxing.">>
<center><img src="images/nimeria/chapter5/rylan/bj/cumshow.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria showing the cum on her tongue"></center>
<<narrative "Slowly, she opens her mouth and sticks out her tongue, showing me the white fluid pooled there. The sight is incredibly erotic and intimate - she's displaying my cum like it's a precious treasure, something to be admired and savored.">>
<center><img src="images/nimeria/chapter5/rylan/bj/cumshow2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria showing the cum on her tongue"></center>
<<narrative "Then, slowly and deliberately, she begins to crawl up my body, her eyes never leaving mine. I can see the cum still pooled on her tongue as she gets closer and closer to my face. I'm still in a post-orgasm haze, my mind foggy and confused. What is she doing? Why is she getting so close?">>
<<dialog "Nimeria" "facewet" "Mmm... $humanName. I want to share this with you. I want you to taste what you gave me. Don't you want to know how delicious you are?">>
<<narrative "She's now hovering just inches above my face, her cum-covered tongue still extended. I can smell the musky scent of my own cum mixed with her sweet breath. My mind is still clouded from the intense orgasm, and I'm not fully processing what's happening. The moment feels incredibly intimate, but I'm too dazed to understand what she wants me to do.">>
<<choiceBox "What do you do?" "Draw back in shock" "Chapter5NimeriaMassageRejection" "Chapter5NimeriaMassageBlowjob2=shock" "Look her in the eyes (cum kiss)" "Chapter5NimeriaMassageCumKiss" "Chapter5NimeriaMassageBlowjob2=kiss">>
<<changeLust "Rylan" 15>>
<<changeFetish "Rylan" "SubmissionFetish" 0.4>>
<<changeFetish "Rylan" "SalivaFetish" 0.3>>
<<changeAttraction "Rylan" "Nimeria" 3>>
<<changeAttraction "Nimeria" "Rylan" 3>>
<<changeAffection "Rylan" "Nimeria" 3>>
<<changeAffection "Nimeria" "Rylan" 3>>
<<if not $rylan_blowjobTakenCount>><<set $rylan_blowjobTakenCount = 0>><</if>>
<<set $rylan_blowjobTakenCount += 1>>
<<if not $rylan_NimeriaBlowjobTakenCount>><<set $rylan_NimeriaBlowjobTakenCount = 0>><</if>>
<<set $rylan_NimeriaBlowjobTakenCount += 1>>
<<if not $nimeria_blowjobDoneCount>><<set $nimeria_blowjobDoneCount = 0>><</if>>
<<set $nimeria_blowjobDoneCount += 1>>
<<if not $nimeria_RylanBlowjobDoneCount>><<set $nimeria_RylanBlowjobDoneCount = 0>><</if>>
<<set $nimeria_RylanBlowjobDoneCount += 1>>
<<if $rylan_blowjobTakenCount === 1>>
<<set $rylanFirstBlowjob = "Nimeria">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<</if>>
<<if $nimeria_blowjobDoneCount === 1>>
<<set $nimeriaFirstBlowjob = "$humanName">>
<</if>>
<<trackExperience "Rylan" "blowjobExperience" 0.7>>
<<trackExperience "Nimeria" "blowjobExperience" 0.7>>
<<trackExperience "Rylan" "basicExperience" 0.5>>
<<trackExperience "Nimeria" "basicExperience" 0.5>>
<<trackExperience "Rylan" "sexualExperience" 0.5>>
<<trackExperience "Nimeria" "sexualExperience" 0.5>>
<<if not $rylan_orgasmsReceived>><<set $rylan_orgasmsReceived = 0>><</if>>
<<set $rylan_orgasmsReceived += 1>>
<<if not $nimeria_orgasmsGiven>><<set $nimeria_orgasmsGiven = 0>><</if>>
<<set $nimeria_orgasmsGiven += 1>>
<<if not $rylan_NimeriaOrgasmsReceived>><<set $rylan_NimeriaOrgasmsReceived = 0>><</if>>
<<set $rylan_NimeriaOrgasmsReceived += 1>>
<<if not $nimeria_RylanOrgasmsGiven>><<set $nimeria_RylanOrgasmsGiven = 0>><</if>>
<<set $nimeria_RylanOrgasmsGiven += 1>>
<<trackExperience "Rylan" "orgasmsReceived" 1>>
<<trackExperience "Nimeria" "orgasmsGiven" 1>>
<<set _rylanCumAmount = setup.getStat("Rylan", "body", "cumAmount")>>
<<if not $nimeria_cumSwallowedMl>><<set $nimeria_cumSwallowedMl = 0>><</if>>
<<set $nimeria_cumSwallowedMl += _rylanCumAmount>>
<<if not $rylan_cumSwallowedByOthersMl>><<set $rylan_cumSwallowedByOthersMl = 0>><</if>>
<<set $rylan_cumSwallowedByOthersMl += _rylanCumAmount>>
<<if not $rylan_NimeriaCumSwallowedByOthersMl>><<set $rylan_NimeriaCumSwallowedByOthersMl = 0>><</if>>
<<set $rylan_NimeriaCumSwallowedByOthersMl += _rylanCumAmount>>
<<if not $nimeria_RylanCumSwallowedMl>><<set $nimeria_RylanCumSwallowedMl = 0>><</if>>
<<set $nimeria_RylanCumSwallowedMl += _rylanCumAmount>>
<<trackExperience "Nimeria" "cumSwallowedMl" _rylanCumAmount>>
<<trackExperience "Rylan" "cumSwallowedByOthersMl" _rylanCumAmount>>
</div>
<<pov "rylan" "intimatech5.mp3">>
<</nobr>><<playLoopingSounds "sounds/hsounds/deepkiss.mp3" 1>>
<<nobr>>
<<set $rylanNimeriaCumKiss = true>>
<div class="passage-container rylan">
<<narrative "I'm still in that post-orgasm haze, my mind completely clouded and confused. I can barely process what's happening around me, let alone understand what Nimeria is doing. She's just... there, hovering above me with that strange look on her face. I'm too exhausted and dazed to make sense of anything.">>
<<quickRoll "Post-Orgasm Confusion" "Rylan" 80 5 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 2>>
<<narrative "My mind is completely foggy, unable to process what's happening around me. The post-orgasm haze has left me vulnerable and confused, making it impossible to resist or understand what Nimeria wants. I'm completely at her mercy in this state.">>
<</if>>
<<dialog "Rylan" "facewet" "What... what are you doing?">>
<<dialog "Nimeria" "facewet" "Mmm... perfect, $humanName. Let me show you just how delicious you are.">>
<center><img src="images/nimeria/chapter5/rylan/bj/cumkiss1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria and Rylan about to kiss"></center>
<<quickRoll "Cum Kiss Temptation" "Rylan" 8ß 5 "CumAddiction" 3>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 4>>
<<changeFetish "Rylan" "CumAddiction" 0.3>>
<<narrative "The thought of tasting my own cum sends waves of arousal through me. I can imagine the salty, musky flavor, the intimate connection it would create. My heart races and I can feel my arousal building despite just climaxing. I want this connection with her.">>
<</if>>
<<narrative "Slowly, she lowers her face toward mine, and I'm still too dazed to understand what's happening. I can see her getting closer, but my post-orgasm brain can't process why...">>
<center><img src="images/nimeria/chapter5/rylan/bj/cumkiss2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria and Rylan about to kiss"></center>
<<narrative "Suddenly, without any warning, her lips are pressed against mine. I'm so shocked I can barely react - I had no idea this was coming! Her mouth is warm and wet, and I can immediately taste something salty and musky that I don't recognize at first. It takes me a moment to realize what's happening, and even then I'm too stunned to process it properly.">>
<center><img src="images/nimeria/chapter5/rylan/bj/cumkiss3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria and Rylan about to kiss"></center>
<<narrative "She's not holding back, her tongue exploring my mouth with hunger and desire. I can feel the cum being transferred between us, the taste becoming more intense as we share it back and forth. It's strangely intoxicating, and I find myself wanting more, despite the initial shock of the flavor.">>
<center><img src="images/nimeria/chapter5/rylan/bj/cumkiss4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria and Rylan French kissing"></center>
<<dialog "Nimeria" "facewet" "Mmm... do you taste it, $humanName? Do you taste how delicious you are? Swallow it... let it fill your mouth and throat.">>
<<narrative "Her words send shivers down my spine, and I can feel myself becoming more aroused despite just climaxing. The way she's talking about my cum, about how delicious it is... it's incredibly flattering and arousing. I can feel the cum pooling in my mouth, and something about the taste is making me want more.">>
<<narrative "Slowly, I swallow, feeling the warm fluid slide down my throat. The taste is intense and complex - salty, musky, with a hint of something sweet that I can't quite identify. It's strangely satisfying, and I find myself wanting to taste more. What is it about this that's so appealing?">>
<center><img src="images/nimeria/chapter5/rylan/bj/cumkiss5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan swallowing cum"></center>
<<dialog "Rylan" "facewet" "Why does it feel so...">>
<<dialog "Nimeria" "facewet" "Because it's you and me, $humanName. We're connected in the most intimate way possible.">>
<<narrative "Her words are like honey, dripping into my ears and clouding my thoughts even further. The way she's talking about my cum... I'm finding it harder to resist her charms.">>
<center><img src="images/nimeria/chapter5/rylan/bj/cumkiss6.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Intense French kissing"></center>
<<narrative "We continue kissing, our tongues dancing together as we share the cum back and forth. Each time I swallow, I can feel a strange warmth spreading through my body, a sense of satisfaction and completeness that I've never experienced before. The taste is becoming more appealing with each passing moment.">>
<<quickRoll "Cum Taste Shock" "Rylan" 75 5 "CumAddiction" 3>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 3>>
<<changeFetish "Rylan" "CumAddiction" 0.2>>
<<narrative "The taste of my own cum is shocking but strangely intoxicating. The salty, musky flavor fills my mouth, creating an incredibly intimate connection between us. Despite the initial shock, I find myself wanting to taste more, to explore this new sensation.">>
<</if>>
<<dialog "Nimeria" "facewet" "Mmm... you're getting hard again, $humanName. I can feel it against my thigh. Your body knows what it wants, even if your mind is still confused. You want more of this, don't you? More of my touch, more of this connection.">>
<<narrative "She's right - I can feel my erection growing again, pressing against her thigh as we continue to kiss. The combination of her words, the taste of my cum in my mouth, and the intimate connection we're sharing is incredibly arousing. I'm finding it harder and harder to resist her.">>
<center><img src="images/nimeria/chapter5/rylan/bj/cumkiss7.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Intense French kissing"></center>
<<narrative "We continue to French kiss passionately, our tongues dancing together as we share the cum back and forth. I'm so caught up in the moment that I don't even realize there's no more cum left - we're just swapping saliva now, but it feels just as intoxicating. The taste is becoming more appealing with each passing moment.">>
<center><img src="images/nimeria/chapter5/rylan/bj/cumkiss8.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Passionate French kissing"></center>
<<dialog "Rylan" "facewet" "This feels... incredible.">>
<center><img src="images/nimeria/chapter5/rylan/bj/cumkiss9.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Intense French kissing"></center>
<<dialog "Nimeria" "facewet" "Mmm... $humanName. Your body knows what it needs, what it craves.">>
<center><img src="images/nimeria/chapter5/rylan/bj/cumkiss10.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Passionate French kissing"></center>
<<quickRoll "Passionate Cum Sharing" "Rylan" 65 5 "SalivaFetish" 4>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 5>>
<<changeFetish "Rylan" "SalivaFetish" 0.4>>
<<narrative "The passionate French kissing combined with sharing my cum is overwhelming. Our tongues dance together, exchanging saliva and cum in the most intimate way possible. The sensation is incredibly arousing and I find myself completely lost in the moment.">>
<</if>>
<<narrative "We continue French kissing even more passionately, our mouths locked together as we explore each other's taste. The intensity builds with each passing moment, and I'm completely lost in the sensation of our tongues dancing together.">>
<center><img src="images/nimeria/chapter5/rylan/bj/cumkiss11.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Passionate French kissing"></center>
<<narrative "But suddenly, reality crashes back into me. I remember Liora - my girlfriend, the person I'm supposed to be loyal to. What am I doing? This is wrong. I need to stop this before it goes any further.">>
<<dialog "Rylan" "facewet" "Wait... we should stop. I... I have a girlfriend. This isn't right.">>
<<dialog "Nimeria" "facewet" "...Of course, $humanName. You're absolutely right. Let's stop here for today.">>
<<narrative "We both take a moment to collect ourselves, the intensity of what just happened still lingering in the air. Nimeria gracefully rises from my lap, and I can see the traces of our intimate moment still visible on her face and lips. We exchange a few awkward glances as we begin to clean up and get dressed again.">>
<<narrative "I pull my clothes back on, feeling the weight of what we just did settling heavily on my conscience. The taste of my cum still lingers in my mouth, and I can't help but wonder what Liora would think if she knew. As I finish dressing, I notice Nimeria has also cleaned herself up, though there's still a knowing look in her eyes that makes me feel both guilty and strangely aroused.">>
<<continueBox "Chapter5NimeriaRylanTalkConclusion" "Continue" "">>
<<changeLust "Rylan" 8>>
<<changeFetish "Rylan" "CumAddiction" 0.2>>
<<changeFetish "Rylan" "SalivaFetish" 0.2>>
<<changeAttraction "Rylan" "Nimeria" 2>>
<<changeAttraction "Nimeria" "Rylan" 2>>
<<changeAffection "Rylan" "Nimeria" 2>>
<<changeAffection "Nimeria" "Rylan" 2>>
<<quickSexTrack "kiss" "rylan" "nimeria" 1>>
<<trackExperience "Rylan" "kissExperience" 0.5>>
<<trackExperience "Nimeria" "kissExperience" 0.5>>
<<trackExperience "Rylan" "basicExperience" 0.3>>
<<trackExperience "Nimeria" "basicExperience" 0.3>>
<<trackExperience "Rylan" "sexualExperience" 0.3>>
<<trackExperience "Nimeria" "sexualExperience" 0.3>>
</div>
<<pov "rylan" "intimatech5.mp3">>
<</nobr>><<nobr>>
<<playLoopingSounds "sounds/hsounds/handjob.mp3" 1>>
<div class="passage-container rylan">
<<if $rylanNimeriaFootfetish>>
<<narrative "I'm still trying to process what just happened. My lips are tingling from kissing her feet, and I can feel the heat of embarrassment burning through my entire body. The scent of her is still overwhelming, and I'm struggling to think clearly. I need to get myself under control.">>
<<dialog "Nimeria" "facewet" "Mmm... that was absolutely divine, $humanName. I can still feel your lips on my feet. But I notice something else... something that tells me you enjoyed that even more than you're willing to admit.">>
<<else>>
<<narrative "I'm still trying to process what just happened. The intimate massage, the way she looked at me, the overwhelming scent of her - it's all too much. I can feel the heat of embarrassment burning through my entire body, and I'm struggling to think clearly. I need to get myself under control.">>
<<dialog "Nimeria" "facewet" "Mmm... that massage was absolutely divine, $humanName. I can still feel your hands on my body. But I notice something else... something that tells me you enjoyed that even more than you're willing to admit.">>
<</if>>
<<narrative "I follow her gaze downward and my heart stops. There's no hiding it anymore - my erection is clearly visible through my pants, straining against the fabric. I can feel my face burning even hotter as I realize she's been able to see this the entire time.">>
<<quickRoll "Exhibitionist Exposure" "Rylan" 75 5 "ExhibitionismFetish" 3>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 3>>
<<changeFetish "Rylan" "ExhibitionismFetish" 0.2>>
<<narrative "The way she's looking at my erection, the way she can see my arousal so clearly, it's incredibly arousing. Despite the embarrassment, there's something thrilling about being exposed like this, about her seeing my desire so openly. The exhibitionist thrill sends shivers down my spine.">>
<</if>>
<<if $rylanNimeriaFootfetish>>
<<dialog "Nimeria" "facewet" "Oh my... I see you got hard, $humanName. Very hard, actually. Don't be embarrassed - it's perfectly natural. After all, you were just giving me such an intimate massage. It's only fair that I return the favor, don't you think?">>
<<else>>
<<dialog "Nimeria" "facewet" "Oh my... I see you got hard, $humanName. Very hard, actually. Don't be embarrassed - it's perfectly natural. After all, you were just giving me such a relaxing massage. It's only fair that I return the favor, don't you think?">>
<</if>>
<<narrative "Before I can respond, she's already moving closer to me. Her hands are reaching for my belt, and I can feel her warm breath against my neck. The scent of her is overwhelming, and I'm finding it harder and harder to think clearly. I should stop this, but...">>
<<quickRoll "Scent Overwhelm" "Rylan" 70 5 "SmellFetish" 4>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 4>>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<<narrative "Her scent is intoxicating, overwhelming my senses completely. I can smell her natural fragrance mixed with arousal and desire, creating an incredibly seductive combination. I find myself breathing deeply, drawn to her unique scent like a moth to flame.">>
<</if>>
<<dialog "Rylan" "faceembarrassed" "Wait, Nimeria... I can't... I can't keep doing this. I have Liora. This is wrong.">>
<<dialog "Nimeria" "facewet" "Oh, $humanName... you're so sweet, worrying about Liora. But this isn't cheating, darling. This is just... treatment. Therapeutic relief. You're clearly in need, and I'm just being a good friend. Friends help each other, don't they?">>
<<narrative "Her words are like honey, dripping into my ears and clouding my thoughts. The way she's looking at me, the way her hands are still hovering near my belt... I can feel my resistance crumbling. Maybe she's right? Maybe this is just... helping each other out?">>
<<quickRoll "Manipulation Resistance" "Rylan" 65 5 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 3>>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<narrative "Her words are so convincing, so perfectly crafted to break down my resistance. The way she's reframing this as "helping each other out" makes perfect sense in my aroused state. I can feel myself wanting to submit to her logic, to accept her terms.">>
<</if>>
<<narrative "In my arousal and the trance-like state she's put me in, I find myself nodding slightly. She's right, this isn't cheating. It's just... treatment. Therapeutic relief. Friends helping each other. The logic makes perfect sense in my current state.">>
<<dialog "Nimeria" "facewet" "That's right, $humanName. Just relax and let me take care of you. You've been so good to me, it's only fair that I return the favor. Just close your eyes and enjoy the sensation.">>
<<quickRoll "Touch Overwhelm" "Rylan" 60 5 "SubmissionFetish" 5>>
<<if not _tempRollSuccess>>
<<changeLust "Rylan" 5>>
<<changeFetish "Rylan" "SubmissionFetish" 0.4>>
<<narrative "The moment her hand touches me, I'm completely overwhelmed. Her touch is electric, sending waves of pleasure through my entire body. I can feel myself submitting completely to her will, losing all control as she takes charge of my pleasure. It's intoxicating.">>
<</if>>
<<narrative "I can feel her hands working at my belt, the sound of leather sliding through the buckle echoing in the quiet room. My heart is pounding so hard I'm sure she can hear it. I should stop this, but her words are so convincing, and the way she's touching me...">>
<<narrative "She's undressing me slowly, deliberately, her hands lingering on every button and zipper. The way she's looking at me, with that hungry expression in her eyes, it's incredibly arousing. I can feel my erection straining even harder against my underwear.">>
<<if $rylan_wearingPanties>>
<<dialog "Nimeria" "facehappy" "Oh, $humanName... you're wearing the panties I gifted you! I'm so happy you kept them. They look absolutely perfect on you. It makes this moment even more special knowing you're wearing something I chose for you.">>
<<changeAffection "Nimeria" "Rylan" 3>>
<</if>>
<center><img src="images/nimeria/chapter5/rylan/hj/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria giving handjob"></center>
<<dialog "Nimeria" "facewet" "Oh my... you're even more impressive than I imagined, $humanName. You've been holding back quite a lot, haven't you? Don't worry, I'll take good care of you. Just relax and let me work my magic.">>
<<if $rylanNimeriaFootfetish>>
<<narrative "The moment her hand wraps around me, I let out an involuntary moan. Her touch is incredible - warm, soft, and perfectly skilled. She knows exactly how to move her hand, applying just the right amount of pressure and speed. I'm already on the edge from the foot massage and kissing, and this is pushing me over.">>
<<else>>
<<narrative "The moment her hand wraps around me, I let out an involuntary moan. Her touch is incredible - warm, soft, and perfectly skilled. She knows exactly how to move her hand, applying just the right amount of pressure and speed. I'm already on the edge from the intimate massage, and this is pushing me over.">>
<</if>>
<center><img src="images/nimeria/chapter5/rylan/hj/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria giving handjob"></center>
<<narrative "I'm completely lost in the sensation now. Her hand is moving up and down my shaft with perfect rhythm, her thumb occasionally brushing over the sensitive head. The way she's looking at me, with that mixture of hunger and satisfaction, it's incredibly arousing. I can feel myself getting closer and closer to climax.">>
<center><img src="images/nimeria/chapter5/rylan/hj/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria giving handjob"></center>
<<dialog "Nimeria" "facewet" "Mmm... I can feel you getting harder, $humanName. You're so responsive to my touch. I can tell you're close, can't I? Don't hold back, let yourself go. I want to see you lose control.">>
<center><img src="images/nimeria/chapter5/rylan/hj/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria giving handjob"></center>
<<narrative "I'm so close now, I can feel the pressure building inside me. Her hand is moving faster, her grip tightening just enough to drive me wild. I'm breathing heavily, my entire body tensing as I approach the point of no return. Just a few more strokes...">>
<<narrative "Unable to sit up any longer, I collapse back onto the bed, my head sinking into the soft pillows. The sensation is overwhelming, and I can feel my entire body trembling with need. Nimeria follows me down, straddling my hips as she continues her relentless rhythm, her hand never stopping its perfect motion.">>
<<narrative "Suddenly, she stops. Just stops completely, her hand still wrapped around me but motionless. I'm so close to climax that the sudden cessation is almost painful. I can feel myself trembling with need, my entire body screaming for release.">>
<<dialog "Rylan" "faceembarrassed" "Nimeria... why did you stop? I was so close...">>
<<dialog "Nimeria" "facewet" "Oh, I just wanted to make sure you were enjoying yourself, $humanName. I can tell you were getting close, and I wanted to... savor the moment. Don't worry, I'll start again. I want to make this last as long as possible.">>
<<narrative "She starts moving her hand again, but this time it's even more intense. The brief pause has made me even more sensitive, and every stroke is pure ecstasy. I can feel myself building up to climax again, even faster this time. Her technique is incredible - she knows exactly how to drive me wild.">>
<center><img src="images/nimeria/chapter5/rylan/hj/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria giving handjob"></center>
<<narrative "I'm so close again, the pressure building inside me like a coiled spring. Her hand is moving at the perfect speed, her grip just tight enough to drive me insane. I can feel my entire body tensing, my breathing becoming ragged. Just a few more strokes and I'll...">>
<<narrative "She stops again. This time it's even more frustrating because I was even closer. I can feel myself trembling with need, my erection throbbing in her hand. The denial is almost painful, but somehow it's also incredibly arousing. I need her to continue.">>
<<dialog "Rylan" "faceembarrassed" "Nimeria... please... why do you keep stopping? I need you to continue.">>
<<dialog "Nimeria" "facewet" "Oh, I thought it would be cheating, $humanName. You were so worried about that earlier, remember? I just wanted to make sure we were on the same page about what this is.">>
<<dialog "Rylan" "faceembarrassed" "But... but you said it wasn't cheating. You said it was just treatment, helping each other out.">>
<<dialog "Nimeria" "facewet" "Correct, it's not cheating. So you agree then? This is just two friends helping each other out? Nothing more, nothing less?">>
<center><img src="images/nimeria/chapter5/rylan/hj/6.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria giving handjob"></center>
<<narrative "I'm so desperate for release at this point that I'll agree to anything. The way she's looking at me, her hand still wrapped around my shaft, it's driving me insane. I need her to continue, and if agreeing to her terms is what it takes...">>
<<dialog "Rylan" "faceembarrassed" "Yes... yes, just two friends helping each other out. That's all this is.">>
<<dialog "Nimeria" "facewet" "Perfect. So we can keep going, helping each other out even in the future? This doesn't have to be a one-time thing, $humanName. Friends help friends, after all.">>
<<dialog "Rylan" "faceembarrassed" "B-b-but we can't go too far. This has to stay... appropriate.">>
<<dialog "Nimeria" "facewet" "Of course, $humanName. No penetration... that would definitely be cheating. But this? This is just... therapeutic relief. Friends helping friends. So this should be perfectly fine too...">>
<center><img src="images/nimeria/chapter5/rylan/hj/7.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria giving handjob"></center>
<<narrative "As she speaks, her hand starts moving again, and this time it's even more intense than before. The combination of her words and her touch is overwhelming. I can feel myself building up to climax again, and this time I know she won't stop. The way she's looking at me, with that knowing smile...">>
<<changeLust "Rylan" 10>>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<changeAttraction "Rylan" "Nimeria" 2>>
<<changeAttraction "Nimeria" "Rylan" 2>>
<<changeAffection "Rylan" "Nimeria" 2>>
<<changeAffection "Nimeria" "Rylan" 2>>
<<if not $rylan_handjobTakenCount>><<set $rylan_handjobTakenCount = 0>><</if>>
<<set $rylan_handjobTakenCount += 1>>
<<if not $rylan_NimeriaHandjobTakenCount>><<set $rylan_NimeriaHandjobTakenCount = 0>><</if>>
<<set $rylan_NimeriaHandjobTakenCount += 1>>
<<if not $nimeria_handjobDoneCount>><<set $nimeria_handjobDoneCount = 0>><</if>>
<<set $nimeria_handjobDoneCount += 1>>
<<if not $nimeria_RylanHandjobDoneCount>><<set $nimeria_RylanHandjobDoneCount = 0>><</if>>
<<set $nimeria_RylanHandjobDoneCount += 1>>
<<if $rylan_handjobTakenCount === 1>>
<<set $rylanFirstHandjob = "Nimeria">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<</if>>
<<set $nimeriaFirstHandjob = "$humanName">>
<<trackExperience "Rylan" "handjobExperience" 0.5>>
<<trackExperience "Nimeria" "handjobExperience" 0.5>>
<<trackExperience "Rylan" "basicExperience" 0.3>>
<<trackExperience "Nimeria" "basicExperience" 0.3>>
<<trackExperience "Rylan" "sexualExperience" 0.3>>
<<trackExperience "Nimeria" "sexualExperience" 0.3>>
<<continueBox "Chapter5NimeriaMassageBlowjob" "Continue" "">>
</div>
<<pov "rylan" "intimatech5.mp3">>
<</nobr>><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<narrative "My mind is still clouded from the intense orgasm, but as she hovers above me with my cum pooled on her tongue, something primal kicks in. The sight is incredibly erotic, but the thought of tasting my own cum... that's too much, even for me. I can feel my body tensing, my instincts telling me to pull away.">>
<<dialog "Rylan" "faceembarrassed" "Nimeria... I can't... that's too much. I'm not ready for that.">>
<<narrative "I can see the disappointment flash across her face, but it's quickly replaced by that knowing smile of hers. She doesn't seem angry or upset - if anything, she looks amused by my reaction. The cum is still pooled on her tongue, and I can see her slowly moving it around in her mouth as she considers my response.">>
<<dialog "Nimeria" "facewet" "Oh, $humanName... you really don't know what you're missing. This is absolutely divine. You taste like... like pure pleasure, like everything I've ever wanted. But I understand - not everyone is ready to explore their own taste.">>
<<narrative "The way she's describing it, the reverence in her voice... it's making me feel things I'm not sure I want to feel right now. I can see her slowly closing her mouth, and I realize she's about to swallow.">>
<center><img src="images/nimeria/chapter5/rylan/bj/cumshow2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria with cum in her mouth"></center>
<<dialog "Nimeria" "facewet" "Mmm... since you won't share this with me, I'll just have to enjoy it all by myself. You're absolutely delicious, $humanName. I could get addicted to this taste.">>
<<narrative "I watch as she slowly closes her mouth, her tongue moving around to gather every last drop. The sight is incredibly intimate and erotic - she's savoring my cum like it's the most precious thing in the world. I can see her throat working as she swallows, and the satisfied expression on her face makes me feel both flattered and slightly embarrassed.">>
<center><img src="images/nimeria/chapter5/rylan/bj/cumkiss9.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria swallowing the cum"></center>
<<dialog "Nimeria" "facewet" "There... all gone. Every last drop of you is now part of me. You know, $humanName, you really should try it sometime. It's not as strange as you might think, and the taste... it's like pure ecstasy. But I understand if you're not ready yet.">>
<<narrative "She's being surprisingly understanding about my rejection, but there's something in her voice that suggests this isn't the last time she'll offer. The way she's talking about my taste, about wanting to share it with me... it's making me wonder if I made the right choice. But right now, I'm still processing everything that just happened.">>
<<dialog "Nimeria" "facewet" "Well, that was certainly an interesting experience, $humanName. Maybe next time you'll be more adventurous... or maybe not. Either way, I enjoyed every moment of it.">>
<<narrative "She's being incredibly gracious about the whole thing, which somehow makes me feel even more conflicted. The way she's talking about next time, about me being more adventurous... it's clear she has plans for future encounters. But right now, I'm just trying to process the fact that I just had the most intense orgasm of my life, and she's acting like it was just a casual afternoon activity.">>
<<dialog "Rylan" "faceembarrassed" "I... I need some time to think about all of this. What just happened... it was incredible, but it's a lot to process.">>
<<dialog "Nimeria" "facewet" "Of course, $humanName. Take all the time you need. These things can be overwhelming, especially when they're new. But remember - I'm here whenever you're ready to explore more.">>
<<narrative "She's being incredibly understanding, but there's something in her tone that suggests this isn't over. The way she's talking about exploring more, about me having surprises in store... it's clear she sees this as just the beginning. I'm not sure how I feel about that, but right now, I'm too exhausted and confused to think clearly about the future.">>
<<continueBox "Chapter5NimeriaRylanTalkConclusion" "Continue" "">>
<<changeLust "Rylan" -35>>
<<changeFetish "Rylan" "SubmissionFetish" 0.1>>
<<changeAttraction "Rylan" "Nimeria" 1>>
<<changeAffection "Rylan" "Nimeria" 1>>
</div>
<<pov "rylan" "intimatech5.mp3">>
<</nobr>><<stopLoopingSounds>>
<<script>>setTimeout(() => { window.AudioSystem.playSFX('nimeriasong.mp3'); }, 10000);<</script>>
<<nobr>>
<<set $humanNameHaremMindset = 0>>
<<set $rylanNimeriaLove = 0>>
<div class="passage-container rylan">
<<if $nimeriaMassageChoice>>
<<narrative "After we finish getting dressed, there's an awkward silence between us. The weight of what we just did hangs heavy in the air, and I can feel my guilt growing stronger with each passing moment. I should probably leave, but something keeps me here.">>
<<narrative "Nimeria walks over to the bed and sits down gracefully, her legs crossed as she settles into a comfortable position. She seems completely at ease, as if what we just did was perfectly normal. I can't help but notice how beautiful she looks in the soft light, despite everything.">>
<</if>>
<center><img src="images/nimeria/chapter5/rylan/sitonbed2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria giving handjob"></center>
<<narrative "Suddenly, she starts humming a soft, melodic tune. It's a beautiful song, haunting and sweet, with a melody that seems to speak of longing and desire. The sound fills the room, breaking the awkward silence and creating an atmosphere that's both intimate and strangely peaceful.">>
<<dialog "Rylan" "facesmile" "That's... that's really beautiful. You have an amazing singing voice, Nimeria.">>
<<dialog "Nimeria" "facesmile" "Thank you, $humanName. It's just a song I'm working on. It's about... well, it's about all of us. Mariel, Thalor, Liora, Serin, Seryk, me... and especially you.">>
<<narrative "Her words send a shiver down my spine. A song about all of us? About me especially? I can feel my heart racing as she looks at me with those intense eyes.">>
<<dialog "Rylan" "faceembarrassed" "What's the song about? I mean... what's it saying about all of us?">>
<<dialog "Nimeria" "faceembarrassed" "It's about connections, $humanName. About how people can be drawn together in ways they never expected. About love that exists beyond the boundaries society sets for us.">>
<<narrative "She pauses for a moment, her eyes never leaving mine. I can feel the intensity of her gaze, and there's something in her expression that makes my heart race even faster. What is she getting at?">>
<<dialog "Nimeria" "faceembarrassed" "Hey, $humanName... do you think that if there were no law restrictions, no societal expectations, no rules about who you can be with... do you think you could love someone like me?">>
<<narrative "The question hangs in the air like a heavy weight. I can feel my heart pounding in my chest, and I'm suddenly very aware of how close she is, how beautiful she looks, how much I'm drawn to her despite everything. But what about Liora? What about my loyalty?">>
<<narrative "I need to answer her question, but I'm not sure what the truth is anymore. Could I love someone like her? What about the person I'm supposed to be?">>
<<if $nimeriaMassageChoice>>
<<narrative "The memory of what just happened floods my mind, and I feel my face flush with shame and... something else. The way she touched me, the way she looked at me with such hunger and desire. I've never felt so completely exposed, so utterly vulnerable. When she took me in her mouth, I lost all control - I became someone I don't recognize, someone who would abandon all reason for the sake of pleasure.">>
<<if $rylanNimeriaCumKiss>>
<<narrative "And then... the cum kiss. The most intimate thing I've ever experienced with anyone. The way she shared my semen, the way our lips met in that moment of pure, raw intimacy. It felt like a sacred ritual, like we were bound together in ways that transcend mere physical pleasure. But was it really sacred, or was it just another step down a path I can't seem to resist?">>
<</if>>
<<if $rylanNimeriaFootfetish>>
<<narrative "I kissed her feet. I actually kissed her feet, and in that moment, it felt like the most natural thing in the world. The way her skin tasted, the way she moaned when my lips touched her soles... I've never felt so completely submissive, so utterly under someone's control. It should disgust me, but instead it excites me in ways I don't understand. What does that say about who I'm becoming?">>
<</if>>
<<narrative "Is this really cheating? The rational part of me screams yes - I'm betraying Liora's trust, betraying everything I thought I stood for. But when I'm with Nimeria, when she looks at me with those eyes that seem to see straight into my soul, all those rational thoughts fade away. She makes me question everything I thought I knew about myself, about love, about what's right and wrong. Maybe the real question isn't whether I could love her, but whether I can stop myself from falling deeper into whatever this is.">>
<</if>>
<<choiceBox "What do you think?" "Yes, I could love someone like her" "Chapter5NimeriaLoveYes" "Chapter5NimeriaRylanTalkConclusion=yes" "No, I couldn't" "Chapter5NimeriaLoveNo" "Chapter5NimeriaRylanTalkConclusion=no">>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.7), rgba(50, 50, 70, 0.8)); border-radius: 8px; border: 1px solid rgba(100, 100, 100, 0.4);">
<p style="color: #B8C5D6; font-size: 0.9em; margin: 0; line-height: 1.4; font-style: italic;">💭 <strong>Note:</strong> From now on, you'll encounter more choices like this throughout your journey. While they may seem small at first, these decisions will gradually shape how $humanName views relationships, his feelings toward each girl, and his mindset about being with multiple partners. Your choices matter - they're building the foundation for how he sees love, loyalty, and his own desires.</p>
</div>
</div>
<<pov "rylan" "defaultch5.mp3">>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<<dialog "Rylan" "faceworried" "You should get some rest now, Nimeria.">>
<<narrative "I start to turn toward the door, ready to leave her to her rest. The conversation has left me feeling both lighter and more confused than ever.">>
<<if $rylan_wearingPanties>>
<<dialog "Nimeria" "facehappy" "Wait, $humanName! Before you go, I have something for you!">>
<<dialog "Nimeria" "facehappy" "I bought you some socks! They would look so lovely on you!">>
<<narrative "She rushes to her dresser and pulls out a big package, her eyes sparkling with excitement as she presents it to me.">>
<<dialog "Rylan" "faceconfused" "Socks? That's... unexpected.">>
<<narrative "I open the package and my eyes widen. These aren't just regular socks - they're... well, they're quite girly. I see knee socks, toeless socks, and some with cute patterns. Wait, even knee socks and toeless socks? I quickly grab the most plain, least girly pair I can find - just simple black knee socks without any frills or decorations.">>
<center><img src="images/items/sockspack.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria giving handjob"></center>
<<dialog "Rylan" "faceworried" "These are... a bit too girly, don't you think?">>
<<dialog "Nimeria" "facehappy" "But they feel so soft! And honestly, $humanName, no one would see them anyway as long as you wear pants and shoes. Your panties would be worse if seen.">>
<<dialog "Nimeria" "facehappy" "Please? For me?" "She makes the most adorable puppy eyes, her lower lip slightly pouting.">>
<<narrative "I can't resist those eyes. She's right - no one would see them, and they do feel incredibly soft. Besides, she went to the trouble of buying them for me...">>
<<dialog "Rylan" "faceembarrassed" "Alright, fine. I'll take them. Thank you, Nimeria.">>
<<set $rylan_masculinity -= 2>>
<<trackOther "Rylan" "masculinity" -2>>
<<set $rylan_wearingSocks = true>>
<<dialog "Nimeria" "facehappy" "Now try them on!" "she says happily, clapping her hands together with excitement.">>
<<dialog "Rylan" "faceworried" "Right now? Here?">>
<<dialog "Nimeria" "facehappy" "No, no, remove your clothes! I want to see you in your panties and socks together. Please?" "She gives him that irresistible smile again.">>
<<narrative "I'm reluctant, but I can't deny that smile. With a sigh, I start removing my clothes, feeling increasingly self-conscious as I strip down to just my panties and the new socks.">>
<<dialog "Nimeria" "facehappy" "Perfect! Now look in the mirror over there. I want you to see how lovely you look!">>
<center><img src="images/rylan/femalestage1/portraitsocks.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Nimeria giving handjob"></center>
<<narrative "I turn toward the mirror, feeling awkward and exposed. But as I look at my reflection... I have to admit, it actually doesn't look so bad. The knee socks hug my legs nicely, and the soft fabric feels surprisingly comfortable against my skin. Actually, these could easily pass for men's socks - they're just softer and more comfortable than the rough ones I usually wear. The combination with my panties creates a look that's... well, it's not terrible. In fact, I kind of like how the socks feel.">>
<<set $rylan_masculinity -= 1>>
<<trackOther "Rylan" "masculinity" -1>>
<</if>>
<<continueBox "Chapter5SerinsDate" "Continue" "">>
</div>
<<pov "rylan" "defaultch5.mp3">>
<</nobr>><<nobr>>
<div id="overlay-transition" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(0, 0, 0, 0.95), rgba(150, 35, 131, 0.9), rgba(0, 0, 0, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; opacity: 1; transition: opacity 2s ease-in-out;">
<div style="text-align: center; color: #F5DEB3; font-size: 1.8em; text-shadow: 2px 2px 8px rgba(0,0,0,0.8);">
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 0s infinite;">The world shifts through different eyes...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 1s infinite;">From Thalor's perspective...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 2s infinite;">To Nimeria's inner thoughts...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 3s infinite;">As she reveals her darkest secrets...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 4s infinite;">To the one who knows her best...</div>
</div>
</div>
<style>
@keyframes fadeInOut {
0%, 100% { opacity: 0; transform: translateY(20px); }
50% { opacity: 1; transform: translateY(0); }
}
</style>
<script>
setTimeout(() => {
document.getElementById('overlay-transition').style.opacity = '0';
}, 5000);
setTimeout(() => {
document.getElementById('overlay-transition').style.display = 'none';
}, 7000);
</script>
<div class="passage-container nimeria">
<center><img src="images/landscapes/landroad.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<narrative "A bit later, I find myself being carried on Seryk's back as he makes his way through the open fields toward the flower field.">>
<<dialog "Nimeria" "faceworried" "Seryk... are you really okay? After everything that happened yesterday, I mean. You're not just putting on a brave face for, are you?">>
<<dialog "Seryk" "facesmile" "Oh, did I make you worry? I'm touched, Nim. But really, I'm fine. A bit sore and some wounded pride, but nothing I can't handle.">>
<<dialog "Nimeria" "faceworried" "Of course I'm worried, you idiot! You're the only family I have left in this world. If something happened to you too... I don't know what I'd do. I can't lose you, Seryk. Not after everything we've been through together.">>
<<changeAffection "Nimeria" "Seryk" 1>>
<<dialog "Seryk" "facegrin" "You know, you're really prickly on the outside, but soft on the inside, aren't you? You should show this caring side of yourself more often. It suits you better than all that cold calculation and manipulation.">>
<<changeAffection "Seryk" "Nimeria" 1>>
<<dialog "Nimeria" "faceangry" "Argh, shut up! I'm not soft, and I'm not caring! I'm just... making sure my investment doesn't get damaged. You're useful to me, that's all. Don't read too much into it.">>
<<dialog "Seryk" "facelaugh" "Sure, sure. Your 'investment.' That's why your voice cracked when you asked if I was okay, and why you're practically clinging to me right now. Face it, Nim - you actually care about people. You just don't want to admit it.">>
<<dialog "Nimeria" "faceworried" "I'm not clinging! I'm just... making sure you don't drop me. And my voice didn't crack. You're imagining things.">>
<<dialog "Seryk" "facegrin" "Whatever you say, Nim. But for what it's worth... I'm glad you care. Even if you won't admit it. It means there's still hope for you yet.">>
<<dialog "Nimeria" "faceworried" "Hope for what? I'm exactly who I need to be. Now stop trying to psychoanalyze me and focus on carrying me properly. You're jostling me around like a sack of potatoes.">>
<<dialog "Seryk" "faceworried" "Alright, Nimeria, but more importantly. What exactly happened back there that left you unable to walk? And why am I carrying you all the way to the flower field when you could have just rested in your room?">>
<<dialog "Nimeria" "facecold" "I knew Gairos would interrogate me again today, so I... prepared myself. Took a specific poison to numb my entire body, hoping I wouldn't feel the pain of his truth spell...">>
<<narrative "I can feel Seryk's body tense beneath me as he processes this revelation. The poison still courses through my veins, making my limbs feel heavy and distant, like they belong to someone else.">>
<<dialog "Nimeria" "facecold" "Well, let me tell you... I still felt it. Every agonizing moment of that spell. The poison wasn't strong enough, or maybe his magic was too powerful. But don't worry, Seryk. He'll get it all back and more soon enough. I promise you that.">>
<<dialog "Nimeria" "facecold" "So, what do you think of Gairos? I've seen him fight, and I've seen you fight. If you all joined forces - you, $humanName, Mariel, Serin, Liora, even Thalor - could you defeat him?">>
<<dialog "Seryk" "faceworried" "No. Never. Even if we all fought together, we wouldn't stand a chance. Gairos is... he's something else entirely. He's not just powerful - he's calculated, experienced, and completely ruthless.">>
<<dialog "Nimeria" "facecold" "What if he didn't have any magic power for a while? What if someone... neutralized his magical abilities temporarily? Would he still be so untouchable then?">>
<<narrative "I can feel Seryk's muscles tense as he considers this. Even without his magic, Gairos would still be a formidable opponent. His years of combat experience and physical conditioning would make him dangerous to any of us.">>
<<dialog "Nimeria" "facecold" "Hmm... how to kill such a monster... Poison? No, he's most likely immune to that. A blade to the throat? No he would just instantly regenerate. A fall from a great height? That could work, but getting him there would be the challenge...">>
<<dialog "Seryk" "faceworried" "*...Nimeria. Do you even realize what you're saying here? What became of you? The anxious girl who used to sit at the oak tree, afraid of her own shadow? The one who would jump at the sound of a twig snapping? You're talking about murder like it's... like it's nothing.*">>
<<dialog "Seryk" "faceworried" "You really want to murder again?! Just like you did those innocent people in the village?! Have you completely lost yourself, Nimeria? When did you become this... this thing that plans deaths like they're chess moves?">>
<<dialog "Nimeria" "faceangry" "...Really? Innocent?! After what they did to you, what they did to us?! You call them innocent when they whipped you until you bled, when they laughed at your screams, when they treated us like animals?">>
<<dialog "Seryk" "faceworried" "Again, Nimeria, we were slaves! Other slaves were beaten to death, they gave us food. You were treated well by Thalindra, too. She even let you use their bath! They could have killed us, but they didn't. They could have starved us, but they fed us. Don't you see the difference?">>
<<dialog "Nimeria" "faceangry" "Oh yes, what wonderful people! Thank you very much for not beating me to death! How generous of them!">>
<<dialog "Seryk" "faceworried" "Nimeria...">>
<<dialog "Nimeria" "faceangry" "And she treated me well?! Let me tell you why she allowed me to use their bath. Thalindra told me once, with that sweet smile of hers: 'Now that you're becoming of age, you should look more pretty. Soon you will seduce Thomas. If he cheats on me once, he shouldn't mind if I cheat on him too. Then when he gets bored of you, every villager can use your body for a coin. Isn't that wonderful? You'll be so popular, dear.' She said it like she was doing me a favor!">>
<<dialog "Nimeria" "faceangry" "You're absolutely right, Seryk. She was an angel! A saint! How could I ever question her generosity? She was practically saving my life by planning to turn me into the village whore!">>
<<dialog "Seryk" "faceworried" "Nimeria, I didn't... I didn't know any of this.">>
<<dialog "Nimeria" "faceangry" "Yes, you didn't know! But did I care? No. I thought if I just have to sell my body for us to be happy, then it's okay. I was willing to become their whore if it meant you wouldn't be whipped anymore. I was ready to let every man in that village use me if it meant you could rest.">>
<<dialog "Seryk" "faceworried" "Did you...? Did you actually... did they...?">>
<<dialog "Nimeria" "faceangry" "Get fucked? Of course not. It never came to that. After what happened to you, I got furious! Do you know how it felt for me to hear your screams every night when they whipped you a hundred times, while they kept laughing? To hear you beg for mercy while they counted each lash like it was a game? To see you collapse, barely able to stand, while they joked about how much 'character' it was building in you?">>
<<dialog "Seryk" "faceworried" "I'm sorry...">>
<<dialog "Nimeria" "facesmile" "So you know what I did? I saw an opportunity. You remember those slave traders who visited every month to collect their payments? During that time, they couldn't pay them as much. Of course not! Their best worker got whipped daily until he could barely work, and their workers just drank wine and laughed about it. They were destroying their own source of income with their cruelty.">>
<<dialog "Nimeria" "facesmile" "The slave traders were pissed, but let it go. So I thought: what if they pay less next month, even less the month after, and so on? What if I could make their situation worse and worse until the slave traders finally had enough? Until they decided these people weren't worth the trouble anymore?">>
<<dialog "Seryk" "faceshock" "What did you do?!">>
<<continueBox "Chapter5NimeriaSerykTalk3" "Continue" "">>
</div>
<</nobr>>
<<pov "nimeria" "nimeriasconfrontation.mp3">><<nobr>>
<div class="passage-container nimeria">
<<dialog "Nimeria" "facesmile" "I started with the fields and the kettle. Not enough poison to kill them, mind you - just enough to make them sick, weak, unable to work properly. Their milk production dropped, their harvests failed, and suddenly they couldn't pay the slave traders what they owed. Month after month, the traders grew angrier, but not quite angry enough to take... drastic action.">>
<<dialog "Nimeria" "facesmile" "Then came the festival, when the slave traders visited. Thalindra, in her infinite wisdom, thought sending me to them might... pacify their anger. She hoped they would take their frustration out on me instead of demanding proper payment. But I had other plans. I went straight to their boss, who was already furious about the continued low payments.">>
<<dialog "Nimeria" "facesmile" "I put on my most innocent smile and played the concerned slave. 'Oh, sir, I wonder why the payments are so low this month? The harvest seemed to go well, and they've been celebrating with wine all week...' I suggested maybe they'd sold most of their goods to the neighboring village, who'd been visiting regularly. And oh, did I mention how the elder had been hoarding gold in his private storage? Such a shame they couldn't share their wealth with their loyal business partners.">>
<<dialog "Nimeria" "facesmile" "I fed them these little lies over several months, each one making the situation worse. Until finally, one night while serving them wine, I overheard the whispered words that made my heart sing: 'The next full moon, we will attack.' They had finally had enough.">>
<<dialog "Seryk" "faceshock" "The night you woke me up, claiming you needed me to escort you to the river... That was the night of the full moon, wasn't it?">>
<<dialog "Nimeria" "facesmile" "Exactly! I went to the barn, rubbed some manure on my arms and clothes, then came back to you claiming I'd fallen and needed to clean up. You were so concerned, so protective - escorting me to the river while the attack began. And when we returned... well, let's just say the village had been... thoroughly cleansed.">>
<center><img src="images/landscapes/burningvillage2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<dialog "Seryk" "faceworried" "Nim, you're absolutely insane! How can you smile while talking about mass murder? How can you sit there and calmly describe how you orchestrated the destruction of an entire village? There's so much more you need to explain! What you did with my body, what you're doing to everyone around us - it's sick, it's twisted! These people have given us shelter, food, protection. How can you justify this?">>
<<changeAffection "Seryk" "Nimeria" -1>>
<<dialog "Nimeria" "facesmile" "Yes, I agree completely. I truly, deeply love them all. Every single one.">>
<<dialog "Seryk" "faceworried" "Then why do you systematically destroy everything that makes them happy? Why do you tear apart their relationships, their morals, their sense of right and wrong? If you love them, why are you trying to corrupt them?">>
<<dialog "Nimeria" "facesmile" "And yet... were they truly happy before? Serin was drowning in heartbreak, watching the one she loved from afar. $humanName never believed in himself, always doubting his worth. Mariel was still shattered by her past, carrying wounds that never healed. Thalor the same, haunted by memories he couldn't escape. And Liora... sweet, innocent Liora, far too pure and shy for a world that would crush her spirit.">>
<<dialog "Seryk" "faceworried" "So? That doesn't mean you have the right to-">>
<<dialog "Nimeria" "facesmile" "It means they were all trapped, Seryk. Chained by rules and morals that forbid them to love who they truly want. Serin can't have $humanName because of Liora's claim on him. He can't have both since society's laws forbid it. And love between him and Mariel? Condemned as monstrous, taboo. So they hide their feelings, bury them deep, and slowly rot from the inside. I'm not destroying them - I'm setting them free from their own prisons.">>
<<dialog "Seryk" "faceworried" "And you think your twisted 'plan' will fix that? You honestly believe that corrupting their morals, destroying their sense of right and wrong, will somehow make them happier?">>
<<dialog "Nimeria" "facesmile" "I know it will, because I've seen it work before. I'm not breaking them, Seryk - I'm freeing them from the chains that bind them. Once they stop caring about those arbitrary rules, they can love each other openly, honestly, without fear or shame. They can be whole, complete, true to their desires. Isn't that what love should be?">>
<<dialog "Seryk" "faceworried" "You're talking about destroying their morals, their values, everything that makes them who they are. You're talking about turning them into... into something else entirely.">>
<<dialog "Nimeria" "facesmile" "Morals are just cages that someone else built to control them, Seryk. Arbitrary rules created by people who wanted to maintain power and order. All I'm doing is opening the door to their true selves. Letting them choose what they want instead of what they're told they should want.">>
<<dialog "Seryk" "faceworried" "I'm just... I'm speechless. Now I finally see what kind of person you really are. You're not better than Gairos - you might even be worse. At least he's honest about being a monster. You hide behind love and liberation while destroying everything good in people. I won't help you in your twisted version of justice. If Gairos attacks, I'll fight to protect us, but I won't assassinate anyone, no matter how evil they are. There has to be a better way.">>
<<changeAffection "Seryk" "Nimeria" -1>>
<<dialog "Nimeria" "facecold" "You and your precious 'false justice'... One day you'll wake up and realize that by refusing to get your hands dirty, you've lost something precious that you can never get back. You'll regret your inaction when it's too late, when the people you love are gone and you're left with nothing but your clean conscience. I'd rather get my hands dirty now and save what matters than regret my cowardice later.">>
<<dialog "Seryk" "faceworried" "I won't regret it. As long as I act with honor and justice, as long as I stay true to what I believe is right, I will never regret my choices. Even if it means losing people I care about, at least I'll know I didn't betray myself.">>
<<narrative "We finally reach the flower field. The vibrant colors and sweet scents should bring peace, but the weight of our conversation hangs heavy in the air like a storm cloud refusing to break.">>
<center><img src="images/landscapes/flowerbed.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<dialog "Nimeria" "facesmile" "...Can I at least ask for one other favor? Despite everything I've just told you?">>
<<dialog "Seryk" "faceworried" "What could you possibly want from me now?">>
<<dialog "Nimeria" "facesmile" "I need a huge amount of mana crystals - those blue crystals we collect during our travels - as well as Nightweed plants. I need you to collect a tremendous amount of both.">>
<<dialog "Seryk" "faceworried" "...How much are we talking about here?">>
<<dialog "Nimeria" "facesmile" "Two full bags of Nightweed plants should suffice. For mana crystals... at least 500, though more would be better. The more we have, the more powerful the result will be.">>
<<dialog "Seryk" "faceshock" "500?! What in the world do you want to make that requires that many mana crystals? That's more than we could collect in months!">>
<<dialog "Nimeria" "facesmile" "An experiment, Seryk. If my theory is correct, it might help us protect everyone from threats like Gairos. It's a defensive measure, nothing more. I promise.">>
<<dialog "Seryk" "faceworried" "You promise you won't use them to corrupt the family, or to kill anyone? You swear this is truly for protection and nothing else?">>
<<dialog "Nimeria" "facesmile" "...I promise. *At least not those* This experiment is purely defensive in nature.">>
<<dialog "Seryk" "faceworried" "All right, I'll help you. But I'm watching you, Nimeria. If I find out you're using these materials for anything other than protection, I'll stop helping immediately.">>
<<changeAffection "Seryk" "Nimeria" 1>>
<<narrative "In that moment, $humanName arrives at the flower field, his presence breaking the heavy tension between us like sunlight piercing through storm clouds.">>
<<dialog "Rylan" "faceserious" "You wanted to talk... Nimeria?">>
<<continueBox "Chapter5NimeriaSerykTalk4" "Continue" "">>
</div>
<</nobr>>
<<pov "nimeria" "nimeriasplan.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "As I approach the flower field, the tension between Nimeria and Seryk is palpable. Their conversation seems to have been intense, and I can see the strain on both their faces. Despite everything, I can't help but worry about Seryk's condition after his confrontation with Gairos.">>
<<dialog "Rylan" "faceworried" "Seryk... are you really okay? I saw what Gairos did to you. That wound looked... fatal.">>
<<dialog "Seryk" "facegrin" "Don't worry about me, bro. I'm a bit sore, but give me a few days and I'll be back in top form. You know how it is with us demons - we're built tough.">>
<<dialog "Rylan" "faceconfused" "How is that even possible? Gairos burned your whole back! I saw blood everywhere, and you were barely breathing. How can you be walking around like nothing happened?">>
<<dialog "Seryk" "faceworried" "Honestly, I don't know either. Since I was in my teens, I've developed some... unusual regenerative abilities. Nowhere near as extreme as Gairos, but small cuts heal in minutes, bigger wounds in hours. Though if it wasn't for Mariel and Liora's healing magic, even my regeneration wouldn't have been enough. That wound Gairos inflicted would have killed me for sure.">>
<<dialog "Nimeria" "facesmile" "That's the secret behind his strength, $humanName. His muscles regenerate and rebuild faster too. It's why he can train so intensely without getting exhausted. His body literally recovers while he's still fighting.">>
<<narrative "I stop in my tracks and turn to face Nimeria directly, my expression hardening with barely contained anger. After everything that's happened, I need answers, and I need them now.">>
<<dialog "Rylan" "faceangry" "Can you now explain yourself, Nimeria? Did you lie to us all this time? The truth spell...">>
<<dialog "Nimeria" "facecold" "It worked, and it hurt like hell. Regarding what I told Gairos... nearly everything was a lie. I fed him false information, misled him.">>
<<dialog "Rylan" "faceconfused" "But how did you? The truth spell is supposed to be impossible to resist. How could you lie to it?">>
<<dialog "Nimeria" "facecold" "During the first interrogation, I acted. I tried my hardest not to show the pain on my face, to make it seem like I was telling the truth. For the second one, I took some poison beforehand to numb my body, to feel less pain. It was still immensely painful though. If I hadn't prepared beforehand, I would have died for sure.">>
<<dialog "Nimeria" "facecold" "As for why we three are talking here... Gairos is most likely watching the whole house with his magic. The moment he realizes we're planning anything against him, we're dead. I'm certain his surveillance can't reach as far as here.">>
<<dialog "Rylan" "faceworried" "So I can still trust you? Can I really believe anything you say?">>
<<dialog "Nimeria" "faceworried" "Of course! I love you, $humanName, and I would never betray you! Everything I've done, every lie I've told, has been to protect you and the others. My methods might be... unconventional, but my loyalty is absolute.">>
<<changeAffection "Nimeria" "Rylan" 1>>
<<dialog "Seryk" "facegrin" "Oh? My little sis is in love? Nim and $humanName sitting in a tree, K-I-S-S...">>
<<dialog "Nimeria" "faceangry" "K-I-C-K in your balls if you don't shut up, Seryk! This isn't the time for your childish teasing!">>
<<dialog "Rylan" "faceworried" "Seryk, I feel I can trust you the most right now. What do you say? Can I believe her?">>
<<dialog "Seryk" "faceworried" "Nim is a crazy witch, but I believe she has a good heart... somewhere deep down... maybe. From what I know now, I'm sure you can trust her regarding Gairos. She genuinely wants to protect us all.">>
<<changeAffection "Seryk" "Rylan" 1>>
<<dialog "Seryk" "faceworried" "Though you shouldn't trust her completely. She has a different understanding regarding morals than we do. Her methods are... extreme, to say the least. But her intentions are pure, even if her execution is questionable.">>
<<dialog "Rylan" "faceworried" "Okay, Nimeria, I'll continue to trust you. So what is your plan? How do we deal with Gairos?">>
<<changeAffection "Rylan" "Nimeria" 1>>
<<dialog "Nimeria" "facecold" "For now, we need time. Gairos will want us to go to war soon, and afterwards he might just kill us all. I want to impede both outcomes at all costs. I've got my freedom now, and I don't want to be caged again. Not by him, not by anyone.">>
<<dialog "Rylan" "faceshock" "...You plan to kill him? Is that what you're saying?">>
<<dialog "Nimeria" "facecold" "No, I don't want to kill anyone. But for now, I don't see an alternative. And honestly, $humanName, would you rather go to war and kill hundreds of thousands, even tens of millions of innocent people, just so you don't have to kill one criminal who threatens your family? Please don't tell me you're a self-destructive saint just like Seryk too?">>
<<dialog "Rylan" "faceworried" "...If it meant protecting my family and friends, I could do it. I don't want to, but I could. The thought of losing any of you... I can't let that happen.">>
<<dialog "Seryk" "faceworried" "I can't believe I'm hearing this. Both of you talking about murder like it's... like it's nothing. There has to be another way.">>
<<changeAffection "Seryk" "Rylan" -1>>
<<dialog "Nimeria" "facesmile" "Great, that's enough for me. Though I wouldn't want you to make your hands dirty *it's enough if mine are*. But enough talk for now. Let's go back. We can talk more on the way...">>
<<continueBox "Chapter5NimeriaSerykTalk5" "Continue" "">>
</div>
<</nobr>>
<<pov "rylan" "nimeriasplan.mp3">><<nobr>>
<<set $nimeriaMassageChoice = false>>
<div id="overlay-transition" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(0, 0, 0, 0.95), rgba(70, 130, 180, 0.9), rgba(0, 0, 0, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; opacity: 1; transition: opacity 2s ease-in-out;">
<div style="text-align: center; color: #F5DEB3; font-size: 1.8em; text-shadow: 2px 2px 8px rgba(0,0,0,0.8);">
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 0s infinite;">The conversation continues...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 1s infinite;">As they make their way back home...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 2s infinite;">Through the quiet streets...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 3s infinite;">To the familiar warmth of their home...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 4s infinite;">Where new possibilities await...</div>
</div>
</div>
<style>
@keyframes fadeInOut {
0%, 100% { opacity: 0; transform: translateY(20px); }
50% { opacity: 1; transform: translateY(0); }
}
</style>
<script>
setTimeout(() => {
document.getElementById('overlay-transition').style.opacity = '0';
}, 5000);
setTimeout(() => {
document.getElementById('overlay-transition').style.display = 'none';
}, 7000);
</script>
<div class="passage-container rylan">
<<narrative "A bit later, we're back home. Seryk has already retreated to his room, likely to rest and recover from his injuries. The house feels quiet and peaceful after the intense conversation in the flower field.">>
<<dialog "Nimeria" "faceworried" "Hey, $humanName... could you help me to my room? I'm still feeling a bit weak.">>
<<dialog "Rylan" "faceworried" "Of course, let me help you up.">>
<<narrative "I carefully support Nimeria as we make our way up the stairs to her room. She's still unsteady on her feet, and I can feel her leaning heavily against me for support.">>
<<if $nimeriaxrylancontent>>
<<narrative "Once we reach her room, Nimeria sits down on her bed and begins removing her shoes. She looks up at me with a mixture of gratitude and something else I can't quite place.">>
<center><img src="images/nimeria/chapter5/rylan/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<dialog "Nimeria" "faceworried" "Thank you for helping me up here. All my muscles feel so sore... it's like I've been working out for hours without rest.">>
<<dialog "Nimeria" "faceworried" "Would you... would you mind giving me a massage? Just to help relax my muscles a bit? I promise I won't ask for anything inappropriate.">>
<<dialog "Rylan" "faceworried" "I..." "I suppose I could help with that?">>
<<choiceBox "What will you do?" "Massage Her 👄" "Chapter5NimeriaMassage" "Chapter5NimeriaSerykTalk5=massage" "Don't Massage Her" "Chapter5NimeriaRylanTalkConclusion" "Chapter5NimeriaSerykTalk5=no_massage">>
<<else>>
<<dialog "Nimeria" "faceworried" "Thank you for helping me up here, $humanName. I really appreciate it. I should be fine now - I just need to rest for a bit.">>
<<continueBox "Chapter5NimeriaRylanTalkConclusion" "Continue" "">>
<</if>>
</div>
<<pov "rylan" "defaultch5.mp3">>
<</nobr>><<nobr>>
<div class="passage-container serin">
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0;">Serin's Bedroom</h2>
</div>
<<narrative "Serin lay on her bed, still in her underwear from the day's activities. The soft mattress felt welcoming after the intense training and preparation for their journey to Blightwood.">>
<<dialog "Serin" "face" "That Gairos... he's really something else," "she muttered to herself, staring at the ceiling." "Even with all of us fighting together, we barely made a dent. And that was without him using any magic at all.">>
<<dialog "Serin" "face" "We're going to need every advantage we can get. Maybe I should try to get some rest while I can." "She sighed, stretching her arms above her head.">>
<<if $serinFutanariTransformation>>
<<narrative "Serin rolled onto her stomach, trying to find a comfortable position for her nap. But almost immediately, she felt something strange - a slight pressure and rubbing sensation between her legs that was just... uncomfortable.">>
<<dialog "Serin" "faceembarrassed" "What the...?" "she muttered, shifting her position. The sensation persisted, and it was starting to hurt a little." "This is weird. Why does it feel like something's pressing against me there?">>
<<narrative "After several minutes of trying to ignore it, Serin finally gave up on sleeping on her stomach. She sat up, curiosity getting the better of her.">>
<<dialog "Serin" "faceembarrassed" "Okay, what's going on down there?">>
<<narrative "Hesitantly, she reached down and touched between her legs through her panties. Her eyes widened as she felt something... different. There was a small bump there that definitely hadn't been there before.">>
<<dialog "Serin" "faceshock" "Oh no... what is this?" "Her heart was racing now. She had to see what was happening.">>
<<narrative "Slowly, she pulled down her panties and looked down. What she saw made her gasp in shock.">>
<center><img src="images/serin/transform/futaclit/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<dialog "Serin" "faceshock" "What... what is this?!" "she whispered, staring in disbelief. Her clitoris was... it was much bigger than it had ever been before. Not just a little bigger - significantly larger, almost like a small... no, she couldn't even think it.">>
<<narrative "This can't be real. This has to be some kind of dream or... or something. She touched it gently, and it was definitely real. The sensation was strange, different from before.">>
<<dialog "Serin" "faceembarrassed" "When did this happen? How did this happen?" "She pulled her panties back up, her mind racing." "I need to figure this out, but... not now. We have bigger problems to deal with.">>
<<narrative "She lay back down, this time on her back, trying to process what she'd just discovered. The transformation was real, and it was more extensive than she'd realized. But right now, she needed to focus on the mission ahead.">>
<<else>>
<<dialog "Serin" "face" "Well, let's just get some rest first," "she said to herself, settling into a comfortable position." "We'll need to be at our best for what's coming.">>
<<narrative "She closed her eyes, trying to push thoughts of Gairos and the upcoming battle from her mind. Sleep would help clear her head and give her the energy she needed for the journey ahead.">>
<</if>>
<<if $lioraLickSerykSweat>>
<<continueBox "Chapter5LioraSerykNTR" "Continue" "">>
<<else>>
<<continueBox "Chapter5BlightwoodPreparations" "Continue" "">>
<</if>>
</div>
<<pov "serin" "defaultch5.mp3">>
<</nobr>><<nobr>>
<<stopLoopingSounds>>
<<changeLust "Rylan" 50>>
<<changeLust "Serin" 50>>
<<changeFetish "Rylan" "SmellFetish" 0.2>>
<<changeFetish "Rylan" "ArmpitFetish" 0.2>>
<div class="passage-container rylan">
<<narrative "As we continue dancing, the heat builds between us. Serin's body becomes slick with sweat, and I can feel the dampness of her skin through her clothes. The scent of her exertion fills the air - a mix of feminine musk and the natural warmth of her body.">>
<center><img src="images/serin/chapter5/dancing/c3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<dialog "Serin" "facehappy" "Getting tired already?" "Serin teases, though I can see the flush in her cheeks and the way her chest rises and falls with each breath." "I thought you were supposed to be teaching me.">>
<<dialog "Rylan" "faceembarrassed" "I'm not tired," "I protest, but my voice comes out breathier than I intended. The way her body moves against mine, the heat radiating from her skin, it's all becoming overwhelming.">>
<<narrative "As we spin, I catch glimpses of her exposed skin - the sheen of sweat on her collarbone, the way her tank top clings to her abs, and occasionally, when she raises her arms, the dampness in her armpits. Each sight sends a jolt of arousal through me.">>
<center><img src="images/serin/chapter5/dancing/c1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<dialog "Serin" "facewet" "You're staring," "she whispers, her voice husky with exertion." "See something you like?">>
<<dialog "Rylan" "faceembarrassed" "I... I wasn't..." "I stammer, but my eyes betray me, flickering down to her chest where beads of sweat gather in the valley between her breasts.">>
<<narrative "As we continue moving, our legs brush together more frequently. The fabric of my boxers does little to hide my growing arousal, and I can feel the heat radiating from between her thighs as we dance.">>
<center><img src="images/serin/chapter5/dancing/c2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<if $serinFutanariTransformation>>
<<narrative "Suddenly, Serin's movements become more deliberate. She starts to sway her hips, deliberately rubbing her bottom against my legs as we dance. I can feel the heat and moisture through the fabric, and it's driving me wild.">>
<<dialog "Serin" "facewet" "Mmm, this feels nice," "she purrs, pressing herself more firmly against me.">>
<<narrative "She starts moaning softly, the sound sending shivers down my spine. Her hips begin to move more rhythmically, grinding against my legs with increasing intensity.">>
<<dialog "Rylan" "faceembarrassed" "Serin?" "I gasp, my voice barely audible over her moans. I try to pull away, but she's holding me too tightly, her body writhing against mine.">>
<<narrative "She starts humping my legs more frantically, her moans growing louder. I attempt to draw back, but our feet tangle together and we both crash to the floor, her body landing on top of mine.">>
<<continueBox "Chapter5SerinRylanHumpChoice" "Continue" "Continue">>
<<else>>
<<narrative "The teasing continues, but I can see the effect it's having on her too. Her breathing becomes more ragged, and there's a wild look in her eyes that wasn't there before. She's trying to hide it, but the way she presses against me betrays her true feelings.">>
<<dialog "Serin" "facewet" "You're getting distracted," "she says, but her voice is breathy and her pupils are dilated." "Focus on the dance steps.">>
<<narrative "But then something changes in her. The teasing facade cracks, and I can see the raw desire in her eyes. She starts moaning softly, her body trembling with need.">>
<<dialog "Serin" "facewet" "I can't take it anymore," "she gasps, her voice thick with need. With a sudden movement, she pushes against my chest with surprising force, shoving me backward.">>
<<narrative "I fall to the floor, landing hard on my back. Serin follows me down, her body landing on top of mine in a position that leaves no doubt about her intentions.">>
<<continueBox "Chapter5SerinRylanOnTop" "Continue" "">>
<</if>>
<<narrative "Now we're both on the floor, our bodies pressed together in the most intimate way possible. I can feel every curve of her body against mine, smell the heady scent of her arousal mixed with sweat, and see the desire burning in her eyes.">>
</div>
<<pov "rylan" "intimatech5.mp3">>
<</nobr>>
<style>
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
@keyframes slideShow {
0%, 6% { opacity: 1; }
6.1%, 100% { opacity: 0; }
}
</style><<nobr>>
<<stopLoopingSounds>>
<<set $rylanSerinLove = 0>>
<<changeAffection "Rylan" "Serin" 1>>
<<changeAffection "Serin" "Rylan" 1>>
<<changeAttraction "Rylan" "Serin" 0.5>>
<<changeAttraction "Serin" "Rylan" 0.5>>
<<changeLust "Rylan" 3>>
<<changeLust "Serin" 3>>
<<changeFetish "Rylan" "SmellFetish" 0.1>>
<<changeFetish "Serin" "SmellFetish" 0.1>>
<div class="passage-container rylan">
<<dialog "Rylan" "faceembarrassed" "Alright," "I say, my voice barely above a whisper." "I'll try to help you. But I'm warning you - I'm probably terrible at this now.">>
<<set $rylanChoseToDanceWithSerin = true>>
<<dialog "Rylan" "faceembarrassed" "Though I should probably wear something lighter for this," "I add, looking down at my current outfit.">>
<<dialog "Serin" "facehappy" "Just remove your pants and shirt," "Serin suggests with a casual shrug." "It's just us here, and it'll be easier to move around.">>
<<if not $rylan_wearingPanties>>
<<narrative "I hesitate for a moment, then decide she's right. I quickly remove my outer clothes, leaving me standing in just my black boxers. The training hall suddenly feels much more intimate.">>
<<else>>
<<changeLust "Rylan" 3>>
<<dialog "Rylan" "faceembarrassed" "I'll be right back," "I say quickly remembering I'm wearing panties, heading to my room. I quickly change into my black boxers and return, feeling much more comfortable for dancing.">>
<</if>>
<<dialog "Serin" "facehappy" "Really? You'll really help me?" "Her face lights up like the sun breaking through clouds." "I promise I'll be the best student ever!">>
<<narrative "I step closer to her, placing one hand on her waist and taking her hand in the other. The moment our skin touches, I feel a jolt of electricity run through me.">>
<<quickRoll "Physical Intimacy" "Rylan" 80 5 "SmellFetish" 3>>
<<if _tempRollSuccess>>
<<narrative "I manage to maintain my composure despite the intimate contact, focusing on teaching her the proper dance steps.">>
<<else>>
<<narrative "The close physical contact makes my heart race and my breathing become shallow. I find myself struggling to concentrate on the dance steps.">>
<<changeFetish "Rylan" "SmellFetish" 0.2>>
<</if>>
<center><img src="images/serin/chapter5/dancing/c3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<dialog "Serin" "faceembarrassed" "Like this?" "Serin asks, her voice soft and breathy." "Am I doing it right?">>
<<dialog "Rylan" "faceembarrassed" "Yes, that's perfect," "I manage to say, though my voice comes out rougher than intended." "You're a natural at this.">>
<<dialog "Serin" "faceembarrassed" "Really? You think so?" "She looks up at me with those bright, trusting eyes." "I've never danced with anyone before. It's... different than I expected.">>
<<dialog "Rylan" "faceembarrassed" "How so?" "I ask, trying to keep my voice steady as we continue to move together.">>
<<dialog "Serin" "faceembarrassed" "I don't know... it's more intimate than I thought it would be," "she admits, her cheeks flushing." "Being this close to someone, feeling their heartbeat... it's kind of overwhelming.">>
<<dialog "Rylan" "faceembarrassed" "I know what you mean," "I say softly, and I do. The way she feels against me, the scent of her sweat, the warmth radiating from her body - it's all so much more intense than I anticipated.">>
<<dialog "Serin" "faceembarrassed" "$humanName?" "she whispers, looking up at me with an expression I can't quite read." "Have you ever... I mean, do you think about me differently now than when we were kids?">>
<<dialog "Rylan" "faceembarrassed" "What do you mean?" "I ask, though I think I know exactly what she's asking.">>
<<dialog "Serin" "faceembarrassed" "You know... when we were little, I was just one of the boys to you. But now..." "She trails off, her eyes searching mine." "Do you still see me the same way?">>
<<dialog "Rylan" "faceembarrassed" "No," "I admit quietly." "No, I don't think I do.">>
<<dialog "Serin" "faceembarrassed" "What do you see me as now?" "Her voice is barely a whisper, but I can hear the hope in it.">>
<<narrative "The dance ends, but we don't move apart. We're still standing there, our bodies pressed together, our eyes locked. I can feel her heart racing against my chest, and I know she can feel mine too.">>
<<choiceBox "What do you think?" "Yes, I could like her" "Chapter5SerinDanceYes" "Chapter5SerinDanceH=yes" "No, I couldn't like her" "Chapter5SerinDanceNo" "Chapter5SerinDanceH=no">>
</div>
<<pov "rylan" "serindate.mp3">>
<</nobr>>
<style>
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
@keyframes slideShow {
0%, 6% { opacity: 1; }
6.1%, 100% { opacity: 0; }
}
</style><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<dialog "Rylan" "faceembarrassed" "Serin, I... I don't think I could," "I say gently, trying to be as kind as possible." "I care about you a lot, but only as a friend.">>
<<dialog "Serin" "faceembarrassed" "Oh," "she says softly, her voice barely above a whisper." "I see.">>
<<dialog "Rylan" "faceembarrassed" "It's not that you're not amazing," "I quickly add, seeing the hurt in her eyes." "You are. You're beautiful, smart, and incredibly talented. But... you're just a bit too much for me.">>
<<dialog "Serin" "faceembarrassed" "Too much?" "she asks, her voice trembling slightly." "What do you mean?">>
<<dialog "Rylan" "faceembarrassed" "You're so... intense," "I try to explain carefully." "Your energy, your teasing, your... everything. It's overwhelming sometimes. I need someone calmer, more... gentle.">>
<<dialog "Serin" "faceembarrassed" "Like Liora," "she says quietly, understanding dawning in her eyes." "You want someone like Liora.">>
<<dialog "Rylan" "faceembarrassed" "I didn't say that," "I respond quickly, though we both know it's true." "I just... I can't see myself developing romantic feelings for you. You're my friend, and I want to keep it that way.">>
<<dialog "Serin" "faceembarrassed" "I understand," "she says, forcing a smile that doesn't quite reach her eyes." "I appreciate you being honest with me. Even if it hurts.">>
<<dialog "Rylan" "faceembarrassed" "I never wanted to hurt you," "I say sincerely." "You're one of my best friends, Serin. That means something to me.">>
<<dialog "Serin" "faceembarrassed" "I know," "she says, stepping back from our dance position." "And I'll always be your friend. I just... I need some time to process this.">>
<<dialog "Serin" "facesmirk" "If you can't like me, then I'll just have to force you instead,">>
<<dialog "Serin" "faceembarrassed" "Okay, I understand," "she says, her voice surprisingly calm now." "Can you still continue to teach me to dance?">>
<<dialog "Rylan" "faceembarrassed" "Of course," "I say, relieved that she's taking it so well." "I'd be happy to continue teaching you to dance.">>
<<dialog "Serin" "faceembarrassed" "Great!" "she says, her smile returning." "Then let's continue. I want to learn more steps.">>
<<narrative "We continue dancing, though the atmosphere has changed. There's a tension now, an underlying current that wasn't there before. But Serin seems determined to act normal, and I'm grateful for that.">>
<<set $rylanSerinLove = 0>>
<<changeAffection "Rylan" "Serin" -1>>
<<changeAffection "Serin" "Rylan" -1>>
<<continueBox "Chapter5SerinDance2" "Continue dancing" "">>
</div>
<<pov "rylan" "serindate.mp3">>
<</nobr>>
<style>
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
</style><<nobr>>
<div class="passage-container rylan">
<<dialog "Rylan" "faceembarrassed" "I... I'm sorry, Serin," "I manage to say, my voice barely above a whisper." "I don't think that's a good idea.">>
<<dialog "Serin" "faceangry" "What do you mean, 'not a good idea'?" "Her voice has an edge I've never heard before, sharp enough to cut through steel." "Are you saying I'm not worth your time? That I'm not good enough to dance with?">>
<<dialog "Rylan" "faceconfused" "That's not what I meant at all!" "I try to explain, but the words feel clumsy in my mouth." "I just... I'm not comfortable with dancing. It's been years since I took those lessons, and I'm probably terrible at it now.">>
<<dialog "Serin" "faceangry" "Fine!" "Serin snaps, her voice cracking with barely contained emotion." "If you won't help me, then I'll figure it out myself!" "I don't need you or anyone else. I can learn to dance on my own!">>
<div style="margin: 20px 0; text-align: center;">
<div style="position: relative; width: 500px; height: 400px; margin: 0 auto; border-radius: 8px; overflow: hidden; border: 2px solid rgba(100, 100, 100, 0.4);">
<img src="images/serin/chapter5/dancing/slide/1.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite;" alt="Serin Dancing 1">
<img src="images/serin/chapter5/dancing/slide/2.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 2s;" alt="Serin Dancing 2">
<img src="images/serin/chapter5/dancing/slide/3.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 4s;" alt="Serin Dancing 3">
<img src="images/serin/chapter5/dancing/slide/4.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 6s;" alt="Serin Dancing 4">
<img src="images/serin/chapter5/dancing/slide/5.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 8s;" alt="Serin Dancing 5">
<img src="images/serin/chapter5/dancing/slide/6.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 10s;" alt="Serin Dancing 6">
<img src="images/serin/chapter5/dancing/slide/7.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 12s;" alt="Serin Dancing 7">
<img src="images/serin/chapter5/dancing/slide/8.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 14s;" alt="Serin Dancing 8">
<img src="images/serin/chapter5/dancing/slide/9.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 16s;" alt="Serin Dancing 9">
<img src="images/serin/chapter5/dancing/slide/10.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 18s;" alt="Serin Dancing 10">
<img src="images/serin/chapter5/dancing/slide/11.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 20s;" alt="Serin Dancing 11">
<img src="images/serin/chapter5/dancing/slide/12.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 22s;" alt="Serin Dancing 12">
<img src="images/serin/chapter5/dancing/slide/13.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 24s;" alt="Serin Dancing 13">
<img src="images/serin/chapter5/dancing/slide/14.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 26s;" alt="Serin Dancing 14">
<img src="images/serin/chapter5/dancing/slide/15.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 28s;" alt="Serin Dancing 15">
</div>
</div>
<style>
@keyframes slideShow {
0%, 6% { opacity: 1; }
6.1%, 100% { opacity: 0; }
}
</style>
<<narrative "I watch helplessly as Serin continues her aggressive dance routine. There's something almost tragic about it - she's putting so much energy into proving she doesn't need help, but the result is even more awkward than before. Her movements are sharp and jerky, lacking any grace or rhythm, driven purely by stubborn pride and wounded feelings.">>
<<dialog "Rylan" "facesad" "Maybe I should have just agreed to help her..." "I mutter to myself, feeling a pang of guilt." "But it's too late now. The damage is done.">>
<<narrative "After what feels like an eternity of watching her angry, awkward movements, I finally decide I can't take it anymore. The training hall feels suffocating, filled with the weight of my rejection and Serin's stubborn determination to prove me wrong. I quietly make my way to the door, leaving her to continue her furious dance practice alone.">>
<<changeAffection "Rylan" "Serin" -2>>
<<changeAffection "Serin" "Rylan" -2>>
<<continueBox "Chapter5GairosTraining" "Wait for afternoon" "">>
</div>
<<pov "rylan" "serindate.mp3">>
<</nobr>>
<style>
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
</style><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<dialog "Rylan" "faceembarrassed" "I think... I think I could," "I say quietly, my voice barely above a whisper." "Like you, I mean. I think I could really like you.">>
<<dialog "Serin" "faceembarrassed" "Really?" "Her voice is filled with hope, but then her expression clouds over." "But... what about Liora?">>
<<dialog "Rylan" "faceembarrassed" "That's the problem," "I admit, my heart heavy with the truth." "I do love Liora. I really do. And I would never want to break her heart.">>
<<dialog "Serin" "faceembarrassed" "I understand," "Serin says softly, though I can see the pain in her eyes." "Can you still continue to teach me to dance?">>
<<dialog "Rylan" "faceembarrassed" "Of course," "I say, relieved that she's taking it so well." "I'd be happy to continue teaching you to dance.">>
<<addSoulBlessing "rylan" 1>>
<<addSoulBlessing "serin" 1>>
<<set $humanNameHaremMindset += 1>>
<<set $rylanSerinLove = 1>>
<div id="soulBlessingAnimation" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; display: none;">
<div style="background: radial-gradient(circle, rgba(255, 215, 0, 0.9), rgba(255, 165, 0, 0.8)); border-radius: 50%; width: 200px; height: 200px; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 50px rgba(255, 215, 0, 0.6); animation: pulse 2s ease-in-out;">
<div style="text-align: center; color: white; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
<h3 style="margin: 0; font-size: 1.5em;">✨ Soul Blessing ✨</h3>
<p style="margin: 5px 0; font-size: 1.1em;">$humanName +1</p>
<p style="margin: 5px 0; font-size: 1.1em;">Serin +1</p>
</div></div></div>
<script>
setTimeout(function() {
const animation = document.getElementById('soulBlessingAnimation');
if (animation) {
animation.style.display = 'block';
setTimeout(function() {
animation.style.display = 'none';
}, 2000);
}
}, 100);
</script>
<style>
@keyframes pulse {
0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
20% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
80% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
100% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
}
</style>
<<changeAffection "Rylan" "Serin" 2>>
<<changeAffection "Serin" "Rylan" 1>>
<<changeAttraction "Rylan" "Serin" 1>>
<<changeAttraction "Serin" "Rylan" 0.5>>
<<continueBox "Chapter5SerinDance2" "Continue dancing" "Continue?">>
</div>
<<pov "rylan" "serindate.mp3">>
<</nobr>>
<style>
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
</style><<nobr>>
<div class="passage-container rylan">
<<narrative "The city's bustling energy surrounds us as we walk through the market district. Serin practically bounces with excitement, her eyes darting between every shop and stall we pass. The restaurant she mentioned turns out to be a charming little place called \"The Golden Plate\" - cozy, with warm lighting and the most amazing aromas wafting from the kitchen.">>
<center><img src="images/landscapes/goldenplate.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<dialog "Serin" "facelaugh" "Oh, this place looks great!" "She claps her hands together, practically bouncing with excitement." "I've been craving some proper meat after all that training. Their roasted lamb looks perfect!">>
<<dialog "Serin" "facesmile" "I'll take the roasted lamb with herb butter, garlic bread, creamy mushroom soup, roasted vegetables, and mashed potatoes on the side." "She announces to the waiter with a bright smile." "Oh, and make sure the lamb is medium-rare!">>
<<dialog "Rylan" "faceworried" "Serin, that sounds like a lot of food. Are you sure you can eat all that?">>
<<dialog "Serin" "facesmirk" "Oh, $humanName. You have no idea what I'm capable of." "She winks mischievously." "Besides, I'm a growing girl. I need my nutrients!">>
<<narrative "When the food arrives, I'm absolutely stunned. The plates practically cover our entire table, and she's already digging in with the enthusiasm of someone who hasn't eaten in days.">>
<center><img src="images/items/serinsfood.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<dialog "Serin" "facesmile" "Mmm, this is amazing!" "She grins around a mouthful of lamb, clearly loving every bite." "You have to try this, $humanName!">>
<<dialog "Rylan" "faceconfused" "I'm good, thanks. I'm still trying to figure out where you're putting all that food. Your stomach must be a bottomless pit.">>
<<dialog "Serin" "facelaugh" "It's all the training," "she says with a grin, already halfway through her second helping of mashed potatoes." "I burn so much food during practice that I can eat a horse.">>
<<narrative "I watch in amazement as Serin demolishes plate after plate. She's like a human vacuum cleaner, and I'm genuinely concerned about the bill. Just when I think she's done, she spots the dessert menu and her eyes light up like a child on their birthday.">>
<<dialog "Serin" "facesmile" "Oh wow, look at these cakes!" "Her eyes light up with excitement." "I need some sugar after all that meat. They all look so good!">>
<<dialog "Rylan" "faceworried" "Just pick one, Serin. We've been here for two hours already.">>
<<dialog "Serin" "faceteasing" "I'll take one of each!" "She announces to the waiter with a bright smile." "One slice of chocolate fudge, one vanilla bean, one strawberry shortcake, one tiramisu, and one lemon meringue. Oh, and a coffee to wash it all down!">>
<<dialog "Rylan" "faceembarrassed" "Serin! That's five different cakes! Where are you going to put them all?">>
<<dialog "Serin" "facelaugh" "In my stomach, obviously!" "She pats her flat belly with a grin." "Don't worry, $humanName. I have a very efficient digestive system.">>
<<narrative "I watch in stunned silence as Serin proceeds to devour every single slice of cake with the same enthusiasm she showed for the main course. She's like a dessert-eating machine, and I'm genuinely impressed by her capacity. When the waiter finally brings the bill, I'm expecting it to be astronomical given the amount of food we've consumed.">>
<<dialog "Serin" "facesmirk" "Oh, he pays," "she says casually, pointing at me with her fork while still chewing the last bite of tiramisu.">>
<<dialog "Rylan" "faceangry" "What?! Serin, I didn't agree to pay for all of that! That bill must be enormous!">>
<<dialog "Serin" "faceteasing" "Come on, $humanName. You're the one who agreed to come on this date. It's traditional for the gentleman to pay!" "She bats her eyelashes dramatically." "Besides, think of it as an investment in our... friendship.">>
<<if $rylanxserincontent>>
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px;">
<p style="color: #F5DEB3; font-style: italic; margin: 10px 0; line-height: 1.6;">As I'm grumbling about the bill, I suddenly feel something warm and soft slowly rubbing against my leg under the table. I look down to see Serin's bare foot gently caressing my calf, her toes occasionally brushing against my skin. She's still grinning at me, but there's something more playful and intimate in her expression now.</p>
<div style="clear: left;"></div>
</div>
<<dialog "Rylan" "faceembarrassed" "Serin! What are you doing?" "I whisper, trying to keep my voice low so the waiter doesn't hear.">>
<<dialog "Serin" "facesmirk" "Just showing my appreciation for such a generous date," "she whispers with a mischievous wink, her foot continuing its slow, deliberate movement up and down my leg.">>
<</if>>
<<narrative "I grumble as I hand over my coin purse, watching the waiter count out what feels like half my savings. Serin just grins at me, clearly enjoying my discomfort. As we leave the restaurant, I'm still trying to process how someone so small could eat so much food.">>
<<dialog "Serin" "facesmile" "That was fantastic!" "She stretches her arms above her head with a satisfied grin." "I feel like I could train for hours now. All that meat and sugar are perfect fuel!">>
<<dialog "Rylan" "faceworried" "I'm just glad you didn't order the entire menu. My pouch is already crying.">>
<<narrative "As we walk through the market district, I suddenly spot a familiar shop entrance - the Whisper's Wisdom. Veloria's shop. I remember the strange encounter from before, and I know I need to speak with her about what's happening. But I can't bring Serin along for this conversation.">>
<<dialog "Rylan" "faceworried" "Serin, I need you to wait here for a moment. There's something I need to take care of.">>
<<dialog "Serin" "faceteasing" "Oh? Visiting another woman while on a date?" "She raises an eyebrow with a playful smirk." "You womanizer, $humanName. I didn't know you had it in you!">>
<<dialog "Rylan" "faceembarrassed" "It's not like that! This is important business. Just... stay here, okay?">>
<<dialog "Serin" "faceteasing" "Fine, fine. I'll wait here like a good little date." "She winks." "But don't take too long, or I might start thinking you're avoiding me!">>
<<narrative "I approach the Whisper's Wisdom shop, but just like before, the door doesn't budge. I can feel Serin's eyes on my back, and I know she's probably watching my every move. I need to get inside quickly.">>
<<dialog "Rylan" "faceangry" "Gods, Veloria, open the door!" "I shout, frustration building as I try the handle again.">>
<<narrative "At that exact moment, the door swings open with a soft creak, revealing the dim interior of Veloria's shop. I step inside quickly, but I can't shake the feeling that I'm being watched. What I don't see is Serin, who has quietly moved closer to the shop entrance, her natural stealth abilities allowing her to follow me without making a sound.">>
<<continueBox "Chapter5SerinDate3" "Enter the Shop" "">>
<<changeAffection "Serin" "Rylan" 2>>
<<changeAffection "Rylan" "Serin" 2>>
<<if $rylanxserincontent>>
<<changeAttraction "Serin" "Rylan" 1.5>>
<<changeAttraction "Rylan" "Serin" 1.5>>
<</if>>
</div>
<<pov "rylan" "serindate.mp3">>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<<narrative "We step through the doorway into Veloria's realm. The air feels different here, charged with magic. Veloria sits behind her desk, looking like she expected me.">>
<center><img src="images/veloria/portrait.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<dialog "Veloria" "face" "Hmm, interesting," "Veloria says, her violet eyes narrowing as she studies us both." "You are only the second person I've met who has visited me twice in this realm. I suppose you're here for your payments, $humanName?">>
<<dialog "Rylan" "faceworried" "Of course I don't have the gold yet," "I say, embarrassed.">>
<<dialog "Serin" "facesmirk" "That's not good, $humanName," "Serin says teasingly." "You should always pay your debts. It's bad manners to leave them hanging.">>
<<dialog "Rylan" "faceangry" "I turn around, shocked." "Serin?! What are you doing here?!">>
<<dialog "Veloria" "face" "Oh, this is most interesting," "Veloria says with a knowing smile." "You know each other? Usually it should be impossible for two people to enter together. This realm operates on different principles than your mortal world.">>
<<dialog "Serin" "faceconfused" "Why is that?" "Serin asks, stepping closer to look around.">>
<<dialog "Veloria" "face" "This place exists independent from time and space," "Veloria explains, gesturing around." "I only allow people to enter who could potentially change the flow of the world. So for two people from the same timeline, and even knowing each other... this is unprecedented.">>
<<dialog "Serin" "faceteasing" "Oh $humanName," "Serin says teasingly." "I didn't know you cared that much for me. We're even connected by the strings of fate, it seems. How romantic.">>
<<dialog "Rylan" "faceworried" "I remember what she said before." "Right! Strings! You said something about one of my friends dying!">>
<<dialog "Serin" "faceworried" "What?!" "Serin's playful expression vanishes.">>
<<dialog "Rylan" "faceworried" "You mentioned an immense spell? So it must be Gairos! I guess we stopped it since Seryk survived?">>
<<dialog "Veloria" "face" "You don't even pay your debt but want more answers," "Veloria says sharply." "How rude. But since you ask..." "She studies me with her violet eyes." "No, it wasn't stopped. And as I told you before, it's near impossible to stop fate. Someone in your group will die. Very soon.">>
<<thought "Rylan" "faceworried" "I can't give up... There must have been someone who stopped their fate. What about the other person who visited you twice? You mentioned him.">>
<<dialog "Veloria" "face" "...an elf with purple skin," "Veloria says after a pause." "His personality was similar to yours. Far too optimistic. But powerful. Similar to mine, in some ways.">>
<<dialog "Rylan" "faceworried" "What did he ask for?">>
<<dialog "Veloria" "face" "He fought in a great war and wanted to know the outcome," "Veloria explains, her voice taking on a distant quality." "Well, you don't have to be a prophet to know that after one war ends, the next one will start soon. I told him he and everyone he loved would die. Including his family, servants, and children.">>
<<dialog "Rylan" "faceangry" "What?! That's crazy!" "I say, horrified.">>
<<dialog "Veloria" "face" "The second time he visited, he repaid his debt with interest," "Veloria continues." "Just to let you know, he owed me ten times more than you do, and still repaid it. Unlike you...">>
<<dialog "Rylan" "faceworried" "Ten times?! How did he even carry so many coins in here?">>
<<dialog "Veloria" "face" "Books," "Veloria says simply.">>
<<dialog "Rylan" "faceconfused" "Books? What book is even worth so much?">>
<<dialog "Veloria" "face" "What a fool," "Veloria says, shaking her head." "Here you are seeking knowledge, but at the same time you underestimate its worth. Knowledge is the most precious currency in all the realms.">>
<<dialog "Rylan" "faceworried" "The second time he visited, was he able to save his family and friends?">>
<<dialog "Veloria" "face" "I don't think so," "Veloria says." "The second time he visited, he showed resolve. A real optimist and fool: 'If I can't change fate, I'll at least try everything in my power to undo it.'">>
<<dialog "Rylan" "faceworried" "Veloria's words weigh on me." "Undo fate..." "I whisper to myself.">>
<<dialog "Veloria" "face" "Sorry, that I can't help you more," "Veloria says." "But you know where to find me when you're ready to pay your debt.">>
<<dialog "Serin" "facesmile" "Don't worry, $humanName," "Serin says, putting a hand on my shoulder." "We've been through so much together, we'll get through this too. Whatever fate has in store, we'll face it as a team.">>
<<narrative "As we prepare to leave, I think about the knowledge Veloria mentioned. Books worth more than gold... maybe there's something here that could help us.">>
<<continueBox "Chapter5SerinDate4" "Continue" "">>
</div>
<<pov "rylan" "mystical.mp3">>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<<narrative "As we turn to leave Veloria's mystical realm, I notice the shelves lining the walls are filled with ancient tomes and scrolls. The knowledge she mentioned - books worth more than gold - could hold the answers we need.">>
<<choiceBox "What do you want to do?" "Shop for Fetish Books" "WhispersWisdomShopReturn" "Chapter5SerinDate4=shop" "Leave the Shop" "Chapter5SerinDate6" "Chapter5SerinDate4=leave">>
</div>
<<pov "rylan" "mystical.mp3">>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<<narrative "We step back through the portal, leaving Veloria's mystical realm behind. The air feels different again - heavier, more real. The magical energy fades as we return to the mortal world.">>
<<dialog "Serin" "faceconfused.webp" "Well, that was certainly... something," "Serin says, shaking her head as if to clear the mystical experience from her mind." "I've never seen anything like that before. And those books she mentioned - knowledge worth more than gold. Makes you wonder what secrets they hold.">>
<<dialog "Rylan" "faceworried.webp" "Yeah, and now we know someone in our group is still going to die. That's not exactly the kind of knowledge I wanted to gain today." "I can't shake the weight of Veloria's words.">>
<<narrative "As we walk down the street, a voice calls out from behind us.">>
<<dialog "Sora" "face.webp" "Hey, you two! The couple!" "a voice calls out playfully.">>
<<narrative "We turn around to see a figure approaching. My breath catches in my throat - it's the first time I've ever seen a demi-human. A catgirl with delicate features, pointed ears, and a tail that swishes playfully behind her. Her eyes are bright and mischievous, and she has a beauty that's hard to look away from.">>
<center><img src="images/sora/portrait.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<dialog "Rylan" "faceconfused.webp" "What's the matter?" "I ask, still trying to process what I'm seeing.">>
<<dialog "Sora" "face.webp" "Hi! I'm Sora," "they say with a bright smile, their tail curling playfully." "I'm looking for the adventurer guild. What are both of your names?">>
<<dialog "Rylan" "faceworried.webp" "I'm $humanName, and this is Serin," "I introduce us, still somewhat in awe of meeting a demi-human for the first time.">>
<<dialog "Serin" "facesmile.webp" "Nice to meet you, Sora," "Serin says with a friendly smile.">>
<<dialog "Sora" "face.webp" "Pleasure to meet you both!" "Sora's eyes sparkle with mischief." "The guild isn't far from here, right? Maybe you could show me the way?">>
<<dialog "Rylan" "faceworried.webp" "Sure, we can show you. It's not far," "I agree, though I'm still processing the encounter.">>
<<narrative "As we walk toward the guild, Sora suddenly stops and sniffs the air, their cat ears twitching. Their playful expression shifts to something more serious.">>
<<dialog "Sora" "faceangry.webp" "You two are being followed," "Sora says quietly, their tail bristling." "There's someone creepy back there - fully black robed with a skull mask. They've been watching us for a while now.">>
<center><img src="images/skullmask/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<dialog "Rylan" "faceconfused.webp" "I didn't spot anyone like that," "I say, looking around." "And with those looks, they'd definitely stand out.">>
<<dialog "Serin" "faceworried.webp" "Actually, I think I saw someone like that a few times on our way to the restaurant earlier," "Serin says, her voice tinged with concern.">>
<<narrative "Before I can stop them, Sora just casually strolls toward the shadowy figure, their tail swishing with what seems like amusement rather than fear.">>
<<dialog "Sora" "faceangry.webp" "Hey, creep!" "Sora calls out boldly." "Don't follow us, that's creepy! What do you want?">>
<<narrative "The figure in the black robe and skull mask simply stares at Sora, not moving, not speaking. The silence is more unsettling than any words could be.">>
<center><img src="images/skullmask/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<dialog "Rylan" "faceworried.webp" "Come on, let's just go. That's not someone we want to mess with." "I grab Sora's arm and pull them away.">>
<<narrative "When we finally arrive at the guild, I point Sora toward the reception desk.">>
<<dialog "Rylan" "faceworried.webp" "You can talk to Elena over there. She'll help you get registered," "I tell Sora, ready to continue our date.">>
<<dialog "Sora" "face.webp" "Thanks, you two!" "Sora says with a bright smile.">>
<<narrative "We continue our date, but when I turn around, I see Sora is still following us.">>
<<dialog "Rylan" "faceconfused.webp" "We arrived at the guild earlier," "I point out, confused.">>
<<dialog "Sora" "face.webp" "Yes, I know," "Sora replies with a playful grin.">>
<<dialog "Rylan" "faceconfused.webp" "Then why are you following us?">>
<<dialog "Sora" "face.webp" "Seems more interesting," "Sora says, stepping closer and sniffing the air around me." "I took a liking to you both." "They look at Serin with a mischievous glint." "Though you aren't my usual type. Where did we want to go?">>
<<dialog "Serin" "faceconfused.webp" "We? You mean you," "Serin corrects them.">>
<<dialog "Sora" "face.webp" "Oh, don't worry," "Sora says with a playful wink." "I won't try to steal your boyfriend.">>
<<dialog "Rylan" "faceangry.webp" "Boyfriend? We aren't a couple," "I say quickly.">>
<<dialog "Sora" "face.webp" "Oh really?" "Sora's eyes sparkle with mischief." "You would look so great together.">>
<<dialog "Rylan" "faceworried.webp" "I already have..." "I start to say, but Serin interrupts.">>
<<dialog "Serin" "facesmile.webp" "I took a liking to Sora," "Serin says with a smile." "I planned to go clothes shopping. Maybe get something for $humanName.">>
<<dialog "Sora" "face.webp" "Oh? Let me join!" "Sora's face lights up with excitement." "I love clothes!">>
<<narrative "Serin allows Sora to join us, and now our date has become a trio. I can't help but wonder what kind of trouble this playful catgirl is going to bring to our day.">>
<<continueBox "Chapter5SerinDate7" "Continue to Clothes Shopping" "">>
</div>
<<pov "rylan" "serindate.mp3">>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<<narrative "The clothing boutique is a cozy little shop with racks of colorful garments and a few fitting rooms in the back. The air is filled with the scent of fresh fabric and the soft rustle of clothing being moved around.">>
<center><img src="images/landscapes/clothesshop2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<dialog "Sora" "face.webp" "Alright, let's find something nice for $humanName," "Sora says, looking around the shop with interest." "What kind of style are you thinking?">>
<<dialog "Serin" "facesmile.webp" "Something that shows off his best features," "Serin suggests with a playful grin." "Maybe something that will make him look more confident and attractive.">>
<<dialog "Sora" "facelaugh.webp" "Oh, this is perfect!" "Sora exclaims, their tail swishing with excitement as they browse through the racks." "I love seeing other people try on clothes. It's so much fun!">>
<<dialog "Serin" "faceconfused.webp" "Wait, what are you doing? I thought we were getting clothes for $humanName." "Serin asks, looking confused as Sora starts pulling out skirts instead of looking for men's clothing.">>
<<dialog "Sora" "facesmirk.webp" "Oh, we will! But first, let's have some fun with you," "Sora says with a mischievous grin, pulling out a sleek black skirt." "Try this on. I bet it'll look amazing on you.">>
<<dialog "Serin" "faceconfused.webp" "A skirt? I don't wear skirts," "Serin protests, but there's a hint of curiosity in her voice.">>
<<dialog "Sora" "face.webp" "Exactly! That's why it's perfect. Come on, just try it. You might surprise yourself," "Sora insists, pushing the skirt into Serin's hands.">>
<<narrative "Serin reluctantly takes the skirt and disappears into a fitting room. I can't help but feel a bit relieved - for once, I'm not the one being teased relentlessly.">>
<<narrative "I have to suppress a chuckle. The teasing master is finally getting a taste of her own medicine. Watching Serin squirm under Sora's relentless fashion assault is oddly satisfying after all the times she's made me blush and stammer.">>
<<dialog "Sora" "facesmirk.webp" "This is going to be so much fun," "Sora whispers to me, their eyes sparkling with mischief.">>
<<narrative "When Serin emerges from the fitting room, I'm genuinely surprised. The black skirt fits her perfectly, hugging her athletic form in a way that's both elegant and slightly provocative. It's shorter than I expected, showing off her toned legs.">>
<center><img src="images/serin/chapter5/date/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<dialog "Sora" "facelaugh.webp" "Oh my, that looks absolutely stunning on you," "Sora says, their voice dripping with appreciation.">>
<<narrative "Sora leans close to my ear, and I'm suddenly aware of how good they smell - something sweet and floral, maybe their shampoo. Their breath is warm against my skin as they whisper.">>
<<dialog "Sora" "facesmirk.webp" "Look at how that skirt shows off her legs," "Sora murmurs, their voice low and suggestive." "And when she moves, you can catch glimpses of what's underneath. It's quite the view, isn't it?">>
<<dialog "Rylan" "faceworried.webp" "I swallow hard, trying to focus on anything other than the mental image Sora just planted in my mind. Their scent is intoxicating, and I find myself wondering what kind of shampoo they use.">>
<<dialog "Serin" "faceconfused.webp" "How does it look?" "Serin asks, doing a little twirl that makes the skirt flare out slightly.">>
<<dialog "Sora" "facesmirk.webp" "Oh, he definitely likes it," "Sora says with a knowing smirk." "Just look below his waist if you want proof.">>
<<dialog "Serin" "facesmile.webp" "Is that so? Well, maybe I should try on a few more things then." "Serin's eyes widen slightly, and then she smirks.">>
<<narrative "Sora grins triumphantly and pulls out a white skirt next. The pattern continues - Serin tries on outfit after outfit, each one more different from her usual style than the last. White skirts, pastel colors, things I've never seen her wear before.">>
<center><img src="images/serin/chapter5/date/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<dialog "Sora" "facelaugh.webp" "Now let's try something completely different," "Sora says, pulling out a cute cropped white blouse and a pink skirt." "This will look adorable on you.">>
<<dialog "Serin" "faceangry.webp" "Pink? I'm not wearing pink," "Serin protests, but there's a hint of amusement in her voice now.">>
<<dialog "Sora" "facesmirk.webp" "That's exactly why you should try it! Come on, just one more outfit. I have the perfect finale planned," "Sora says with a wicked grin.">>
<center><img src="images/serin/chapter5/date/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<narrative "After the pink outfit - which actually looks surprisingly good on Serin despite her protests - Sora pulls out what can only be described as a complete transformation outfit.">>
<<dialog "Sora" "facelaugh.webp" "And now, the grand finale," "Sora announces, holding up a black leather mini skirt, matching top, leather gloves, stockings, and a pair of heels." "This will be absolutely perfect on you.">>
<<dialog "Sora" "facesmirk.webp" "Come on, just try it on. You might surprise yourself," "Sora insists, pushing the leather outfit into Serin's hands." "I promise it'll look amazing on you.">>
<<narrative "Serin reluctantly takes the leather outfit and disappears into the fitting room. When she emerges, the transformation is complete - the tight black leather hugs every curve, the stockings shimmer on her legs, and the heels make her stand taller and more imposing than ever.">>
<center><img src="images/serin/chapter5/date/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Castle Hallway"></center>
<<dialog "Serin" "faceangry.webp" "Stop it now!" "Serin exclaims, her patience finally wearing thin, her voice sharp despite the provocative outfit she's wearing." "I won't try on anything else! This is ridiculous!">>
<<dialog "Sora" "facelaugh.webp" "Yes, mommy!" "Sora says with a playful salute, their tail swishing with amusement as they take in the sight of Serin in the leather outfit.">>
<<if $rylanxserincontent>>
<<narrative "I can't help but feel strangely drawn to that leather outfit, even though I know it's completely out of character for Serin. There's something about the combination of the tight leather, the stockings, and the heels that's oddly appealing.">>
<</if>>
<<dialog "Rylan" "faceworried.webp" "I shake my head, trying to clear those thoughts. This is Serin we're talking about - she'd never wear something like that. But still, the image lingers in my mind.">>
<<continueBox "Chapter5SerinDate8" "Continue the Date" "">>
</div>
<<pov "rylan" "serindate.mp3">>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<<narrative "The sun is beginning to set as we make our way back home, the shopping bags rustling with our purchases. Despite Serin's protests about the clothing adventure, there's a subtle change in her demeanor - she seems more aware of how she moves, more conscious of the attention she's receiving.">>
<center><img src="images/landscapes/rylanhouse.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Home"></center>
<<dialog "Sora" "face.webp" "Well, this has been absolutely delightful," "Sora says, their tail swishing contentedly as we reach the front door." "I haven't had this much fun in ages!">>
<<dialog "Serin" "facesmile.webp" "Thanks for the... interesting morning," "Serin says, though there's a hint of amusement in her voice despite her earlier protests.">>
<<dialog "Rylan" "facesmile.webp" "It was fun having you along," "I say, genuinely meaning it despite the chaos Sora brought to our shopping trip.">>
<<dialog "Sora" "faceembarrassed.webp" "You already want me to leave?" "Sora's ears droop slightly, their voice taking on a wounded tone." "Just because I'm a stray cat? Are you a racist?">>
<<dialog "Rylan" "faceworried.webp" "No, not at all!" "I quickly protest, not wanting to offend our feline friend." "But don't you have to be somewhere? Don't you have a home to return to?">>
<<if $rylanxserincontent>>
<<dialog "Sora" "facesmirk.webp" "Actually..." "Sora's mischievous grin returns as they lean close to Serin's ear, their voice dropping to a whisper." "Hey, don't you want to seduce $humanName?">>
<<dialog "Serin" "faceembarrassed.webp" "What do you mean? What are you suggesting?" "Serin's face flushes bright red, and she leans in to whisper back, her voice barely audible.">>
<<narrative "The two continue whispering back and forth, their voices too low for me to hear. I can see Serin's expression shifting from embarrassment to something more... thoughtful. Her eyes occasionally dart in my direction, making me wonder what they're discussing.">>
<<dialog "Serin" "faceembarrassed.webp" "Yes, there's a training hall. But I don't know if..." "Serin leans close to Sora again, her voice barely a breath.">>
<<dialog "Sora" "facelaugh.webp" "Perfect!" "Sora exclaims, their eyes sparkling with excitement. Before anyone can react, they grab Serin's hand and start dragging her toward the house." "Come on, let's get you ready!">>
<<dialog "Sora" "facesmirk.webp" "Meet us in the training hall in one hour, $humanName!" "Sora calls back over their shoulder, their voice filled with mischief." "Don't be late!">>
<<narrative "I'm left standing alone at the front door, watching as Sora practically drags a flustered Serin inside. The training hall? What exactly are they planning? My mind races with possibilities, and I can't help but feel a mix of anticipation and nervousness about what's to come.">>
<<else>>
<<dialog "Sora" "face.webp" "I suppose I should be going," "Sora says with a gentle smile, their playful demeanor softening." "It was wonderful spending time with you both. Thank you for letting me join your date.">>
<<dialog "Serin" "facesmile.webp" "Take care, Sora," "Serin says warmly, her earlier irritation completely forgotten." "Come visit us again sometime.">>
<<dialog "Sora" "facelaugh.webp" "I will!" "Sora promises, their tail swishing happily." "Until next time, my dear friends!">>
<<narrative "With a final wave and a playful wink, Sora turns and walks away, their graceful form disappearing into the gathering dusk. The afternoon's excitement lingers in the air, but now it's just Serin and me, standing together at our front door.">>
<</if>>
<<if $rylanxserincontent>>
<<choiceBox "Continue" "Meet serin later (H)" "Chapter5SerinTrainingHall" "Chapter5SerinDate8=wait" "don't meet Serin (no H)" "Chapter5GairosTraining" "Chapter5SerinDate8=together">>
<<else>>
<<continueBox "Chapter5GairosTraining" "Wait for afternoon" "">>
<</if>>
</div>
<<pov "rylan" "serindate.mp3">>
<</nobr>><<playLoopingSounds "sounds/hsounds/longmoan.mp3" "sounds/hsounds/handjobclothed.mp3" 1>>
<<nobr>>
<<changeLust "Rylan" 8>>
<<changeLust "Serin" 8>>
<<set $serinChapter5BehindScene = true>>
<div class="passage-container serin">
<<narrative "As Rylan tries to sit up, getting on all fours, I can't resist the sight of his perfect ass in those black boxers. The fabric clings to his form like a second skin, and I feel something primal awaken inside me. I don't know why, but I need to touch him, to feel him beneath me.">>
<<dialog "Serin" "facewet.webp" "Oh no you don't," "I purr, my voice husky with need." "Stay right there. I just want to... feel you for a moment.">>
<<narrative "I quickly straddle him from behind, pressing my soaked pussy against his firm ass. The sensation is electric - I can feel his warmth through the fabric, and I'm already dripping with need. I start grinding against him, my clit rubbing deliciously against his ass.">>
<<quickRoll "Physical Control" "Serin" 80 5 "DominanceFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Serin" "DominanceFetish" 0.2>>
<<narrative "I can't help myself - the feeling of having him completely under my control is intoxicating. I need to dominate him more, to feel this power over his helpless body.">>
<</if>>
<center><img src="images/serin/chapter5/dryhump/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Home"></center>
<<dialog "Rylan" "faceembarrassed.webp" "Serin! What are you doing?" "he gasps, his voice filled with shock and confusion." "This is wrong... we can't...">>
<<dialog "Serin" "facewet.webp" "Shh, just relax," "I whisper, my voice trembling with arousal." "It feels so good... I can't stop. Just let me... just for a little while.">>
<<narrative "I start moving faster, grinding my soaked core against his ass with increasing intensity. The fabric of my shorts creates delicious friction, and I can feel myself getting wetter with each movement. His ass feels incredible against my heated pussy.">>
<center><img src="images/serin/chapter5/dryhump/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Home"></center>
<<dialog "Rylan" "faceembarrassed.webp" "I... I can't..." "he stammers, but I can hear the arousal in his voice.">>
<<narrative "I press down harder, using my weight to keep him completely pinned. The pressure is intense, and he loses his balance, falling face-first to the floor. But I don't stop - I continue grinding against him, now with even more control over his helpless body.">>
<<quickRoll "Power Over $humanName" "Serin" 80 5 "DominanceFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Serin" "DominanceFetish" 0.3>>
<<narrative "The way he's completely helpless beneath me makes my dominance fetish flare up uncontrollably. I want to keep him pinned like this forever, to feel his submission to my will.">>
<</if>>
<<dialog "Serin" "facewet.webp" "There we go," "I purr, grinding harder against him." "Now you can't escape. Just close your eyes and let it happen. It feels so good, doesn't it?">>
<<dialog "Rylan" "faceembarrassed.webp" "Serin, please..." "he whimpers, but I can see his face is flushed with arousal.">>
<<dialog "Serin" "facewet.webp" "I see you like it too," "I tease, my voice dripping with arousal." "Your body is telling a different story. I can feel how hard you're getting through your boxers. You love this, don't you?">>
<<quickRoll "Teasing Control" "Serin" 80 5 "DominanceFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Serin" "DominanceFetish" 0.2>>
<<narrative "I love teasing him like this, watching him squirm while I maintain complete control. The power dynamic is making me even more dominant, more in control of his reactions.">>
<</if>>
<<narrative "After several minutes of intense grinding, I can't take it anymore. I quickly remove my hoodie and shorts, leaving me in just my soaked underwear. The cool air against my heated skin makes me shiver with anticipation.">>
<<dialog "Serin" "facewet.webp" "Much better," "I sigh, resuming my position over him." "Now I can really feel your ass against my pussy. It's going to be so much better without these clothes in the way.">>
<center><img src="images/serin/chapter5/dryhump/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Home"></center>
<<narrative "I can feel myself building toward climax, and the sensation is driving me wild. I start moving faster and harder, grinding against him with desperate intensity. The thin fabric of my underwear is soaked through, and I can feel his warmth radiating through the material.">>
<<dialog "Rylan" "faceembarrassed.webp" "Serin, please stop!" "he gasps, his voice strained with arousal and desperation." "This is too much...">>
<<dialog "Serin" "facewet.webp" "Stop?" "I giggle, my voice breathy with need." "I can't stop. It feels too good. Just let me finish... please?">>
<<narrative "I press down even harder, using my full weight to pin him completely. My movements become more aggressive, more primal. I can feel his body trembling beneath me, and it only makes me want to continue more.">>
<<dialog "Rylan" "faceembarrassed.webp" "I'm serious, Serin!" "he tries to shout, but his voice comes out as a desperate whimper." "You're hurting me!">>
<<dialog "Serin" "facewet.webp" "I'm sorry," "I pant, my voice filled with desperate need." "I just need this so bad. Just a little more... I'm almost there.">>
<<narrative "My movements become even more intense, grinding against him with desperate force. I can feel myself getting closer to climax, and the sensation is overwhelming. He's completely helpless beneath me, and I can't help but love it.">>
<center><img src="images/serin/chapter5/dryhump/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Home"></center>
<<dialog "Rylan" "faceembarrassed.webp" "Please... I'm begging you..." "he sobs, his voice breaking with desperation and arousal.">>
<<dialog "Serin" "facewet.webp" "I know, I know," "I pant, my voice thick with need." "But I'm so close. Just hold on a little longer. You're making me feel so good.">>
<center><img src="images/serin/chapter5/dryhump/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Home"></center>
<<narrative "I'm now moving at a frantic pace, my body writhing against his with desperate need. The sensation is overwhelming, and I can feel myself teetering on the edge of orgasm. His helplessness beneath me is the most erotic thing I've ever experienced.">>
<<quickRoll "Final Dominance" "Serin" 80 5 "DominanceFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Serin" "DominanceFetish" 0.4>>
<<narrative "I'm completely consumed by my dominance now. His helplessness beneath me is the most erotic thing I've ever experienced. I need to keep him like this, to maintain this control over his body and mind.">>
<</if>>
<<continueBox "Chapter5SerinRylanBehindContinue" "Continue..." "">>
</div>
<<pov "serin" "intimatech5.mp3">>
<</nobr>>
<style>
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
@keyframes slideShow {
0%, 6% { opacity: 1; }
6.1%, 100% { opacity: 0; }
}
</style><<run window.AudioSystem.playSFX('orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<nobr>>
<<changeLust "Serin" -35>>
<<changeLust "Rylan" 5>>
<<changeFetish "Serin" "DominanceFetish" 0.2>>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<set $serin_orgasmsReceived += 1>>
<<set $rylan_orgasmsGiven += 1>>
<<set $serin_RylanOrgasmCount += 1>>
<<set $rylan_SerinOrgasmCount += 1>>
<div class="passage-container serin">
<<narrative "The pressure builds to an unbearable peak, and I can't hold back any longer. My body convulses violently as I climax hard, grinding down against his ass with desperate intensity. I cry out, my voice echoing through the room as waves of pleasure crash over me.">>
<center><img src="images/serin/chapter5/dryhump/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin Climax"></center>
<<dialog "Serin" "facewet.webp" "Oh fuck... oh fuck..." "I pant, my body still trembling from the intense orgasm." "That was... incredible.">>
<center><img src="images/serin/chapter5/dryhump/rylanend.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Home"></center>
<<dialog "Rylan" "faceembarrassed.webp" "Is... is it over?" "he gasps, his voice weak and exhausted." "Please tell me it's over...">>
<<narrative "I can feel my pussy still throbbing with need, and the sight of him so helpless beneath me only makes me want more. The orgasm was incredible, but I'm far from satisfied. I need to continue this power dynamic, to feel his submission even more.">>
<<dialog "Serin" "facewet.webp" "Over?" "I giggle, my voice still breathy from climax." "Oh, sweetie, we're just getting started.">>
<<narrative "I slowly lift myself off his back, feeling the slickness between my thighs. My pussy is still dripping with arousal, and I can't resist the urge to continue. I turn around and straddle his chest, looking down at his exhausted face with a predatory smile.">>
<<continueBox "Chapter5SerinRylanOnTop" "Continue..." "">>
</div>
<<pov "serin" "intimatech5.mp3">>
<</nobr>>
<style>
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
@keyframes slideShow {
0%, 6% { opacity: 1; }
6.1%, 100% { opacity: 0; }
}
</style><<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<nobr>>
<<set $serinChapter5DomCumScene = true>>
<<changeLust "Rylan" -100>>
<<changeLust "Serin" -100>>
<<changeAttraction "Rylan" "Serin" 0.8>>
<<changeAttraction "Serin" "Rylan" 1.0>>
<<changeAffection "Rylan" "Serin" 1>>
<<changeAffection "Serin" "Rylan" 2>>
<<changeFetish "Serin" "SubmissionFetish" 0.3>>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<quickSexTrack "orgasm" "rylan" "Serin" 1>>
<<quickSexTrack "orgasm" "serin" "Rylan" 1>>
<<quickSexTrack "cumonbody" "rylan" "Serin" 1>>
<<set $marielChapter5Massage = true>>
<<addSoulCorruption "serin" 1>>
<div id="soulCorruptionAnimation" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; display: none;">
<div style="background: radial-gradient(circle, rgba(139, 0, 139, 0.9), rgba(75, 0, 130, 0.8)); border-radius: 50%; width: 200px; height: 200px; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 50px rgba(139, 0, 139, 0.6); animation: corruptionPulse 2s ease-in-out;">
<div style="text-align: center; color: white; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
<h3 style="margin: 0; font-size: 1.5em;">💀 Soul Corruption 💀</h3>
<p style="margin: 5px 0; font-size: 1.1em;">Serin +1</p>
</div></div></div>
<script>
setTimeout(function() {
const animation = document.getElementById('soulCorruptionAnimation');
if (animation) {
animation.style.display = 'block';
setTimeout(function() {
animation.style.display = 'none';
}, 2000);
}
}, 100);
</script>
<style>
@keyframes corruptionPulse {
0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
20% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
80% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
100% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
}
</style>
<div class="passage-container rylan">
<<narrative "The sensation becomes too much to bear. All that pent-up frustration, all that built-up tension, all that dominance I've been unleashing - it's all reaching its peak. I can feel the pressure building inside me, my body trembling with the intensity of what's about to happen.">>
<center><img src="images/serin/chapter5/cowgirl/dom/7.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan Climaxing"></center>
<<dialog "Rylan" "faceangry.webp" "I'm... I'm going to..." "I gasp, my voice barely coherent as I feel the climax building." "I can't hold back anymore...">>
<<narrative "I pull back slightly. The sight of her beneath me, her body glistening with sweat, her panties soaked and barely covering her - it's the final trigger I need. With one final, desperate thrust against her, I lose control completely.">>
<<narrative "The orgasm hits me like a tidal wave, completely overwhelming my senses. I can hear myself moaning, groaning, completely lost in the intensity of the release.">>
<center><img src="images/serin/chapter5/cowgirl/dom/cum2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan Climaxing"></center>
<<narrative "The climax seems to last forever, my body convulsing with each pulse, each spurt of cum adding to the mess covering her beautiful body. When it finally ends, I'm completely drained, my muscles giving out as I collapse beside her on the floor. We're both breathing heavily, covered in sweat, and she's absolutely covered in my cum.">>
<<dialog "Serin" "facewet.webp" "Oh... oh my god," "she gasps, her eyes wide with surprise as she feels the warm liquid splashing across her skin." "That's... that's so much...">>
<center><img src="images/serin/chapter5/cowgirl/dom/cum3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Aftermath"></center>
<<dialog "Serin" "facewet.webp" "Wow... just wow," "she breathes, looking down at her cum-covered body with amazement." "You really have it in you, don't you? That was absolutely incredible.">>
<<narrative "As the post-orgasm haze begins to clear, reality starts crashing down on me. What did I just do? I look at Serin's body, completely covered in my cum, and the weight of my actions hits me like a sledgehammer. I've betrayed Liora, the girl I love, the girl I've been trying to build a relationship with. I've let my frustration and anger take control, and now I've done something I can never take back.">>
<<dialog "Rylan" "faceembarrassed.webp" "Oh no... oh god, what did I just do?" "I whisper, my voice trembling with horror and shame." "I betrayed Liora... I betrayed the girl I love...">>
<<narrative "The guilt is overwhelming. I can feel tears welling up in my eyes as I think about Liora, about how much I care for her, about how I've just destroyed any chance we might have had. I'm a monster, a cheater, someone who couldn't control his own desires. How could I have let this happen?">>
<<dialog "Serin" "facewet.webp" "Hahaha, that wasn't cheating," "she laughs, her voice light and dismissive." "We didn't even have sex. This was just... intense foreplay, that's all.">>
<<narrative "Her words do little to comfort me. Whether it technically counts as sex or not, I still came all over another girl. The physical act might not have been penetration, but the emotional betrayal is just as real. I've crossed a line I never thought I would cross.">>
<<dialog "Rylan" "faceembarrassed.webp" "I don't know what to think anymore," "I say quietly, my voice barely above a whisper." "I need to think alone for a bit. I need to figure out what this means, what I am now.">>
<<narrative "I can't look at her anymore. The sight of her body covered in my cum, the knowledge of what we just did, it's all too much. I need space, I need time to process what's happened, to understand how I could have let things go this far. I need to figure out if I'm still the person I thought I was.">>
<<dialog "Serin" "facesmirk.webp" "All right, I understand," "she says, her voice surprisingly gentle." "Take all the time you need. This was... intense for both of us.">>
<<narrative "But as I gather my clothes and start to leave, I can see the subtle smirk playing at the corners of her lips...">>
<<continueBox "Chapter5GairosTraining" "Return to Room" "">>
</div>
<<pov "rylan" "intimatech5.mp3">>
<</nobr>>
<style>
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
@keyframes slideShow {
0%, 6% { opacity: 1; }
6.1%, 100% { opacity: 0; }
}
</style><<nobr>>
<<stopLoopingSounds>>
<<changeLust "Serin" 5>>
<div class="passage-container serin">
<<narrative "We both lie on the floor, our bodies still pressed together from the fall. I can feel his warmth beneath me, his heart racing against my chest.">>
<<narrative "As he tries to sit up, getting on all fours, I can't help but notice how his ass looks strangely inviting in those black boxers. The fabric clings to his form, and I feel a surge of desire.">>
<<choiceBox "What do you want to do?" "Take him from behind" "Chapter5SerinRylanBehind" "Chapter5SerinRylanHumpChoice=behind" "Get on top of him (skip ass hump)" "Chapter5SerinRylanOnTop" "Chapter5SerinRylanHumpChoice=ontop">>
</div>
<<pov "serin" "intimatech5.mp3">>
<</nobr>>
<style>
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
@keyframes slideShow {
0%, 6% { opacity: 1; }
6.1%, 100% { opacity: 0; }
}
</style><<playLoopingSounds "sounds/hsounds/longmoan.mp3" "sounds/hsounds/handjob.mp3" 1>>
<<nobr>>
<<changeLust "Rylan" 12>>
<<changeLust "Serin" 15>>
<<changeAttraction "Rylan" "Serin" 0.8>>
<<changeAttraction "Serin" "Rylan" 0.6>>
<<changeAffection "Rylan" "Serin" -1>>
<<changeAffection "Serin" "Rylan" 1>>
<div class="passage-container rylan">
<<if $serinChapter5BehindScene>>
<<dialog "Rylan" "faceembarrassed.webp" "Is... is it over?" "I gasp, my voice weak and exhausted." "Please tell me it's over...">>
<<dialog "Serin" "facewet.webp" "Over?" "she giggles, her voice still breathy from climax." "Oh, sweetie, we're just getting started.">>
<<narrative "I can feel her slowly lifting herself off my back, and I think this nightmare might finally be ending. But then I feel her weight shift, and suddenly she's straddling my boxers, looking down at me with that same predatory smile that makes my stomach clench with fear and... something else I don't want to admit.">>
<<else>>
<<narrative "After she pushed me to the floor I feel her weight shift, and suddenly she's straddling my boxers, looking down at me with that same predatory smile that makes my stomach clench with fear and... something else I don't want to admit.">>
<</if>>
<center><img src="images/serin/chapter5/cowgirl/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin on Top"></center>
<<if $serinChapter5BehindScene>>
<<dialog "Rylan" "faceembarrassed.webp" "Serin, what are you doing now?" "I stammer, my voice trembling with exhaustion and growing arousal." "You already went far enough...">>
<<else>>
<<dialog "Rylan" "faceembarrassed.webp" "What are you doing?" "I stammer, my voice trembling with exhaustion and growing arousal.">>
<</if>>
<<narrative "She slowly starts grinding against my boxers, and I can feel her soaked panties through the thin fabric. The material is already damp from her previous activities, and I can smell her arousal mixed with the sweat from our intense session. My heart is pounding, and I can feel myself getting harder despite my protests.">>
<center><img src="images/serin/chapter5/cowgirl/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin on Top"></center>
<<dialog "Serin" "facewet.webp" "Let me help you out a little," "she purrs, reaching behind her back to unhook her bra." "You've been such a good boy, letting me use you like that.">>
<<narrative "I watch helplessly as she removes her bra, her perfect breasts bouncing free. She's still wearing her soaked panties, and I can see the dark patch where she's been grinding against me. The sight is overwhelming, and I can feel my erection straining against my boxers. This is wrong, so wrong, but I can't look away.">>
<center><img src="images/serin/chapter5/cowgirl/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin on Top"></center>
<<dialog "Rylan" "faceembarrassed.webp" "Serin, please stop," "I beg, but my voice comes out as a weak whimper." "This is too much...">>
<<narrative "She continues grinding against my boxers, her movements becoming more deliberate and sensual. I can feel her heat through the thin fabric, and the sensation is driving me wild. My mind is screaming that this is wrong, that I should stop her, but my body is completely under her control. I've never felt so helpless, so dominated.">>
<<quickRoll "Physical Arousal" "Rylan" 80 5 "SubmissionFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<narrative "The feeling of her grinding against me is overwhelming my resistance. I'm getting harder with each movement, and I hate how much I'm enjoying this helplessness.">>
<</if>>
<<dialog "Serin" "facewet.webp" "Now let's get you out of these boxers," "she says, her voice dripping with arousal." "I want to feel you properly against me.">>
<<narrative "Before I can protest, she's pulling down my boxers, and my erection springs free. I'm completely exposed, completely vulnerable to her. She looks down at me with hunger in her eyes, and I can see her panties are soaked through. The sight of her arousal combined with my own helplessness is almost too much to bear.">>
<<dialog "Serin" "facewet.webp" "Oh my," "she breathes, her eyes wide with appreciation." "You're bigger than I expected. This is going to be so much fun.">>
<<narrative "I'm mortified by her comment, but I can't deny the surge of pride that runs through me. She's looking at me like I'm some kind of prize, and despite my protests, it's incredibly arousing. I've never been with anyone like this, never been so completely at someone's mercy. I never went this far with Liora - this is completely different from anything I've ever experienced.">>
<<narrative "She starts grinding her panty-clad pussy against my erection, and the sensation is incredible. The fabric creates delicious friction, and I can feel her heat and wetness through the material. I'm getting harder with each movement, and I can see her panties are getting more and more soaked. This is so wrong, but it feels so good.">>
<<quickRoll "Fabric Friction" "Rylan" 80 5 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<narrative "The feeling of her panties against my cock is overwhelming. I'm losing control, losing my ability to resist. I'm completely under her spell.">>
<</if>>
<center><img src="images/serin/chapter5/cowgirl/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin on Top"></center>
<<dialog "Rylan" "faceembarrassed.webp" "Serin, I'm serious, stop this," "I plead, but my voice is weak and my body is betraying me." "You're going too far... I never went this far with Liora.">>
<<dialog "Serin" "facewet.webp" "Mmm, you're getting so hard," "she moans, grinding harder against me." "Your body is telling a different story than your mouth.">>
<<narrative "She's right, and I hate it. My body is completely betraying me, getting harder and harder with each grind.">>
<<narrative "Her movements become more deliberate, more sensual. Each grind sends waves of pleasure through my entire body. I can feel her wetness seeping through the fabric, making the friction even more intense. The way she's looking down at me with those hungry eyes, knowing exactly what she's doing to me... it's driving me insane.">>
<center><img src="images/serin/chapter5/cowgirl/4a.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin on Top"></center>
<<narrative "Her grinding becomes more frantic, more desperate. I can see the hunger in her eyes growing, her breathing getting heavier. She's clearly getting more aroused with each movement, and it's making her movements more aggressive.">>
<<dialog "Serin" "facewet.webp" "Oh fuck, this feels so good," "she gasps, her voice trembling with arousal." "I can feel you getting harder... you're so big...">>
<<narrative "Her movements are becoming wilder, more uncontrolled. She's grinding against me with increasing desperation, her panties getting more and more soaked. I can see her nipples hardening, her body trembling with each movement. She's completely lost in the sensation.">>
<<dialog "Serin" "facewet.webp" "I need more... I need to feel you properly," "she pants, her voice barely coherent." "Let me... let me get closer...">>
<center><img src="images/serin/chapter5/cowgirl/4a.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin on Top"></center>
<<narrative "She's rubbing against me faster and faster, her panties starting to slip from the intense friction. I can feel her getting wetter, her arousal coating my shaft through the fabric. The sensation is overwhelming, and I'm getting harder with each desperate grind.">>
<<narrative "Suddenly I'm rubbing against her bare pussy. The sensation is electric, and I can feel her wetness coating my shaft. This is getting dangerous, getting too close to actual penetration. I need to stop this, but I'm completely powerless.">>
<<dialog "Rylan" "faceembarrassed.webp" "Serin, please, this is too risky," "I gasp, feeling her bare pussy against my cock." "I didn't even go this far with Liora...">>
<center><img src="images/serin/chapter5/cowgirl/nopanty1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin on Top"></center>
<<narrative "Remembering Liora makes me feel even more conflicted. With Liora, everything so far was gentle, romantic, controlled. This is raw, primal, completely out of control. I'm being used, dominated, and despite my protests, I'm loving every second of it.">>
<<quickRoll "Final Resistance" "Rylan" 80 5 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" 0.4>>
<<narrative "I'm completely lost to her now. My resistance is gone, my willpower shattered. I'm hers to do with as she pleases.">>
<</if>>
<<narrative "This is getting too much. I need to feel more. She's keeping me on the edge, teasing me with just enough contact to drive me insane but never enough to satisfy. Each desperate grind sends shockwaves through my body, my cock throbbing with need. I can feel her wetness coating my shaft, her heat radiating through me. It's making it harder and harder to resist. I'm so close to the edge, so desperate for release, but she's controlling every sensation, every movement. I'm completely at her mercy, and despite my protests, my body is begging for more.">>
<<choiceBox "Choose" "Take Control (Dominance)" "Chapter5SerinRylanTakeControl" "Chapter5SerinRylanOnTop=dominance" "Continue (submission)" "Chapter5SerinRylanOnTop2" "Chapter5SerinRylanOnTop=submission">>
</div>
<<pov "rylan" "intimatech5.mp3">>
<</nobr>>
<style>
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
@keyframes slideShow {
0%, 6% { opacity: 1; }
6.1%, 100% { opacity: 0; }
}
</style><<playLoopingSounds "sounds/hsounds/longmoan.mp3" "sounds/hsounds/handjob.mp3" 1>>
<<nobr>>
<<changeLust "Rylan" 18>>
<<changeLust "Serin" 22>>
<<changeAttraction "Rylan" "Serin" 0.6>>
<<changeAttraction "Serin" "Rylan" 0.4>>
<div class="passage-container rylan">
<<narrative "The sensation of her bare pussy against my cock is overwhelming. I can feel her wetness coating my shaft, her heat radiating through me. Each movement sends shockwaves of pleasure through my entire body, and I'm getting harder and harder despite my protests. This is so wrong, but it feels so incredibly good.">>
<center><img src="images/serin/chapter5/cowgirl/nopanty2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin on Top"></center>
<<dialog "Serin" "facewet.webp" "Oh fuck, this is perfect," "she moans, her voice trembling with arousal." "You feel so good against me... so big and hard...">>
<<narrative "She starts moving faster, grinding against me with increasing desperation. I can feel her getting wetter, her arousal coating my shaft and making the friction even more intense. Her movements are becoming more deliberate, more purposeful, and I can see the hunger in her eyes growing stronger with each passing moment.">>
<<dialog "Rylan" "faceembarrassed.webp" "Serin, I can't... this is too much," "I gasp, my voice barely coherent." "I'm going to...">>
<<dialog "Serin" "facewet.webp" "Oh no you don't," "she purrs, slowing her movements just enough to keep me on the edge." "Not yet, sweetie. I want to enjoy this a little longer.">>
<<narrative "She's torturing me, keeping me right on the edge of climax without letting me fall over. Each movement is calculated, precise, designed to drive me insane with need. I can feel my orgasm building, getting closer and closer, but she's controlling every sensation, every movement. I'm completely at her mercy.">>
<center><img src="images/serin/chapter5/cowgirl/nopanty3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin on Top"></center>
<<dialog "Serin" "facewet.webp" "Mmm, you're so close, aren't you?" "she teases, grinding against me with slow, deliberate movements." "I can feel you throbbing... you want to come so badly...">>
<<narrative "She's right, and I hate how much she knows it. My cock is throbbing with need, my entire body trembling with the effort of holding back. I'm so close to the edge, so desperate for release, but she's keeping me suspended there, torturing me with her control.">>
<<dialog "Rylan" "faceembarrassed.webp" "Please, Serin," "I beg, my voice desperate and needy." "I can't take it anymore...">>
<<dialog "Serin" "facewet.webp" "Oh, I love it when you beg," "she moans, her own arousal clearly building." "But I'm not quite ready to let you come yet...">>
<<narrative "She continues her slow, torturous grinding, each movement designed to keep me on the edge without pushing me over. I can see her own arousal building, her breathing getting heavier, her movements becoming more desperate. She's clearly getting close too, but she's determined to make me suffer first.">>
<center><img src="images/serin/chapter5/cowgirl/nopanty4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin on Top"></center>
<<dialog "Serin" "facewet.webp" "Oh fuck, I'm getting so close," "she gasps, her movements becoming more frantic." "But I want to feel you come first... I want to feel you explode against me...">>
<<narrative "Her words send a shock of arousal through me, and I can feel my orgasm building even stronger. The thought of coming against her, of coating her with my cum... it's almost too much to bear. I'm so close to the edge now, so desperate for release.">>
<<dialog "Rylan" "faceembarrassed.webp" "Serin, I'm going to..." "I gasp, my entire body trembling with the effort of holding back." "I can't hold it anymore...">>
<<narrative "I'm right on the edge, my entire body trembling with need. I can feel my orgasm building, getting closer and closer. She's grinding against me faster now, clearly getting close herself. We're both on the verge of climax, both desperate for release. The tension is almost unbearable.">>
<center><img src="images/serin/chapter5/cowgirl/nopanty5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin on Top"></center>
<<dialog "Serin" "facewet.webp" "Oh fuck, I'm so close," "she gasps, her movements becoming wild and uncontrolled." "I need you to come... I need to feel you explode...">>
<<narrative "We're both right there, both on the absolute edge of climax. I can feel her pussy clenching around my cock, her body trembling with need. She's grinding against me with desperate urgency, clearly just as close as I am. The tension is electric, almost unbearable. We're both going to explode any second now.">>
<<dialog "Rylan" "faceembarrassed.webp" "Serin, I'm going to come," "I gasp, my voice barely coherent." "I can't hold it anymore...">>
<<dialog "Serin" "facewet.webp" "Yes, come for me," "she moans, her movements becoming even more frantic." "Come against me... I want to feel you explode...">>
<<narrative "We're both right there, both on the absolute edge. I can feel my orgasm building, getting closer and closer. She's grinding against me with desperate urgency, clearly just as close as I am. The tension is almost unbearable. We're both going to explode any second now...">>
<<continueBox "Chapter5SerinyRylanOnTopCum" "Continue" "">>
</div>
<<pov "rylan" "intimatech5.mp3">>
<</nobr>><<playLoopingSounds "sounds/hsounds/longmoan.mp3" "sounds/hsounds/handjobclothed.mp3" 1>>
<<nobr>>
<<set $serinChapter5TakeControlChoice = true>>
<<changeLust "Rylan" 15>>
<<changeLust "Serin" 18>>
<<changeAttraction "Rylan" "Serin" 1.2>>
<<changeAttraction "Serin" "Rylan" 1.5>>
<<changeAffection "Rylan" "Serin" 2>>
<<changeAffection "Serin" "Rylan" 3>>
<div class="passage-container rylan">
<<narrative "Something snaps inside me. All that frustration, all that helplessness, all that teasing - it's been building up for so long. I'm tired of being her plaything, tired of being teased and controlled. If she wants to play this game, I'll show her what happens when I take control.">>
<<dialog "Rylan" "faceangry" "You want to tease me?" "I growl, my voice low and dangerous" "You want to keep me on the edge? Fine. Let's see how you like it when I'm in control.">>
<<narrative "Before she can react, I grab her hips and flip us over, pinning her beneath me. She's still wearing her soaked panties, and I can feel her heat radiating through the thin fabric. My erection is throbbing with need, and I'm going to make her feel every bit of the frustration she's been building in me.">>
<center><img src="images/serin/chapter5/cowgirl/dom/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan Taking Control"></center>
<<dialog "Serin" "faceshocked" "$humanName? What are you-" "she gasps, her eyes wide with surprise" "I didn't expect you to-">>
<<narrative "I don't let her finish. I start grinding my cock against her panty-clad pussy, the fabric creating delicious friction as I move. I can feel her wetness seeping through, and the sensation is incredible. But this time, I'm the one controlling the pace, the intensity, the rhythm. I'm the one driving her crazy.">>
<<quickRoll "Dominance Arousal" "Rylan" 75 5 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" -0.2>>
<<narrative "The feeling of being in control is intoxicating. I'm not her helpless victim anymore - I'm her dominant lover, and I'm going to make her feel every bit of the pleasure she's been denying me.">>
<</if>>
<<dialog "Serin" "facewet" "Oh... oh fuck," "she moans, her body arching beneath me" "This is... this is so much better than I expected.">>
<<narrative "I increase the pace, grinding harder and faster against her. The fabric of her panties is getting more soaked with each movement, and I can feel her pussy getting wetter, hotter. She's completely at my mercy now, and I'm going to make her beg for more.">>
<center><img src="images/serin/chapter5/cowgirl/dom/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan Dominating Serin"></center>
<<dialog "Rylan" "faceangry" "You like that?" "I growl, grinding even harder" "You like being the one getting teased for once?">>
<center><img src="images/serin/chapter5/cowgirl/dom/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan Taking Control"></center>
<<narrative "Her panties are starting to slip from the intense friction, and I can feel her bare pussy against my cock. The sensation is electric, and I'm getting harder with each grind. I'm completely in control now, and I'm going to make her feel every bit of the pleasure she's been denying me.">>
<<quickRoll "Intense Grinding" "Rylan" 70 5 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" -0.3>>
<<narrative "The feeling of dominance is overwhelming. I'm not just taking control - I'm claiming her, making her mine. This is what I've been missing, what I've been craving.">>
<</if>>
<center><img src="images/serin/chapter5/cowgirl/dom/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan Taking Control"></center>
<<dialog "Serin" "facewet" "Yes... yes, I love it," "she gasps, her voice trembling with arousal" "You're so much more aggressive than I thought you could be.">>
<<dialog "Serin" "facewet" "Come on, $humanName," "she moans, grinding back against me" "Show me what you've got. Punish me for teasing you so much.">>
<<narrative "Her words drive me wild. She wants me to punish her, to take control completely. I start grinding even harder, faster, more aggressively.">>
<center><img src="images/serin/chapter5/cowgirl/dom/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Intense Grinding"></center>
<<dialog "Serin" "facewet" "Oh fuck, yes!" "she cries out, her body arching beneath me" "This is exactly what I wanted!">>
<<narrative "I'm completely lost in the sensation now. Her bare pussy against my cock, her wetness coating me, her moans of pleasure - it's all driving me wild. I'm grinding against her with increasing desperation, my movements becoming more frantic, more uncontrolled. I'm so close to the edge, and I can tell she is too.">>
<<quickRoll "Final Dominance" "Rylan" 65 5 "SubmissionFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "SubmissionFetish" -0.4>>
<<narrative "I'm completely in control now. This is what I've been missing, what I've been craving. The feeling of dominance, of power, of being the one in charge. I'm going to make her feel every bit of the pleasure she's been denying me.">>
<</if>>
<<dialog "Serin" "facewet" "Come on, $humanName," "she pants, her voice barely coherent" "Show me what you're made of. Take control completely. Make me yours.">>
<center><img src="images/serin/chapter5/cowgirl/dom/6.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Intense Grinding"></center>
<<narrative "Her words are the final push I need. I start grinding against her with everything I have, my movements becoming wild and uncontrolled. I can feel her getting wetter, her arousal coating my shaft completely. The sensation is overwhelming, and I'm getting harder with each desperate grind. I'm so close to the edge, and I can tell she is too.">>
<<dialog "Rylan" "faceangry" "You want me to take control?" "I growl, grinding even harder" "You want me to make you mine? Fine. You're mine now.">>
<<continueBox "Chapter5SerinRylanDomCum" "Continue..." "">>
</div>
<<pov "rylan" "intimatech5.mp3">>
<</nobr>>
<style>
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
@keyframes slideShow {
0%, 6% { opacity: 1; }
6.1%, 100% { opacity: 0; }
}
</style><<nobr>>
<div id="overlay-transition" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(0, 0, 0, 0.95), rgba(255, 182, 193, 0.9), rgba(0, 0, 0, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; opacity: 1; transition: opacity 2s ease-in-out;">
<div style="text-align: center; color: #F5DEB3; font-size: 1.8em; text-shadow: 2px 2px 8px rgba(0,0,0,0.8);">
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 0s infinite;">Time flows like sand through fingers...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 1s infinite;">The afternoon's excitement lingers...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 2s infinite;">As evening shadows stretch long...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 3s infinite;">Sora's mischief echoes in memory...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 4s infinite;">And the training hall awaits...</div>
</div>
</div>
<style>
@keyframes fadeInOut {
0%, 100% { opacity: 0; transform: translateY(20px); }
50% { opacity: 1; transform: translateY(0); }
}
</style>
<script>
setTimeout(() => {
document.getElementById('overlay-transition').style.opacity = '0';
}, 5000);
setTimeout(() => {
document.getElementById('overlay-transition').style.display = 'none';
}, 7000);
</script>
<div class="passage-container rylan">
<<narrative "I make my way to the training hall, my heart pounding with anticipation. What exactly did Sora have planned? The door creaks open, and I'm greeted by a sight I never expected to see.">>
<center><img src="images/landscapes/traininghall.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Training Hall"></center>
<<narrative "There, in the center of the training hall, stands Serin. But she's not in her usual combat stance or training pose. Instead, she's... moving in a way that can only be described as an attempt at dancing. Her arms are raised awkwardly, her hips swaying in a rhythm that seems to exist only in her imagination.">>
<center><img src="images/serin/chapter5/dancing/slide/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Training Hall"></center>
<<dialog "Rylan" "facelaugh" "What in the world are you doing?" "I can't help it - a burst of laughter escapes my lips as I ask, trying to contain my amusement" "And where's Sora? I thought they were going to be here.">>
<<dialog "Serin" "faceembarrassed" "Sora already left," "Serin stops her awkward movements, her face flushing with embarrassment as she explains, looking down at her feet" "They taught me a little bit about dancing before they went. I'm trying to learn, but..." "She gestures helplessly at her own body" "I'm not very good at it.">>
<<dialog "Rylan" "facesmile" "Well, let me watch for a bit," "I say, finding a comfortable spot to sit against the wall" "This should be entertaining.">>
<<narrative "For the next several minutes, I'm treated to what can only be described as the most endearingly terrible dancing I've ever seen. Serin tries to follow some rhythm that only she can hear, her movements ranging from stiff and robotic to wildly exaggerated. It's clear she's putting her heart into it, but her body just isn't cooperating.">>
<div style="margin: 20px 0; text-align: center;">
<div style="position: relative; width: 500px; height: 400px; margin: 0 auto; border-radius: 8px; overflow: hidden; border: 2px solid rgba(100, 100, 100, 0.4);">
<img src="images/serin/chapter5/dancing/slide/1.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite;" alt="Serin Dancing 1">
<img src="images/serin/chapter5/dancing/slide/2.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 2s;" alt="Serin Dancing 2">
<img src="images/serin/chapter5/dancing/slide/3.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 4s;" alt="Serin Dancing 3">
<img src="images/serin/chapter5/dancing/slide/4.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 6s;" alt="Serin Dancing 4">
<img src="images/serin/chapter5/dancing/slide/5.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 8s;" alt="Serin Dancing 5">
<img src="images/serin/chapter5/dancing/slide/6.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 10s;" alt="Serin Dancing 6">
<img src="images/serin/chapter5/dancing/slide/7.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 12s;" alt="Serin Dancing 7">
<img src="images/serin/chapter5/dancing/slide/8.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 14s;" alt="Serin Dancing 8">
<img src="images/serin/chapter5/dancing/slide/9.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 16s;" alt="Serin Dancing 9">
<img src="images/serin/chapter5/dancing/slide/10.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 18s;" alt="Serin Dancing 10">
<img src="images/serin/chapter5/dancing/slide/11.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 20s;" alt="Serin Dancing 11">
<img src="images/serin/chapter5/dancing/slide/12.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 22s;" alt="Serin Dancing 12">
<img src="images/serin/chapter5/dancing/slide/13.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 24s;" alt="Serin Dancing 13">
<img src="images/serin/chapter5/dancing/slide/14.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 26s;" alt="Serin Dancing 14">
<img src="images/serin/chapter5/dancing/slide/15.webp" style="width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; opacity: 0; animation: slideShow 30s infinite 28s;" alt="Serin Dancing 15">
</div>
</div>
<style>
@keyframes slideShow {
0%, 6% { opacity: 1; }
6.1%, 100% { opacity: 0; }
}
</style>
<<dialog "Serin" "faceangry" "Gods, I don't know how to do this!" "After what feels like an eternity of watching her struggle, Serin finally stops, her shoulders slumping in defeat as she exclaims, throwing her hands up in frustration" "Help me!">>
<<dialog "Rylan" "faceconfused" "Me?" "I ask, surprised by her request" "What makes you think I can help with dancing?">>
<<dialog "Serin" "faceembarrassed" "Yes, you!" "Serin insists, her embarrassment giving way to determination" "I know you took dance lessons when you were a child. Your $marielToHuman told me about it once. She said you were actually quite good at it.">>
<<dialog "Rylan" "faceembarrassed" "That was a long time ago," "I feel my own face heating up at the memory as I mutter, trying to downplay it" "And it was just basic stuff. Nothing fancy.">>
<<dialog "Serin" "facesmile" "Please?" "Serin's voice takes on a pleading tone, and she gives me those big, hopeful eyes that I've never been able to resist" "Just show me the basics? I promise I'll be a good student.">>
<<narrative "I look at Serin standing there, looking so vulnerable and hopeful. The training hall suddenly feels very intimate, and I can feel my heart rate picking up. Do I dare to dance with her? It would mean getting very close, touching her, guiding her movements...">>
<<choiceBox "What will you do?" "Dance with Her (H)" "Chapter5SerinDanceH" "Chapter5SerinTrainingHall=dance" "Don't Dance with Her (no H)" "Chapter5SerinDanceNoH" "Chapter5SerinTrainingHall=no_dance">>
</div>
<<pov "rylan" "serindate.mp3">>
<</nobr>>
<style>
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
</style><<nobr>>
<div id="overlay-transition" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(0, 0, 0, 0.95), rgba(255, 182, 193, 0.9), rgba(0, 0, 0, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; opacity: 1; transition: opacity 2s ease-in-out;">
<div style="text-align: center; color: #F5DEB3; font-size: 1.8em; text-shadow: 2px 2px 8px rgba(0,0,0,0.8);">
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 0s infinite;">The morning stretches long...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 1s infinite;">As Serin's playful energy fills the air...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 2s infinite;">And unexpected invitations...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 3s infinite;">Lead to surprising revelations...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 4s infinite;">About what friendship truly means...</div>
</div>
</div>
<style>
@keyframes fadeInOut {
0%, 100% { opacity: 0; transform: translateY(20px); }
50% { opacity: 1; transform: translateY(0); }
}
</style>
<script>
setTimeout(() => {
document.getElementById('overlay-transition').style.opacity = '0';
}, 5000);
setTimeout(() => {
document.getElementById('overlay-transition').style.display = 'none';
}, 7000);
</script>
<div class="passage-container rylan">
<<if $rylan_wearingSocks>>
<<narrative "Back in my room, I'm trying to process everything that just happened with Nimeria. The socks feel surprisingly comfortable against my skin, and I can't help but wonder what she's planning next. Just as I'm about to change back into my normal clothes, I hear the door creak open behind me.">>
<<else>>
<<narrative "Back in my room, I'm trying to process everything that just happened with Nimeria. I can't help but wonder what she's planning next. Just as I'm about to change back into my normal clothes, I hear the door creak open behind me.">>
<</if>>
<<dialog "Rylan" "faceangry" "Serin! Ever heard of knocking?!">>
<<dialog "Serin" "facesmirk" "Oh please, $humanName. Like you have anything worth hiding in here." "She saunters in with that trademark smirk, her eyes immediately scanning the room" "Besides, I wanted to surprise you!">>
<<if $rylan_wearingSocks>>
<<narrative "I quickly grab my shoes and pants to cover myself, but Serin's already spotted the socks. Her eyebrows raise with that mischievous glint I know all too well.">>
<<dialog "Serin" "faceteasing" "Well, well, well... What do we have here?" "She steps closer, her grin widening" "Those are some very... interesting socks you're wearing, $humanName.">>
<<dialog "Rylan" "faceembarrassed" "They're just socks, Serin. Nothing special about them.">>
<</if>>
<<if $rylan_wearingSocks>>
<<dialog "Serin" "faceteasing" "Mmm, if you say so." "She winks, clearly not buying it" "But enough about your fashion choices. I have a much better idea for how to spend the afternoon.">>
<<else>>
<<dialog "Serin" "faceteasing" "Mmm, if you say so." "She winks playfully" "But I have a much better idea for how to spend the afternoon.">>
<</if>>
<<dialog "Rylan" "faceworried" "What kind of idea?">>
<<dialog "Serin" "facelaugh" "We're going to the city, $humanName. You and me, on a proper date." "Her voice takes on a playful, almost sing-song quality as she says the word 'date.'">>
<<dialog "Rylan" "faceconfused" "A date?!" "The word comes out more like a squeak than I intended" "Serin, what are you talking about?">>
<<dialog "Serin" "faceteasing" "Oh, don't act so surprised!" "She rolls her eyes dramatically" "We've been friends forever, and I think it's about time we did something fun together. The city has this amazing new restaurant, and I thought we could explore the market district afterward.">>
<<narrative "I'm still processing the word 'date' when Serin steps even closer, her playful energy filling the room. She's always been like this - unpredictable, teasing, but somehow impossible to say no to.">>
<<if $rylan_wearingSocks>>
<<dialog "Serin" "facesmirk" "Come on, $humanName. It'll be fun! We can get you out of this stuffy room, maybe buy you some proper clothes that actually match those cute socks of yours." "She grins, clearly enjoying my discomfort">>
<<else>>
<<dialog "Serin" "facesmirk" "Come on, $humanName. It'll be fun! We can get you out of this stuffy room, maybe buy you some proper clothes that actually fit you better." "She grins, clearly enjoying my discomfort">>
<</if>>
<<dialog "Rylan" "faceworried" "I don't know, Serin. I was planning to prepare for our fight with Gairos this afternoon. After what happened yesterday... when he nearly killed us both.">>
<<if $rylan_wearingSocks>>
<<dialog "Serin" "facelaugh" "Oh, that's even more reason to enjoy ourselves now!" "Her eyes sparkle with mischief as she grins" "If we're going to face death this afternoon, we deserve to have some fun first, don't you think? Besides, when was the last time we actually spent time together outside of fighting for our lives?">>
<<else>>
<<dialog "Serin" "facelaugh" "Oh, that's even more reason to enjoy ourselves now!" "Her eyes sparkle with mischief as she grins" "If we're going to face death this afternoon, we deserve to have some fun first, don't you think? Besides, when was the last time we actually spent time together outside of fighting for our lives?">>
<</if>>
<<narrative "She has a point. We've been so focused on training and missions lately that I can't remember the last time we just... hung out. And despite her teasing, Serin's always been a good friend. Maybe this could be fun.">>
<<dialog "Rylan" "faceworried" "Fine, fine. But this isn't a date, okay? It's just two friends hanging out.">>
<<dialog "Serin" "faceteasing" "Whatever you want to call it, $humanName." "She winks again, clearly not believing me for a second" "Now get dressed properly - we're leaving in ten minutes!">>
<<if $rylan_wearingSocks>>
<<narrative "With that, Serin spins on her heel and heads for the door, leaving me standing there in my confusion. A date? With Serin? The idea sends something through my stomach, and I'm not sure if it's excitement or nervousness.">>
<<else>>
<<narrative "With that, Serin spins on her heel and heads for the door, leaving me standing there in confusion. A date? With Serin? The idea sends something through my stomach, and I'm not sure if it's excitement or nervousness.">>
<</if>>
<<continueBox "Chapter5SerinDate2" "Continue" "">>
</div>
<<pov "rylan" "defaultch5.mp3">>
<</nobr>><<nobr>>
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<set $serinChapter5OnTopCumScene = true>>
<<changeLust "Rylan" -100>>
<<changeLust "Serin" -100>>
<<changeAttraction "Rylan" "Serin" 0.8>>
<<changeAttraction "Serin" "Rylan" 1.0>>
<<changeAffection "Rylan" "Serin" -1>>
<<changeAffection "Serin" "Rylan" 2>>
<<changeFetish "Rylan" "SubmissionFetish" 0.4>>
<<changeFetish "Serin" "DominanceFetish" 0.3>>
<<quickSexTrack "orgasm" "rylan" "Serin" 1>>
<<quickSexTrack "orgasm" "serin" "Rylan" 1>>
<<quickSexTrack "cumonbody" "rylan" "Serin" 1>>
<<addSoulCorruption "serin" 1>>
<div id="soulCorruptionAnimation" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; display: none;">
<div style="background: radial-gradient(circle, rgba(139, 0, 139, 0.9), rgba(75, 0, 130, 0.8)); border-radius: 50%; width: 200px; height: 200px; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 50px rgba(139, 0, 139, 0.6); animation: corruptionPulse 2s ease-in-out;">
<div style="text-align: center; color: white; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
<h3 style="margin: 0; font-size: 1.5em;">💀 Soul Corruption 💀</h3>
<p style="margin: 5px 0; font-size: 1.1em;">Serin +1</p>
</div></div></div>
<script>
setTimeout(function() {
const animation = document.getElementById('soulCorruptionAnimation');
if (animation) {
animation.style.display = 'block';
setTimeout(function() {
animation.style.display = 'none';
}, 2000);
}
}, 100);
</script>
<style>
@keyframes corruptionPulse {
0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
20% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
80% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
100% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
}
</style>
<div class="passage-container rylan">
<<narrative "The sensation becomes too much to bear. All that pent-up frustration, all that built-up tension I've been experiencing - it's all reaching its peak. I can feel the pressure building inside me, my body trembling with the intensity of what's about to happen.">>
<center><img src="images/serin/chapter5/cowgirl/nopanty5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin Riding Rylan"></center>
<<dialog "Rylan" "faceembarrassed" "I'm... I'm going to..." "I gasp, my voice barely coherent as I feel the climax building" "I can't hold back anymore...">>
<<narrative "I can feel her grinding against me faster and faster, her movements becoming wild and desperate. The sight of her above me, her body glistening with sweat, her panties soaked and barely covering her - it's the final trigger I need. With one final, desperate thrust against her, I lose control completely.">>
<<narrative "The climax hits us both at the same time, completely overwhelming our senses. I can hear myself moaning and groaning, completely lost in the intensity of the release, while Serin cries out above me, her body trembling with her own ecstasy. Our orgasms seem to feed off each other, each one making the other more intense.">>
<center><img src="images/serin/chapter5/cowgirl/cum1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Both Climaxing"></center>
<<narrative "The climax seems to last forever, my body convulsing with each pulse, each spurt of cum coating her beautiful body, while her pussy clenches and pulses around me. When it finally ends, we're both completely drained, our muscles giving out as we collapse together. We're both breathing heavily, covered in sweat, and she's absolutely covered in my cum.">>
<<dialog "Serin" "facewet" "Oh... oh my god," "she gasps, her eyes wide with surprise as she feels the warm liquid splashing across her skin" "That's... that's so much... and we came together...">>
<<dialog "Serin" "facewet" "Wow... just wow," "she breathes, looking down at her cum-covered body with amazement" "That was absolutely incredible. You really know how to satisfy a girl, don't you?">>
<<narrative "As the post-orgasm haze begins to clear, reality starts crashing down on me. What did I just do? I look at Serin's body, completely covered in my cum, and the weight of my actions hits me like a sledgehammer. I've betrayed Liora, the girl I love, the girl I've been trying to build a relationship with. I've let my desires take control, and now I've done something I can never take back.">>
<<dialog "Rylan" "faceembarrassed" "Oh no... oh god, what did I just do?" "I whisper, my voice trembling with horror and shame" "I betrayed Liora... I betrayed the girl I love...">>
<<narrative "The guilt is overwhelming. I can feel tears welling up in my eyes as I think about Liora, about how much I care for her, about how I've just destroyed any chance we might have had. I'm a monster, a cheater, someone who couldn't control his own desires. How could I have let this happen?">>
<<dialog "Serin" "facewet" "Hahaha, that wasn't cheating," "she laughs, her voice light and dismissive" "We didn't even have sex. This was just... intense foreplay, that's all.">>
<<narrative "Her words do little to comfort me. Whether it technically counts as sex or not, I still came all over another girl. The physical act might not have been penetration, but the emotional betrayal is just as real. I've crossed a line I never thought I would cross.">>
<<dialog "Rylan" "faceembarrassed" "I don't know what to think anymore," "I say quietly, my voice barely above a whisper" "I need to think alone for a bit. I need to figure out what this means, what I am now.">>
<<narrative "I can't look at her anymore. The sight of her body covered in my cum, the knowledge of what we just did, it's all too much. I need space, I need time to process what's happened, to understand how I could have let things go this far. I need to figure out if I'm still the person I thought I was.">>
<<dialog "Serin" "facesmirk" "All right, I understand," "she says, her voice surprisingly gentle" "Take all the time you need. This was... intense for both of us.">>
<<narrative "But as I gather my clothes and start to leave, I can see the subtle smirk playing at the corners of her lips...">>
<<continueBox "Chapter5GairosTraining" "Return to Room" "">>
</div>
<<pov "rylan" "intimatech5.mp3">>
<</nobr>>
<style>
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
@keyframes slideShow {
0%, 6% { opacity: 1; }
6.1%, 100% { opacity: 0; }
}
</style><<nobr>>
<<set $RylanSoraAttrraction = 1>>
<div class="passage-container rylan">
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0;">Thoughts About Sora</h2>
</div>
<<narrative "I sit on the edge of my bed, my mind still reeling from what just happened. Sora's panties are still lying there, a delicate reminder of the encounter that's left me completely confused. I can't stop thinking about it - about them.">>
<center><img src="images/sora/pose/bed/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Sora on the bed"></center>
<<narrative "When Sora lay sprawled on my bed, looking so confident and at home. Their tail swishing hypnotically, those mischievous eyes watching me. I thought they were a girl at first - how could I not?">>
<center><img src="images/sora/pose/bed/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Sora revealing bulge"></center>
<<narrative "When he pulled up his skirt and exposed the bulge in his panties. My breath caught in my throat as I saw it - there was no mistaking the unmistakable shape pressing against the delicate fabric.">>
<center><img src="images/sora/pose/bed/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Sora fully exposed"></center>
<<narrative "When he exposed his dick and balls. Despite his small, slender frame, his dick was... impressive. Big. Maybe even bigger than mine. The shaft was thick and well-formed, and I could clearly see his balls nestled against the base.">>
<center><img src="images/sora/pose/bed/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Sora teasing"></center>
<<narrative "I couldn't look away. There was something hypnotic about it, about the way it looked so wrong yet somehow... right. The contrast between his delicate features and the undeniable masculinity between his legs was confusing, but also... strangely compelling.">>
<<changeAttraction "Rylan" "Sora" 1>>
<<changeLust "Rylan" 5>>
<<continueBox "Chapter5SerinClitoris" "Continue" "">>
</div>
<<pov "rylan" "soratheme.mp3">>
<</nobr>><<set $RylanSoraAttrraction = 0>>
<<nobr>>
<div id="overlay-transition" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(0, 0, 0, 0.95), rgba(40, 40, 60, 0.9), rgba(0, 0, 0, 0.95)); z-index: 9998; display: flex; align-items: center; justify-content: center; opacity: 1; transition: opacity 2s ease-in-out;">
<div style="text-align: center; color: #E6E6FA; font-size: 1.8em; text-shadow: 2px 2px 8px rgba(0,0,0,0.8);">
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 2s ease-in-out 0s infinite;">Returning to my room...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 2s ease-in-out 1s infinite;">The training session has left everyone exhausted...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 2s ease-in-out 2s infinite;">Time to rest before the next challenge...</div>
</div>
</div>
<style>
@keyframes fadeInOut {
0%, 100% { opacity: 0; transform: translateY(20px); }
50% { opacity: 1; transform: translateY(0); }
}
</style>
<script>
setTimeout(() => {
document.getElementById('overlay-transition').style.opacity = '0';
}, 9000);
setTimeout(() => {
document.getElementById('overlay-transition').style.display = 'none';
}, 6000);
</script>
<div class="passage-container rylan">
<<narrative "The afternoon training session has left us all battered and exhausted. As we disperse from the backyard, I can feel every muscle in my body protesting against the brutal lesson Gairos just taught us. My mind is still reeling from the realization that we're going to Blightwood in just an hour - a place where we might actually face death.">>
<<thought "rylan" "face" "I need to get some rest before we head out." "My body is screaming for sleep, but my mind is racing with everything Gairos said about our weaknesses. I can't help but wonder if we're really ready for what's waiting in Blightwood.">>
<<continueBox "Chapter5SoraEncounterRoom" "Continue" "">>
</div>
<<pov "rylan" "defaultch5.mp3">>
<</nobr>>
<<if $lioraLickSerykSweat>>
<<script>>
$(document).ready(function() {
setTimeout(function() {
if (window.FloatingEffects && State.variables.lioraLickSerykSweat) {
// Enhanced aura for NTR atmosphere - creates tension and unease
window.FloatingEffects.addEffect('Liora', 'blue', 'images/chibi-models/seryk.webp', {
intensity: 'moderate', // moderate visual effect
radius: 2, // noticeable aura radius
opacity: 1.5, // visible but not overwhelming
speed: 2 // steady pulsing
});
}
}, 500);
});
<</script>>
<</if>><<nobr>>
<div class="passage-container rylan">
<<narrative "Back to the Room">>
<<narrative "I push open the door to my room, expecting to find it empty and ready for some much-needed rest. Instead, I'm greeted by the sight of Sora sprawled across my bed, looking completely at home as if she owns the place. Her tail swishes lazily back and forth, and she gives me a mischievous grin.">>
<center><img src="images/sora/pose/bed/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan Taking Control"></center>
<<dialog "Sora" "face.webp" "Welcome back," "Sora purrs, her voice smooth and teasing." "I was wondering when you'd finally show up.">>
<<dialog "Rylan" "faceshock.webp" "What are you doing in my room?!" "I exclaim, my voice cracking with surprise." "And how did you even get in here?!">>
<<dialog "Sora" "facesmirk.webp" "Your window was open," "Sora replies with a casual shrug, as if that explains everything." "And your bed is really comfortable. I like your bed." "As she speaks, her tail moves in a hypnotic pattern that draws my eye.">>
<<narrative "Something about the way Sora's tail moves is mesmerizing. I can't help but watch as it curls and uncurls, the silky fur catching the light in a way that's almost hypnotic. I shake my head, trying to focus on the problem at hand.">>
<<dialog "Rylan" "faceworried.webp" "I need some rest," "I tell her firmly, though my voice wavers slightly." "We're going to Blightwood soon. You need to leave.">>
<<dialog "Sora" "face.webp" "Don't worry," "Sora says with a playful wink." "There's enough room for both of us on this bed. We can share.">>
<<dialog "Rylan" "faceembarrassed.webp" "I won't lie down together with you!" "I protest, my face flushing with embarrassment at the very suggestion.">>
<<dialog "Sora" "facesad.webp" "Oh?" "Sora's smirk deepens, and she slowly sits up on the bed." "Is it because I'm a demi-human? You're a racist after all?" "She pouts dramatically, her lower lip trembling slightly.">>
<<dialog "Rylan" "faceworried.webp" "No!" "I exclaim, horrified at the accusation." "It's not that at all!">>
<<dialog "Sora" "face.webp" "Then what is it?" "Sora asks, her voice taking on a more serious tone." "What's really stopping you from sharing a bed with me?">>
<<dialog "Rylan" "faceembarrassed.webp" "Because... because you're a girl!" "I blurt out, my face burning with embarrassment.">>
<<dialog "Sora" "facesmirk.webp" "Oh?" "Sora's smirk becomes absolutely predatory, and she slowly begins to lift her skirt." "Then we could lie down together if I wasn't a girl?">>
<<narrative "My breath catches in my throat as Sora's skirt rises higher and higher, revealing inch after inch of smooth, pale skin. My eyes are drawn downward, and I can't help but notice the unmistakable bulge pressing against the front of her delicate panties. The fabric strains slightly, and I find myself swallowing hard.">>
<center><img src="images/sora/pose/bed/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan Taking Control"></center>
<<dialog "Rylan" "faceembarrassed.webp" "Wait, what is that?!" "I stammer, my voice barely above a whisper as my eyes remain locked on that bulge.">>
<<dialog "Sora" "face.webp" "I'm a guy," "Sora announces with a proud, almost defiant grin, clearly enjoying the look of shock on my face.">>
<<dialog "Rylan" "faceshock.webp" "What?! How can this be?!" "I exclaim, my mind reeling from this revelation." "You... you look so feminine, and you wear a skirt and...">>
<<dialog "Sora" "facesmirk.webp" "Want me to prove it?" "Sora asks, their voice dropping to a husky whisper that sends shivers down my spine.">>
<<narrative "Before I can respond, Sora's fingers hook into the delicate lace of their panties. The fabric parts slowly, revealing what's hidden beneath. My breath catches in my throat as I see it - there's no mistaking the unmistakable shape of a penis, half-hard and clearly visible through the thin material.">>
<<narrative "But Sora isn't done. With a mischievous smirk, they slowly pull the fabric aside, completely exposing themselves. My eyes widen in shock and... something else I can't quite name. Despite their small, slender frame, their dick is... impressive. Big. Maybe even bigger than mine. The shaft is thick and well-formed, and I can clearly see their balls nestled against the base, the whole package somehow both masculine and delicate at the same time.">>
<<narrative "Sora pulls down his panties completely, and shows off his dick.">>
<center><img src="images/sora/pose/bed/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan Taking Control"></center>
<<dialog "Rylan" "faceembarrassed.webp" "I... I..." "I stammer, my voice barely above a whisper. My eyes are locked on what's now fully exposed, and I can't seem to look away. There's something hypnotic about it, about the way it looks so wrong yet somehow... right. I've never seen anything like this before.">>
<<narrative "I can feel my heart pounding in my chest, my mouth going dry. This shouldn't be attractive. This should be confusing, maybe even repulsive. But instead, I find myself swallowing hard, my gaze tracing the outline of their shaft. The way it curves slightly, the way it seems to pulse with their heartbeat... I'm transfixed.">>
<<dialog "Sora" "face.webp" "See? Told you I was a guy," "Sora purrs, their voice taking on a deeper, more seductive tone. They shift their hips slightly, making what's exposed move in a way that's impossible to ignore." "Though I have to say, you're staring awfully hard for someone who's supposedly not interested.">>
<center><img src="images/sora/pose/bed/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan Taking Control"></center>
<<narrative "I can feel my face burning with embarrassment, but I still can't tear my eyes away. There's something about the way Sora's body looks - the contrast between their delicate features and the undeniable masculinity between their legs. It's confusing, it's wrong, but it's also... strangely compelling.">>
<<dialog "Sora" "face.webp" "I saw you staring at my tail quite a few times," "Sora says seductively, their tail swishing suggestively." "You interested? But right now you seem even more interested in my front tail!">>
<<dialog "Rylan" "faceembarrassed.webp" "I, I... Sorry I'm just confused," "I stammer, completely flustered by this entire situation.">>
<<narrative "Sora stands up gracefully, their movements fluid and deliberate. They step closer to me, and I can feel the heat radiating from their body. The scent of something sweet and exotic fills my nostrils, making my head spin. Before I can react, they lean in close, their lips brushing against my ear as they whisper.">>
<<dialog "Sora" "face.webp" "Don't worry," "Sora murmurs, their breath warm against my skin." "There's nothing wrong with being attracted to a guy...">>
<<narrative "Then, before I can process what's happening, Sora's lips press against my cheek in a soft, lingering kiss. The contact sends a jolt of electricity through my body, and I can feel my heart racing. When they pull back, there's a knowing smirk on their face.">>
<<dialog "Sora" "face.webp" "See you soon, cutie," "Sora says with a wink, their voice dripping with promise and mischief.">>
<<narrative "Before I can say anything, Sora spins on their heel and dashes toward the window. They leap out with the grace of a cat, disappearing. But they've left something behind - their delicate panties are still lying on my bed, a silent reminder of what just happened.">>
<<narrative "I'm left standing in the middle of my room, my mind a whirlwind of confusion and conflicting emotions. My cheek still tingles from Sora's kiss, and I can't shake the image of their body from my mind. Was leaving the panties intentional? A tease? A promise of things to come? I touch my cheek where they kissed me, and I can't help but wonder - would it be gay or hetero to be attracted to Sora?">>
<<choiceBox "What to do next?" "Think longer about Sora (attraction)" "Chapter5SoraAttraction" "Chapter5SoraEncounterRoom=attraction" "Get some rest..." "Chapter5SerinClitoris" "Chapter5SoraEncounterRoom=rest">>
</div>
<<pov "rylan" "soratheme.mp3">>
<</nobr>>
<<if $lioraLickSerykSweat>>
<<script>>
$(document).ready(function() {
setTimeout(function() {
if (window.FloatingEffects && State.variables.lioraLickSerykSweat) {
// Enhanced aura for NTR atmosphere - creates tension and unease
window.FloatingEffects.addEffect('Liora', 'blue', 'images/chibi-models/seryk.webp', {
intensity: 'moderate', // moderate visual effect
radius: 2.5, // noticeable aura radius
opacity: 2, // visible but not overwhelming
speed: 3 // steady pulsing
});
}
}, 500);
});
<</script>>
<</if>><<nobr>>
<div class="passage-container thalor">
<<dialog "Gairos" "face" "Listen carefully, demon girl. Yesterday I used a truth spell on you - one that no mortal or demon should be able to resist. The agony of lying under its influence is beyond description. It's like having your soul nails pulled one by one.">>
<<dialog "Gairos" "face" "But I need absolute certainty. I've crafted something... special. A spell so powerful it's been banned from every magical academy. The pain it inflicts when you lie? It doesn't just hurt - it can stop your heart mid-beat. Consider this your final warning.">>
<<dialog "Nimeria" "facesmile" "Oh my, such dramatic language! Cast whatever spell you like, Master Gairos. I have nothing to hide from someone as... thorough as yourself.">>
<<narrative "Gairos besgins casting the forbidden spell, his hands glowing with dark magical energy that seems to pulse with malevolent intent. The air around us grows heavy, and I can feel the oppressive weight of the magic settling over the room.">>
<<dialog "Gairos" "face" "Excellent. The spell has taken hold. Now, demon girl, tell me this: I nearly killed your brother yesterday. Does that really not bother you? Aren't you angry with me?">>
<<dialog "Nimeria" "facesmile" "Oh, Seryk? If he'd died, it would have been entirely his own fault for being so reckless. I can't be angry at you for his poor judgment.">>
<<dialog "Gairos" "face" "Hmm... And what of Mistfen Reach? You both lived there, didn't you? Surely you must have had some involvement in what happened to that place.">>
<<dialog "Nimeria" "facesmile" "Mistfen Reach? No, I had nothing to do with that tragedy. Even now, I still wonder what kind of monster could attack such innocent people. They were always so kind to us...">>
<<dialog "Gairos" "face" "Now, demon girl, tell me this: I personally ended Azgorth's life. I killed him, his servants, and his family. The mighty demon king and all who served him, reduced to ash by my hand. You feel nothing? No rage, no grief, no desire for vengeance? He was your king after all.">>
<<dialog "Nimeria" "facesmile" "That's an interesting question, Master Gairos. But I have one for you: do you feel sad about it?">>
<<dialog "Gairos" "face" "Hahaha! Sad? Why in the nine hells would I mourn that monster's death? I ended a war that had raged for decades! I brought peace to countless kingdoms! I became...">>
<<dialog "Nimeria" "facesmile" "Precisely because of that. You were always the strongest human, the unchallenged master of your domain. Then suddenly, you encountered someone who could match - no, exceed your power. For the first time in your life, you had a true rival, a genuine challenge to overcome.">>
<<narrative "I can see Gairos's expression shift from amusement to shock, and I'm equally stunned by Nimeria's audacity. How dare she speak to him like this?">>
<<dialog "Nimeria" "facesmile" "Then came the climactic battle. You emerged victorious, yes, but something felt... hollow about it. You couldn't defeat him alone - you needed allies, perhaps even... less than honorable tactics to secure that victory. And that knowledge ate at you.">>
<<narrative "Now Gairos's expression transforms into pure anger. His hands clench into fists, and I can see magical energy crackling around him dangerously.">>
<<thought "Thalor" "faceworried" "Stop it, Nimeria! God, the longer I'm near this girl, the more I think I should start wearing diapers. She's going to get us all killed!">>
<<dialog "Nimeria" "facesmile" "Oh dear, I may have overstepped my bounds. I do tend to get carried away when analyzing people...">>
<<dialog "Gairos" "face" "No. Don't stop now. I want to hear everything you think you know about me.">>
<<dialog "Nimeria" "facesmile" "Well, after observing your achievements in the years following his death, compared to when he still lived, I could see the pattern. You were furious with yourself, weren't you? So you poured every waking moment, every ounce of your being into becoming stronger, until you would finally surpass even Azgorth himself.">>
<<narrative "Gairos's expression softens, his anger disappears, but it shifts into something else entirely. Something I've never seen on his face, even in all the years I've known him.">>
<<dialog "Nimeria" "facesmile" "But now what? You've achieved everything you sought. You're the strongest being alive, but there's no one left to challenge you, to prove your supremacy. 'Am I truly stronger than Azgorth? Could I have defeated him in a fair, one-on-one battle?' The doubt must be maddening.">>
<<narrative "Gairos's expression transforms into something that looks like fear. Pure, unadulterated fear from a small, delicate child.">>
<<dialog "Nimeria" "facesmile" "So you're searching, desperately seeking purpose in your now-empty existence. 'Was it all meaningless? All that knowledge, all that power - for what? What's left?' And then you found your answer: exterminate the remaining demons. It was entertaining at first, like a child burning ants with a magnifying glass. But even children grow bored of such simple pleasures.">>
<<thought "Thalor" "faceworried" "I close my eyes and pray: Oh god, oh god. Make her stop. Don't make him kill us, please, please...">>
<<dialog "Nimeria" "facesmile" "Then you had your brilliant idea: if there are no worthy opponents left, why not create one? Attack a nation that's been growing in power, that might actually provide a challenge. The Holy Kingdom, wasn't it?">>
<<dialog "Gairos" "face" "How could you possibly know any of this?">>
<<dialog "Nimeria" "facesmile" "How do I know? I observe, I analyze, I connect the dots. And I think we're both in the same predicament, Master Gairos. When you're so much more intelligent than everyone around you, every conversation feels like talking to children. It's... lonely, isn't it? That's why I'd be delighted to have some intellectual discussions with you. Someone who can actually keep up with my thoughts.">>
<<dialog "Nimeria" "facesmile" "But where was I? Ah yes, the Holy Kingdom. So why would the mighty Wizard choose to travel with a family he supposedly despises? The answer is simple: he doesn't hate them at all. He's convinced himself he does, but in reality, he's desperate for companionship. He wants people who will witness his power and shower him with praise: 'Incredible, Master Gairos! Another army annihilated single-handedly!'">>
<<dialog "Gairos" "face" "ENOUGH!">>
<<dialog "Gairos" "face" "I need... I need to rest. The rest of you are free to do as you please until afternoon. Then we'll reconvene outside.">>
<<dialog "Rylan" "faceworried" "What for?">>
<<dialog "Gairos" "face" "You will face me in combat...">>
<<narrative "Gairos stands up and walks toward his room, his footsteps heavy with exhaustion. The oppressive magical energy dissipates, leaving the room feeling lighter but still tense.">>
<<thought "Thalor" "faceworried" "I open my eyes and see that everyone is still alive. My legs are still shaking from the intensity of what just happened.">>
<<narrative "Serin stands up and heads outside for her morning training, her usual energetic demeanor somewhat subdued by the intense confrontation.">>
<<narrative "Liora quietly retreats to her room, her face pale from the psychological intensity of what she just witnessed.">>
<<narrative "$humanName looks briefly at Nimeria, then looks away with obvious disgust before heading toward his room.">>
<<dialog "Nimeria" "facesad" "$humanName, wait...">>
<<narrative "He stops without looking at her, his back tense with barely contained emotion.">>
<<dialog "Nimeria" "facesad" "Could you meet me later at the flower field? The one where we all used to picnic together? I need to explain everything to you...">>
<<narrative "$humanName just nods slightly and continues to his room, his disgust still evident in his posture.">>
<<dialog "Mariel" "faceworried" "Seryk, are you truly alright? You seem... unwell.">>
<<dialog "Seryk" "face" "I'll be fine. Just a bit sore and weakened, but I should recover my strength in a few days.">>
<<narrative "Mariel nods and then heads to her room as well, her expression troubled by the day's events.">>
<<thought "Thalor" "faceworried" "I look at Mariel's retreating figure and think: I always made fun of her praying, but today, for the first time, I feel maybe God really saved us. My legs are still shaking as I move to my new bedroom.">>
<<narrative "Soon, only Seryk and Nimeria remain in the room, the tension still hanging heavy in the air like morning mist that refuses to dissipate.">>
<<dialog "Nimeria" "facesmile" "Seryk, carry me to the flower field.">>
<<dialog "Seryk" "face" "Haha, Nim, what the heck? You're not seriously asking me to carry you all the way out there, are you?">>
<<narrative "Nimeria remains seated exactly where she was an hour ago, not having moved an inch from her position. Her usual playful smile is still there, but there's something different about it now - something that makes Seryk's expression shift from amusement to concern.">>
<<dialog "Seryk" "face" "Alright, let's go.">>
<<narrative "As Seryk carries her through the corridors, Nimeria's weight feels almost insubstantial against his chest. Her usual vibrant energy seems to have drained away, leaving behind only the echo of the psychological mastermind who had just reduced the most powerful wizard in the world to a trembling child.">>
<<continueBox "Chapter5NimeriaSerykTalk" "Continue" "">>
</div>
<<pov "thalor" "defaultch5.mp3">>
<</nobr>><<nobr>>
<div class="passage-container nimeria">
<<if $rylan_GayValue >= 1>><<set $rylanSerykGayContent = true>>
<<else>><<set $rylanSerykGayContent = false>><</if>>
<<set $seryk_LioraKissCount = $liora_SerykKissCount>>
<<set $currentFace = $currentNimeriaFace>>
<<set $timeOfDay = "night">>
<<set $gameDay += 1>>
<<narrative "🌙 Midnight Schemes 🌙">>
<<narrative "Chapter 5 - If this is healing, let it burn">>
<<narrative "I grip the edge of my bed as another violent coughing fit wracks my fragile frame. Each convulsion sends shooting pains through my chest, and I taste the metallic tang of blood on my lips. My nightgown clings to my sweat-soaked skin as tremors run through my body.">>
<center><img src="images/story/chapter5/nimeriasweat.webp" style="width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Gairos's 'interrogation' took everything out of me. That truth spell he cast... every lie I told sent waves of excruciating agony through my entire body. Like having molten needles driven into every nerve. But I couldn't let him see how much it hurt. I had to act completely normal, even smile, while the pain was tearing me apart from the inside.">>
<<narrative "I wipe the blood from my mouth with a shaking hand and force myself to think clearly despite the agony.">>
<<dialog "Nimeria" "faceworried" "Damn it all... I never expected him to show up this soon. We're nowhere near ready for this.">>
<<narrative "My thoughts spiral through possibilities and contingencies. $humanName will be watching me more carefully now. I saw the suspicion in his eyes during that confrontation-he doesn't know exactly what I am, but his instincts are screaming warnings about me.">>
<<dialog "Nimeria" "faceserious" "My carefully planned timeline is useless now. Everything has to accelerate. The subtle approach, the gradual corruption... there's no luxury of time anymore.">>
<<narrative "I picture the others in their beds, sleeping so peacefully. They have no comprehension of what we truly faced today. To them, Gairos is 'just powerful'. They don't understand that we encountered something that has transcended mortality itself.">>
<<dialog "Nimeria" "faceshocked" "What stands before us now... it's no longer human. It's something that has crossed the threshold into divinity. And we're nothing but insects in comparison.">>
<<narrative "I lean back against my pillows, feeling the cold sweat on my forehead as I try to calculate our odds. This is a game of time now, and we're losing badly. Even if I manage to get all of them completely on my side, even if Seryk fully recovers his strength... I don't think we would have a real chance against what Gairos has become.">>
<<narrative "For now, I'll have to continue buttering him up, playing the innocent little demon girl who poses no threat. But I doubt my words today were enough to truly convince him to let us live. He's too smart for that, too paranoid. He's keeping us alive because we're useful, not because he trusts us.">>
<<narrative "The memory of his penetrating stare makes my skin crawl. Those eyes that seemed to look right through my carefully constructed facade and see the calculating mind beneath.">>
<<narrative "Thalor mentioned something about the Holy Kingdom during the confrontation... and that's what made Gairos stop his attacks. That's interesting. Very interesting.">>
<<narrative "I press my fingertips against my temples, trying to parse the strategic implications. What does Gairos want from the Holy Kingdom that requires keeping us alive?">>
<<dialog "Nimeria" "faceserious" "He wants us for our individual strengths-and my knowledge. He understood that intelligence and information are often more valuable than raw power in warfare. He'll use them as weapons, yes, but he values what I know even more.">>
<<narrative "The realization sends ice through my veins. The sheer audacity of it-one man planning to topple an entire kingdom. Yet after witnessing his power today, it doesn't seem impossible anymore.">>
<<dialog "Nimeria" "faceworried" "The Holy Kingdom has been making such progress too... Their new queen actually treats demons as people, not monsters. And he wants to destroy all of that.">>
<<narrative "For just a moment, I let myself imagine a different path. Maybe we could contact the Holy Kingdom and ask for their help against Gairos? We could join their kingdom, get a small mansion somewhere peaceful... $humanName would marry me, and I'd get pregnant with his child. Maybe three children? Little ones with his gentle eyes and my determination...">>
<<narrative "The fantasy is so sweet it makes my chest ache with longing. But reality crashes back down like a hammer blow.">>
<<dialog "Nimeria" "faceserious" "No. The moment they discover our true identities, we're dead. The Holy Kingdom cannot allow rival royalty to exist-not when their queen is trying to unite humans and demons under her rule.">>
<<narrative "The harsh political reality crushes my fantasy before it can fully form. Two competing royal bloodlines would fracture the fragile peace she's building. It would split humans and demons back into opposing camps, risking everything the queen has worked to achieve.">>
<<dialog "Nimeria" "faceworried" "They'd execute us not out of cruelty, but out of necessity. We represent the old demon kingdom-a threat to the unified future she's trying to create. Another war would be inevitable.">>
<<narrative "I think about $humanName's horrified face when he learns the truth about my identity, about all the blood on my hands, about the things I've done to survive. But it's not just my past that would disgust him-it's what I'm actively doing to him right now. The way I've been slowly corrupting him, manipulating his desires, turning his pure heart toward darkness.">>
<<narrative "And it's not just him. I've been systematically working on his entire family, his friends. They all trust me, welcome me into their home, and I repay that kindness by slowly twisting them into versions of themselves that serve my purposes.">>
<<narrative "The guilt cuts deeper than any physical wound. He might never forgive me-not just for who I was, but for what I'm turning him into. The thought of losing his affection, his trust, his innocent smile... it's almost worse than the agony wracking my body.">>
<<narrative "And even if by some miracle they accepted us, I'd still be the 'cursed child.' Everything would go back to the hell it was before-the whispers, the fear, the isolation.">>
<<dialog "Nimeria" "faceserious" "There's only one path left to me now. I must claim the throne. Not out of ambition-out of necessity.">>
<<dialog "Nimeria" "faceworried" "But first, Gairos must fall. Which means I need every ally I can get, whether they come willingly or... otherwise. My web of influence, my carefully planted seeds of corruption-everything must accelerate now.">>
<<narrative "I catalog each member of this household in my mind-their weaknesses, their desires, how close they are to being completely mine. What levers I still need to pull, what dependencies I need to deepen.">>
<<dialog "Nimeria" "facesad" "I'm so utterly alone in this. Even Seryk... I can't involve him too deeply in what needs to be done. He's too pure, too kind to stain his hands with the blood that mine are already soaked in.">>
<<narrative "The thought of dragging him down into the darkness with me is unbearable. He deserves better than becoming another puppet master pulling strings from the shadows. Some battles I must fight alone, some sins I must bear myself.">>
<<narrative "A new worry creeps into my already crowded mind. In this house, I'll have to watch what I say from now on. Every word, every gesture, every seemingly innocent comment. Gairos might be watching this whole place with his magic-scrying spells, listening enchantments, surveillance that I might not even be able to detect.">>
<<narrative "The old man is paranoid and thorough. If he suspects I'm more than I appear to be, he'll want to keep tabs on me. Which means I need to be even more careful about my nocturnal activities.">>
<<narrative "I glance around my room, suddenly hyper-aware of every shadow, every corner where magical surveillance could be hidden. The very air feels like it might be listening.">>
<<narrative "Despite the agony coursing through my body, I force my mind to focus on what can still be accomplished tonight. Rest is a luxury I can't afford.">>
<<dialog "Nimeria" "faceserious" "What can I still salvage from this night? Every action must serve multiple purposes now-advance my agenda while maintaining innocence, build dependencies while appearing helpful.">>
<<narrative "The household sleeps peacefully, unaware of the machinations spinning around them. I could visit them individually, plant subtle influences in their dreams.">>
<<dialog "Nimeria" "faceworried" "No matter how much this pain tries to break me, I won't yield. I have a throne to claim and people to protect. The game continues, whatever the cost.">>
<<narrative "I wipe another trickle of blood from my lips with trembling fingers, steeling myself for the battles ahead.">>
<<choiceBox "What do you do?" "💜 Check on sleeping household members" "NimeriaNightVisits" "Chapter5NimeriaReflection=check" "😴 Rest and recover strength" "Chapter5nightMarielTransition" "Chapter5NimeriaReflection=rest">>
</div>
<</nobr>>
<<pov "nimeria" "nimeria.mp3">><<script>>window.AudioSystem.playBGM('nimeria.mp3');<</script>>
<div class="chapter-transition" style="background: linear-gradient(135deg, rgba(20, 0, 0, 0.95) 0%, rgba(60, 20, 20, 0.9) 30%, rgba(139, 0, 0, 0.85) 70%, rgba(180, 20, 20, 0.9) 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden;"><div class="floating-particles" style="position: absolute; width: 100%; height: 100%; pointer-events: none;">
<div style="position: absolute; width: 3px; height: 3px; background: rgba(255, 100, 100, 0.6); border-radius: 50%; animation: float 8s infinite ease-in-out; top: 20%; left: 10%;"></div>
<div style="position: absolute; width: 2px; height: 2px; background: rgba(255, 150, 150, 0.4); border-radius: 50%; animation: float 12s infinite ease-in-out 2s; top: 60%; left: 80%;"></div>
<div style="position: absolute; width: 4px; height: 4px; background: rgba(255, 80, 80, 0.5); border-radius: 50%; animation: float 10s infinite ease-in-out 4s; top: 80%; left: 30%;"></div></div><div class="chapter-content" style="text-align: center; z-index: 10; max-width: 800px; padding: 40px;"><div id="title-reveal" style="opacity: 0; transition: opacity 1s ease-in;">
<h1 style="color: #FF6B6B; font-size: 4em; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); margin-bottom: 30px; letter-spacing: 3px;">CHAPTER 5</h1></div><div id="subtitle-reveal" style="opacity: 0; transition: opacity 1s ease-in 1s;">
<h2 style="color: #FFB3B3; font-size: 2.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.7); margin-bottom: 40px; font-style: italic; letter-spacing: 1px;">If This Is Healing, Let It hurt</h2></div><div id="quote-reveal" style="opacity: 0; transition: opacity 1s ease-in 2s;"><div style="background: rgba(0, 0, 0, 0.6); border: 2px solid rgba(255, 100, 100, 0.4); border-radius: 15px; padding: 30px; margin: 40px 0;">
<p style="color: #FFD6D6; font-size: 1.3em; line-height: 1.8; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">"When the cure becomes the poison,<br/>and mercy feels like cruelty...<br/>sometimes healing demands the unthinkable."</p></div></div><div id="continue-reveal" style="opacity: 0; transition: opacity 1s ease-in 3s;"><div style="margin-top: 50px;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('Chapter5NimeriaReflection')" style="background: linear-gradient(145deg, rgba(139, 0, 0, 0.8), rgba(178, 34, 34, 0.9)); color: white; padding: 15px 40px; border: 2px solid rgba(255, 100, 100, 0.6); border-radius: 8px; font-size: 1.2em; text-decoration: none; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); transition: all 0.3s ease; display: inline-block;">Continue →</a></div></div></div></div>
<style>
@keyframes float {
0%, 100% {
transform: translateY(0px) translateX(0px);
opacity: 0.3;
}
25% {
transform: translateY(-20px) translateX(10px);
opacity: 0.7;
}
50% {
transform: translateY(-40px) translateX(-5px);
opacity: 1;
}
75% {
transform: translateY(-20px) translateX(-10px);
opacity: 0.7;
}
}
</style>
<script>
setTimeout(() => {
document.getElementById('title-reveal').style.opacity = '1';
}, 300);
setTimeout(() => {
document.getElementById('subtitle-reveal').style.opacity = '1';
}, 1300);
setTimeout(() => {
document.getElementById('quote-reveal').style.opacity = '1';
}, 2300);
setTimeout(() => {
document.getElementById('continue-reveal').style.opacity = '1';
}, 3300);
</script><<nobr>>
<div class="passage-container serin">
<div id="pov-transition" style="text-align: center; margin: 20px 0; padding: 40px; background: linear-gradient(145deg, rgba(25, 25, 35, 0.9), rgba(40, 40, 60, 0.95)); border: 2px solid rgba(100, 100, 150, 0.4); border-radius: 12px; position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(45deg, transparent 30%, rgba(255, 182, 193, 0.3) 50%, transparent 70%); animation: shimmer 2s infinite;"></div>
<h3 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0; position: relative; z-index: 2;">🌙 Serin's Perspective 🌙</h3>
<p style="color: #C0C0C0; font-style: italic; margin: 10px 0 0 0; position: relative; z-index: 2;">The perspective shifts to Serin as she lies restless in her room...</p>
</div>
<div id="overlay-transition" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(25, 25, 35, 0.95), rgba(40, 40, 60, 0.9), rgba(60, 60, 80, 0.95)); z-index: 9999; opacity: 1; transition: opacity 2s ease-in-out; pointer-events: none;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; color: #E6E6FA;">
<h2 style="margin: 0 0 20px 0; font-size: 2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🌙 Night Falls 🌙</h2>
<p style="font-size: 1.2em; margin: 0; opacity: 0.8;">Serin's room grows quiet as darkness settles...</p>
</div>
</div>
<script>
setTimeout(() => {
document.getElementById('overlay-transition').style.opacity = '0';
}, 1000);
setTimeout(() => {
document.getElementById('overlay-transition').style.display = 'none';
}, 3000);
</script>
<style>
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
</style>
<<narrative "Serin sits on the edge of her bed, her mind racing with the day's events. Sleep feels impossible after what she witnessed. Her fingers absently trace the hilt of her knife, still stained with Gairos' blood - blood that should have meant his death.">>
<<dialog "Serin" "faceangry" "How the hell did he survive that?" "Serin mutters to herself, her voice barely above a whisper." "I drove my blade straight through his gut. I felt it tear through flesh and organs. He should be dead!">>
<<dialog "Serin" "facesad" "What kind of monster are we dealing with?" "Her mind replays the horrifying moment when Gairos' wound simply... closed. No magic, no incantations, no healing potions. Just flesh knitting itself back together like it was nothing more than a scratch.">>
<<dialog "Serin" "faceworried" "Please let him survive," "she whispers, her voice cracking with emotion." "He's the strongest of us, but even he can't take that kind of damage." "And then there's Seryk. The memory of his back being seared by Gairos' flames makes her stomach churn.">>
<<dialog "Serin" "faceangry" "How do we kill something that can't be killed?" "she growls, frustration and fear warring in her chest." "If my best attack barely fazed him, what chance do we have?">>
<center><img src="images/items/serinointment.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Sleeping humanName"></center>
<<dialog "Serin" "faceworried" "Gods, I can't sleep like this," "she groans, her body tense with pent-up energy and anxiety." "My mind won't stop racing. I need something to help me relax.">>
<<dialog "Serin" "faceembarrassed" "Apply a small amount to your most intimate area every night before... well, before you touch yourself." "Suddenly, she remembers the ointment Nimeria gave her. The demon had been oddly specific about its use." "Serin's cheeks flush at the memory.">>
<<dialog "Serin" "faceembarrassed" "Maybe that's exactly what I need right now," "she thinks, her voice barely a whisper." "Something to take my mind off all this... something to help me relax and sleep." "The idea feels both embarrassing and strangely appealing.">>
<<dialog "Serin" "faceembarrassed" "This is ridiculous," "she mutters to herself." "but I'm desperate for some relief." "With a deep breath, Serin makes her decision. She reaches for the jar on her bedside table, her fingers trembling slightly.">>
<<narrative "She carefully removes her clothes, the cool night air making her skin prickle with goosebumps. Sitting back on the edge of her bed, she opens the jar and sniffs the contents. The scent is... unusual. Sweet but with an underlying warmth that makes her stomach flutter.">>
<<if $serinFutanariTransformation>>
<<narrative "Serin's body responds immediately to the ointment's touch. The warmth spreads through her skin, making her more sensitive, more aware of every sensation. As she applies the ointment, she can feel her body responding, ready for the pleasure that awaits.">>
<<continueBox "SerinCh5Masturbate1" "Begin Masturbation" "">>
<<choiceBox "Choose Your Path" "Begin Masturbation" "SerinCh5Masturbate1" "serinMasturbation=true" "Skip Masturbation scene" "Chapter5NextMorning" "serinMasturbation=skip">>
<<else>>
<<dialog "Serin" "faceembarrassed" "This is crazy," "she whispers." "but I need this. I need to feel something other than fear and frustration." "Serin looks down at her naked body, the ointment jar clutched in her trembling hand. She knows what she's about to do, and the anticipation makes her heart race.">>
<<choiceBox "Choose Your Path" "Begin Masturbation" "SerinCh5Masturbate1" "serinMasturbation=true" "Skip Masturbation" "Chapter5NextMorning" "serinMasturbation=false">>
<</if>>
</div>
<</nobr>>
<<pov "serin" "defaultch5.mp3">><<nobr>>
<<set $timeOfDay = "night">>
<div class="passage-container thalor">
<<narrative "🍺 The Drunk's Return 🍺 The scene shifts to reveal Thalor stumbling home through the night... A man haunted by his past, seeking solace in alcohol... The perspective shifts to Thalor as he stumbles home through the darkness...">>
<center><img src="images/landscapes/nightroad.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Night Road"></center>
<<narrative "The night air is thick with the smell of alcohol and regret as Thalor stumbles down the familiar path toward home. His steps are unsteady, his mind clouded by drink and the weight of what he's just done.">>
<<dialog "Thalor" "facedrunk" "Wha... wha' did I jus' do?" "Thalor mutters to himself, his words slurring together as he tries to focus on the path ahead" "Did I really jus'... jus' sell my soul to the devil?">>
<<narrative "He stumbles again, nearly falling into a puddle, and curses under his breath. The memory of Nimeria's face - that innocent smile hiding something terrible - keeps replaying in his mind. Her promises had sounded too good to be true, but what choice did he even have? She'd given him that flask, said it would help with his... his condition. His erectile dysfunction. But the dosage... what had she said again?">>
<<dialog "Thalor" "facedrunk" "She's... she's the Demon Queen..." "he whispers to himself, the realization hitting him like a hammer" "I killed her family, an' now she's... she's wha'? Playing with me? Toying with my life like a cat with a mouse?">>
<<dialog "Thalor" "facedrunk" "The flask... the flask she gave me..." "he mumbles, patting his pocket where the small container rests" "Was it... was it one spoon per day, so one flask per week? Or... or one flask per day, so one spoon per week? I can't... I can't remember what she said...">>
<<narrative "The house comes into view, a dark silhouette against the starless sky. Thalor's vision swims as he approaches the front door, his hand fumbling with the latch. Inside, the familiar smell of home - wood, herbs, and something warm - hits him, but it feels different now. Tainted.">>
<<dialog "Thalor" "facedrunk" "Mariel..." "he calls out softly, his voice hoarse from drink" "Are you... are you shtill up?">>
<<narrative "Silence greets him. The house is quiet, everyone already asleep. Thalor stands in the darkness of the entryway, swaying slightly as he tries to remember which room is his. The alcohol has made everything fuzzy, and he can't quite recall the new arrangement.">>
<<dialog "Thalor" "facedrunk" "Left room... or right room?" "he mumbles, squinting at the two doors at the end of the hallway" "Which one ish mine? I can't... I can't remember which room ish which anymore...">>
<<narrative "His mind drifts back to Nimeria's words about his sins. About how he treats $humanName like a weakling. About how he makes Mariel cry. The alcohol makes everything feel more intense, more raw. He feels exposed, vulnerable, like all his failures are laid bare.">>
<<dialog "Thalor" "facedrunk" "Maybe... maybe I should talk to $humanName..." "he thinks, the idea forming slowly in his alcohol-clouded mind" "He'sh... he'sh trying to grow stronger, she said. Not running away like me. Maybe I should...">>
<<narrative "The hallway seems to stretch endlessly before him as he stands there, swaying, trying to make a decision. The left room or the right room. He can't remember which is which, but he needs to choose. Sleep or... something else. Something that feels dangerous and exciting in his current state.">>
<<dialog "Thalor" "facedrunk" "I need to... to figure out which room ish mine..." "he mutters, his voice barely above a whisper" "Left or right. Which door do I open?">>
<<narrative "The alcohol has made everything fuzzy and confusing. He stands there swaying, trying to remember the simple fact of which room he's supposed to sleep in. It should be easy, but nothing feels clear right now.">><<choiceBox "Which room do you enter?" "🚪 Left Room (⚠️ GAY CONTENT - Thalor x $humanName content)" "Chapter5nightThalorLeftRoomPanties" "Chapter5nightThalorDrunk=left" "🚪 Right Room (💤 Safe Option - Your own room. Time to sleep off this alcohol and avoid any complications...)" "Chapter5nightThalorBathroom" "Chapter5nightThalorDrunk=right">>
</div>
<</nobr>>
<<pov "thalor" "nimeriasconfrontation.mp3">><<nobr>>
<<set $timeOfDay = "night">>
<div class="passage-container thalor">
<<narrative "👑 The Queen's Judgment 👑 Thalor and Nimeria face each other in the shadows... Past meets present in a confrontation that will change everything... The scene shifts to reveal the confrontation between Thalor and the Demon Queen...">>
<center><img src="images/story/chapter5/bar/viproom.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="VIP Room Interior"></center>
<<narrative "The VIP room is a small, intimate space with dark wood paneling and a single oil lamp casting flickering shadows. A round table sits between two wooden chairs, and the air is thick with tension as two figures face each other across the polished surface.">>
<center><img src="images/story/chapter5/bar/nimeriaviproomsmile.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Nimeria in VIP Room"></center>
<<narrative "Nimeria sits across from Thalor, her eerie smile never wavering. Despite her youthful appearance, there's something in her expression that commands absolute attention. Her eyes hold a depth that seems to see straight through him, and the way she carries herself speaks of authority that goes far beyond her years.">>
<<thought "Thalor" "faceworried" "What the hell is happening?" "Thalor's mind races as he studies her across the table, his warrior instincts screaming at him" "Why am I so terrified of this girl? She's just sitting there, but I feel like I'm facing down a dragon!" "He swallows hard, his throat dry" "She looks harmless enough... so why do my instincts tell me to run?">>
<<dialog "Nimeria" "facesmileeerie" "My, my..." "Nimeria says, her voice carrying a weight that makes the air feel heavier" "So we finally meet again, Thalor. Though I suppose you don't remember our last encounter, do you?">>
<<dialog "Thalor" "faceworried" "We just saw each other a few hours ago..." "Thalor replies, his voice tight with tension" "What are you talking about?">>
<<dialog "Nimeria" "facesmileeerie" "I'm talking about the past..." "Her smile takes on a darker edge, and suddenly Thalor's blood runs cold" "The night you stormed the palace.">>
<<dialog "Thalor" "faceworried" "No..." "His face twists with horror, his voice cracks" "It can't be you!">>
<<narrative "Memories flood back like a tidal wave - that night in the throne room, the screams, the blood, the lifeless bodies of maids and children scattered across the marble floor. The weight of his actions crashes down on him like a mountain.">>
<<dialog "Nimeria" "facesmileeerie" "Allow me to introduce myself properly." "Nimeria's voice is soft, almost gentle, but it carries an undeniable authority" "I am Nimeria... daughter of Azgorth, last King of the Demon Race. The blood that once ruled this world flows in my veins.">>
<<dialog "Thalor" "faceworried" "But... but I killed you. I killed all of you. Your father, your siblings, your mothers-" "His eyes widen, panic setting in. His hand instinctively goes to his hip, but his sword isn't there. His voice shakes as the list pours out of him" "I butchered your whole bloodline. I made sure none survived.">>
<<dialog "Nimeria" "facesmileeerie" "Yes," "she says, and her smile is almost kind - almost" "You did kill me that night." "A shadow passes through her eyes" "But death isn't always the end.">>
<<dialog "Thalor" "faceworried" "What do you want from me?" "His voice is desperate now, brittle with fear" "Revenge? Is that it?">>
<<dialog "Nimeria" "facesmileeerie" "Revenge? Perhaps that's part of it..." "She tilts her head, considering him. Then her smile sharpens, all trace of softness gone" "But first, let's talk about your sins." "She leans forward, her tone cutting like glass" "You've committed three great sins, Thalor. Can you name them all?">>
<<dialog "Thalor" "faceworried" "I... I killed your father. Azgorth. Your mothers. Your siblings." "His throat works as he swallows, voice hoarse. His hands tremble on the table" "Even the servants. Even the children. I slaughtered them all." "He lowers his gaze, shame flooding his face" "If those are my sins, then I already know them.">>
<<dialog "Nimeria" "faceangry" "Oh, that's part of it, yes. But you don't even understand the full weight of what you've done." "Her eyes glint, the smile widening just slightly" "Let me remind you, Thalor. In exquisite detail." "She leans closer, her voice almost a whisper, yet sharper than a blade">>
<<dialog "Nimeria" "faceangry" "The night you stormed the palace... you didn't just kill soldiers. You cut down everyone. My father, Azgorth. My mothers. My siblings. Even the maid who used to brush my hair. You didn't stop until the throne room was red with blood." "Her voice trembles just once, but she doesn't look away" "And then there was Zarn..." "she whispers" "A dog. big, loyal, stupidly brave. He leapt at your blade to protect me. You cut him down without a thought. He never left my side until that moment.">>
<<narrative "Her words strike something buried deep in Thalor's mind. The lamplight flickers across her face, and suddenly, the memories claw their way back - blood on marble, the screams of children hiding behind the throne.">>
<<dialog "Thalor" "faceworried" "No... I remember. There was... a girl with black hair, cowering in the shadows. That was you, wasn't it?">>
<<dialog "Nimeria" "facesmileeerie" "Exactly.">>
<<dialog "Thalor" "faceworried" "And... there was another boy. Purple skin, red hair... he tried to protect the others.">>
<<dialog "Nimeria" "faceangry" "Correct. Malrik. Our oldest brother. Still dead.">>
<<dialog "Thalor" "faceworried" "And the other boy... blue skin, white hair. He was clinging to the pillar, crying-">>
<<dialog "Nimeria" "facesmileeerie" "Seryk. Magically alive. Just like me.">>
<<dialog "Thalor" "faceworried" "Gods...">>
<<dialog "Nimeria" "faceangry" "But Malrik... Malrik is gone. And Zarn, my loyal dog, gone. You cut them down without hesitation. And Mira... my only loyal maid. Dead too. Do you understand now, Thalor? Do you see whose blood you carry on your hands?">>
<<narrative "Her words echo in the suffocating silence. Then her voice hardens, sharp as steel:">>
<<dialog "Nimeria" "faceangry" "This... all of this, I count as Sin Number One.">>
<<dialog "Thalor" "faceworried" "Sin number one? Gods above... if all that is just the first, then I'm already a dead man." "His stomach twists, bile rising in his throat. He can barely look at her now, yet he cannot look away">>
<<dialog "Nimeria" "faceangry" "Sin Number Two. $humanName told me everything. His first exam - he failed. Do you know why? Because he was raised under a curse his own father put on him." "When a boy is told over and over, 'you are weak, you are worthless, you'll never amount to anything'... he starts to believe it. And when he believes it, he breaks. He becomes what you made him.">>
<<dialog "Thalor" "faceworried" "No... I only wanted to make him strong. To prepare him-">>
<<dialog "Nimeria" "faceangry" "Strong? You call breaking his spirit strength? You failed him, Thalor. Just as you failed Mariel. Just as you failed yourself. You bury your shame in silence, in drink, in empty bravado, and call it endurance. But all I see is a coward running from his past, running from his sins." "That... is Sin Number Two.">>
<<thought "Thalor" "faceworried" "If the first sin was slaughter, and the second is failure as a father... what more can she take from me?">>
<<dialog "Nimeria" "faceangry" "And then... Sin Number Three." "You made Mariel cry. Again. And again. And again.">>
<<dialog "Thalor" "faceworried" "Mariel...?">>
<center><img src="images/story/chapter5/bar/nimeriaangry.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Nimeria Angry"></center>
<<dialog "Nimeria" "faceangry" "Do you know what it does to me, watching her pour her whole heart into loving you while you tear it apart with every careless word? I've worked myself to exhaustion for her, fought until I bled, pushed myself until I coughed up blood - all to protect her - and you? You come home and shatter her again and again like it means nothing!" "That, Thalor, is Sin Number Three. And it is the one I will never forgive.">>
<<dialog "Thalor" "faceworried" "...Mariel? Why her? She was part of the party that raided the palace! She stood among those who cut your family down - among those who cut you down. How could she matter to you?">>
<<dialog "Nimeria" "faceangry" "Because she took me and Seryk in. Even though we were demons. Even though she risked everything by doing so. She treated us as if we were her own children - fed us, sheltered us, defended us, even when it meant endangering her own life." "That is a debt I can never repay easily." "And a queen... always repays her debts.">>
<<dialog "Thalor" "faceworried" "No... Nimeria, wait... not Mariel. Please, not her. If you hate me, then take it out on me - I deserve it. But leave her out of this. She doesn't deserve your vengeance." "His breath quickens, his hands trembling despite his attempt to clench them into fists. Pride, honor, composure - all of it crumbles as he speaks again, almost begging now" "And my $thalorCallsHuman too - $humanName. Spare them both. They have nothing to do with my sins. Whatever punishment you want, give it to me... but let them live.">>
<<dialog "Nimeria" "faceangry" "Nothing to do with your sins? How blind you still are, Thalor. Mariel carries the weight of your neglect every day. $humanName carries the scars of your cruelty. Do not dare to tell me they are untouched by your sins.">>
<<dialog "Thalor" "faceworried" "Please, Nimeria... don't hurt them. Not Mariel, not $humanName. If you want blood, take mine. If someone has to pay, let it be me. Just... leave them out of it, I beg you.">>
<<dialog "Nimeria" "faceangry" "Do you think I'm stupid, Thalor?! If I wanted you all dead, you'd be dead already! Do you think I don't know how? I'd lace your food, your water, with a poison that wouldn't kill you right away - no, it would paralyze you, leave you awake, unable to scream. Then I'd gouge out your eyes so the last thing you ever saw was me. I'd rip off your nails one by one, just to hear you beg. I'd cut off each finger, slow, deliberate, until you couldn't even lift a sword again. And only when you were nothing but a whimpering shell, I'd carve into you, again and again, until there wasn't a drop of blood left in your body." "And you know what? You'd never even see it coming. You'd never even know the moment I decided your fate. That is what I could do to you. That is what I could do to all of you - if I was reckless, if I was stupid. But I'm not. I am not you.">>
<<dialog "Nimeria" "facesmileeerie" "But the truth is... I love them too much. Him. Mariel. Their friends, their family. I love them with every broken, twisted part of me. Not the kind of love you read about in stories - no, mine is cruel, sick, endless. The kind of love that smothers, that claws, that cuts if it has to. If hurting them kept them safe, I'd do it without hesitation. If breaking them meant they'd survive, I'd break them myself." "And love, Thalor... love makes me cruel. I'd burn the whole world down before I'd let anyone hurt them. That's the only reason you're still breathing right now.">>
<<dialog "Thalor" "faceworried" "Then... what do you want from me?">>
<center><img src="images/story/chapter5/bar/nimeriaviproomsmile.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Nimeria Composed"></center>
<<narrative "For a moment, Nimeria doesn't answer. She just stares at him, unblinking, as if savoring the weight of his fear. Then, slowly, she leans back into the chair. Her posture loosens, her voice softens, and the fury that burned a heartbeat ago vanishes like smoke.">>
<<dialog "Nimeria" "facesmileeerie" "Finally, the right question." "She crosses one leg over the other, hands folding neatly in her lap as if they hadn't been clenched into fists a moment ago. Her smile widens - not kind, but sharp, deliberate" "I think... we can help each other." "Her eyes narrow, glinting like knives in the dark" "Let's discuss the future... $humanToThalor...">>
<<narrative "The air in the room seems to thicken with unspoken implications. Two enemies, bound by blood and betrayal, now sit across from each other in a game where the rules have suddenly changed.">>
<<continueBox "Chapter5nightRylanTransition" "Continue..." "">>
</div>
<</nobr>>
<<pov "thalor" "nimeriasconfrontation.mp3">><<nobr>>
<div class="passage-container thalor">
<<narrative "🍺 The Weight of Regret 🍺 Thalor's perspective - drowning his sorrows in a dimly lit tavern... The scene shifts to reveal the broken man behind the warrior's facade... 🔄 POV Switch: Now following Thalor's perspective The story continues through Thalor's eyes...">>
<center><img src="images/story/chapter5/bar/thalorbar.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Tavern Interior"></center>
<<narrative "The dim light of oil lamps flickers across worn wooden tables. The air is thick with the smell of ale, sweat, and the bitter tang of regret. In a corner booth, a broken warrior drowns his sorrows.">>
<<narrative "Thalor stares into his third tankard of ale, the amber liquid reflecting the flickering lamplight like the dying embers of his marriage. His hands shake slightly as he lifts the mug to his lips, the alcohol doing little to numb the pain of what he just said to Mariel.">>
<<dialog "Thalor" "faceworried" "Gods, what have I done?" "he mutters to himself, the words barely audible over the low murmur of the tavern" "Questioning if $humanName is even my $thalorCallsHuman... How could I say something like that to her? After everything we've been through together?">>
<<narrative "But even as the guilt washes over him, the deeper truth remains: their life has become a nightmare. They're trapped in their own home, living like prisoners while the man who destroyed everything sleeps in their bedroom. And sooner or later, Gairos might just decide to kill him and his whole family.">>
<<dialog "Thalor" "faceworried" "What can I do?" "he whispers, his voice cracking with desperation" "What could I even do? Gairos is just too powerful... Maybe if I got on my knees in front of him, begged for mercy, he'll just spare them...">>
<<dialog "Thalor" "faceworried" "Or... that's right! If I killed those two demons Mariel tried to protect, Seryk and Nimeria... Gairos might just let us live. That's it! That's the solution!" "His eyes widen as a dark thought crosses his mind">>
<<narrative "The idea takes root in his alcohol-clouded mind, growing darker and more desperate with each passing moment. He could do it. He's a warrior, after all. He's killed before. What's two more deaths if it means saving his family?">>
<<narrative "In that moment, the bar door opens with a creak that echoes through the suddenly quiet tavern. The whole bar falls silent, all eyes turning toward the entrance. Then someone shouts, their voice trembling with fear: 'A-a-a demon!'">>
<<dialog "Thalor" "faceworried" "God, shut up. Not even silently regretting your life choices I can..." "Then he looks towards the entrance, and his expression changes from annoyance to complete shock">>
<<continueBox "Chapter5nightThalorShock" "Continue..." "">>
</div>
<<pov "thalor" "thalorbar.mp3">>
<</nobr>><<nobr>>
<div class="passage-container thalor">
<<narrative "The Demon's Entrance - A familiar face appears, bringing chaos and revelation...">>
<center><img src="images/story/chapter5/bar/nimeriaentrance.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; display: block;" alt="Nimeria at the Tavern Entrance"></center>
<<narrative "Nimeria stands framed in the doorway, her innocent smile somehow more terrifying than any demonic snarl could ever be. She looks around the tavern as if she's just a young woman stopping by for a drink, completely unaware of the chaos her presence has caused.">>
<<thought "Thalor" "faceworried" "It's her!" "Thalor's heart stops. His hands grip the tankard so tightly that the wood creaks under the pressure" "What is she doing here? She just looks like the girl... is it her ghost trying to take revenge?!" "he thinks, his mind racing with panic">>
<<narrative "The silence shatters as several patrons reach for their weapons, the metallic sound of steel being drawn echoing through the tavern like a death knell.">>
<<dialog "Tavern Guest" "face" "Demon!" "one of the guests barks, his voice trembling with a mixture of fear and bravado" "What are you doing here?! Where is your owner? You don't belong in a place like this!">>
<<dialog "Nimeria" "facesmileeerie" "I'm actually looking for him in here..." "Nimeria's smile never wavers, but there's something predatory in her eyes as she surveys the room" "she says, her voice sweet and innocent" "Maybe you have seen him? It's a grumpy old man wallowing in self sorrow..." "She pauses, then giggles" "Oh, excuse me! That description works on almost everyone in here!">>
<<dialog "Tavern Guest" "face" "How dare you!" "one of the guests roars, his face red with anger. He steps forward, sword drawn and gleaming in the lamplight" "You think you can just walk in here and insult us? I'll teach you some respect!">>
<<dialog "Thalor" "faceworried" "Stop it now!" "Thalor's warrior instincts kick in. He can't let this escalate" "he commands, his voice cutting through the tension like a blade through silk">>
<<dialog "Tavern Guest" "face" "And who are you, telling me what to..." "The guest turns toward the voice, his sword still raised" "His words die in his throat as he sees who spoke. The color drains from his face, and he quickly sheathes his weapon, backing away with a muttered apology before returning to his table">>
<<dialog "Thalor" "faceworried" "We'll take the VIP room in the back." "Thalor turns to the barkeeper, who has been watching the entire scene with wide eyes">>
<<dialog "Male NPC" "face" "Of course, sir. Right this way." "The barkeeper nods quickly, relief washing over his face. He gestures toward a door at the back of the tavern, his hands still shaking slightly from the confrontation">>
<<narrative "As Thalor and Nimeria follow the barkeeper toward the private room, the tavern slowly returns to its normal rhythm. But the tension lingers in the air like smoke...">>
<<continueBox "Chapter5nightThalorNimeriaTalk" "Continue..." "">>
</div>
<</nobr>>
<<pov "thalor" "nimeriasconfrontation.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<narrative "I slowly regain consciousness, my head pounding from the alcohol. My vision is still blurry, but I can make out two figures in front of me - Serin and Mariel, their faces flushed and their breathing heavy.">>
<center><img src="images/serin/chapter6/serinmariel/aftermath.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "faceconfused" "What... what happened? How long was I out?">>
<<narrative "I let out a heavy sigh, rubbing my temples as I try to clear my head. The sound catches their attention, and both women turn to look at me with expressions I can't quite read in my drunken state.">>
<<dialog "Serin" "faceembarrassed" "Oh... $humanName, you're awake." "she says, her voice slightly breathless" "It's getting late... we should probably stop for today.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "Sweetheart... I... I'm so tired..." "she slurs heavily" "I think I need to... to lie down...">>
<<else>>
<<dialog "Mariel" "facewet" "$humanName... I... I'm so tired..." "she slurs heavily" "I think I need to... to lie down...">>
<</if>>
<<narrative "Mariel sways unsteadily on her feet, her eyes half-closed from exhaustion and alcohol. Before she can fall, Serin quickly moves to catch her, supporting her weight with strong arms.">>
<<dialog "Serin" "faceworried" "Whoa there, easy does it." "she says gently" "Let's get you to bed, okay?">>
<<narrative "I stumble to my feet, my own movements unsteady from the alcohol. Together, Serin and I help Mariel to her bedroom, her body limp and heavy between us.">>
<<narrative "We carefully lay Mariel down on her bed, her breathing already becoming steady as sleep takes over. Serin pulls the covers over her gently, tucking her in like a child.">>
<<if $marielTransformationMother>>
<<dialog "Serin" "face" "There we go, sweetheart." "she whispers" "Sleep well.">>
<<else>>
<<dialog "Serin" "face" "There we go, Mariel." "she whispers" "Sleep well.">>
<</if>>
<<narrative "We step out of the bedroom, closing the door quietly behind us. The house is silent now, the only sound the soft breathing of Mariel as she sleeps peacefully.">>
<<dialog "Rylan" "faceconfused" "What... what happened back there? I remember the arm wrestling, but after that...">>
<<dialog "Serin" "faceembarrassed" "Nothing important." "she says quickly" "We just... talked. You passed out pretty early from the alcohol.">>
<<narrative "I nod slowly, though something in her voice suggests there's more to the story. But my head is still spinning, and I'm too tired to press the issue.">>
<<dialog "Rylan" "face" "Right... well, I should probably get some sleep too. Goodnight, Serin.">>
<<dialog "Serin" "face" "Goodnight, $humanName." "she replies" "Sleep well.">>
<<narrative "I head to my own room, the events of the evening already fading into a hazy memory. As I drift off to sleep, I can't shake the feeling that something significant happened tonight, something I can't quite remember.">>
<<soulCorruptionAnimation "serin" 1>>
<<continueBox "Ch6GameNightSerinReflection" "Continue" "The night continues...">>
</div>
<</nobr>>
<<stopLoopingSounds>>
<<pov "rylan" "gamenight.mp3">><<nobr>>
<div class="passage-container rylan">
<<if !$gameNightMarielSerinVisited>>
<<if not $serinLesbianCuriosity>>
<<set $serinLesbianCuriosity = 0>>
<</if>>
<<set $serinLesbianCuriosity += 1>>
<<set $serinMarielContent = true>>
<<set $serinMarielGameNightMakeout = true>>
<<if not $serinNetoriCuriosity>>
<<set $serinNetoriCuriosity = 0>>
<</if>>
<<set $serinNetoriCuriosity += 1>>
<</if>>
<<set $gameNightMarielSerinVisited = true>>
<<narrative "The three of you gather around the kitchen table, the bottles of liquor gleaming in the warm evening light. Serin clears a space and positions herself across from me, her eyes sparkling with mischief.">>
<center><img src="images/serin/chapter6/serinmariel/armw1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facesmirk" "Alright, let's see what you're really made of, $humanName." "she flexes her arm confidently" "Mariel, who are you betting on?">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facehappy" "Oh, I believe in my sweetheart completely!" "she smiles warmly" "I'm betting on $humanName, my dear child.">>
<<else>>
<<dialog "Mariel" "facehappy" "I believe in $humanName completely!" "she smiles warmly" "I'm betting on him.">>
<</if>>
<<dialog "Rylan" "faceconfident" "You won't regret it, $humanToMariel. I've got this.">>
<<narrative "We lock hands across the table, our eyes meeting in a fierce stare. The moment our palms connect, I can feel the strength in her grip - it's more intense than I expected.">>
<<narrative "The match begins, and almost immediately, I realize I've underestimated her. Her arm muscles flex as she pushes my hand down with surprising force. Within seconds, my hand hits the table with a soft thud.">>
<<dialog "Serin" "facehappy" "And that's how it's done!" "she grins triumphantly" "Drink up, both of you!">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceworried" "Oh dear, that's not fair at all!" "she protests" "My sweetheart surely didn't focus yet, did you honey?">>
<<else>>
<<dialog "Mariel" "faceworried" "That's not fair at all!" "she protests" "$humanName surely didn't focus yet, did you?">>
<</if>>
<<dialog "Rylan" "faceembarrassed" "T-that's right! I just underestimated you, that's all!">>
<<dialog "Serin" "facesmirk" "Right, right, whatever you say." "she waves dismissively" "Drink up! Mariel, you only have to drink half a glass - I don't want to fill you up too much today." "she winks playfully">>
<<narrative "Mariel pours herself half a glass and takes a careful sip, her face scrunching up slightly at the taste. I pour myself a full glass and down it quickly, the alcohol burning my throat.">>
<<dialog "Mariel" "face" "So, what would you like as your reward, Serin?">>
<<dialog "Serin" "facehappy" "A shoulder massage would be perfect!" "she says excitedly" "I've been so tense from all that training.">>
<<narrative "Mariel moves behind Serin and begins massaging her shoulders. Her hands work expertly, kneading the muscles with practiced skill. Serin's eyes close as she lets out soft moans of pleasure.">>
<center><img src="images/serin/chapter6/serinmariel/massage1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Wow... you're absolutely amazing at this, Mariel." "she purrs" "Your hands are so skilled.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facesmile" "Oh, just wait until you get a massage from my sweetheart!" "she says proudly" "He's even better than I am.">>
<<else>>
<<dialog "Mariel" "facesmile" "Oh, just wait until you get a massage from $humanName!" "she says proudly" "He's even better than I am.">>
<</if>>
<<dialog "Serin" "facesmirk" "Is that so?" "she looks at me with a mischievous glint" "I might have to ask him for one one of these days.">>
<<thought "Rylan" "faceembarrassed" "Oh no... I can feel my face getting warm just thinking about it.">>
<<dialog "Rylan" "faceembarrassed" "I... uh... well...">>
<<narrative "I gulp nervously, the alcohol already starting to affect me. The thought of giving Serin a massage sends a strange flutter through my chest.">>
<<dialog "Serin" "facehappy" "Another round then! Let's see if you can do better this time, $humanName.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facehappy" "I'm betting on my sweetheart again!" "she says encouragingly" "You can do it, honey!">>
<<else>>
<<dialog "Mariel" "facehappy" "I'm betting on $humanName again!" "she says encouragingly" "You can do it!">>
<</if>>
<<narrative "We lock hands again, and this time I'm more prepared. But Serin's strength is still overwhelming. She pins my hand down even faster than before.">>
<center><img src="images/serin/chapter6/serinmariel/armw2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "faceangry" "Next time I'll win for sure!">>
<<dialog "Serin" "facesmirk" "We'll see about that." "she says confidently" "For my reward this time... I want you to massage my lower back, Mariel.">>
<<narrative "Mariel moves behind Serin again, her hands working lower this time. Serin's breathing becomes heavier as Mariel's skilled fingers work the muscles of her lower back.">>
<center><img src="images/serin/chapter6/serinmariel/massage2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Mmm... that feels incredible..." "she moans softly">>
<<narrative "Mariel is already looking a bit tipsy from the alcohol, her movements slightly less coordinated as she continues the massage.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "face" "I'm betting on Serin this time." "she says, her words slightly slurred" "Sorry sweetheart, but you haven't won yet.">>
<<else>>
<<dialog "Mariel" "face" "I'm betting on Serin this time." "she says, her words slightly slurred" "Sorry $humanName, but you haven't won yet.">>
<</if>>
<<narrative "The match begins again, and once more, Serin's strength proves too much. My hand hits the table with another thud.">>
<<dialog "Serin" "facesmirk" "Your hands are so soft, $humanName." "she teases" "Are you sure you're really a guy?">>
<<dialog "Rylan" "faceangry" "Damn it!">>
<<narrative "I drink another glass, the alcohol starting to make my head spin. Mariel takes a sip too, her cheeks already flushed.">>
<<dialog "Mariel" "faceembarrassed" "Hmm... what should I ask for this time?" "she thinks for a moment" "I... I'll ask you to kiss my cheek.">>
<<dialog "Serin" "facehappy" "Perfect!" "she grins" "Come here then.">>
<<narrative "Serin moves closer to Mariel and gently kisses her cheek, the contact lingering for a moment as Mariel's face flushes with embarrassment.">>
<center><img src="images/serin/chapter6/serinmariel/cheek1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facesmirk" "Another round then!">>
<center><img src="images/serin/chapter6/serinmariel/armw3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "As we prepare for the next round, I notice something strange. Serin isn't even looking at me - her eyes are locked on Mariel the entire time. Even as we lock hands, her attention is completely focused on Mariel.">>
<<dialog "Serin" "facesmirk" "Right, you haven't bet yet, Mariel." "she says while casually holding my hand" "Who do you want to bet on? Soft hands here or me?">>
<<narrative "Mariel looks at me, already frustrated and clearly affected by the alcohol. Despite my obvious disadvantage, she makes her choice.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "face" "I'm betting on my sweetheart!" "she says determinedly" "I believe in him!">>
<<else>>
<<dialog "Mariel" "face" "I'm betting on $humanName!" "she says determinedly" "I believe in him!">>
<</if>>
<<narrative "The match begins, and predictably, Serin wins again. She barely even tries, her attention still focused on Mariel.">>
<<dialog "Serin" "facesmirk" "Poor girl, only lost because of our little princess here." "she says mockingly" "Drink up!">>
<<narrative "Mariel drinks her glass, her movements becoming more unsteady. Serin moves closer to her and gives her another kiss on the cheek, this one lingering a bit longer.">>
<center><img src="images/serin/chapter6/serinmariel/cheek2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facehappy" "Too bad if I'm the only one never drinking." "she says, downing a glass herself" "Another round, princess, or are you already giving up?">>
<<dialog "Rylan" "faceangry" "I'm not giving up!" "I say, though my words are already slurred from the alcohol">>
<center><img src="images/rylan/tattoo/pride2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The alcohol is really starting to affect me now. My vision is getting blurry, and my movements are becoming sluggish.">>
<<narrative "Another round begins, and once again, Serin wins effortlessly. This time, when she goes to kiss Mariel's cheek, Mariel, drunk as she is, moves her head at the last moment, and their lips meet briefly.">>
<center><img src="images/serin/chapter6/serinmariel/kiss1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "faceshocked" "S-Serin!">>
<<dialog "Serin" "facesmirk" "Ah, nothing wrong with that." "she says casually" "We're both girls, after all.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "Y-yes, it's all okay, sweetheart!" "she says, her words heavily slurred" "Nothing wrong with girls kissing!">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "Y-yes, it's all okay!" "she says, her words heavily slurred" "Nothing wrong with girls kissing!">>
<</if>>
<<narrative "The next round begins, and Serin wins again. This time, when she kisses Mariel, she doesn't stop. Their lips press together for several seconds, Mariel's drunken state making her more receptive to the intimate contact.">>
<center><img src="images/serin/chapter6/serinmariel/kiss2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I try to focus, but the alcohol is making everything blurry. My vision is swimming, and I can barely make out what's happening in front of me.">>
<<narrative "Another round, another loss. Serin kisses Mariel again, this time even more passionately. Their lips move together, and I can hear soft moans coming from both of them.">>
<center><img src="images/serin/chapter6/serinmariel/kiss3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "My head is spinning now. The room is tilting, and I can barely keep my eyes open. The last thing I remember before everything goes black is the sight of Serin and Mariel locked in a passionate kiss, their bodies pressed close together.">>
<center><img src="images/serin/chapter6/serinmariel/blur3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<continueBox "Ch6GameNightSerinMarielKiss" "Continue" "The night continues...">>
</div>
<</nobr>>
<<stopLoopingSounds>>
<<pov "rylan" "gamenight.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "The evening sun casts a warm glow through the kitchen windows as I step inside, finding Mariel and Serin engaged in casual conversation.">>
<<dialog "Mariel" "face" "Oh, $humanName! Perfect timing." "she smiles warmly" "We were just discussing the next dungeon exploration.">>
<<dialog "Serin" "facesmirk" "Yeah, and I was telling Mariel how much stronger I've gotten from my training." "she flexes her arm playfully" "You really need to step up your game if you want to keep up with me, $humanName.">>
<center><img src="images/serin/chapter6/serinmariel/flexing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "face" "There she goes again with the teasing. I'm getting tired of her always acting like she's so much better than me.">>
<<dialog "Rylan" "face" "I've gotten stronger too, you know. I could easily beat you in a fight now.">>
<<dialog "Serin" "facesmirk" "Oh really? Can you prove it?" "she raises an eyebrow challengingly" "How about we settle this with some arm wrestling? Right here, right now.">>
<<dialog "Rylan" "faceconfident" "You're on! Let's see who's really stronger.">>
<<dialog "Mariel" "faceworried" "Do you two always have to fight each other?" "she sighs" "I thought we could have a relaxed evening together. Maybe share a glass of wine and just enjoy each other's company?">>
<<dialog "Serin" "facehappy" "Hmm, that gives me an idea!" "her eyes light up with mischief">>
<<narrative "Before anyone can react, Serin dashes out of the kitchen at full speed, her footsteps echoing through the house.">>
<<narrative "Less than a minute later, she returns with two bottles of liquor, slightly out of breath but grinning triumphantly.">>
<center><img src="images/serin/chapter6/serinmariel/liquor.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facesmirk" "I got these a while ago as thanks for a mission, but I don't really drink alcohol." "she places the bottles on the table" "So let's make this interesting - a game for all three of us to enjoy!">>
<<dialog "Serin" "face" "Here's how it works: The loser has to drink. Mariel, you bet on the winner, and if you lose, you drink too." "she explains excitedly" "The winner gets to choose a reward from Mariel.">>
<<dialog "Mariel" "faceworried" "This feels like I'm only going to lose." "she looks uncertain">>
<<dialog "Serin" "facehappy" "Then let's make it fair - if you win, you can choose a reward from any of us!" "she suggests enthusiastically">>
<<dialog "Rylan" "faceconfused" "What kind of rewards are we talking about?">>
<<dialog "Serin" "facesmirk" "Oh, you know, simple things." "she waves her hand casually" "Maybe a shoulder massage, a hug, or something like that. Just something short and sweet.">>
<<dialog "Rylan" "face" "Alright, I'm in. This should be fun.">>
<<narrative "The three of you gather around the kitchen table, the bottles of liquor gleaming in the warm evening light, ready for what promises to be an entertaining game night.">>
<<continueBox "Ch6GameNightArmWrestling" "Continue" "Begin the arm wrestling match...">>
</div>
<</nobr>>
<<stopLoopingSounds>>
<<pov "rylan" "gamenight.mp3">><<nobr>>
<<set $gameNightSerinMarielKissVisited = true>>
<div class="passage-container serin">
<<playLoopingSounds "sounds/hsounds/deepkiss.mp3" "sounds/hsounds/serin/softbreath.mp3" "sounds/hsounds/serin/serinhscene.mp3" 1>>
<<quickSexTrack "kiss" "Serin" "Mariel" 1>>
<<changeFetish "Serin" "LesbianValue" 0.3>>
<<changeFetish "Mariel" "LesbianValue" 0.2>>
<<changeLust "Serin" 8>>
<<changeLust "Mariel" 6>>
<<changeAttraction "Serin" "Mariel" 2>>
<<changeAttraction "Mariel" "Serin" 2>>
<<changeAffection "Serin" "Mariel" 1.5>>
<<changeAffection "Mariel" "Serin" 1.2>>
<<if not $serinFutanarity>>
<<set $serinFutanarity = 1>>
<</if>>
<<set $serinFutanarity += 1>>
<<narrative "As I pull away from Mariel's lips, I can feel the heat radiating from her flushed cheeks. Her eyes are half-lidded from the alcohol, but there's something else there too - a spark of desire that makes my heart race.">>
<<thought "Serin" "facewet" "Oh my... she actually kissed me back. This is incredible... I never expected this to happen.">>
<<narrative "But before I can process what just happened, Mariel leans forward again, her movements unsteady but determined. Her lips press against mine once more, and this time I can taste the sweet wine on her breath.">>
<center><img src="images/serin/chapter6/serinmariel/kiss1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "facewet" "Mmm... tha' feels... s-so good..." "she slurs heavily, her words barely coherent" "I... I never knew kissin' could feel like this...">>
<<thought "Serin" "facewet" "This is amazing... the way she's responding to me.">>
<<narrative "I pull back slightly, but Mariel follows me, her hands reaching up to cup my face. Her touch is gentle but insistent, and I can feel the warmth of her palms against my skin.">>
<<dialog "Serin" "facewet" "Mariel... you're so beautiful when you're like this..." "I whisper, my voice barely above a breath">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "Sweetheart... I... I shouldn' be doin' this..." "she mumbles drunkenly" "But it feels s-so... so right...">>
<<else>>
<<dialog "Mariel" "facewet" "I... I shouldn' be doin' this..." "she mumbles drunkenly" "But it feels s-so... so right...">>
<</if>>
<<narrative "Her words send a shiver down my spine. The fact that she knows she shouldn't be doing this but can't stop herself only makes it more exciting. I lean in again, our lips meeting in a deeper, more passionate kiss.">>
<center><img src="images/serin/chapter6/serinmariel/kiss2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Serin" "facewet" "The way she's melting into me... it's intoxicating. I've never felt this kind of power before. She's completely under my spell, and I love every second of it.">>
<<narrative "Mariel's breathing becomes heavier, her chest rising and falling rapidly. I can feel her heart pounding against mine as we press closer together. Her hands move from my face to my shoulders, pulling me even closer.">>
<<dialog "Mariel" "facewet" "Serin... I... I can' think straight..." "she gasps between kisses" "Wha' are you doin' to me?">>
<<dialog "Serin" "facewet" "I'm just showing you how good it can feel..." "I reply, my voice husky with desire" "Let yourself go, Mariel...">>
<<narrative "I pull away again, but this time I'm the one who initiates the next kiss. I can see the surprise in Mariel's eyes, followed by pure desire. She's completely lost in the moment, and I'm loving every second of it.">>
<center><img src="images/serin/chapter6/serinmariel/kiss3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Serin" "facewet" "This is incredible... the way she's responding to me. I feel so alive, so powerful. And knowing that she's $humanName's $marielToHuman makes it even more thrilling. I'm not just kissing any woman - I'm kissing his $marielToHuman.">>
<<narrative "Our kisses become more intense, more desperate. I can feel Mariel's body trembling against mine, her hands gripping my ass tightly. The alcohol has lowered her inhibitions completely, and she's giving herself over to the passion completely.">>
<<dialog "Mariel" "facewet" "I... I've never felt like this before..." "she moans softly" "It's like... like I'm on fire...">>
<<dialog "Serin" "facewet" "That's because you're finally letting yourself feel what you really want..." "I whisper against her lips" "Don't fight it, Mariel...">>
<<narrative "I can feel the moment when Mariel's resistance completely crumbles. Her body relaxes against mine, and she starts kissing me back with equal passion. It's like she's been waiting for this moment her entire life.">>
<<thought "Serin" "facewet" "The fact that she has a husband, that she's $humanName's $marielToHuman... it adds this forbidden element that makes it even more exciting.">>
<<narrative "Our lips part slightly, and I can feel Mariel's breath hot against my skin. I look into her eyes and see pure desire there, mixed with confusion and wonder. She's completely lost in the moment, and I'm the one who put her there.">>
<<quickSexTrack "kiss" "Serin" "Mariel" 1>>
<<changeFetish "Serin" "LesbianValue" 0.2>>
<<changeFetish "Mariel" "LesbianValue" 0.3>>
<<changeFetish "Serin" "DominanceFetish" 0.2>>
<<changeFetish "Mariel" "SubmissionFetish" 0.2>>
<<changeLust "Serin" 5>>
<<changeLust "Mariel" 7>>
<<narrative "I lean in again, but this time I part my lips slightly, inviting her to go deeper. Mariel hesitates for just a moment, then follows my lead. Our tongues meet for the first time, and the sensation is electric.">>
<center><img src="images/serin/chapter6/serinmariel/french1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "facewet" "Oh... oh my..." "she gasps, her voice filled with surprise and pleasure" "I... I never knew it could feel like this...">>
<<dialog "Serin" "facewet" "Mmm... you taste so sweet..." "I moan softly" "Don't stop, Mariel...">>
<<thought "Serin" "facewet" "This is beyond anything I imagined... the way her tongue moves against mine, the way she's responding to me. I feel like I'm conquering her completely.">>
<<narrative "Mariel's hands move to my waist, pulling me closer as our tongues dance together. I can feel her body pressed against mine, her curves fitting perfectly against me. The heat between us is almost unbearable.">>
<<if $serinFutanariTransformation>>
<<narrative "As our bodies press together, I feel something strange happening between my legs. There's a growing pressure, a tingling sensation that's becoming more intense with each passing moment. I can feel something rubbing against the inside of my shorts, something that wasn't there before.">>
<<thought "Serin" "facewet" "What... what is this feeling? Did my growing clit get bigger?! I can feel it pressing against the fabric of my shorts, throbbing with the same rhythm as my racing heart.">>
<<narrative "The sensation is overwhelming, but I can't worry about it now. All I can think about is pinning Mariel down and taking her completely. The urge to dominate her, to make her mine, is consuming every thought in my mind.">>
<<thought "Serin" "facewet" "I need her... I need to feel her body beneath mine, to hear her moan my name as I claim her completely. Nothing else matters right now.">>
<</if>>
<center><img src="images/serin/chapter6/serinmariel/french2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<quickSexTrack "kiss" "Serin" "Mariel" 1>>
<<changeFetish "Serin" "LesbianValue" 0.3>>
<<changeFetish "Mariel" "LesbianValue" 0.4>>
<<changeFetish "Serin" "DominanceFetish" 0.3>>
<<changeFetish "Mariel" "SubmissionFetish" 0.3>>
<<narrative "Our French kiss becomes more intense, more passionate. I can feel Mariel's body trembling against mine, her breathing becoming ragged. She's completely lost in the sensation, and I'm loving every second of it.">>
<<dialog "Mariel" "facewet" "Serin... I... I can'... I can' stop..." "she moans between kisses" "This feels s-so... so wrong but so right...">>
<<dialog "Serin" "facewet" "Then don't stop..." "I whisper" "Let yourself feel everything...">>
<<thought "Serin" "facewet" "The way she's moaning my name... it's like music to my ears. I've never felt this kind of power before, this kind of control. And knowing that I'm doing this with $humanName's $marielToHuman makes it even more thrilling.">>
<center><img src="images/serin/chapter6/serinmariel/serinpov1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I pull her even closer, our bodies pressed together so tightly that I can feel her heartbeat against my chest. Our tongues continue their passionate dance, each movement sending waves of pleasure through my body.">>
<center><img src="images/serin/chapter6/serinmariel/marielpov1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "facewet" "I... I think I'm fallin' for you..." "she slurs drunkenly" "Is tha'... is tha' possible?">>
<<dialog "Serin" "facewet" "Anything is possible when you let yourself feel..." "I reply" "Don't think, Mariel... just feel...">>
<<narrative "Our kiss becomes even more intense, more desperate. I can feel Mariel's body arching against mine, her hands gripping my back tightly. She's completely under my spell, and I'm loving every second of it.">>
<center><img src="images/serin/chapter6/serinmariel/french3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<quickSexTrack "kiss" "Serin" "Mariel" 1>>
<<narrative "The intensity of our French kiss reaches its peak. Our tongues move together in perfect harmony, each movement sending waves of pleasure through both our bodies. Mariel is completely lost in the moment, her inhibitions completely gone.">>
<<thought "Serin" "facewet" "I feel like I'm on top of the world, like I can conquer anything.">>
<<dialog "Mariel" "facewet" "Serin... I... I need more..." "she gasps" "Please... don' stop...">>
<<dialog "Serin" "facewet" "I won't stop..." "I whisper" "Not until you're completely mine...">>
<center><img src="images/serin/chapter6/serinmariel/marielpov2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<quickSexTrack "kiss" "Serin" "Mariel" 1>>
<<narrative "Our kiss continues, becoming more and more passionate. I can feel Mariel's body trembling against mine, her hands moving over my body with increasing desperation. She's completely lost in the passion, and I'm the one who put her there.">>
<center><img src="images/serin/chapter6/serinmariel/serinpov2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Serin" "facewet" "Knowing that I'm the one making her feel this way. The way she's moaning my name, the way her body responds to my touch...">>
<<narrative "As our passionate French kiss continues, I can feel Mariel's body becoming more and more responsive to my touch. Her hands move over my body with increasing confidence, and I can feel her desire growing stronger with each passing moment.">>
<<dialog "Mariel" "facewet" "I... I never knew I could feel like this..." "she moans" "You're makin' me feel things I never thought possible...">>
<<dialog "Serin" "facewet" "Don't fight it, Mariel..." "I reply" "embrace it...">>
<center><img src="images/serin/chapter6/serinmariel/serinpov3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Our kiss reaches a new level of intensity, our bodies pressed together so tightly that we can barely breathe. The heat between us is almost unbearable, and I can feel Mariel's body trembling with desire.">>
<<thought "Serin" "facewet" "This is beyond anything I could have imagined... the way she's responding to me, the way her body moves against mine. I feel like I'm conquering her completely, and it's the most incredible feeling in the world. And knowing that I'm doing this with $humanName's $marielToHuman makes it even more thrilling.">>
<<narrative "As our passionate French kiss continues, I can feel Mariel's body becoming more and more responsive...">>
<<continueBox "Ch6GameNightAftermath" "Continue" "...">>
</div>
<</nobr>>
<<stopLoopingSounds>>
<<pov "serin" "serinhscene.mp3">><<nobr>>
<<set $gameNightSerinReflectionVisited = true>>
<div class="passage-container serin">
<<narrative "As I walk back to my room, the weight of what just happened begins to sink in. My heart is still racing, and I can feel the lingering warmth of Mariel's lips on mine.">>
<<thought "Serin" "faceworried" "What the hell came over me? This was wrong on so many levels...">>
<<narrative "I sit on the edge of my bed, staring at my hands as if they belong to someone else. The memory of our passionate kisses plays over and over in my mind, each moment more vivid than the last.">>
<<thought "Serin" "faceworried" "Mariel has a husband... Thalor. She's $humanName's $marielToHuman, for crying out loud. She could practically be my own mother from age alone. What was I thinking?">>
<<narrative "I bury my face in my hands, the guilt washing over me in waves. The alcohol is starting to wear off, and with it comes the full realization of what I've done.">>
<<thought "Serin" "faceembarrassed" "But... that feeling of dominance was amazing. The way she responded to me, the way she melted into my touch... I've never felt so powerful, so in control.">>
<<narrative "I can still feel the phantom sensation of her body pressed against mine, the way her hands gripped my back, the sound of her moans as our tongues danced together.">>
<<thought "Serin" "facewet" "I wanted to pin her down, to claim her completely. The urge to dominate her, to make her mine... it was intoxicating.">>
<<narrative "I shake my head, trying to clear the thoughts, but they persist. The memory of her drunken confession - 'I think I'm falling for you' - echoes in my mind.">>
<<thought "Serin" "faceworried" "This is dangerous. I can't let this happen again. Mariel is off-limits, no matter how good it felt. I need to control myself better.">>
<<narrative "But even as I think this, I can feel the heat building between my legs again. The memory of our passionate embrace is too fresh, too intense to ignore.">>
<<thought "Serin" "facewet" "Maybe... maybe just one more time wouldn't hurt. If she's willing, if she wants it too...">>
<<narrative "I stop myself, realizing how dangerous this line of thinking is. I need to be stronger than this, to resist the temptation that's already taking root in my mind.">>
<<thought "Serin" "faceworried" "I have to be better than this. For $humanName's sake, for Mariel's sake... for everyone's sake.">>
<<narrative "I lie down on my bed, staring at the ceiling as sleep slowly claims me. But even in my dreams, I can still feel the softness of Mariel's lips and the intoxicating power of dominance.">>
<<continueBox "MorningActivityChoicesNext" "Continue" "The night ends...">>
</div>
<</nobr>>
<<stopLoopingSounds>>
<<pov "serin" "gamenight.mp3">><<nobr>>
<<set $rylanHaremDream = true>>
<div class="passage-container rylan">
<<narrative "As the night grows deeper, $humanName finds himself drifting into a restless sleep. The events of the day swirl through his mind, mixing with desires and fantasies that he's never dared to voice aloud.">>
<<narrative "In the hazy realm between consciousness and dreams, he finds himself standing in a familiar room - Liora's bedroom, but somehow different. The air shimmers with possibility, and he realizes this is no ordinary dream. This is a place where fantasies can become reality, where he can explore desires he's kept hidden deep within his heart.">>
<<narrative "A voice echoes through the dream realm, soft and seductive: 'Choose your fantasy, $humanName. In this dream, you can be whoever you want to be, with whomever you desire. Your body will adapt to match your deepest desires.'">>
<div class="dream-customization-container">
<h2>🌙 Harem Dream Customization</h2>
<p>Choose which characters you want to appear in your dream, and select your preferred body type for each encounter:</p>
<div class="character-selection-grid">
<<if $rylan_MarielAffection > 0 or $rylan_MarielAttraction > 0>>
<div class="character-option">
<img src="images/mariel/face.webp" class="character-portrait" width="80" height="80">
<h3>Mariel</h3>
<p>Your $marielToHuman - warm, gentle, and protective</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamMariel" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<</if>>
<<if $rylan_ThalorAffection > 0 or $rylan_ThalorAttraction > 0>>
<div class="character-option">
<img src="images/thalor/face.webp" class="character-portrait" width="80" height="80">
<h3>Thalor</h3>
<p>Your $thalorToHuman - strong, stern, and commanding</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamThalor" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<</if>>
<<if $rylan_LioraAffection > 0 or $rylan_LioraAttraction > 0>>
<div class="character-option">
<img src="images/liora/faceshortpink.webp" class="character-portrait" width="80" height="80">
<h3>Liora</h3>
<p>Your shy, innocent friend with healing powers</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamLiora" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<</if>>
<<if $rylan_SerinAffection > 0 or $rylan_SerinAttraction > 0>>
<div class="character-option">
<img src="images/serin/face.webp" class="character-portrait" width="80" height="80">
<h3>Serin</h3>
<p>Your teasing, athletic friend with a playful spirit</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamSerin" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<</if>>
<<if $rylan_SerykAffection > 0 or $rylan_SerykAttraction > 0>>
<div class="character-option">
<img src="images/seryk/face.webp" class="character-portrait" width="80" height="80">
<h3>Seryk</h3>
<p>The noble demon warrior with incredible strength</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamSeryk" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<</if>>
<<if $rylan_NimeriaAffection > 0 or $rylan_NimeriaAttraction > 0>>
<div class="character-option">
<img src="images/nimeria/face.webp" class="character-portrait" width="80" height="80">
<h3>Nimeria</h3>
<p>The mysterious demon girl with hidden depths</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamNimeria" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<</if>>
<div class="character-option">
<img src="images/sora/face.webp" class="character-portrait" width="80" height="80">
<h3>Sora</h3>
<p>The playful cat-femboy with a mischievous charm</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamSora" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
</div>
<div class="body-selection-container">
<h3>🎭 Body Type Selection</h3>
<p>Choose your preferred body type for the dream:</p>
<form id="dreamForm">
<div class="radio-group">
<label class="radio-container">
<input type="radio" name="dreamBodyType" value="male" checked>
<span class="radio-mark"></span>
Male Body
</label>
<label class="radio-container">
<input type="radio" name="dreamBodyType" value="female">
<span class="radio-mark"></span>
Female Body
</label>
</div>
</form>
</div>
<div class="dream-begin-container">
<h3>✨ Ready to Begin Your Dream</h3>
<p>Your fantasy is set. The dream realm awaits your desires...</p>
<<button "Continue" "Chapter6RylanHaremdreamSequence">>
<<set $dreamMariel = document.querySelector('input[name="dreamMariel"]')?.checked || false>>
<<set $dreamThalor = document.querySelector('input[name="dreamThalor"]')?.checked || false>>
<<set $dreamLiora = document.querySelector('input[name="dreamLiora"]')?.checked || false>>
<<set $dreamSerin = document.querySelector('input[name="dreamSerin"]')?.checked || false>>
<<set $dreamSeryk = document.querySelector('input[name="dreamSeryk"]')?.checked || false>>
<<set $dreamNimeria = document.querySelector('input[name="dreamNimeria"]')?.checked || false>>
<<set $dreamSora = document.querySelector('input[name="dreamSora"]')?.checked || false>>
<<set $dreamBodyType = document.querySelector('input[name="dreamBodyType"]:checked')?.value || 'male'>>
<<set $marielDreamBody = $dreamBodyType>>
<<set $thalorDreamBody = $dreamBodyType>>
<<set $lioraDreamBody = $dreamBodyType>>
<<set $serinDreamBody = $dreamBodyType>>
<<set $serykDreamBody = $dreamBodyType>>
<<set $nimeriaDreamBody = $dreamBodyType>>
<<set $soraDreamBody = $dreamBodyType>>
<</button>>
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">>
<style>
.dream-customization-container {
background: linear-gradient(145deg, rgba(30, 30, 35, 0.9), rgba(20, 20, 25, 0.95));
border: 2px solid rgba(120, 120, 120, 0.4);
border-radius: 15px;
padding: 25px;
margin: 20px 0;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}
.character-selection-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 20px;
margin: 20px 0;
}
.character-option {
background: linear-gradient(145deg, rgba(40, 40, 45, 0.8), rgba(30, 30, 35, 0.9));
border: 1px solid rgba(80, 80, 80, 0.3);
border-radius: 10px;
padding: 15px;
text-align: center;
transition: all 0.3s ease;
}
.character-option:hover {
border-color: rgba(120, 120, 120, 0.6);
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.character-portrait {
border-radius: 50%;
border: 2px solid rgba(255, 255, 255, 0.3);
margin-bottom: 10px;
}
.character-option h3 {
color: #e0e0e0;
margin: 10px 0 5px 0;
font-size: 1.1em;
}
.character-option p {
color: #b0b0b0;
font-size: 0.9em;
margin: 5px 0;
}
.body-selection-container {
background: linear-gradient(145deg, rgba(35, 35, 40, 0.8), rgba(25, 25, 30, 0.9));
border: 1px solid rgba(90, 90, 90, 0.4);
border-radius: 10px;
padding: 20px;
margin: 20px 0;
}
.body-choice {
background: rgba(30, 30, 35, 0.6);
border: 1px solid rgba(70, 70, 70, 0.3);
border-radius: 8px;
padding: 15px;
margin: 10px 0;
}
.body-choice h4 {
color: #d0d0d0;
margin: 0 0 10px 0;
font-size: 1em;
}
.dream-begin-container {
background: linear-gradient(145deg, rgba(50, 30, 50, 0.8), rgba(40, 20, 40, 0.9));
border: 2px solid rgba(150, 100, 150, 0.4);
border-radius: 10px;
padding: 20px;
text-align: center;
margin: 20px 0;
}
.dream-begin-container h3 {
color: #f0d0f0;
margin: 0 0 15px 0;
}
.no-selection-container {
background: linear-gradient(145deg, rgba(50, 30, 30, 0.8), rgba(40, 20, 20, 0.9));
border: 2px solid rgba(150, 100, 100, 0.4);
border-radius: 10px;
padding: 20px;
text-align: center;
margin: 20px 0;
}
.no-selection-container p {
color: #f0d0d0;
margin: 0;
}
.checkbox-container {
display: block;
position: relative;
padding-left: 35px;
margin: 10px 0;
cursor: pointer;
font-size: 16px;
color: #e0e0e0;
user-select: none;
}
.checkbox-container input {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0;
}
.checkmark {
position: absolute;
top: 0;
left: 0;
height: 20px;
width: 20px;
background-color: rgba(40, 40, 45, 0.8);
border: 2px solid rgba(120, 120, 120, 0.4);
border-radius: 4px;
transition: all 0.3s ease;
}
.checkbox-container:hover input ~ .checkmark {
background-color: rgba(60, 60, 65, 0.8);
border-color: rgba(150, 150, 150, 0.6);
}
.checkbox-container input:checked ~ .checkmark {
background-color: rgba(150, 100, 150, 0.8);
border-color: rgba(200, 150, 200, 0.6);
}
.checkmark:after {
content: "";
position: absolute;
display: none;
}
.checkbox-container input:checked ~ .checkmark:after {
display: block;
}
.checkbox-container .checkmark:after {
left: 6px;
top: 2px;
width: 6px;
height: 10px;
border: solid white;
border-width: 0 3px 3px 0;
transform: rotate(45deg);
}
.radio-group {
display: flex;
gap: 20px;
margin: 10px 0;
}
.radio-container {
display: block;
position: relative;
padding-left: 35px;
margin: 10px 0;
cursor: pointer;
font-size: 16px;
color: #e0e0e0;
user-select: none;
}
.radio-container input {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0;
}
.radio-mark {
position: absolute;
top: 0;
left: 0;
height: 20px;
width: 20px;
background-color: rgba(40, 40, 45, 0.8);
border: 2px solid rgba(120, 120, 120, 0.4);
border-radius: 50%;
transition: all 0.3s ease;
}
.radio-container:hover input ~ .radio-mark {
background-color: rgba(60, 60, 65, 0.8);
border-color: rgba(150, 150, 150, 0.6);
}
.radio-container input:checked ~ .radio-mark {
background-color: rgba(150, 100, 150, 0.8);
border-color: rgba(200, 150, 200, 0.6);
}
.radio-mark:after {
content: "";
position: absolute;
display: none;
}
.radio-container input:checked ~ .radio-mark:after {
display: block;
}
.radio-container .radio-mark:after {
top: 6px;
left: 6px;
width: 8px;
height: 8px;
border-radius: 50%;
background: white;
}
.dream-submit-btn {
background: linear-gradient(145deg, rgba(150, 100, 150, 0.8), rgba(120, 80, 120, 0.9));
border: 2px solid rgba(200, 150, 200, 0.4);
border-radius: 10px;
padding: 15px 30px;
font-size: 18px;
font-weight: bold;
color: #f0d0f0;
cursor: pointer;
transition: all 0.3s ease;
text-transform: uppercase;
letter-spacing: 1px;
}
.dream-submit-btn:hover {
background: linear-gradient(145deg, rgba(180, 120, 180, 0.8), rgba(150, 100, 150, 0.9));
border-color: rgba(220, 170, 220, 0.6);
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba(150, 100, 150, 0.3);
}
</style>
<script>
// Function to update UI based on selections (no longer needed since we removed validation)
function updateUI() {
// No longer needed - Continue button is always visible
}
// Set initial checked states when page loads
document.addEventListener('DOMContentLoaded', function() {
// Set checkbox states
if (State.getVar('dreamMariel')) {
document.querySelector('input[name="dreamMariel"]').checked = true;
}
if (State.getVar('dreamThalor')) {
document.querySelector('input[name="dreamThalor"]').checked = true;
}
if (State.getVar('dreamLiora')) {
document.querySelector('input[name="dreamLiora"]').checked = true;
}
if (State.getVar('dreamSerin')) {
document.querySelector('input[name="dreamSerin"]').checked = true;
}
if (State.getVar('dreamSeryk')) {
document.querySelector('input[name="dreamSeryk"]').checked = true;
}
if (State.getVar('dreamNimeria')) {
document.querySelector('input[name="dreamNimeria"]').checked = true;
}
if (State.getVar('dreamSora')) {
document.querySelector('input[name="dreamSora"]').checked = true;
}
// Set body type radio button
const dreamBodyType = State.getVar('dreamBodyType') || 'male';
document.querySelector(`input[name="dreamBodyType"][value="${dreamBodyType}"]`).checked = true;
// Add event listeners to checkboxes
const checkboxes = document.querySelectorAll('input[type="checkbox"]');
checkboxes.forEach(checkbox => {
checkbox.addEventListener('change', updateUI);
});
// Initial UI update
updateUI();
});
</script><<nobr>>
<<set $rylanHaremDream = true>>
<div class="passage-container rylan">
<<narrative "As the night grows deeper, $humanName finds himself drifting into a restless sleep. The events of the day swirl through his mind, mixing with desires and fantasies that he's never dared to voice aloud.">>
<<narrative "In the hazy realm between consciousness and dreams, he finds himself standing in a familiar room - Liora's bedroom, but somehow different. The air shimmers with possibility, and he realizes this is no ordinary dream. This is a place where fantasies can become reality, where he can explore desires he's kept hidden deep within his heart.">>
<<narrative "A voice echoes through the dream realm, soft and seductive: 'Choose your fantasy, $humanName. In this dream, you can be whoever you want to be, with whomever you desire. Your body will adapt to match your deepest desires.'">>
<<set _maleDreamsVisited = 0>>
<<set _femaleDreamsVisited = 0>>
<<if $rylanDreamSerykHarem>><<set _maleDreamsVisited += 1>><</if>>
<<if $rylanDreamSerykFemaleHarem>><<set _femaleDreamsVisited += 1>><</if>>
<<if $rylanDreamThalorHarem>><<set _maleDreamsVisited += 1>><</if>>
<<if $rylanDreamThalorFemaleHarem>><<set _femaleDreamsVisited += 1>><</if>>
<<if $rylanDreamSoraHarem>><<set _maleDreamsVisited += 1>><</if>>
<<if $rylanDreamSoraFemaleHarem>><<set _femaleDreamsVisited += 1>><</if>>
<<if $rylanDreamSerinHarem>><<set _maleDreamsVisited += 1>><</if>>
<<if $rylanDreamSerinFemaleHarem>><<set _femaleDreamsVisited += 1>><</if>>
<<if $rylanDreamLioraHarem>><<set _maleDreamsVisited += 1>><</if>>
<<if $rylanDreamLioraFemaleHarem>><<set _femaleDreamsVisited += 1>><</if>>
<<if $rylanDreamNimeriaHarem>><<set _maleDreamsVisited += 1>><</if>>
<<if $rylanDreamNimeriaFemaleHarem>><<set _femaleDreamsVisited += 1>><</if>>
<<if $rylanDreamMarielHarem>><<set _maleDreamsVisited += 1>><</if>>
<<if $rylanDreamMarielFemaleHarem>><<set _femaleDreamsVisited += 1>><</if>>
<<set _canAccessMaleHarem = (_maleDreamsVisited >= 2)>>
<<set _canAccessFemaleHarem = (_femaleDreamsVisited >= 2)>>
<<if _canAccessMaleHarem or _canAccessFemaleHarem>>
<div class="dream-customization-container">
<h2>🌙 Harem Dream Customization</h2>
<p>Choose your preferred body type for the dream:</p>
<div class="body-selection-container">
<h3>🎭 Body Type Selection</h3>
<p>Your body will adapt to match your deepest desires...</p>
<center>
<div style="display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; margin: 20px 0;">
<<if _canAccessMaleHarem>>
<div style="text-align: center;">
<img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'" onclick="SugarCube.Engine.play('Chapter6RylanHaremdreamMale')">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Male Body</div>
</div>
<</if>>
<<if _canAccessFemaleHarem>>
<div style="text-align: center;">
<img src="images/rylan/female/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'" onclick="SugarCube.Engine.play('Chapter6RylanHaremdreamFemale')">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Female Body</div>
</div>
<</if>>
</div>
</center>
</div>
</div>
<<else>>
<div class="dream-customization-container">
<h2>🌙 Harem Dream Unavailable</h2>
<p>You need to experience more individual dreams before accessing the harem dream.</p>
<div class="unlock-requirements">
<h3>🔓 Unlock Requirements</h3>
<p>Visit at least 2 male dreams OR 2 female dreams to unlock the harem dream.</p>
<div style="background: linear-gradient(145deg, rgba(50, 30, 50, 0.8), rgba(40, 20, 40, 0.9)); border: 2px solid rgba(150, 100, 150, 0.4); border-radius: 10px; padding: 20px; margin: 20px 0;">
<p style="color: #E6E6FA; margin: 10px 0;"><strong>Male Dreams Visited:</strong> <<print _maleDreamsVisited>>/2</p>
<p style="color: #E6E6FA; margin: 10px 0;"><strong>Female Dreams Visited:</strong> <<print _femaleDreamsVisited>>/2</p>
</div>
</div>
<div class="dream-begin-container">
<<continueBox "DreamCorruptionRylan" "Return to Dream Selection" "Choose individual dreams first...">>
</div>
</div>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">>
<style>
.dream-customization-container {
background: linear-gradient(145deg, rgba(30, 30, 35, 0.9), rgba(20, 20, 25, 0.95));
border: 2px solid rgba(120, 120, 120, 0.4);
border-radius: 15px;
padding: 25px;
margin: 20px 0;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}
.body-selection-container {
background: linear-gradient(145deg, rgba(35, 35, 40, 0.8), rgba(25, 25, 30, 0.9));
border: 1px solid rgba(90, 90, 90, 0.4);
border-radius: 10px;
padding: 20px;
margin: 20px 0;
}
</style><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<if $dreamLiora or $dreamMariel or $dreamSerin or $dreamNimeria or $dreamSeryk or $dreamThalor or $dreamSora>>
<<narrative "I suddenly jolt awake, my body covered in sweat as I sit up in my bed. The dream world fades away, but the memories remain vivid and disturbing.">>
<<if $dreamBodyType === "female">>
<<thought "Rylan" "faceshocked" "What the hell was that dream?!" "I look down at my body, relieved to see I'm still male" "But in the dream... I was female! That felt so real, so natural.">>
<<narrative "I can still feel the phantom sensations of having breasts, of having a pussy. The dream felt so real that for a moment, I'm not sure which body is actually mine.">>
<<thought "Rylan" "faceworried" "That was so strange... being female felt so natural in the dream." "I can still remember the sensations, the way my body moved" "But that's not me... that can't be me.">>
<<else>>
<<thought "Rylan" "faceshocked" "What the hell was that dream?!" "I look around my room, trying to ground myself in reality" "It felt so real, so vivid... but it was just a dream.">>
<<narrative "I can still feel the phantom sensations of the encounters, the way my body responded to each touch. The dream felt so real that for a moment, I'm not sure what actually happened.">>
<</if>>
<<narrative "I take a deep breath and try to process what I just experienced. The dream was so intense, so detailed... and so wrong on so many levels.">>
<<else>>
<<narrative "I suddenly jolt awake, feeling strangely refreshed. The dream realm was empty, peaceful, and quiet - no temptations, no encounters, just a restful sleep.">>
<<thought "Rylan" "faceconfused" "That was strange... I expected something to happen in the dream, but it was just... empty.">>
<<narrative "I feel a strange mix of relief and disappointment. Part of me wanted something to happen, but another part is glad I didn't have to face those confusing desires.">>
<<thought "Rylan" "faceworried" "Maybe it's better this way... I don't need to explore those kinds of thoughts right now." "I should focus on my training and becoming stronger" "Those kinds of dreams can wait.">>
<</if>>
<<if $dreamLiora>>
<<narrative "I remember Liora... she was so vulnerable, so needy in the dream. The way she looked at me, the way she begged me to be with her... it was so unlike the shy, innocent Liora I know.">>
<<if $dreamBodyType === "female">>
<center><img src="images/liora/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "faceembarrassed" "I can't believe I licked her pussy in the dream... that was so wrong." "The way she tasted, the way she moaned" "I would never do that in real life... would I?">>
<<else>>
<center><img src="images/liora/dreamsequence/missionary/cum.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "faceembarrassed" "I can't believe I had sex with Liora in the dream... that was so wrong." "The way she felt, the way she moaned" "I would never do that in real life... would I?">>
<</if>>
<</if>>
<<if $dreamMariel>>
<<narrative "I remember my $marielToHuman... she was so seductive, so confident in the dream. The way she moved, the way she spoke... it was so unlike the warm, caring $marielToHuman I know.">>
<<if $dreamBodyType === "female">>
<center><img src="images/mariel/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $marielTransformationMother>>
<<thought "Rylan" "faceembarrassed" "She called me 'my dear child' and 'sweetheart'... that was so wrong." "The way she acted like a mother but was so sexual" "I would never think of her that way in real life... would I?">>
<<else>>
<<thought "Rylan" "faceembarrassed" "I was wearing a strap-on and fucking her... that was so strange." "The way it felt, the way she responded" "I would never do that in real life... would I?">>
<</if>>
<<else>>
<center><img src="images/mariel/dreamsequence/cowgirl/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $marielTransformationMother>>
<<thought "Rylan" "faceembarrassed" "She called me 'my dear child' and 'sweetheart'... that was so wrong." "The way she acted like a mother but was so sexual" "I would never think of her that way in real life... would I?">>
<<else>>
<<thought "Rylan" "faceembarrassed" "I can't believe I had sex with my $marielToHuman in the dream... that was so wrong." "The way she rode me, the way she moaned" "I would never do that in real life... would I?">>
<</if>>
<</if>>
<</if>>
<<if $dreamSerin>>
<<narrative "I remember Serin... she was so dominant, so teasing in the dream. The way she looked at me, the way she took control... it was so unlike the playful Serin I know.">>
<<if $serinFutanariTransformation>>
<<if $dreamBodyType === "female">>
<center><img src="images/serin/dreamsequence/futa/female/cum3.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "faceembarrassed" "She had a dick in the dream... that was so weird." "The way she made me lick her balls, the way she humped my face" "I would never do that in real life... would I?">>
<<else>>
<center><img src="images/serin/dreamsequence/futa/cumface.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "faceembarrassed" "She had a dick in the dream... that was so weird." "The way she made me lick her balls, the way she humped my face" "I would never do that in real life... would I?">>
<</if>>
<<else>>
<<if $dreamBodyType === "female">>
<center><img src="images/serin/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "faceembarrassed" "I can't believe I licked her pussy in the dream... that was so wrong." "The way she tasted, the way she moaned" "I would never do that in real life... would I?">>
<<else>>
<center><img src="images/serin/dreamsequence/cowgirl/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "faceembarrassed" "I can't believe I had sex with Serin in the dream... that was so wrong." "The way she rode me, the way she moaned" "I would never do that in real life... would I?">>
<</if>>
<</if>>
<</if>>
<<if $dreamNimeria>>
<<narrative "I remember Nimeria... she was so seductive in the dream. The way she moved, the way she spoke... it was so unlike the innocent Nimeria I know.">>
<<if $dreamBodyType === "female">>
<center><img src="images/nimeria/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "faceembarrassed" "I can't believe I let her eat me out in the dream... that was so wrong." "The way she licked me, the way she made me cum" "I would never do that in real life... would I?">>
<<else>>
<center><img src="images/nimeria/dreamsequence/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "faceembarrassed" "I can't believe I had sex with Nimeria in the dream... that was so wrong." "The way I fucked her, the way she moaned" "I would never do that in real life... would I?">>
<</if>>
<</if>>
<<if $dreamSeryk>>
<<narrative "I remember Seryk... he was so confident, so dominant in the dream. The way he looked at me, the way he took control... it was so unlike the gentle Seryk I know.">>
<<if $dreamBodyType === "female">>
<center><img src="images/seryk/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "faceembarrassed" "I can't believe I had sex with a guy in the dream... that was so wrong." "The way he fucked me, the way he made me feel" "I would never do that in real life... would I?">>
<<else>>
<center><img src="images/seryk/dreamsequence/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "faceembarrassed" "I can't believe I had sex with Seryk in the dream... that was so wrong." "The way he fucked me, the way he made me feel" "I would never do that in real life... would I?">>
<</if>>
<</if>>
<<if $dreamThalor>>
<<narrative "I remember Thalor... he was so stern, so commanding in the dream. The way he looked at me, the way he spoke... it was so unlike the fatherly Thalor I know.">>
<<if $dreamBodyType === "female">>
<center><img src="images/thalor/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "faceembarrassed" "I can't believe I had sex with Thalor in the dream... that was so wrong." "The way he fucked me, the way he made me feel" "I would never do that in real life... would I?">>
<<else>>
<center><img src="images/thalor/dreamsequence/kiss2.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "faceembarrassed" "I can't believe I kissed Thalor in the dream... that was so wrong." "The way he kissed me, the way he made me feel" "I would never do that in real life... would I?">>
<</if>>
<</if>>
<<if $dreamSora>>
<<narrative "I remember Sora... he was so playful, so seductive in the dream. The way he looked at me, the way he moved... it was so unlike the innocent Sora I know.">>
<<if $dreamBodyType === "female">>
<center><img src="images/sora/dreamsequence/female/cum3.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "faceembarrassed" "I can't believe I sucked his cock in the dream... that was so wrong." "The way he tasted, the way he made me swallow" "I would never do that in real life... would I?">>
<<else>>
<center><img src="images/sora/dreamsequence/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "faceembarrassed" "I can't believe I had sex with Sora in the dream... that was so wrong." "The way he fucked me, the way he made me feel" "I would never do that in real life... would I?">>
<</if>>
<</if>>
<<if $dreamLiora or $dreamMariel or $dreamSerin or $dreamNimeria or $dreamSeryk or $dreamThalor or $dreamSora>>
<<narrative "I shake my head, trying to clear the disturbing images from my mind. That dream was so vivid, so real... but it was just a dream. Right?">>
<<thought "Rylan" "faceworried" "But why did it feel so natural? Why did I respond so easily to each touch, each word?" "The way my body moved, the way I moaned" "It felt like I was meant to be that way... but that's not me.">>
<<narrative "I take another deep breath and try to focus on reality. I'm in my room, I'm male, and I'm safe. The dream was just a strange, disturbing fantasy that my mind created.">>
<<thought "Rylan" "faceconfused" "But why did it feel so good? Why did I enjoy it so much?" "The way each encounter made me feel" "I would never do those things in real life... would I?">>
<<narrative "I lie back down in my bed, but I know I won't be able to sleep easily tonight. The dream has left me with too many questions, too many disturbing thoughts about myself and my desires.">>
<<thought "Rylan" "faceworried" "I need to forget about this dream... I need to focus on reality." "But the memories are so vivid, so real" "What if I'm not who I think I am?">>
<<narrative "I close my eyes and try to sleep, but the dream world calls to me, promising more encounters, more pleasure, more confusion about who I really am.">>
<<changeLust "Rylan" -100>>
<<else>>
<<narrative "I lie back down in my bed, feeling surprisingly calm and centered. The empty dream was actually quite peaceful, and I find myself drifting back to sleep easily.">>
<<thought "Rylan" "facehappy" "Maybe I don't need those kinds of dreams right now." "I should focus on my training and becoming the person I want to be" "There's plenty of time for other things later.">>
<<narrative "I close my eyes and fall into a deep, restful sleep, free from the confusing desires and temptations that might have plagued me in a more complex dream.">>
<<changeLust "Rylan" -50>>
<</if>>
<<if $chapter6Dreams == true>>
<<continueBox "NightActivitiesEnd" "Continue" "The dream fades...">>
<<else>>
<<continueBox "Chapter6RylanHaremdream" "Continue" "The dream fades...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<<set $rylanHaremDream = true>>
<<set $dreamBodyType = "female">>
<div class="passage-container rylan">
<<narrative "The dream realm shifts around you, and you feel your body transform into a feminine form. The unfamiliar curves and softness feel both strange and exciting as you realize this is no ordinary dream - this is a place where fantasies can become reality.">>
<<narrative "A voice echoes through the dream realm: 'Choose your fantasy, $humanName. In this dream, you can be with whomever you desire. But remember - you can only dream of those you've already encountered in your waking life.'">>
<div class="dream-customization-container">
<h2>🌙 Female Harem Dream</h2>
<p>Choose which characters you want to appear in your dream (only unlocked characters are available):</p>
<div class="character-selection-grid">
<<if $rylanDreamMarielFemaleHarem>>
<div class="character-option unlocked">
<img src="images/mariel/face.webp" class="character-portrait" width="80" height="80">
<h3>Mariel</h3>
<p>Your $marielToHuman - warm, gentle, and protective</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamMariel" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<<else>>
<div class="character-option locked">
<img src="images/mariel/face.webp" class="character-portrait" width="80" height="80">
<h3>Mariel</h3>
<p>Your $marielToHuman - warm, gentle, and protective</p>
<div class="lock-overlay">🔒 Locked</div>
</div>
<</if>>
<<if $rylanDreamThalorFemaleHarem>>
<div class="character-option unlocked">
<img src="images/thalor/face.webp" class="character-portrait" width="80" height="80">
<h3>Thalor</h3>
<p>Your $thalorToHuman - strong, stern, and commanding</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamThalor" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<<else>>
<div class="character-option locked">
<img src="images/thalor/face.webp" class="character-portrait" width="80" height="80">
<h3>Thalor</h3>
<p>Your $thalorToHuman - strong, stern, and commanding</p>
<div class="lock-overlay">🔒 Locked</div>
</div>
<</if>>
<<if $rylanDreamLioraFemaleHarem>>
<div class="character-option unlocked">
<img src="images/liora/faceshortpink.webp" class="character-portrait" width="80" height="80">
<h3>Liora</h3>
<p>Your shy, innocent friend with healing powers</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamLiora" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<<else>>
<div class="character-option locked">
<img src="images/liora/faceshortpink.webp" class="character-portrait" width="80" height="80">
<h3>Liora</h3>
<p>Your shy, innocent friend with healing powers</p>
<div class="lock-overlay">🔒 Locked</div>
</div>
<</if>>
<<if $rylanDreamSerinFemaleHarem>>
<div class="character-option unlocked">
<img src="images/serin/face.webp" class="character-portrait" width="80" height="80">
<h3>Serin</h3>
<p>Your teasing, athletic friend with a playful spirit</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamSerin" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<<else>>
<div class="character-option locked">
<img src="images/serin/face.webp" class="character-portrait" width="80" height="80">
<h3>Serin</h3>
<p>Your teasing, athletic friend with a playful spirit</p>
<div class="lock-overlay">🔒 Locked</div>
</div>
<</if>>
<<if $rylanDreamSerykFemaleHarem>>
<div class="character-option unlocked">
<img src="images/seryk/face.webp" class="character-portrait" width="80" height="80">
<h3>Seryk</h3>
<p>The noble demon warrior with incredible strength</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamSeryk" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<<else>>
<div class="character-option locked">
<img src="images/seryk/face.webp" class="character-portrait" width="80" height="80">
<h3>Seryk</h3>
<p>The noble demon warrior with incredible strength</p>
<div class="lock-overlay">🔒 Locked</div>
</div>
<</if>>
<<if $rylanDreamNimeriaFemaleHarem>>
<div class="character-option unlocked">
<img src="images/nimeria/face.webp" class="character-portrait" width="80" height="80">
<h3>Nimeria</h3>
<p>The mysterious demon girl with hidden depths</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamNimeria" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<<else>>
<div class="character-option locked">
<img src="images/nimeria/face.webp" class="character-portrait" width="80" height="80">
<h3>Nimeria</h3>
<p>The mysterious demon girl with hidden depths</p>
<div class="lock-overlay">🔒 Locked</div>
</div>
<</if>>
<<if $rylanDreamSoraFemaleHarem>>
<div class="character-option unlocked">
<img src="images/sora/face.webp" class="character-portrait" width="80" height="80">
<h3>Sora</h3>
<p>The playful cat-femboy with a mischievous charm</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamSora" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<<else>>
<div class="character-option locked">
<img src="images/sora/face.webp" class="character-portrait" width="80" height="80">
<h3>Sora</h3>
<p>The playful cat-femboy with a mischievous charm</p>
<div class="lock-overlay">🔒 Locked</div>
</div>
<</if>>
</div>
<div class="dream-begin-container">
<h3>✨ Ready to Begin Your Female Dream</h3>
<p>Your fantasy is set. The dream realm awaits your desires...</p>
<<button "Continue" "Chapter6RylanHaremdreamSequence">>
<<set $dreamMariel = document.querySelector('input[name="dreamMariel"]')?.checked || false>>
<<set $dreamThalor = document.querySelector('input[name="dreamThalor"]')?.checked || false>>
<<set $dreamLiora = document.querySelector('input[name="dreamLiora"]')?.checked || false>>
<<set $dreamSerin = document.querySelector('input[name="dreamSerin"]')?.checked || false>>
<<set $dreamSeryk = document.querySelector('input[name="dreamSeryk"]')?.checked || false>>
<<set $dreamNimeria = document.querySelector('input[name="dreamNimeria"]')?.checked || false>>
<<set $dreamSora = document.querySelector('input[name="dreamSora"]')?.checked || false>>
<<set $marielDreamBody = "female">>
<<set $thalorDreamBody = "female">>
<<set $lioraDreamBody = "female">>
<<set $serinDreamBody = "female">>
<<set $serykDreamBody = "female">>
<<set $nimeriaDreamBody = "female">>
<<set $soraDreamBody = "female">>
<</button>>
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">>
<style>
.dream-customization-container {
background: linear-gradient(145deg, rgba(30, 30, 35, 0.9), rgba(20, 20, 25, 0.95));
border: 2px solid rgba(120, 120, 120, 0.4);
border-radius: 15px;
padding: 25px;
margin: 20px 0;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}
.character-selection-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 20px;
margin: 20px 0;
}
.character-option {
background: linear-gradient(145deg, rgba(40, 40, 45, 0.8), rgba(30, 30, 35, 0.9));
border: 1px solid rgba(80, 80, 80, 0.3);
border-radius: 10px;
padding: 15px;
text-align: center;
transition: all 0.3s ease;
position: relative;
}
.character-option.unlocked:hover {
border-color: rgba(120, 120, 120, 0.6);
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.character-option.locked {
opacity: 0.6;
filter: grayscale(50%);
}
.character-portrait {
border-radius: 50%;
border: 2px solid rgba(255, 255, 255, 0.3);
margin-bottom: 10px;
}
.character-option h3 {
color: #e0e0e0;
margin: 10px 0 5px 0;
font-size: 1.1em;
}
.character-option p {
color: #b0b0b0;
font-size: 0.9em;
margin: 5px 0;
}
.lock-overlay {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: rgba(0, 0, 0, 0.8);
color: #ff6b6b;
padding: 10px 15px;
border-radius: 8px;
font-weight: bold;
font-size: 1.1em;
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
}
.dream-begin-container {
background: linear-gradient(145deg, rgba(50, 30, 50, 0.8), rgba(40, 20, 40, 0.9));
border: 2px solid rgba(150, 100, 150, 0.4);
border-radius: 10px;
padding: 20px;
text-align: center;
margin: 20px 0;
}
.dream-begin-container h3 {
color: #f0d0f0;
margin: 0 0 15px 0;
}
.checkbox-container {
display: block;
position: relative;
padding-left: 35px;
margin: 10px 0;
cursor: pointer;
font-size: 16px;
color: #e0e0e0;
user-select: none;
}
.checkbox-container input {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0;
}
.checkmark {
position: absolute;
top: 0;
left: 0;
height: 20px;
width: 20px;
background-color: rgba(40, 40, 45, 0.8);
border: 2px solid rgba(120, 120, 120, 0.4);
border-radius: 4px;
transition: all 0.3s ease;
}
.checkbox-container:hover input ~ .checkmark {
background-color: rgba(60, 60, 65, 0.8);
border-color: rgba(150, 150, 150, 0.6);
}
.checkbox-container input:checked ~ .checkmark {
background-color: rgba(150, 100, 150, 0.8);
border-color: rgba(200, 150, 200, 0.6);
}
.checkmark:after {
content: "";
position: absolute;
display: none;
}
.checkbox-container input:checked ~ .checkmark:after {
display: block;
}
.checkbox-container .checkmark:after {
left: 6px;
top: 2px;
width: 6px;
height: 10px;
border: solid white;
border-width: 0 3px 3px 0;
transform: rotate(45deg);
}
</style>
<script>
// Set initial checked states when page loads
document.addEventListener('DOMContentLoaded', function() {
// Set checkbox states
if (State.getVar('dreamMariel')) {
document.querySelector('input[name="dreamMariel"]').checked = true;
}
if (State.getVar('dreamThalor')) {
document.querySelector('input[name="dreamThalor"]').checked = true;
}
if (State.getVar('dreamLiora')) {
document.querySelector('input[name="dreamLiora"]').checked = true;
}
if (State.getVar('dreamSerin')) {
document.querySelector('input[name="dreamSerin"]').checked = true;
}
if (State.getVar('dreamSeryk')) {
document.querySelector('input[name="dreamSeryk"]').checked = true;
}
if (State.getVar('dreamNimeria')) {
document.querySelector('input[name="dreamNimeria"]').checked = true;
}
if (State.getVar('dreamSora')) {
document.querySelector('input[name="dreamSora"]').checked = true;
}
});
</script><<nobr>>
<<stopLoopingSounds>>
<<set $rylanDreamLioraHarem = true>>
<div class="passage-container rylan">
<<narrative "As I approach Liora's door, I notice it's slightly ajar, soft golden light spilling out into the hallway. My heart pounds as I peer through the crack, wondering what could be happening inside.">>
<<if not $dreamLiora>>
<<narrative "I push the door open carefully, but the room is empty and dark. Liora's bed is made, her belongings neatly arranged, but there's no sign of her. The room feels cold and lifeless, and I find myself drawn to the bed.">>
<<narrative "Without thinking, I lie down on Liora's bed, the soft sheets still carrying her scent. The familiar comfort of her bed surrounds me, and I find myself drifting into a deeper sleep, the dream continuing in a different direction.">>
<<if $dreamMariel>>
<<continueBox "Chapter6RylanHaremdreamMariel" "Continue" "">>
<<elseif $dreamSerin>>
<<continueBox "Chapter6RylanHaremdreamSerin" "Continue" "">>
<<elseif $dreamNimeria>>
<<continueBox "Chapter6RylanHaremdreamNimeria" "Continue" "">>
<<elseif $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamSeryk" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamThalor" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamSora" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamEnd" "Continue" "">>
<</if>>
<<else>>
<<narrative "I push the door open to reveal Liora's bedroom, bathed in warm, intimate lighting. The air is thick with the scent of her arousal, making my cock twitch with anticipation.">>
<<narrative "There, sitting on her bed completely naked, is Liora. She looks up at me with those big, innocent eyes, but there's something different about her tonight - a vulnerability, a need that she's never shown before.">>
<center><img src="images/liora/dreamsequence/sitonbed.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Her cheeks are flushed, and she can't quite meet my eyes as she speaks.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I was hoping you'd come," "she says softly, her voice trembling slightly" "I couldn't sleep, and I thought... maybe you'd want to... be with me tonight.">>
<<narrative "She looks down at her hands, her fingers fidgeting nervously. The way she's sitting, her naked body is fully exposed, her soft curves glowing in the warm light.">>
<<thought "Rylan" "faceshocked" "This is so unlike the Liora I know - she's always been so shy and innocent, but now she's so vulnerable, so open about what she wants." "I stand frozen in the doorway, my mind struggling to process what I'm seeing.">>
<<dialog "Rylan" "faceconfused" "Liora..." "I start, but she interrupts me, my voice barely above a whisper">>
<<dialog "Liora" "faceworriedshortpink" "Please don't make me say it again," "she pleads, finally looking up at me with those big, innocent eyes" "I need you tonight. I need to feel you close to me.">>
<<narrative "My cock is now fully erect, throbbing with need as I approach the bed. Despite my confusion, I can't resist the pull of her vulnerable, needy gaze.">>
<<narrative "I climb onto the bed, my body responding to her every movement. As I settle beside her, she reaches out tentatively, her fingers trembling as they brush against my hard cock.">>
<center><img src="images/liora/dreamsequence/prepare.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "faceembarrassedshortpink" "I... I know what to do," "she whispers, her cheeks burning with embarrassment" "We've done this before, but I still get so nervous...">>
<<narrative "Her words send shivers down my spine as she guides me between her legs. The heat radiating from her pussy is intoxicating, and I can feel her wetness against my shaft as she positions me at her entrance.">>
<center><img src="images/liora/dreamsequence/prepare2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "facewet" "Please be gentle with me," "she breathes, her eyes locked onto mine" "I need you inside me, but... please go slow.">>
<<continueBox "Chapter6RylanHaremdreamLioraSex" "Continue" "Begin the intimate act...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/liora/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<narrative "As we reach the peak of our passion, I feel my orgasm building, the pressure in my balls becoming unbearable. Liora's pussy clenches around me, milking my cock as she reaches her own climax.">>
<center><img src="images/liora/dreamsequence/missionary/cum.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "With a final, powerful thrust, I explode inside her, my hot cum shooting deep into her pussy in thick, pulsing waves. She cries out with pleasure, her body convulsing around me as wave after wave of ecstasy crashes over us both.">>
<<narrative "I pull out slowly, watching as my cum begins to leak from her pussy in thick, white streams. Her eyes are rolled back in pure ecstasy, her mouth slightly open as she gasps for breath, completely lost in the aftermath of her orgasm.">>
<center><img src="images/liora/dreamsequence/missionary/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The sight of her like this - her eyes rolled back, my cum leaking out of her, her body still trembling from the intensity - sends another wave of satisfaction through me. She looks so beautiful, so completely overwhelmed by what we just shared.">>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Liora" 0.6>>
<<narrative "We collapse together, our bodies still connected as we ride out the aftershocks of our shared orgasm. The dream world around us shimmers and fades, leaving us both breathless and satisfied.">>
<<if $chapter6Dreams and not $rylanHaremDream>>
<<continueBox "NightActivitiesEnd" "Continue" "The dream fades...">>
<<elseif $dreamMariel>>
<<continueBox "Chapter6RylanHaremdreamMariel" "Continue" "">>
<<elseif $dreamSerin>>
<<continueBox "Chapter6RylanHaremdreamSerin" "Continue" "">>
<<elseif $dreamNimeria>>
<<continueBox "Chapter6RylanHaremdreamNimeria" "Continue" "">>
<<elseif $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamSeryk" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamThalor" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamSora" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<set $rylanDreamLioraFemaleHarem = true>>
<div class="passage-container rylan">
<<narrative "As I approach Liora's door, I notice it's slightly ajar, soft golden light spilling out into the hallway. My heart pounds as I peer through the crack, wondering what could be happening inside.">>
<<if not $dreamLiora>>
<<narrative "I push the door open carefully, but the room is empty and dark. Liora's bed is made, her belongings neatly arranged, but there's no sign of her. The room feels cold and lifeless, and I find myself drawn to the bed.">>
<<narrative "Without thinking, I lie down on Liora's bed, the soft sheets still carrying her scent. The familiar comfort of her bed surrounds me, and I find myself drifting into a deeper sleep, the dream continuing in a different direction.">>
<<if $dreamMariel>>
<<continueBox "Chapter6RylanHaremdreamMarielFemale" "Continue" "">>
<<elseif $dreamSerin>>
<<continueBox "Chapter6RylanHaremdreamSerinFemale" "Continue" "">>
<<elseif $dreamNimeria>>
<<continueBox "Chapter6RylanHaremdreamNimeriaFemale" "Continue" "">>
<<elseif $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamSerykFemale" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamThalorFemale" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamSoraFemale" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamEnd" "Continue" "">>
<</if>>
<<else>>
<<narrative "I push the door open to reveal Liora's bedroom, bathed in warm, intimate lighting. The air is thick with the scent of her arousal, making my pussy throb with anticipation.">>
<<narrative "There, sitting on her bed completely naked, is Liora. She looks up at me with those big, innocent eyes, but there's something different about her tonight - a vulnerability, a need that she's never shown before.">>
<center><img src="images/liora/dreamsequence/sitonbed.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Her cheeks are flushed, and she can't quite meet my eyes as she speaks.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I was hoping you'd come," "she says softly, her voice trembling slightly" "I couldn't sleep, and I thought... maybe you'd want to... be with me tonight.">>
<<narrative "She looks down at her hands, her fingers fidgeting nervously. The way she's lying, her naked body is fully exposed, her soft curves glowing in the warm light.">>
<<thought "Rylan" "female/faceshocked" "This is so unlike the Liora I know - she's always been so shy and innocent, but now she's so vulnerable, so open about what she wants." "I stand frozen in the doorway, my mind struggling to process what I'm seeing.">>
<<dialog "Rylan" "female/faceconfused" "Liora..." "I start, but she interrupts me, my voice barely above a whisper">>
<<dialog "Liora" "faceworriedshortpink" "Please don't make me say it again," "she pleads, finally looking up at me with those big, innocent eyes" "I need you tonight. I need to feel you close to me.">>
<<narrative "I climb onto the bed, settling between her legs as she spreads them wider, exposing her glistening pussy to me. The heat radiating from her core is intoxicating, and I can see her wetness glistening in the warm light.">>
<center><img src="images/liora/dreamsequence/female/prepare.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/faceembarrassed" "I... I know what to do," "I whisper, my cheeks burning with embarrassment">>
<<narrative "My words send shivers down my spine as I lean closer to her exposed pussy. The scent of her arousal is intoxicating, and I can feel my own wetness increasing at the sight of her.">>
<center><img src="images/liora/dreamsequence/female/prepare2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "facewet" "Please be gentle with me," "she breathes, her eyes locked onto mine" "I need you to taste me, but... please go slow.">>
<<continueBox "Chapter6RylanHaremdreamLioraFemaleSex" "Continue" "Begin the intimate act...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/liora/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<narrative "As Liora reaches the peak of her passion, I feel her body convulsing around my tongue. Her pussy clenches and releases in powerful waves, her sweet juices flowing freely as she cries out with pleasure.">>
<center><img src="images/liora/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "With a final, powerful orgasm, she explodes on my face, her hot squirt shooting out in thick, pulsing waves. She cries out with pleasure, her body convulsing as wave after wave of ecstasy crashes over us both.">>
<<thought "Rylan" "female/facewet" "Oh my god... she's squirting all over my face!" "This is incredible... I can feel her juices dripping down" "I want to taste every drop of her...">>
<<narrative "I pull back slowly, watching as her squirt drips down my face in thick, clear streams. Her eyes are rolled back in pure ecstasy, her mouth slightly open as she gasps for breath, completely lost in the aftermath of her orgasm.">>
<center><img src="images/liora/dreamsequence/female/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "She looks so beautiful like this... completely overwhelmed." "Her juices are still dripping down my face" "I can't believe I made her feel this good...">>
<<narrative "The sight of her like this - her eyes rolled back, her squirt dripping down my face, her body still trembling from the intensity - sends another wave of satisfaction through me. She looks so beautiful, so completely overwhelmed by what we just shared.">>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Liora" 0.2>>
<<narrative "We collapse together, our bodies still connected as we ride out the aftershocks of her orgasm. The dream world around us shimmers and fades, leaving us both breathless and satisfied.">>
<<if $chapter6Dreams and not $rylanHaremDream>>
<<continueBox "NightActivitiesEnd" "Continue" "The dream fades...">>
<<elseif $dreamMariel>>
<<continueBox "Chapter6RylanHaremdreamMarielFemale" "Continue" "">>
<<elseif $dreamSerin>>
<<continueBox "Chapter6RylanHaremdreamSerinFemale" "Continue" "">>
<<elseif $dreamNimeria>>
<<continueBox "Chapter6RylanHaremdreamNimeriaFemale" "Continue" "">>
<<elseif $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamSerykFemale" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamThalorFemale" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamSoraFemale" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<set $rylanDreamLioraFemaleHarem = true>>
<div class="passage-container rylan">
<<playLoopingSounds "sounds/hsounds/liora/moansoft.mp3" "sounds/hsounds/blowjob.mp3" 1>>
<<narrative "I lean down between her legs, my tongue extending to taste her sweet, glistening pussy. The moment my tongue touches her folds, she gasps and arches her back, her body trembling with pleasure.">>
<center><img src="images/liora/dreamsequence/female/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeAttraction "Rylan" "Liora" 0.3>>
<<thought "Rylan" "female/facewet" "Oh my god... she tastes incredible." "I can't believe I'm actually doing this" "Her pussy is so wet and sweet...">>
<<dialog "Liora" "facewet" "Oh... that feels so good..." "she gasps, her eyes fluttering closed" "Your tongue is so soft and warm...">>
<<narrative "I begin with gentle, slow licks, exploring every inch of her wet folds. The taste of her arousal is intoxicating, and I can feel her body responding to my every touch.">>
<center><img src="images/liora/dreamsequence/female/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "I want to make her feel amazing." "I need to be gentle but thorough" "I can feel her getting wetter with every lick...">>
<center><img src="images/liora/dreamsequence/female/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "faceembarrassedshortpink" "Please... don't stop..." "she whispers, her hands gripping the sheets" "I want to feel every moment of this...">>
<<narrative "I increase the pressure and speed of my licks, focusing on her clit as she moans softly above me. Her hips begin to move against my face, grinding against my tongue.">>
<center><img src="images/liora/dreamsequence/female/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She wraps her legs around my head, pulling me deeper as I continue to pleasure her. Each lick sends waves of pleasure through both our bodies.">>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<changeAttraction "Rylan" "Liora" 0.2>>
<center><img src="images/liora/dreamsequence/female/6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "She's pulling me deeper... I love this feeling." "Her legs around my head feel so good" "I want to make her cum so badly...">>
<<dialog "Liora" "facewet" "Yes... yes... that feels so good..." "she moans, her voice trembling with pleasure" "Don't stop... I need more...">>
<<narrative "I slip my tongue inside her, tasting her sweet nectar as she gasps and moans. Her pussy is so tight and wet, gripping my tongue with each movement.">>
<center><img src="images/liora/dreamsequence/female/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I alternate between licking her clit and thrusting my tongue inside her, feeling her walls contract around me. Her breathing becomes heavier, and I can feel her body trembling beneath me.">>
<<changeFetish "Rylan" "BreastFetish" 0.2>>
<<changeAttraction "Rylan" "Liora" 0.2>>
<<thought "Rylan" "female/facewet" "I can feel her getting closer... her walls are tightening around my tongue." "I need to focus on her clit now" "I want to make her explode with pleasure...">>
<<dialog "Liora" "facewet" "Oh... oh yes..." "Liora moans softly, her voice filled with ecstasy" "Don't stop... I want to feel you... I want to cum on your face...">>
<center><img src="images/liora/dreamsequence/female/7.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The pace quickens as our passion builds, our bodies moving in perfect harmony.">>
<<narrative "I can feel her orgasm building as I continue to pleasure her with my tongue. Her pussy is so wet and responsive, gripping my tongue with each wave of pleasure.">>
<<changeFetish "Rylan" "DominanceFetish" 0.4>>
<<changeAttraction "Rylan" "Liora" 0.3>>
<<thought "Rylan" "female/facewet" "She's so close... I can feel her body tensing up." "I need to keep going, focus on her clit" "I want to make her cum so hard...">>
<<dialog "Liora" "facewet" "I'm... I'm getting close..." "she gasps, her hands clawing at the sheets" "Please... don't stop... I need to cum on your face...">>
<<narrative "I feel her walls beginning to contract around my tongue, signaling her approaching orgasm. The sensation is incredible as she clenches and releases around me, pulling me deeper with each wave of pleasure.">>
<<narrative "I increase the intensity of my licks, focusing entirely on her clit as I feel her body tensing up. The dream realm seems to amplify every sensation, making each lick feel more intense than the last.">>
<center><img src="images/liora/dreamsequence/female/8.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "Yes! She's cumming! I can feel it!" "Her pussy is clenching around my tongue" "I want to taste every drop of her cum...">>
<<dialog "Liora" "facewet" "Yes... yes... I'm cumming!" "she cries out, her body convulsing beneath me" "Cum on your face... please let me cum on your face...">>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Liora" 0.3>>
<<narrative "I can feel her orgasm washing over her as her pussy clenches around my tongue like a vice. The sensation is overwhelming, and I know she's about to explode with pleasure.">>
<<continueBox "Chapter6RylanHaremdreamLioraFemaleCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<playLoopingSounds "sounds/hsounds/liora/moansoft.mp3" "sounds/hsounds/sex.mp3" 1>>
<<narrative "With a slow, deliberate thrust, I enter her, both of us moaning as our bodies connect. The sensation is overwhelming - her tight, wet pussy gripping my cock like a velvet glove.">>
<center><img src="images/liora/dreamsequence/missionary/pen1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeAttraction "Rylan" "Liora" 0.3>>
<<dialog "Liora" "facewet" "Oh... it's so big..." "she gasps, her eyes fluttering closed" "I can feel every inch of you inside me...">>
<<narrative "I pause for a moment, letting her adjust to my size as I feel her walls clench around me. The heat radiating from her core is intoxicating, and I can feel her heartbeat pulsing against my shaft.">>
<<dialog "Liora" "faceembarrassedshortpink" "Please... move slowly at first..." "she whispers, her hands gripping my shoulders" "I want to feel every moment of this...">>
<center><img src="images/liora/dreamsequence/missionary/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I begin with gentle, shallow thrusts, watching her face for any sign of discomfort. But instead, I see pure ecstasy as her eyes roll back and her mouth opens in a silent moan.">>
<center><img src="images/liora/dreamsequence/missionary/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She wraps her legs around my waist, pulling me deeper as we begin to move together. Each thrust sends waves of pleasure through both our bodies, the dream realm amplifying every sensation.">>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<changeAttraction "Rylan" "Liora" 0.2>>
<<dialog "Liora" "facewet" "Yes... yes... that feels so good..." "she moans, her voice trembling with pleasure" "Don't stop... I need more...">>
<<narrative "I increase the pace slightly, feeling her walls tighten around me as she responds to each movement. Her breathing becomes heavier, and I can feel her body trembling beneath me.">>
<center><img src="images/liora/dreamsequence/missionary/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I lean down to kiss her neck, feeling her pulse racing against my lips. She arches her back, pressing her breasts against my chest as I continue to thrust into her with increasing intensity.">>
<<changeFetish "Rylan" "BreastFetish" 0.2>>
<<changeAttraction "Rylan" "Liora" 0.2>>
<<dialog "Liora" "facewet" "Oh... oh yes..." "Liora moans softly, her voice filled with ecstasy" "Don't stop... I want to feel you... I want to feel you cum inside me...">>
<center><img src="images/liora/dreamsequence/missionary/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The pace quickens as our passion builds, our bodies moving in perfect harmony. The dream world around us pulses with our shared arousal, every sensation magnified beyond reality.">>
<center><img src="images/liora/dreamsequence/missionary/5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I can feel my own pleasure building as I thrust deeper and faster into her. Her pussy is so tight and wet, gripping my cock with each movement as if trying to milk every drop of pleasure from me.">>
<<changeFetish "Rylan" "DominanceFetish" 0.4>>
<<changeAttraction "Rylan" "Liora" 0.3>>
<<dialog "Liora" "facewet" "I'm... I'm getting close..." "she gasps, her hands clawing at my back" "Please... don't stop... I need you to cum with me...">>
<<narrative "I feel her walls beginning to contract around me, signaling her approaching orgasm. The sensation is incredible as she clenches and releases around my shaft, pulling me deeper with each wave of pleasure.">>
<<narrative "I increase my pace even more, feeling the pressure building in my own balls as I approach my own climax. The dream realm seems to amplify every sensation, making each thrust feel more intense than the last.">>
<center><img src="images/liora/dreamsequence/missionary/6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "facewet" "Yes... yes... I'm cumming!" "she cries out, her body convulsing beneath me" "Cum with me... please cum inside me...">>
<<changeFetish "Rylan" "VaginaFetish" 0.3>>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeAttraction "Rylan" "Liora" 0.4>>
<<narrative "I can feel her orgasm washing over her as her pussy clenches around me like a vice. The sensation is overwhelming, and I know I can't hold back much longer as my own climax approaches rapidly.">>
<<continueBox "Chapter6RylanHaremdreamLioraCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<set $rylanHaremDream = true>>
<<set $dreamBodyType = "male">>
<div class="passage-container rylan">
<<narrative "The dream realm shifts around you, and you feel your body solidify into its familiar male form. The air shimmers with possibility as you realize this is no ordinary dream - this is a place where fantasies can become reality.">>
<<narrative "A voice echoes through the dream realm: 'Choose your fantasy, $humanName. In this dream, you can be with whomever you desire. But remember - you can only dream of those you've already encountered in your waking life.'">>
<div class="dream-customization-container">
<h2>🌙 Male Harem Dream</h2>
<p>Choose which characters you want to appear in your dream (only unlocked characters are available):</p>
<div class="character-selection-grid">
<<if $rylanDreamMarielHarem>>
<div class="character-option unlocked">
<img src="images/mariel/face.webp" class="character-portrait" width="80" height="80">
<h3>Mariel</h3>
<p>Your $marielToHuman - warm, gentle, and protective</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamMariel" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<<else>>
<div class="character-option locked">
<img src="images/mariel/face.webp" class="character-portrait" width="80" height="80">
<h3>Mariel</h3>
<p>Your $marielToHuman - warm, gentle, and protective</p>
<div class="lock-overlay">🔒 Locked</div>
</div>
<</if>>
<<if $rylanDreamThalorHarem>>
<div class="character-option unlocked">
<img src="images/thalor/face.webp" class="character-portrait" width="80" height="80">
<h3>Thalor</h3>
<p>Your $thalorToHuman - strong, stern, and commanding</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamThalor" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<<else>>
<div class="character-option locked">
<img src="images/thalor/face.webp" class="character-portrait" width="80" height="80">
<h3>Thalor</h3>
<p>Your $thalorToHuman - strong, stern, and commanding</p>
<div class="lock-overlay">🔒 Locked</div>
</div>
<</if>>
<<if $rylanDreamLioraHarem>>
<div class="character-option unlocked">
<img src="images/liora/faceshortpink.webp" class="character-portrait" width="80" height="80">
<h3>Liora</h3>
<p>Your shy, innocent friend with healing powers</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamLiora" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<<else>>
<div class="character-option locked">
<img src="images/liora/faceshortpink.webp" class="character-portrait" width="80" height="80">
<h3>Liora</h3>
<p>Your shy, innocent friend with healing powers</p>
<div class="lock-overlay">🔒 Locked</div>
</div>
<</if>>
<<if $rylanDreamSerinHarem>>
<div class="character-option unlocked">
<img src="images/serin/face.webp" class="character-portrait" width="80" height="80">
<h3>Serin</h3>
<p>Your teasing, athletic friend with a playful spirit</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamSerin" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<<else>>
<div class="character-option locked">
<img src="images/serin/face.webp" class="character-portrait" width="80" height="80">
<h3>Serin</h3>
<p>Your teasing, athletic friend with a playful spirit</p>
<div class="lock-overlay">🔒 Locked</div>
</div>
<</if>>
<<if $rylanDreamSerykHarem>>
<div class="character-option unlocked">
<img src="images/seryk/face.webp" class="character-portrait" width="80" height="80">
<h3>Seryk</h3>
<p>The noble demon warrior with incredible strength</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamSeryk" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<<else>>
<div class="character-option locked">
<img src="images/seryk/face.webp" class="character-portrait" width="80" height="80">
<h3>Seryk</h3>
<p>The noble demon warrior with incredible strength</p>
<div class="lock-overlay">🔒 Locked</div>
</div>
<</if>>
<<if $rylanDreamNimeriaHarem>>
<div class="character-option unlocked">
<img src="images/nimeria/face.webp" class="character-portrait" width="80" height="80">
<h3>Nimeria</h3>
<p>The mysterious demon girl with hidden depths</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamNimeria" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<<else>>
<div class="character-option locked">
<img src="images/nimeria/face.webp" class="character-portrait" width="80" height="80">
<h3>Nimeria</h3>
<p>The mysterious demon girl with hidden depths</p>
<div class="lock-overlay">🔒 Locked</div>
</div>
<</if>>
<<if $rylanDreamSoraHarem>>
<div class="character-option unlocked">
<img src="images/sora/face.webp" class="character-portrait" width="80" height="80">
<h3>Sora</h3>
<p>The playful cat-femboy with a mischievous charm</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamSora" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<<else>>
<div class="character-option locked">
<img src="images/sora/face.webp" class="character-portrait" width="80" height="80">
<h3>Sora</h3>
<p>The playful cat-femboy with a mischievous charm</p>
<div class="lock-overlay">🔒 Locked</div>
</div>
<</if>>
</div>
<div class="dream-begin-container">
<h3>✨ Ready to Begin Your Male Dream</h3>
<p>Your fantasy is set. The dream realm awaits your desires...</p>
<<button "Continue" "Chapter6RylanHaremdreamSequence">>
<<set $dreamMariel = document.querySelector('input[name="dreamMariel"]')?.checked || false>>
<<set $dreamThalor = document.querySelector('input[name="dreamThalor"]')?.checked || false>>
<<set $dreamLiora = document.querySelector('input[name="dreamLiora"]')?.checked || false>>
<<set $dreamSerin = document.querySelector('input[name="dreamSerin"]')?.checked || false>>
<<set $dreamSeryk = document.querySelector('input[name="dreamSeryk"]')?.checked || false>>
<<set $dreamNimeria = document.querySelector('input[name="dreamNimeria"]')?.checked || false>>
<<set $dreamSora = document.querySelector('input[name="dreamSora"]')?.checked || false>>
<<set $marielDreamBody = "male">>
<<set $thalorDreamBody = "male">>
<<set $lioraDreamBody = "male">>
<<set $serinDreamBody = "male">>
<<set $serykDreamBody = "male">>
<<set $nimeriaDreamBody = "male">>
<<set $soraDreamBody = "male">>
<</button>>
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">>
<style>
.dream-customization-container {
background: linear-gradient(145deg, rgba(30, 30, 35, 0.9), rgba(20, 20, 25, 0.95));
border: 2px solid rgba(120, 120, 120, 0.4);
border-radius: 15px;
padding: 25px;
margin: 20px 0;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}
.character-selection-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 20px;
margin: 20px 0;
}
.character-option {
background: linear-gradient(145deg, rgba(40, 40, 45, 0.8), rgba(30, 30, 35, 0.9));
border: 1px solid rgba(80, 80, 80, 0.3);
border-radius: 10px;
padding: 15px;
text-align: center;
transition: all 0.3s ease;
position: relative;
}
.character-option.unlocked:hover {
border-color: rgba(120, 120, 120, 0.6);
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.character-option.locked {
opacity: 0.6;
filter: grayscale(50%);
}
.character-portrait {
border-radius: 50%;
border: 2px solid rgba(255, 255, 255, 0.3);
margin-bottom: 10px;
}
.character-option h3 {
color: #e0e0e0;
margin: 10px 0 5px 0;
font-size: 1.1em;
}
.character-option p {
color: #b0b0b0;
font-size: 0.9em;
margin: 5px 0;
}
.lock-overlay {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: rgba(0, 0, 0, 0.8);
color: #ff6b6b;
padding: 10px 15px;
border-radius: 8px;
font-weight: bold;
font-size: 1.1em;
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8);
}
.dream-begin-container {
background: linear-gradient(145deg, rgba(50, 30, 50, 0.8), rgba(40, 20, 40, 0.9));
border: 2px solid rgba(150, 100, 150, 0.4);
border-radius: 10px;
padding: 20px;
text-align: center;
margin: 20px 0;
}
.dream-begin-container h3 {
color: #f0d0f0;
margin: 0 0 15px 0;
}
.checkbox-container {
display: block;
position: relative;
padding-left: 35px;
margin: 10px 0;
cursor: pointer;
font-size: 16px;
color: #e0e0e0;
user-select: none;
}
.checkbox-container input {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0;
}
.checkmark {
position: absolute;
top: 0;
left: 0;
height: 20px;
width: 20px;
background-color: rgba(40, 40, 45, 0.8);
border: 2px solid rgba(120, 120, 120, 0.4);
border-radius: 4px;
transition: all 0.3s ease;
}
.checkbox-container:hover input ~ .checkmark {
background-color: rgba(60, 60, 65, 0.8);
border-color: rgba(150, 150, 150, 0.6);
}
.checkbox-container input:checked ~ .checkmark {
background-color: rgba(150, 100, 150, 0.8);
border-color: rgba(200, 150, 200, 0.6);
}
.checkmark:after {
content: "";
position: absolute;
display: none;
}
.checkbox-container input:checked ~ .checkmark:after {
display: block;
}
.checkbox-container .checkmark:after {
left: 6px;
top: 2px;
width: 6px;
height: 10px;
border: solid white;
border-width: 0 3px 3px 0;
transform: rotate(45deg);
}
</style>
<script>
// Set initial checked states when page loads
document.addEventListener('DOMContentLoaded', function() {
// Set checkbox states
if (State.getVar('dreamMariel')) {
document.querySelector('input[name="dreamMariel"]').checked = true;
}
if (State.getVar('dreamThalor')) {
document.querySelector('input[name="dreamThalor"]').checked = true;
}
if (State.getVar('dreamLiora')) {
document.querySelector('input[name="dreamLiora"]').checked = true;
}
if (State.getVar('dreamSerin')) {
document.querySelector('input[name="dreamSerin"]').checked = true;
}
if (State.getVar('dreamSeryk')) {
document.querySelector('input[name="dreamSeryk"]').checked = true;
}
if (State.getVar('dreamNimeria')) {
document.querySelector('input[name="dreamNimeria"]').checked = true;
}
if (State.getVar('dreamSora')) {
document.querySelector('input[name="dreamSora"]').checked = true;
}
});
</script><<nobr>>
<<stopLoopingSounds>>
<<set $rylanDreamMarielHarem = true>>
<div class="passage-container rylan">
<<if $rylanHaremDream == false>>
<<narrative "I wake up and find myself lying on Liora's bed, completely naked, wondering how I got here. Suddenly The door creaks open.">>
<<elseif $dreamLiora>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Liora is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting. I hear the door creak open.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when the dream shifts around me. The room remains Liora's bedroom, but now bathed in warm, intimate lighting. I hear the door creak open.">>
<</if>>
<<narrative "There, standing in the doorway completely naked, is my $marielToHuman. Her beautiful body glows in the warm light, her curves highlighted by the intimate atmosphere. But there's something different about her tonight - those warm, caring eyes now hold a depth of desire that makes my heart race, and there's a confident, almost protective energy radiating from her.">>
<center><img src="images/mariel/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She approaches the bed with that familiar graceful stride, but now there's a seductive sway to her hips that I've never seen before. The way she moves is so unlike my $marielToHuman - there's a raw, primal energy about her tonight, as if she's finally letting go of all her inhibitions.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facesmirk" "Oh honey, look who's waiting for me," "she says with a warm, maternal smile that somehow sounds completely seductive" "I was hoping you'd be here tonight, my dear child. I've been thinking about you all day.">>
<<if $dreamLiora>>
<<thought "Rylan" "faceshocked" "What the actual fuck?! $humanToMariel is here too?!" "I sit up on the bed, my mind completely blown" "Two people... TWO PEOPLE have been naked in front of me tonight!" "This is getting completely out of control... Liora and now $humanToMariel... this is madness!">>
<<else>>
<<thought "Rylan" "faceshocked" "What the hell? $humanToMariel is naked... this can't be happening." "I sit up on the bed, my mind reeling from the shock" "This is so wrong on so many levels.">>
<</if>>
<<dialog "Rylan" "faceconfused" "$humanToMariel... we can't..." "I start to protest, my voice trembling" "You're my $marielToHuman and I'm your $humanIsMariel... this is wrong...">>
<<dialog "Mariel" "facesmirk" "Oh sweetheart, don't be silly," "she laughs softly, climbing onto the bed beside me with that familiar maternal grace" "It's not like it's our first time. Don't you remember all those nights we've spent together, my dear child? How I've always taken care of you?">>
<<else>>
<<dialog "Mariel" "facesmirk" "Well, well... look who's waiting for me," "she says with a sultry smile, her voice filled with desire" "I was hoping you'd be here tonight. I've been thinking about you all day.">>
<<if $dreamLiora>>
<<thought "Rylan" "faceshocked" "What the actual fuck?! $humanToMariel is here too?!" "I sit up on the bed, my mind completely blown" "Two people... TWO PEOPLE have been naked in front of me tonight!" "This is getting completely out of control... Liora and now $humanToMariel... this is madness!">>
<<else>>
<<thought "Rylan" "faceshocked" "What the hell? $humanToMariel is naked... this can't be happening." "I sit up on the bed, my mind reeling from the shock" "This is so wrong on so many levels.">>
<</if>>
<<dialog "Rylan" "faceconfused" "$humanToMariel... we can't..." "I start to protest, my voice trembling" "You're my $marielToHuman and I'm your $humanIsMariel... this is wrong...">>
<<dialog "Mariel" "facesmirk" "Oh, you dummy," "she laughs softly, climbing onto the bed beside me with that familiar warm grace" "It's not like it's our first time. Don't you remember all those nights we've spent together? How I've always taken care of you?">>
<</if>>
<<thought "Rylan" "faceworried" "This can't be real... she's my $marielToHuman, but she looks so sexy, so seductive." "I feel a strange pull toward her, but something tells me this is wrong on so many levels.">>
<<narrative "Her words send shivers down my spine as she moves closer to me. Despite my confusion and the voice in my head screaming that this is wrong, I can't resist the pull of her seductive gaze and the way her naked body moves against the sheets.">>
<<dialog "Mariel" "facewet" "Come here, $humanIsMariel," "she whispers, her voice filled with desire" "Let me show you how much I've missed you. Let me take care of you like I always do.">>
<<narrative "Before I can protest further, she leans in and captures my lips in a passionate, deep kiss. Her tongue explores my mouth with an intensity that takes my breath away, and I find myself responding despite my confusion and the overwhelming sense that this shouldn't be happening.">>
<center><img src="images/mariel/dreamsequence/frenchkiss.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The kiss deepens as she presses her body against mine, her soft curves molding to my form. I can feel her heat radiating against me, and my cock begins to harden despite my protests and the voice in my head telling me this is forbidden.">>
<<dialog "Mariel" "facewet" "Mmm... that's it," "she moans against my lips" "Let go of your worries and just feel... feel how much I want you. Let me be the one to make you feel good tonight.">>
<<narrative "She breaks the kiss and looks down at my growing erection with a satisfied smile. Her hands begin to explore my body, tracing patterns across my chest and down to my hard cock, her touch both familiar and forbidden.">>
<center><img src="images/mariel/dreamsequence/cowgirl/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "facewet" "Now, let me show you how much I've missed this," "she breathes, positioning herself above me" "I want to ride you until we both forget everything else. Let me be the one to make you feel complete tonight.">>
<<continueBox "Chapter6RylanHaremdreamMarielSex" "Continue" "Begin the intimate act...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/mariel/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<if $marielTransformationMother>>
<<narrative "As we reach the peak of our passion, I feel my orgasm building, the pressure in my balls becoming unbearable. Mariel's pussy clenches around me, milking my cock as she reaches her own climax.">>
<<narrative "With a final, powerful thrust, I explode inside her, my hot cum filling her completely. She cries out with pleasure, her body convulsing around me as wave after wave of ecstasy crashes over us both.">>
<center><img src="images/mariel/dreamsequence/cowgirl/cumb.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "As her orgasm peaks, streams of warm breastmilk shoot from her nipples, spraying across my chest and face. The sweet, creamy liquid mixes with our sweat as we both lose ourselves in the overwhelming pleasure.">>
<<dialog "Mariel" "facewet" "Oh honey... oh my dear child..." "she gasps between moans" "I'm... I'm spraying everywhere... it feels so good...">>
<center><img src="images/mariel/dreamsequence/cowgirl/cumb1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<<narrative "As we reach the peak of our passion, I feel my orgasm building, the pressure in my balls becoming unbearable. Mariel's pussy clenches around me, milking my cock as she reaches her own climax.">>
<center><img src="images/mariel/dreamsequence/cowgirl/cumn.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "With a final, powerful thrust, I explode inside her, my hot cum filling her completely. She cries out with pleasure, her body convulsing around me as wave after wave of ecstasy crashes over us both.">>
<center><img src="images/mariel/dreamsequence/cowgirl/cumn1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Mariel" 0.3>>
<<narrative "We collapse together, our bodies still connected as we ride out the aftershocks of our shared orgasm. The dream world around us shimmers and fades, leaving us both breathless and satisfied.">>
<<if $chapter6Dreams and not $rylanHaremDream>>
<<continueBox "NightActivitiesEnd" "Continue" "The dream fades...">>
<<elseif $dreamSerin>>
<<continueBox "Chapter6RylanHaremdreamSerin" "Continue" "">>
<<elseif $dreamNimeria>>
<<continueBox "Chapter6RylanHaremdreamNimeria" "Continue" "">>
<<elseif $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamSeryk" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamThalor" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamSora" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<set $rylanDreamMarielFemaleHarem = true>>
<div class="passage-container rylan">
<<if $rylanHaremDream == false>>
<<narrative "I wake up and find myself lying on Liora's bed, completely naked, wondering how I got here. But that's not the weirdest thing - I look down and see I'm female?! My body has completely changed, and I can feel the unfamiliar curves and softness that wasn't there before.">>
<<thought "Rylan" "female/faceconfused" "What happened to my body?!" "I touch my chest, feeling the soft mounds that definitely weren't there before" "This can't be real... can it?">>
<<elseif $dreamLiora>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Liora is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when the dream shifts around me. The room remains Liora's bedroom, but now bathed in warm, intimate lighting. I hear the door creak open.">>
<</if>>
<<narrative "I look down at my body and notice something strange - I'm wearing a strap-on harness with a realistic dildo attached. The weight of it feels foreign yet somehow right, as if I was meant to wear it all along.">>
<<thought "Rylan" "female/faceconfused" "What the... I'm wearing a strap-on?" "I run my hands over the harness" "This feels so strange, but somehow natural.">>
<<narrative "There, standing in the doorway completely naked, is my $marielToHuman. Her beautiful body glows in the warm light, her curves highlighted by the intimate atmosphere. But there's something different about her tonight - those warm, caring eyes now hold a depth of desire that makes my heart race, and there's a confident, almost protective energy radiating from her.">>
<center><img src="images/mariel/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She approaches the bed with that familiar graceful stride, but now there's a seductive sway to her hips that I've never seen before. The way she moves is so unlike my $marielToHuman - there's a raw, primal energy about her tonight, as if she's finally letting go of all her inhibitions.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "Oh my, you're already ready for me," "she purrs, her eyes lighting up as she notices the strap-on" "I see you've been thinking about me too, my dear child. How thoughtful of you to prepare yourself.">>
<<if $dreamLiora>>
<<thought "Rylan" "female/faceshocked" "What the actual fuck?! $humanToMariel is here too?!" "I sit up on the bed, my mind completely blown" "Two people... TWO PEOPLE have been naked in front of me tonight!" "This is getting completely out of control... Liora and now $humanToMariel... this is madness!">>
<<else>>
<<thought "Rylan" "female/faceshocked" "What the hell? $humanToMariel is naked... this can't be happening." "I sit up on the bed, my mind reeling from the shock" "This is so wrong on so many levels.">>
<</if>>
<<dialog "Rylan" "female/faceconfused" "$humanToMariel... we can't..." "I start to protest, my voice trembling" "You're my $marielToHuman... this is wrong...">>
<<dialog "Mariel" "facesmirk" "Oh sweetheart, don't be silly," "she laughs softly, climbing onto the bed beside me with that familiar maternal grace" "It's not like it's our first time. Don't you remember all those nights we've spent together, my dear child? How I've always taken care of you?">>
<<else>>
<<dialog "Mariel" "facewet" "Oh my, you're already ready for me," "she purrs, her eyes lighting up as she notices the strap-on" "I see you've been thinking about me too. How thoughtful of you to prepare yourself.">>
<<if $dreamLiora>>
<<thought "Rylan" "female/faceshocked" "What the actual fuck?! $humanToMariel is here too?!" "I sit up on the bed, my mind completely blown" "Two people... TWO PEOPLE have been naked in front of me tonight!" "This is getting completely out of control... Liora and now $humanToMariel... this is madness!">>
<<else>>
<<thought "Rylan" "female/faceshocked" "What the hell? $humanToMariel is naked... this can't be happening." "I sit up on the bed, my mind reeling from the shock" "This is so wrong on so many levels.">>
<</if>>
<<dialog "Rylan" "female/faceconfused" "$humanToMariel... we can't..." "I start to protest, my voice trembling" "You're my $marielToHuman... this is wrong...">>
<<dialog "Mariel" "facesmirk" "Oh, you dummy," "she laughs softly, climbing onto the bed beside me with that familiar warm grace" "It's not like it's our first time. Don't you remember all those nights we've spent together? How I've always taken care of you?">>
<</if>>
<<thought "Rylan" "female/faceworried" "This can't be real... she's my $marielToHuman, but she looks so sexy, so seductive." "I feel a strange pull toward her, but something tells me this is wrong on so many levels.">>
<<narrative "Her words send shivers down my spine as she moves closer to me. Despite my confusion and the voice in my head screaming that this is wrong, I can't resist the pull of her seductive gaze and the way her naked body moves against the sheets.">>
<<dialog "Mariel" "facewet" "Come here," "she whispers, her voice filled with desire" "Let me show you how much I've missed you. Let me take care of you like I always do.">>
<<narrative "Before I can protest further, she leans in and captures my lips in a passionate, deep kiss. Her tongue explores my mouth with an intensity that takes my breath away, and I find myself responding despite my confusion and the overwhelming sense that this shouldn't be happening.">>
<center><img src="images/mariel/dreamsequence/female/frenchkiss.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The kiss deepens as she presses her body against mine, her soft curves molding to my form. I can feel her heat radiating against me, and my pussy begins to throb with arousal despite my protests and the voice in my head telling me this is forbidden.">>
<center><img src="images/mariel/dreamsequence/female/frenchkiss2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "facewet" "Mmm... that's it," "she moans against my lips" "Let go of your worries and just feel... feel how much I want you. Let me be the one to make you feel good tonight.">>
<<narrative "She breaks the kiss and looks down at my wet pussy with a satisfied smile. Her hands begin to explore my body, tracing patterns across my chest and down to my throbbing folds, her touch both familiar and forbidden.">>
<<dialog "Mariel" "facewet" "Now, let me show you how much I've missed this," "she breathes, positioning herself above me" "I want to ride you until we both forget everything else. Let me be the one to make you feel complete tonight.">>
<<narrative "My $marielToHuman positions herself above me, her wet pussy hovering just above my strap-on. She looks down at me with those warm, caring eyes, but now filled with raw desire.">>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeAttraction "Rylan" "Mariel" 0.3>>
<<dialog "Mariel" "facewet" "Oh... it's so hard and ready for me..." "she gasps, her eyes fluttering closed" "I can feel how much you want this... how much you need me.">>
<<narrative "She slowly lowers herself onto me, taking my strap-on inside her with a soft moan. The sensation is overwhelming - her tight, wet pussy gripping me like a velvet glove as she begins to move. Despite only wearing a strap-on, I can feel everything - every contraction, every pulse, every wave of pleasure as if it were my own flesh.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "Mmm... that's it..." "she whispers, her hands resting on my chest" "Just relax and let mommy take care of you, my dear child.">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "Mmm... that's it..." "she whispers, her hands resting on my chest" "Just relax and let me take care of you.">>
<</if>>
<<continueBox "Chapter6RylanHaremdreamMarielFemaleSex" "Continue" "Begin the intimate act...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/mariel/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<narrative "As we reach the peak of our passion, I feel my orgasm building, the pressure in my pussy becoming unbearable. Mariel's pussy clenches around my strap-on as she reaches her own climax, and I can feel her walls pulsing around me.">>
<<narrative "With a final, powerful thrust, we both explode together. I feel my pussy clench and release as I squirt, my hot juices spraying out in thick streams. Mariel cries out with pleasure, her body convulsing around my strap-on as wave after wave of ecstasy crashes over us both.">>
<center><img src="images/mariel/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I can feel my own squirt dripping down my thighs as I continue to thrust into her, our bodies slick with our combined juices. The sensation is incredible as we both ride out our orgasms together.">>
<<dialog "Mariel" "facewet" "Oh god... you're squirting too..." "she gasps between moans" "I can feel it... we're both cumming so hard...">>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Mariel" 0.3>>
<<narrative "We collapse together, our bodies still connected as we ride out the aftershocks of our shared orgasm. The dream world around us shimmers and fades, leaving us both breathless and satisfied, covered in our combined juices.">>
<<if $chapter6Dreams and not $rylanHaremDream>>
<<continueBox "NightActivitiesEnd" "Continue" "The dream fades...">>
<<elseif $dreamSerin>>
<<continueBox "Chapter6RylanHaremdreamSerin" "Continue" "">>
<<elseif $dreamNimeria>>
<<continueBox "Chapter6RylanHaremdreamNimeriaFemale" "Continue" "">>
<<elseif $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamSerykFemale" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamThalorFemale" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamSoraFemale" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<playLoopingSounds "sounds/hsounds/mariel/moanhard.mp3" "sounds/hsounds/deepkiss.mp3" "sounds/hsounds/sex.mp3" 1>>
<<thought "Rylan" "female/faceworried" "This feels so good, but it's so wrong... she's my $marielToHuman, but I can't stop myself from responding to her touch." "I'm torn between the overwhelming pleasure and the voice in my head screaming that this is forbidden.">>
<center><img src="images/mariel/dreamsequence/female/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She begins to rock her hips slowly, her body moving in perfect rhythm with mine. Each movement sends waves of pleasure through both our bodies, the dream realm amplifying every sensation.">>
<<dialog "Mariel" "faceembarrassed" "Yes... yes... that feels so good..." "she moans, her voice trembling with pleasure" "I want to feel you everywhere... I want to taste you.">>
<<narrative "Suddenly, she leans forward, her face inches from mine. I can see the desire in her eyes, the need that's driving her to break all boundaries.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "Oh sweetheart, your lips look so soft," "she whispers, her maternal voice taking on a seductive tone" "It feels so good to kiss a girl... to feel these delicate, feminine lips against mine.">>
<<else>>
<<dialog "Mariel" "facewet" "Your lips look so soft," "she whispers, her voice filled with wonder" "It feels so good to kiss a girl... to feel these delicate, feminine lips against mine.">>
<</if>>
<<narrative "Before I can protest, she captures my lips in a deep, passionate French kiss. Her tongue explores my mouth with an intensity that takes my breath away, and I find myself responding despite my confusion.">>
<center><img src="images/mariel/dreamsequence/female/frenchkiss3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "Oh god... her tongue feels amazing... I can't help but kiss her back." "This is so wrong but feels so right... I want more.">>
<center><img src="images/mariel/dreamsequence/female/frenchkiss2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/faceembarrassed" "Mmph... $humanToMariel..." "I moan against her lips, my voice muffled by our passionate kiss" "This feels... incredible...">>
<<narrative "I kiss her back eagerly, my tongue dancing with hers as she continues to ride my strap-on. The dual sensation of her pussy gripping me and her mouth devouring mine is overwhelming.">>
<<changeFetish "Rylan" "DominanceFetish" 0.4>>
<<changeAttraction "Rylan" "Mariel" 0.3>>
<center><img src="images/mariel/dreamsequence/female/frenchkiss5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "That's it, my dear child," "she moans between kisses" "Kiss mommy back... show me how much you've learned about pleasing a woman.">>
<<else>>
<<dialog "Mariel" "facewet" "That's it, baby," "she moans between kisses" "Kiss me back... show me how much you want this.">>
<</if>>
<center><img src="images/mariel/dreamsequence/female/frenchkiss4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The intensity builds as she continues to ride me, her movements becoming more urgent. My arousal reaches a breaking point, and I can't stand being passive anymore.">>
<center><img src="images/mariel/dreamsequence/female/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "I need more... I need to take control... I want to fuck her properly." "This passive position isn't enough anymore.">>
<<narrative "With a surge of energy, I grab her waist and flip her onto her back, my strap-on still buried deep inside her. She gasps in surprise as I position myself above her.">>
<center><img src="images/mariel/dreamsequence/female/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/faceconfident" "My turn," "I growl, my voice filled with newfound dominance" "I'm going to fuck you properly now.">>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Mariel" 0.3>>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceshocked" "Oh my... my dear child has become so assertive," "she gasps, her eyes wide with surprise and arousal" "Show mommy what you can do.">>
<<else>>
<<dialog "Mariel" "faceshocked" "Oh... you're taking charge now," "she gasps, her eyes wide with surprise and arousal" "I love this side of you.">>
<</if>>
<<narrative "I begin to thrust into her with increasing intensity, the strap-on sliding in and out of her wet pussy with powerful strokes. Despite only wearing a strap-on, I can feel every movement, every clench of her walls around me.">>
<center><img src="images/mariel/dreamsequence/female/frenchkiss.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I lean down and capture her lips in my own French kiss, my tongue exploring her mouth aggressively as I continue to pound into her.">>
<<dialog "Rylan" "female/facewet" "You taste so good," "I moan against her lips" "I want to devour every inch of you.">>
<<thought "Rylan" "female/facewet" "This feeling is incredible... I love being in control of her pleasure." "I never knew I could feel this powerful.">>
<center><img src="images/mariel/dreamsequence/female/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "facewet" "Yes... yes... fuck me harder!" "she cries out, her hands gripping my shoulders" "I'm getting so close... don't stop!">>
<<changeFetish "Rylan" "DominanceFetish" 0.6>>
<<changeAttraction "Rylan" "Mariel" 0.5>>
<<narrative "I increase my pace, driving the strap-on deep into her with powerful thrusts. Our tongues dance together as I kiss her passionately, completely lost in the dominant role.">>
<<narrative "I can feel her pussy clenching around my strap-on, signaling her approaching orgasm. The sensation is incredible as she grips me tighter with each wave of pleasure.">>
<center><img src="images/mariel/dreamsequence/female/5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "facewet" "I'm going to cum!" "she screams against my lips" "You're making me cum so hard!">>
<<continueBox "Chapter6RylanHaremdreamMarielFemaleCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<playLoopingSounds "sounds/hsounds/mariel/moanhard.mp3" "sounds/hsounds/sex.mp3" 1>>
<<narrative "My $marielToHuman positions herself above me, her wet pussy hovering just above my hard cock. She looks down at me with those warm, caring eyes, but now filled with raw desire.">>
<center><img src="images/mariel/dreamsequence/cowgirl/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<changeAttraction "Rylan" "Mariel" 0.4>>
<<dialog "Mariel" "facewet" "Oh... it's so hard and ready for me..." "she gasps, her eyes fluttering closed" "I can feel how much you want this... how much you need me.">>
<<narrative "She slowly lowers herself onto me, taking my cock inside her with a soft moan. The sensation is overwhelming - her tight, wet pussy gripping me like a velvet glove as she begins to move.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "Mmm... that's it..." "she whispers, her hands resting on my chest" "Just relax and let mommy take care of you, my dear child.">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "Mmm... that's it..." "she whispers, her hands resting on my chest" "Just relax and let me take care of you, $humanIsMariel.">>
<</if>>
<center><img src="images/mariel/dreamsequence/cowgirl/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She begins to rock her hips slowly, her body moving in perfect rhythm with mine. Each movement sends waves of pleasure through both our bodies, the dream realm amplifying every sensation.">>
<center><img src="images/mariel/dreamsequence/cowgirl/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "faceworried" "This feels so good, but it's so wrong... she's my $marielToHuman, but I can't stop myself from responding to her touch." "I'm torn between the overwhelming pleasure and the voice in my head screaming that this is forbidden.">>
<<narrative "I can feel her walls tightening around me as she responds to each movement. Her breathing becomes heavier, and I can feel her body trembling with pleasure above me.">>
<center><img src="images/mariel/dreamsequence/cowgirl/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeFetish "Rylan" "SubmissionFetish" 0.4>>
<<changeAttraction "Rylan" "Mariel" 0.3>>
<<dialog "Mariel" "facewet" "Yes... yes... that feels so good..." "she moans, her voice trembling with pleasure" "Don't stop... I need more... I need to feel you deeper inside me.">>
<<narrative "She increases her pace, riding me with growing intensity. Her breasts bounce with each movement, and I can see the pleasure written across her face as she loses herself in the moment.">>
<center><img src="images/mariel/dreamsequence/cowgirl/6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She reaches up to caress her own breasts, her hands moving in slow, sensual circles. She moans louder, arching her back and pressing her chest forward as she pleasures herself.">>
<center><img src="images/mariel/dreamsequence/cowgirl/9.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeFetish "Rylan" "BreastFetish" 0.3>>
<<changeAttraction "Rylan" "Mariel" 0.2>>
<<if $marielTransformationMother>>
<<narrative "As she squeezes her breasts, I notice they look heavier, fuller than usual. A few drops of warm, creamy liquid begin to leak from her nipples, glistening in the dream light as she continues to ride me.">>
<center><img src="images/mariel/dreamsequence/cowgirl/9b.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "faceconfused" "$humanToMariel... what's that?" "I ask, my voice trembling with both arousal and confusion" "Your breasts... they're leaking something...">>
<<dialog "Mariel" "facewet" "Oh honey... that's mommy's milk," "she moans softly, her voice filled with ecstasy" "Don't you want to taste it, my dear child? It's so sweet and warm...">>
<<thought "Rylan" "faceworried" "I feel a strange pull toward her, but something tells me if I drink from her, I'll be changed forever." "I hesitate, torn between desire and an inexplicable fear.">>
<<dialog "Rylan" "faceembarrassed" "I... I can't..." "I stammer, my voice barely above a whisper" "It feels wrong... like something will change in me forever...">>
<<dialog "Mariel" "facesmirk" "Oh sweetheart, don't be afraid," "she coos, still riding me with increasing intensity" "It's natural... it's what mommies do for their children...">>
<center><img src="images/mariel/dreamsequence/cowgirl/10b.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<<dialog "Mariel" "facewet" "Oh... oh yes..." "she moans softly, her voice filled with ecstasy" "Touch me... touch me everywhere... I want to feel your hands on me.">>
<center><img src="images/mariel/dreamsequence/cowgirl/10.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "The pace quickens as our passion builds, our bodies moving in perfect harmony. The dream world around us pulses with our shared arousal, every sensation magnified beyond reality.">>
<<narrative "I can feel my own pleasure building as she rides me harder and faster. Her pussy is so tight and wet, gripping my cock with each movement as if trying to milk every drop of pleasure from me.">>
<<if $marielTransformationMother>>
<center><img src="images/mariel/dreamsequence/cowgirl/11b.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/mariel/dreamsequence/cowgirl/11.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<changeFetish "Rylan" "SubmissionFetish" 0.5>>
<<changeAttraction "Rylan" "Mariel" 0.4>>
<<dialog "Mariel" "facewet" "I'm... I'm getting close..." "she gasps, her hands gripping my shoulders" "Please... don't stop... I need you to cum with me... I need to feel you explode inside me.">>
<<if $marielTransformationMother>>
<center><img src="images/mariel/dreamsequence/cowgirl/12b.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/mariel/dreamsequence/cowgirl/12.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "I feel her walls beginning to contract around me, signaling her approaching orgasm. The sensation is incredible as she clenches and releases around my shaft, pulling me deeper with each wave of pleasure.">>
<<narrative "She increases her pace even more, riding me with wild abandon. The dream realm seems to amplify every sensation, making each thrust feel more intense than the last.">>
<center><img src="images/mariel/dreamsequence/cowgirl/6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "facewet" "Yes... yes... I'm cumming!" "she cries out, her body convulsing above me" "Cum with me... please cum inside me... fill me with your hot cum!">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Mariel" 0.2>>
<<narrative "I can feel her orgasm washing over her as her pussy clenches around me like a vice. The sensation is overwhelming, and I know I can't hold back much longer as my own climax approaches rapidly.">>
<<continueBox "Chapter6RylanHaremdreamMarielCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<set $rylanDreamNimeriaHarem = true>>
<div class="passage-container rylan">
<<if $rylanHaremDream == false>>
<<narrative "I wake up and find myself lying on Liora's bed, completely naked, wondering how I got here.">>
<<elseif $dreamSerin>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Serin is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamMariel>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice my $marielToHuman is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamLiora>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Liora is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when the dream shifts around me. The room remains Liora's bedroom, but now bathed in warm, intimate lighting. I hear the door creak open.">>
<</if>>
<<narrative "The door opens silently, and there, standing in the doorway completely naked, is Nimeria. But something feels... different about her tonight. She moves with the grace of a predator, each step calculated and mesmerizing.">>
<center><img src="images/nimeria/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She approaches the bed with an almost hypnotic sway, her naked body moving like liquid silk. The way she carries herself is so unlike the innocent Nimeria I know - there's a knowing confidence in every movement, as if she's been planning this moment for a very long time.">>
<<dialog "Nimeria" "facesmirk" "Oh my dear $humanName," "she purrs with that sweet, innocent voice that somehow sounds completely seductive" "I've been watching you... dreaming about you. You have no idea how much I've wanted this.">>
<<if $dreamSerin and $dreamMariel and $dreamLiora>>
<<thought "Rylan" "faceshocked" "Holy shit... Nimeria too?!" "I sit up on the bed, my mind completely broken" "Four people... FOUR PEOPLE have been naked in front of me!" "This is absolutely insane... Liora, $humanToMariel, Serin, and now Nimeria... this is beyond belief!">>
<<elseif $dreamMariel and $dreamLiora>>
<<thought "Rylan" "faceshocked" "No fucking way... Nimeria is naked?!" "I sit up on the bed, my mind spinning" "Three people now... this is getting completely crazy!" "Liora, $humanToMariel, and now Nimeria... what the hell is happening?">>
<<elseif $dreamLiora>>
<<thought "Rylan" "faceshocked" "What the hell is going on?! Nimeria too?!" "I sit up on the bed, my mind reeling" "Two people... TWO PEOPLE have been naked in front of me!" "This is getting completely out of control... Liora and now Nimeria... this can't be real.">>
<<else>>
<<thought "Rylan" "faceshocked" "What the hell? Nimeria is naked... this can't be happening." "I sit up on the bed, my mind reeling from the shock" "This is so wrong on so many levels.">>
<</if>>
<<dialog "Rylan" "faceconfused" "Nimeria?! Y-you are naked..." "I stammer, my voice trembling with both arousal and confusion" "What are you doing here?">>
<<dialog "Nimeria" "facesmirk" "Oh, don't act so surprised," "she giggles softly, climbing onto the bed beside me with fluid grace" "You've been thinking about this too, haven't you? I can see it in your eyes... the way you look at me when you think I'm not watching.">>
<<thought "Rylan" "faceworried" "This can't be real... she's so confident." "I feel a strange pull toward her, but something tells me this is wrong - I'm with Liora, this is cheating.">>
<<narrative "Her words send shivers down my spine as she moves closer to me. Despite my confusion and the voice in my head screaming that this is cheating on Liora, I can't resist the pull of her seductive gaze and the way her naked body moves against the sheets.">>
<<dialog "Nimeria" "facewet" "I know you're thinking about that sweet little girlfriend of yours," "she whispers, her voice filled with knowing desire" "But tonight... tonight you're going to learn what it's like to be with a woman who truly understands you.">>
<<narrative "Before I can protest further, she positions herself on all fours, her perfect ass raised in the air. The way she moves is so confident, so in control, and I find myself responding despite my confusion and the overwhelming sense that this is wrong.">>
<center><img src="images/nimeria/dreamsequence/allfours.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She looks back at me with those teasing eyes, but now filled with raw desire and dominance. Her wet pussy glistens in the warm light, and I can see how aroused she is as my cock begins to throb with need.">>
<<dialog "Nimeria" "facewet" "Mmm... look at me, my dear," "she moans softly" "I'm so wet for you. Take me. Show me what a real man can do.">>
<<narrative "She wiggles her ass seductively, her wet pussy dripping with arousal. The sight is so intoxicating that I can feel my resistance crumbling, my desire for her overwhelming my thoughts of Liora.">>
<<thought "Rylan" "facewet" "I should resist... this is cheating on Liora." "But the way she's looking at me, the way her wet pussy glistens so invitingly" "I can't help but feel drawn to it.">>
<<dialog "Nimeria" "facewet" "Come on, $humanName," "she breathes, her voice filled with need" "I need you inside me. I need you to fuck me hard and make me yours.">>
<center><img src="images/nimeria/dreamsequence/allfours2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I can feel my cock hardening as I stare at her perfect ass and wet pussy. The way she's positioned herself, so vulnerable yet so seductive, makes it impossible to resist.">>
<<thought "Rylan" "facewet" "This feels so wrong, but so right at the same time." "I can't believe I'm about to do this, but I can't stop" "The way she looks, the way she's talking... it's intoxicating.">>
<<dialog "Rylan" "facewet" "I... I can't resist you," "I moan, my voice trembling with desire" "You're so beautiful, so perfect.">>
<<dialog "Nimeria" "facewet" "That's it, my dear," "she purrs" "Show me how much you want me. Take me like the man you are.">>
<<continueBox "Chapter6RylanHaremdreamNimeriaSex" "Continue" "Begin the intimate act...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/nimeria/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<narrative "With a final, powerful thrust, I explode inside her, my hot cum shooting deep into her pussy. She cries out with pleasure, her body convulsing around me as wave after wave of ecstasy crashes over us both.">>
<center><img src="images/nimeria/dreamsequence/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck... I'm cumming so hard," "I moan.">>
<<dialog "Nimeria" "facewet" "Yes... yes... fill me up, my knight," "she gasps" "I want every last drop of your cum.">>
<<narrative "I collapse beside her, my body still trembling from the intensity of my orgasm. She falls flat on the bed on her stomach, completely exhausted from our passionate encounter.">>
<<thought "Rylan" "facewet" "I can't believe I just did that... I came inside her." "The way she was responding" "It was so intense.">>
<<dialog "Nimeria" "facewet" "Oh my god... that was incredible," "she breathes heavily" "You fucked me so good, my knight. I've never felt so satisfied.">>
<<narrative "She lies there on her stomach, her cum dripping out of her pussy and pooling on the bed sheets. The sight is so erotic that I can't look away.">>
<center><img src="images/nimeria/dreamsequence/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facewet" "I completely forgot about Liora... Nimeria made me forget everything." "The way she called me her knight, her husband" "It made me feel so powerful, so desired.">>
<<dialog "Nimeria" "facesmirk" "You're such a good husband," "she purrs" "I love how aggressive you became. You fucked me like the animal I knew you were.">>
<<narrative "She climbs on top of me on the bed, her body still trembling from the intensity of our shared pleasure.">>
<<dialog "Nimeria" "facewet" "I hope you enjoyed that," "she breathes" "Because I'm not done with you yet. I want to show you so much more.">>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Nimeria" 0.2>>
<<changeLust "Rylan" 15>>
<<narrative "The dream world around us shimmers and fades...">>
<<if not $rylanHaremDream and $chapter6Dreams>>
<<continueBox "NightActivitiesEnd" "Continue" "The dream fades...">>
<<elseif $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamSeryk" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamThalor" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamSora" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<set $rylanDreamNimeriaFemaleHarem = true>>
<div class="passage-container rylan">
<<if $rylanHaremDream == false>>
<<narrative "I wake up and find myself lying on Liora's bed, completely naked, wondering how I got here. But that's not the weirdest thing - I look down and see I'm female?! My body has completely changed, and I can feel the unfamiliar curves and softness that wasn't there before.">>
<<thought "Rylan" "female/faceconfused" "What happened to my body?!" "I touch my chest, feeling the soft mounds that definitely weren't there before" "This can't be real... can it?">>
<<elseif $dreamSerin>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Serin is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamMariel>>
<<narrative "Just as I'm catching my breath from the intense encounter with my $marielToHuman, I hear soft footsteps approaching. I look up to see Nimeria walking toward me, her innocent smile hiding something much more devious underneath.">>
<<elseif $dreamLiora>>
<<narrative "Just as I'm catching my breath from the intense encounter with Liora, I hear soft footsteps approaching. I look up to see Nimeria walking toward me, her innocent smile hiding something much more devious underneath.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when I hear soft footsteps approaching. I look up to see Nimeria walking toward me, her innocent smile hiding something much more devious underneath.">>
<</if>>
<center><img src="images/nimeria/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $dreamSerin and $dreamMariel and $dreamLiora>>
<<thought "Rylan" "female/facewet" "Holy shit... Nimeria too?!" "I can feel myself getting wetter just from her gaze" "Four people... FOUR PEOPLE have been naked in front of me!" "This is absolutely insane... Liora, $humanToMariel, Serin, and now Nimeria... this is beyond belief!">>
<<elseif $dreamMariel and $dreamLiora>>
<<thought "Rylan" "female/facewet" "No fucking way... Nimeria is here too?!" "I can feel myself getting wetter just from her gaze" "Three people now... this is getting completely crazy!" "Liora, $humanToMariel, and now Nimeria... what the hell is happening?">>
<<elseif $dreamLiora>>
<<thought "Rylan" "female/facewet" "What the hell is going on?! Nimeria too?!" "I can feel myself getting wetter just from her gaze" "Two people... TWO PEOPLE have been naked in front of me!" "This is getting completely out of control... Liora and now Nimeria... this can't be real.">>
<<else>>
<<thought "Rylan" "female/facewet" "The way she's looking at me... it's so intense." "I can feel myself getting wetter just from her gaze" "What does she mean by 'take care of me'?">>
<</if>>
<<if $dreamSerin and $dreamMariel and $dreamLiora>>
<<dialog "Nimeria" "facesmirk" "My, my," "she purrs, her eyes sparkling with mischief" "Look at you, all flushed and wet from your little playtime with Serin.">>
<<thought "Rylan" "female/faceembarrassed" "Oh no... she saw everything with Serin." "I can feel my face burning with embarrassment" "What is she going to do to me?">>
<<elseif $dreamMariel and $dreamLiora>>
<<dialog "Nimeria" "facesmirk" "My, my," "she purrs, her eyes sparkling with mischief" "Look at you, all flushed and wet from your little playtime with my $marielToHuman.">>
<<thought "Rylan" "female/faceembarrassed" "Oh no... she saw everything with $humanToMariel." "I can feel my face burning with embarrassment" "What is she going to do to me?">>
<<elseif $dreamLiora>>
<<dialog "Nimeria" "facesmirk" "My, my," "she purrs, her eyes sparkling with mischief" "Look at you, all flushed and wet from your little playtime with Liora.">>
<<thought "Rylan" "female/faceembarrassed" "Oh no... she saw everything with Liora." "I can feel my face burning with embarrassment" "What is she going to do to me?">>
<<else>>
<<dialog "Nimeria" "facesmirk" "My, my," "she purrs, her eyes sparkling with mischief" "Look at you, all alone and vulnerable in this dream.">>
<<thought "Rylan" "female/faceembarrassed" "Oh no... she found me here." "I can feel my face burning with embarrassment" "What is she going to do to me?">>
<</if>>
<<narrative "Nimeria kneels down beside me on the bed, her movements graceful and deliberate. She reaches out and runs a single finger along my inner thigh, making me shiver with anticipation.">>
<center><img src="images/nimeria/dreamsequence/female/intro2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facewet" "You know," "she whispers, her voice like honey" "I've been watching you, and I think you need someone to take care of you properly.">>
<<dialog "Nimeria" "facesmirk" "Don't worry, sweetie," "she coos, moving closer" "I'm going to make you feel so good. Just relax and let me show you what a real woman can do.">>
<<narrative "She positions herself between my legs, her eyes never leaving mine. I can feel her warm breath against my sensitive skin, and I'm already trembling with anticipation.">>
<<dialog "Nimeria" "facewet" "Mmm... you smell so delicious," "she breathes, inhaling deeply" "I can't wait to taste you.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeAttraction "Rylan" "Nimeria" 0.2>>
<<changeLust "Rylan" 8>>
<<continueBox "Chapter6RylanHaremdreamNimeriaFemaleSex" "Continue" "Let her begin...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/rylan/female/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<div class="passage-container rylan">
<<thought "Rylan" "female/facewet" "This is it... I'm about to explode." "The pleasure is overwhelming" "I've never felt anything like this before.">>
<<narrative "With a final, powerful flick of her tongue, I explode into orgasm. My body convulses violently as wave after wave of ecstasy crashes over me, my juices flowing freely.">>
<center><img src="images/nimeria/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facewet" "Mmm... yes!" "she moans against me" "Cum for me, sweetie! Let it all out!">>
<<narrative "I can feel my hot juices splashing against her face as she continues to lick and suck, drinking in every drop of my release. The sensation is incredible, and I'm still trembling from the intensity.">>
<center><img src="images/nimeria/dreamsequence/female/cum3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh my god... that was amazing!" "I pant, my body still shaking" "I've never cum that hard before!">>
<<thought "Rylan" "female/facewet" "I can't believe what just happened." "The way she made me cum" "It was so intense, so perfect.">>
<<dialog "Nimeria" "facesmirk" "You were so beautiful when you came," "she purrs, licking her lips" "I could taste how much you enjoyed it. You're such a good girl for me.">>
<<narrative "She sits up, her face glistening with my juices. She looks down at me with a satisfied smile, clearly pleased with her work.">>
<center><img src="images/nimeria/dreamsequence/female/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facewet" "I hope you learned something today," "she says softly" "About what it means to be with a real woman.">>
<<thought "Rylan" "female/facewet" "She's right... that was incredible." "I never knew it could feel so good" "I want to experience this again.">>
<<narrative "The dream world around us begins to shimmer and fade, but the memory of what just happened will stay with me forever. I collapse back onto the bed, completely spent and satisfied.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Nimeria" 0.2>>
<<changeLust "Rylan" 20>>
<<if not $rylanHaremDream and $chapter6Dreams>>
<<continueBox "NightActivitiesEnd" "Continue" "The dream fades...">>
<<elseif $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamSerykFemale" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamThalorFemale" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamSoraFemale" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/rylan/female/moanhard.mp3" "sounds/hsounds/blowjob.mp3" 1>>
<div class="passage-container rylan">
<<narrative "Without another word, Nimeria leans in and presses her soft lips against my inner thigh, leaving a trail of gentle kisses as she works her way closer to my most sensitive spot.">>
<center><img src="images/nimeria/dreamsequence/female/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh... oh my god," "I gasp, my body arching slightly" "That feels so good...">>
<<thought "Rylan" "female/facewet" "Her lips are so soft and warm." "The way she's kissing me so gently" "It's making me feel things I've never felt before.">>
<center><img src="images/nimeria/dreamsequence/female/1b.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She continues her slow, methodical approach, her tongue occasionally flicking out to taste my skin. Each touch sends electric shocks of pleasure through my body.">>
<center><img src="images/nimeria/dreamsequence/female/1a.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facewet" "Mmm... you taste even better than I imagined," "she moans against my skin" "So sweet and wet already.">>
<<thought "Rylan" "female/facewet" "I can't believe how good this feels." "The way she's teasing me with her tongue" "I want her to go further, but I'm also so nervous.">>
<<narrative "Finally, she reaches my most sensitive area, and I feel her warm, wet tongue make contact for the first time. The sensation is overwhelming, and I cry out with pleasure.">>
<center><img src="images/nimeria/dreamsequence/female/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh fuck... yes!" "I moan loudly" "Don't stop... please don't stop!">>
<<dialog "Nimeria" "facesmirk" "That's it, sweetie," "she purrs, her voice muffled" "Let me hear how much you're enjoying this.">>
<center><img src="images/nimeria/dreamsequence/female/2a.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She begins to work her tongue in slow, deliberate circles, exploring every inch of my sensitive flesh. Her technique is incredible, and I can feel myself getting closer to the edge already.">>
<center><img src="images/nimeria/dreamsequence/female/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "She's so good at this... I can't believe how skilled she is." "The way she's using her tongue" "It's driving me absolutely crazy.">>
<<dialog "Nimeria" "facewet" "You're so responsive," "she breathes" "I love how wet you're getting for me. You want this so badly, don't you?">>
<center><img src="images/nimeria/dreamsequence/female/3a.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She increases the pressure and speed of her movements, her tongue working me into a frenzy. I can feel my body tensing, my muscles clenching with anticipation.">>
<center><img src="images/nimeria/dreamsequence/female/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "I'm... I'm getting close!" "I pant, my breathing becoming ragged" "Please... don't stop!">>
<<thought "Rylan" "female/facewet" "I can't hold back much longer." "The pleasure is building so fast" "I need to cum... I need it so badly.">>
<center><img src="images/nimeria/dreamsequence/female/4a.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facesmirk" "Not yet, sweetie," "she teases, slowing down slightly" "I want to make this last. You're going to cum so hard for me.">>
<<narrative "She continues her expert ministrations, building me up to the very edge before backing off, then building me up again. The teasing is maddening, but also incredibly arousing.">>
<center><img src="images/nimeria/dreamsequence/female/5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Finally, Nimeria decides I've been teased enough. She increases the intensity of her tongue work, focusing on my most sensitive spot with expert precision.">>
<center><img src="images/nimeria/dreamsequence/female/5a.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh god... I'm going to cum!" "I scream, my body tensing" "I can't hold it back anymore!">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Nimeria" 0.2>>
<<changeLust "Rylan" 12>>
<<continueBox "Chapter6RylanHaremdreamNimeriaFemaleCum" "Continue" "Reach the peak...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/nimeria/moanhard.mp3" "sounds/hsounds/sex.mp3" 1>>
<div class="passage-container rylan">
<<narrative "I can't resist any longer. I position myself behind her, my hard cock pressing against her wet entrance. She's so tight, so warm, and I can feel her pussy clenching with need.">>
<<dialog "Nimeria" "facewet" "Yes... yes... take me, my knight," "she moans" "I need you inside me so badly.">>
<<narrative "I push forward, my cock sliding deep inside her wet pussy. She's incredibly tight, and I can feel her walls clenching around me as she gasps with pleasure.">>
<center><img src="images/nimeria/dreamsequence/doggy1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck... you're so tight," "I moan" "You feel amazing.">>
<<thought "Rylan" "facewet" "This is incredible... she's so tight and wet." "The way she's moaning, the way her pussy grips me" "I can't believe how good this feels.">>
<<dialog "Nimeria" "facewet" "Fuck me harder, my knight," "she gasps" "I need you to fuck me like the animal you are.">>
<<narrative "I begin to thrust harder, my cock sliding in and out of her wet pussy. She's moaning loudly now, her ass bouncing against my hips with each thrust.">>
<center><img src="images/nimeria/dreamsequence/doggy2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facewet" "She wants me to be more dominant... I can feel myself getting more aggressive." "The way she's begging me to fuck her harder" "It's making me lose control.">>
<<dialog "Nimeria" "facewet" "Yes... yes... harder!" "she cries out" "Fuck me harder! Make me yours!">>
<<narrative "I grab her hips and start thrusting with more force, my cock slamming deep inside her. She's screaming with pleasure now, her body trembling with each powerful thrust.">>
<center><img src="images/nimeria/dreamsequence/doggy3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "You're mine now," "I growl" "All mine.">>
<<thought "Rylan" "facewet" "I can't control myself anymore." "The way she's responding to my aggression" "It's making me want to take her even harder.">>
<<dialog "Nimeria" "facewet" "Oh yes... yes... fuck me like the beast you are!" "she screams" "I love it when you're dominant!">>
<<narrative "Suddenly, I pin her her down on the bed. She looks up at me with those innocent eyes, but now filled with raw desire and submission.">>
<center><img src="images/nimeria/dreamsequence/prone1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facewet" "Oh my knight... you're so strong," "she moans" "Take me however you want me.">>
<<narrative "I position myself above her, my cock still deep inside her pussy. She's completely at my mercy now, her body trembling with anticipation.">>
<center><img src="images/nimeria/dreamsequence/prone2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "You're going to take everything I give you," "I growl" "Every last drop.">>
<<thought "Rylan" "facewet" "I can't stop myself." "The way she's submitting to me" "It's making me want to fuck her even harder.">>
<<dialog "Nimeria" "facewet" "Yes... yes... give me everything!" "she cries out" "I'm yours! Fuck me into the bed!">>
<<narrative "I start thrusting with incredible force, my cock slamming deep inside her with each powerful stroke. She's screaming with pleasure, her body convulsing with each thrust.">>
<center><img src="images/nimeria/dreamsequence/prone3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facewet" "I'm fucking her so hard... I can't control myself anymore." "The way she's responding to my dominance" "It's making me want to cum inside her.">>
<<dialog "Nimeria" "facewet" "Oh fuck... I'm going to cum!" "she screams" "I'm going to cum so hard!">>
<<narrative "Her body starts to convulse as she reaches her climax, her pussy clenching tightly around my cock. I can feel her orgasm building, and I know I'm close too.">>
<<thought "Rylan" "facewet" "She's cumming... I can feel her pussy clenching around me." "I'm so close to cumming too" "I need to hold on just a little longer.">>
<<dialog "Rylan" "facewet" "Cum for me, my little slut," "I growl" "Cum all over my cock.">>
<<narrative "She explodes with pleasure, her body trembling and convulsing as her orgasm crashes over her. Her pussy clenches so tightly around my cock that I can barely move.">>
<center><img src="images/nimeria/dreamsequence/prone4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facewet" "Oh my god... that was amazing," "she breathes heavily" "You fucked me so good, my knight.">>
<<thought "Rylan" "facewet" "She's so beautiful when she cums... I can't hold back anymore." "I need to cum inside her" "I need to fill her with my seed.">>
<<dialog "Rylan" "facewet" "I'm going to cum inside you," "I moan" "I'm going to fill you up.">>
<<narrative "I can feel my orgasm building, the pressure in my balls becoming unbearable. Her pussy is still clenching around me, milking my cock as I approach my climax.">>
<<dialog "Nimeria" "facewet" "Yes... yes... cum inside me," "she moans" "Fill me with your seed, my knight.">>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Nimeria" 0.2>>
<<changeLust "Rylan" 12>>
<<continueBox "Chapter6RylanHaremdreamNimeriaCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<if $rylanHaremDream == false>>
<<set $dreamLiora = true>>
<</if>>
<div class="passage-container rylan">
<<narrative "I stir in my sleep, finding myself standing in the familiar hallway of our house. The house is unusually dark and quiet, with all doors closed except one.">>
<<if $dreamBodyType === "female">>
<<thought "Rylan" "female/faceconfused" "Wait... how did I get here?" "I blink, trying to clear the fog from my mind" "I was just sleeping in my room...">>
<<else>>
<<thought "Rylan" "faceconfused" "Wait... how did I get here?" "I blink, trying to clear the fog from my mind" "I was just sleeping in my room...">>
<</if>>
<<if $dreamBodyType === "female">>
<<narrative "I look down at my body and gasp in shock - I have breasts! And between my legs... I'm female! But somehow, this feels completely natural, as if I've always been this way.">>
<<thought "Rylan" "female/faceconfused" "This is so strange... I feel like I was always female, but I know I wasn't." "I run my hands over my new curves" "But it feels so right, so natural. Maybe this is how I was meant to be all along.">>
<<else>>
<<narrative "I look down and realize with a start that I'm completely naked. The cool air against my bare skin makes me shiver as I take in my surroundings.">>
<<thought "Rylan" "faceshocked" "What the... where are my clothes?" "I look around frantically" "This doesn't make any sense. I went to bed fully dressed, and now I'm standing here naked in the hallway.">>
<</if>>
<<narrative "Liora's door is slightly ajar, and a warm, golden light spills out into the dark hallway.">>
<center><img src="images/landscapes/marielroom.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $dreamBodyType === "female">>
<<thought "Rylan" "female/faceconfused" "That's odd... everyone's doors are closed, but Liora's is open." "I approach slowly" "And there's light coming from her room. Is she still awake? At this hour?">>
<<else>>
<<thought "Rylan" "faceconfused" "That's odd... everyone's doors are closed, but Liora's is open." "I approach slowly" "And there's light coming from her room. Is she still awake? At this hour?">>
<</if>>
<<if $dreamBodyType === "female">>
<<continueBox "Chapter6RylanHaremdreamLioraFemale" "Enter Liora's Room" "The door is slightly ajar...">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamLiora" "Enter Liora's Room" "The door is slightly ajar...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<<stopLoopingSounds>>
<<if $dreamBodyType === "female">>
<<set $rylanDreamSerinFemaleHarem = true>>
<<else>>
<<set $rylanDreamSerinHarem = true>>
<</if>>
<div class="passage-container rylan">
<<if $rylanHaremDream == false>>
<<narrative "I wake up and find myself lying on Liora's bed, completely naked, wondering how I got here.">>
<<if $dreamBodyType === "female">>
<<narrative "I look down at my body and gasp in shock - I'm female?! My body has completely changed, and I can feel the unfamiliar curves and softness that wasn't there before.">>
<<thought "Rylan" "female/faceconfused" "What happened to my body?!" "I touch my chest, feeling the soft mounds that definitely weren't there before" "This can't be real... can it?">>
<</if>>
<<narrative "Suddenly I hear the door creak open.">>
<<elseif $dreamMariel>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice my $marielToHuman is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<narrative "Suddenly I hear the door creak open.">>
<<elseif $dreamLiora>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Liora is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<narrative "Suddenly I hear the door creak open.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when the dream shifts around me. The room remains Liora's bedroom, but now bathed in warm, intimate lighting. I hear the door creak open.">>
<</if>>
<<if $serinFutanariTransformation>>
<<narrative "There, standing in the doorway completely naked, is Serin. But something is different about her tonight - she's not just naked, she's... changed. Her athletic body glows in the warm light, her toned curves highlighted by the intimate atmosphere, but now there's something else between her legs that makes my heart skip a beat.">>
<center><img src="images/serin/dreamsequence/futa/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She approaches the bed with confident, almost predatory steps, her naked body swaying seductively. But now I can see it clearly - she has a thick, hard cock between her legs, and a pair of heavy balls that swing with each step she takes.">>
<<if $dreamBodyType === "female">>
<<dialog "Serin" "facesmirk" "Oh? I see you're already ready for me, good girl," "she says with a sultry smile, her voice filled with amusement" "How convenient... you must have been waiting for this.">>
<<else>>
<<dialog "Serin" "facesmirk" "Oh? I see you're already ready for me," "she says with a sultry smile, her voice filled with amusement" "How convenient... you must have been waiting for this.">>
<</if>>
<<if $dreamBodyType === "female">>
<<thought "Rylan" "female/faceshocked" "What the... she has a dick?! This can't be real... but it looks so... so real." "I sit up on the bed, my mind struggling to process what I'm seeing.">>
<<else>>
<<thought "Rylan" "faceshocked" "What the... she has a dick?! This can't be real... but it looks so... so real." "I sit up on the bed, my mind struggling to process what I'm seeing.">>
<</if>>
<<if $dreamBodyType === "female">>
<<dialog "Rylan" "female/faceconfused" "Serin?! Y-you have a... a..." "I stammer, my voice trembling with both arousal and confusion" "What happened to you?">>
<<else>>
<<dialog "Rylan" "faceconfused" "Serin?! Y-you have a... a..." "I stammer, my voice trembling with both arousal and confusion" "What happened to you?">>
<</if>>
<<if $dreamBodyType === "female">>
<<dialog "Serin" "facesmirk" "Oh, this?" "she laughs softly, running her hand along her thick shaft" "Don't tell me you've forgotten all our little... sessions together, good girl. You used to love this thing.">>
<<else>>
<<dialog "Serin" "facesmirk" "Oh, this?" "she laughs softly, running her hand along her thick shaft" "Don't tell me you've forgotten all our little... sessions together. You used to love this thing.">>
<</if>>
<<if $dreamBodyType === "female">>
<<thought "Rylan" "female/faceworried" "This can't be real... she's my friend, but she looks so sexy, so dominant with that... that thing." "I feel a strange pull toward her, but something tells me this is wrong - I'm with Liora, this is cheating.">>
<<else>>
<<thought "Rylan" "faceworried" "This can't be real... she's my friend, but she looks so sexy, so dominant with that... that thing." "I feel a strange pull toward her, but something tells me this is wrong - I'm with Liora, this is cheating.">>
<</if>>
<<narrative "Her words send shivers down my spine as she moves closer to me. Despite my confusion and the voice in my head screaming that this is cheating on Liora, I can't resist the pull of her seductive gaze and the way her thick cock sways with each step.">>
<<if $dreamBodyType === "female">>
<<dialog "Serin" "facewet" "Oh, I get it! You want to roleplay, good girl," "she whispers, her voice filled with desire" "So just like old times... but this time, I'm going to show you what it feels like to be on the receiving end.">>
<<else>>
<<dialog "Serin" "facewet" "Oh, I get it! You want to roleplay," "she whispers, her voice filled with desire" "So just like old times... but this time, I'm going to show you what it feels like to be on the receiving end.">>
<</if>>
<<narrative "Before I can protest further, she positions herself above me, her thick cock hovering just above my face. The way she moves is so confident, so in control, and I find myself responding despite my confusion and the overwhelming sense that this is wrong.">>
<center><img src="images/serin/dreamsequence/futa/prepare.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She looks down at me with those teasing eyes, but now filled with raw desire and dominance. Her hands rest on my chest, and I can feel her heat radiating against me as her thick cock begins to throb with need right above my face.">>
<<if $dreamBodyType === "female">>
<<dialog "Serin" "facewet" "Mmm... that's it, good girl," "she moans softly" "Just relax and let me take control... I know exactly what you need.">>
<<else>>
<<dialog "Serin" "facewet" "Mmm... that's it," "she moans softly" "Just relax and let me take control... I know exactly what you need.">>
<</if>>
<<narrative "She breaks eye contact and looks down at me with a satisfied smile. Her hands begin to explore my body, tracing patterns across my chest, while her thick cock sways tantalizingly close to my lips.">>
<<if $dreamBodyType === "female">>
<<dialog "Serin" "facewet" "Now, let me show you how much I've missed this, good girl," "she breathes, positioning herself above me" "I want you to taste me until you forget everything else... including that little girlfriend of yours.">>
<<else>>
<<dialog "Serin" "facewet" "Now, let me show you how much I've missed this," "she breathes, positioning herself above me" "I want you to taste me until you forget everything else... including that little girlfriend of yours.">>
<</if>>
<<if $dreamBodyType === "female">>
<<continueBox "Chapter6RylanHaremdreamSerinFemaleFutaSex" "Continue" "Begin the intimate act...">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamSerinFuta" "Continue" "Begin the intimate act...">>
<</if>>
<<else>>
<<narrative "There, standing in the doorway completely naked, is Serin. Her athletic body glows in the warm light, her toned curves highlighted by the intimate atmosphere. But there's something different about her tonight - that familiar teasing smirk is still there, but now it's mixed with a raw, hungry desire that makes my heart race.">>
<center><img src="images/serin/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She approaches the bed with that confident, athletic stride I know so well, but now there's a seductive sway to her hips that I've never seen before. The way she moves is so unlike the teasing Serin I know - there's a raw, commanding presence about her tonight.">>
<<dialog "Serin" "facesmirk" "Well, well, well," "she says with that familiar teasing grin, her voice filled with amusement" "Look who's all ready for me. I must be getting better at this seduction thing.">>
<<if $dreamBodyType === "female">>
<<if $dreamMariel and $dreamLiora>>
<<thought "Rylan" "female/faceshocked" "Oh my god... Serin too?!" "I sit up on the bed, my mind completely shattered" "Three people... THREE PEOPLE have been naked in front of me!" "This is absolutely insane... Liora, $humanToMariel, and now Serin... this is beyond comprehension.">>
<<elseif $dreamLiora>>
<<thought "Rylan" "female/faceshocked" "What the actual fuck?! Serin is here too?!" "I sit up on the bed, my mind completely blown" "Two people... TWO PEOPLE have been naked in front of me tonight!" "This is getting completely out of control... Liora and now Serin... this is madness!">>
<<else>>
<<thought "Rylan" "female/faceshocked" "What the hell? Serin is naked... this can't be happening." "I sit up on the bed, my mind reeling from the shock" "This is so wrong on so many levels.">>
<</if>>
<<else>>
<<if $dreamMariel and $dreamLiora>>
<<thought "Rylan" "faceshocked" "Oh my god... Serin too?!" "I sit up on the bed, my mind completely shattered" "Three people... THREE PEOPLE have been naked in front of me!" "This is absolutely insane... Liora, $humanToMariel, and now Serin... this is beyond comprehension.">>
<<elseif $dreamLiora>>
<<thought "Rylan" "faceshocked" "What the actual fuck?! Serin is here too?!" "I sit up on the bed, my mind completely blown" "Two people... TWO PEOPLE have been naked in front of me tonight!" "This is getting completely out of control... Liora and now Serin... this is madness!">>
<<else>>
<<thought "Rylan" "faceshocked" "What the hell? Serin is naked... this can't be happening." "I sit up on the bed, my mind reeling from the shock" "This is so wrong on so many levels.">>
<</if>>
<</if>>
<<if $dreamBodyType === "female">>
<<dialog "Rylan" "female/faceconfused" "Serin?! Y-you are naked..." "I stammer, my voice trembling with both arousal and confusion" "What are you doing here?">>
<<else>>
<<dialog "Rylan" "faceconfused" "Serin?! Y-you are naked..." "I stammer, my voice trembling with both arousal and confusion" "What are you doing here?">>
<</if>>
<<dialog "Serin" "facesmirk" "Oh, come on, $humanName," "she laughs softly, climbing onto the bed beside me with that familiar athletic grace" "Don't act like you haven't been thinking about this. I've seen the way you look at me when you think I'm not watching.">>
<<if $dreamBodyType === "female">>
<<thought "Rylan" "female/faceworried" "This can't be real... she's my friend, but she looks so sexy, so dominant." "I feel a strange pull toward her, but something tells me this is wrong - I'm with Liora, this is cheating.">>
<<else>>
<<thought "Rylan" "faceworried" "This can't be real... she's my friend, but she looks so sexy, so dominant." "I feel a strange pull toward her, but something tells me this is wrong - I'm with Liora, this is cheating.">>
<</if>>
<<narrative "Her words send shivers down my spine as she moves closer to me. Despite my confusion and the voice in my head screaming that this is cheating on Liora, I can't resist the pull of her seductive gaze and the way her naked body moves against the sheets.">>
<<if $dreamBodyType === "female">>
<<dialog "Serin" "facewet" "Oh, I get it! You want to roleplay," "she whispers, her voice filled with desire" "So just like old times... Face-sitting it is.">>
<<else>>
<<dialog "Serin" "facewet" "Oh, I get it! You want to roleplay," "she whispers, her voice filled with desire" "So just like old times... Cowgirl it is.">>
<</if>>
<<if $dreamBodyType === "female">>
<<narrative "Before I can protest further, she positions herself above me, her wet pussy hovering just above my face while she straddles my hips. The way she moves is so confident, so in control, and I find myself responding despite my confusion and the overwhelming sense that this is wrong.">>
<<else>>
<<narrative "Before I can protest further, she positions herself above me, her wet pussy hovering just above my hard cock. The way she moves is so confident, so in control, and I find myself responding despite my confusion and the overwhelming sense that this is wrong.">>
<</if>>
<<if $dreamBodyType === "female">>
<center><img src="images/serin/dreamsequence/female/prepare.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/serin/dreamsequence/prepare.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<if $dreamBodyType === "female">>
<<narrative "She looks down at me with those teasing eyes, but now filled with raw desire and dominance. Her hands rest on my chest, and I can feel her heat radiating against me as her wet pussy hovers just above my face.">>
<<else>>
<<narrative "She looks down at me with those teasing eyes, but now filled with raw desire and dominance. Her hands rest on my chest, and I can feel her heat radiating against me as my cock begins to throb with need.">>
<</if>>
<<dialog "Serin" "facewet" "Mmm... that's it," "she moans softly" "Just relax and let me take control... I know exactly what you need.">>
<<if $dreamBodyType === "female">>
<<narrative "She breaks eye contact and looks down at my face with a satisfied smile. Her hands begin to explore my body, tracing patterns across my chest, her touch both familiar and forbidden.">>
<<else>>
<<narrative "She breaks eye contact and looks down at my growing erection with a satisfied smile. Her hands begin to explore my body, tracing patterns across my chest and down to my hard cock, her touch both familiar and forbidden.">>
<</if>>
<<if $dreamBodyType === "female">>
<<dialog "Serin" "facewet" "Now, let me show you how much I've missed this," "she breathes, positioning herself above me" "I want you to taste me until you forget everything else... including that little girlfriend of yours.">>
<<else>>
<<dialog "Serin" "facewet" "Now, let me show you how much I've missed this," "she breathes, positioning herself above me" "I want to ride you until you forget everything else... including that little girlfriend of yours.">>
<</if>>
<<narrative "Her words send shivers down my spine as she moves closer to me. Despite my confusion and the voice in my head screaming that this is cheating on Liora, I can't resist the pull of her seductive gaze and the way her naked body moves against the sheets.">>
<<if $dreamBodyType === "female">>
<<thought "Rylan" "female/faceworried" "I should resist... this is cheating on Liora." "But the way she's looking at me, the way she's talking" "Somehow it feels like she's telling the truth.">>
<<else>>
<<thought "Rylan" "faceworried" "I should resist... this is cheating on Liora." "But the way she's looking at me, the way she's talking" "Somehow it feels like she's telling the truth.">>
<</if>>
<<if $dreamBodyType === "female">>
<<dialog "Serin" "facewet" "Come on, good girl," "she breathes, her voice filled with need" "Just like always. You know what to do.">>
<<else>>
<<dialog "Serin" "facewet" "Come on, $humanName," "she breathes, her voice filled with need" "Just like always. You know what to do.">>
<</if>>
<<narrative "I can feel my body responding to her words, as if some deep memory is awakening. Despite my confusion and the voice in my head screaming that this is wrong, I find myself moving into position.">>
<<if $dreamBodyType === "female">>
<<thought "Rylan" "female/facewet" "This feels so wrong, but so right at the same time." "I can't believe I'm about to do this, but I can't stop" "The way she's looking at me, the way she's talking... it's intoxicating.">>
<<else>>
<<thought "Rylan" "facewet" "This feels so wrong, but so right at the same time." "I can't believe I'm about to do this, but I can't stop" "The way she's looking at me, the way she's talking... it's intoxicating.">>
<</if>>
<<if $dreamBodyType === "female">>
<<dialog "Serin" "facewet" "That's it, good girl," "she purrs" "Show me how much you want me. Lick me like the woman you are.">>
<center><img src="images/serin/dreamsequence/female/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Serin positions herself above me, her wet pussy hovering just above my face while she straddles my hips. She looks down at me with those playful, teasing eyes, but now filled with raw desire and dominance.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeAttraction "Rylan" "Serin" 0.3>>
<<dialog "Serin" "facesmirk" "Oh... look how wet you are for me, good girl..." "she teases, her eyes sparkling with mischief" "I can feel how much you want this... how much you need me to take control.">>
<<else>>
<<dialog "Serin" "facewet" "That's it, my dear," "she purrs" "Show me how much you want me. Take me like the man you are.">>
<</if>>
<<if $dreamBodyType === "female">>
<<continueBox "Chapter6RylanHaremdreamSerinFemaleSex" "Continue" "Begin the intimate act...">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamSerinSex" "Continue" "Begin the intimate act...">>
<</if>>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/serin/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<nobr>>
<<narrative "As we reach the peak of our passion, I feel my orgasm building, the pressure in my balls becoming unbearable. Serin's pussy clenches around me, milking my cock as she reaches her own climax.">>
<<narrative "With a final, powerful thrust, I explode inside her, my hot cum filling her completely. She cries out with pleasure, her body convulsing around me as wave after wave of ecstasy crashes over us both.">>
<center><img src="images/serin/dreamsequence/cowgirl/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeAttraction "Rylan" "Serin" 0.2>>
<<narrative "We collapse together, our bodies still connected as we ride out the aftershocks of our shared orgasm. The dream world around us shimmers and fades, leaving us both breathless and satisfied.">>
<center><img src="images/serin/dreamsequence/cowgirl/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if not $rylanHaremDream and $chapter6Dreams>>
<<continueBox "NightActivitiesEnd" "Continue" "The dream fades...">>
<<elseif $dreamNimeria>>
<<continueBox "Chapter6RylanHaremdreamNimeria" "Continue" "">>
<<elseif $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamSeryk" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamThalor" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamSora" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/serin/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<narrative "As we reach the peak of our passion, I feel my orgasm building, the pressure in my pussy becoming unbearable. Serin's pussy clenches around my tongue as she reaches her own climax, and I can feel her wetness coating my face.">>
<center><img src="images/serin/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "With a final, powerful thrust of my tongue, we both explode together. I feel my pussy clench and release as I squirt, my hot juices spraying out in thick streams. Serin cries out with pleasure, her body convulsing above me as wave after wave of ecstasy crashes over us both.">>
<center><img src="images/serin/dreamsequence/female/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<center><img src="images/serin/dreamsequence/female/cum3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I can feel my own squirt dripping down my thighs as I continue to lick her, our bodies slick with our combined juices. The sensation is incredible as we both ride out our orgasms together.">>
<<dialog "Serin" "facewet" "Oh god... you're squirting too..." "she gasps between moans">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Serin" 0.2>>
<<narrative "We collapse together on the bed, as we ride out the aftershocks of our shared orgasm. The dream world around us shimmers and fades, leaving us both breathless and satisfied, covered in our combined juices.">>
<<if not $rylanHaremDream and $chapter6Dreams>>
<<continueBox "NightActivitiesEnd" "Continue" "The dream fades...">>
<<elseif $dreamNimeria>>
<<continueBox "Chapter6RylanHaremdreamNimeriaFemale" "Continue" "">>
<<elseif $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamSerykFemale" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamThalorFemale" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamSoraFemale" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/serin/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<narrative "With a final, powerful thrust, she explodes, her hot cum shooting out in thick ropes all over my face. I can feel it splashing against my cheeks, my nose, my lips, and I'm overwhelmed by the sensation.">>
<center><img src="images/serin/dreamsequence/futa/female/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "It's so warm," "I moan," "I can't believe how much you came.">>
<center><img src="images/serin/dreamsequence/futa/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Oh my god... that was amazing," "she breathes heavily" "You were so good. I can't believe how much you wanted it.">>
<<narrative "She collapses beside me, her body still trembling from the intensity of her orgasm. I can feel her cum dripping down my face.">>
<<thought "Rylan" "female/facewet" "I can't believe I just did that...">>
<center><img src="images/serin/dreamsequence/futa/female/cum3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facesmirk" "Look at you," "she purrs, running her fingers through the cum on my face" "You're such a mess. I love seeing you like this.">>
<<narrative "She leans in close, her lips brushing against my ear as she whispers seductively.">>
<<dialog "Serin" "facewet" "I hope you enjoyed that," "she breathes" "Because I'm not done with you yet. I want to show you so much more.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Serin" 0.2>>
<<changeLust "Rylan" 15>>
<<narrative "She climbs on top of me on the bed, her body still trembling from the intensity of our shared pleasure.">>
<<narrative "Suddenly the dream world around us shimmers and fades...">>
<<if not $rylanHaremDream and $chapter6Dreams>>
<<continueBox "NightActivitiesEnd" "Continue" "The dream fades...">>
<<elseif $dreamNimeria>>
<<continueBox "Chapter6RylanHaremdreamNimeriaFemale" "Continue" "">>
<<elseif $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamSerykFemale" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamThalorFemale" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamSoraFemale" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/serin/moansoft.mp3" "sounds/hsounds/kiss.wav" 1>>
<div class="passage-container rylan">
<<narrative "Before I can think about it further, I lean forward and press my lips against her smooth, heavy balls. The skin is so soft and warm, and the taste is unlike anything I've ever experienced - salty, musky, but with that feminine sweetness that makes my head spin.">>
<center><img src="images/serin/dreamsequence/futa/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/faceembarrassed" "Mmm..." "I moan softly against her skin" "They taste... different than I expected. So soft and warm.">>
<<thought "Rylan" "female/facewet" "This feels so wrong, but so right at the same time." "I can't believe I'm kissing her balls, but I can't stop" "The taste, the feel, the way they're so heavy and warm... it's intoxicating.">>
<<dialog "Serin" "facewet" "That's it, good girl," "she moans, her voice filled with pleasure" "Just like that. Now let me show you what it feels like to really taste me.">>
<<narrative "She begins to move her hips, slowly grinding her balls against my lips. I can feel them pulsing with need, and I find myself opening my mouth wider to accommodate them.">>
<center><img src="images/serin/dreamsequence/futa/female/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "They're so big and heavy... I can barely fit them in my mouth." "But the way she moans when I try to take more" "It makes me want to please her even more.">>
<center><img src="images/serin/dreamsequence/futa/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Oh yes... that's it," "she moans" "Take more of me. I want to feel your tongue on every inch.">>
<<narrative "I begin to lick along the smooth surface of her balls, exploring every curve and crease. Her moans grow louder, and I can feel her body trembling with pleasure above me.">>
<center><img src="images/serin/dreamsequence/futa/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Mmm... you taste so good," "I moan against her skin" "I can't get enough of this.">>
<<thought "Rylan" "female/facewet" "The way she smells... it's so feminine but so arousing." "That musky sweetness mixed with something deeper" "I never knew a girl's balls could smell so intoxicating.">>
<center><img src="images/serin/dreamsequence/futa/female/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Oh fuck... you're so good at this," "she gasps" "I can't believe how much you want me. You're such a good girl.">>
<<narrative "Suddenly, she shifts position, laying her thick, smooth cock across my face while I continue to kiss and lick her heavy balls. The weight of her shaft presses against my cheek, and I can feel it pulsing with need.">>
<center><img src="images/serin/dreamsequence/futa/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "Now her cock is on my face too... I can feel it so close to my mouth." "But I keep focusing on her balls, kissing and licking them" "The way she's grinding against me is so intense.">>
<<dialog "Serin" "facewet" "Yes... that's it," "she moans, beginning to hump her cock against my face" "Keep licking my balls while I fuck your face with my cock.">>
<<narrative "She starts to move her hips rhythmically, grinding her smooth shaft against my face while I continue to worship her balls with my lips and tongue. The sensation is overwhelming - her cock sliding across my skin while her balls press against my mouth.">>
<<thought "Rylan" "female/facewet" "This is so intense... her cock is sliding all over my face." "But I can't stop licking her balls, they taste so good" "The way she's humping against me is driving me crazy.">>
<<dialog "Rylan" "female/facewet" "Mmm... your balls taste amazing," "I moan between licks" "And your cock feels so smooth against my face.">>
<<dialog "Serin" "facewet" "Oh yes... you're such a good girl," "she gasps, her movements becoming more frantic" "I love how you can't stop licking my balls even while I fuck your face.">>
<<narrative "She begins to move more forcefully, her cock sliding back and forth across my face while her balls bounce against my lips. I can feel her getting closer to climax, and I redouble my efforts on her balls.">>
<center><img src="images/serin/dreamsequence/futa/female/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "She's getting so close... I can feel her cock throbbing against my face." "I need to keep licking her balls, make her cum" "This is so wrong but so right at the same time.">>
<<dialog "Serin" "facewet" "Yes... yes... just like that," "she moans" "I'm so close... I can feel it building up.">>
<<narrative "Her thrusts become more erratic, and I can feel her cock pulsing with need. She's close to climax, and I can tell by the way her body tenses and her moans grow more desperate.">>
<<dialog "Serin" "facewet" "Oh fuck... I'm going to cum," "she gasps" "I'm going to cum all over your face!">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Serin" 0.2>>
<<continueBox "Chapter6RylanHaremdreamSerinFemaleFutaCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<playLoopingSounds "sounds/hsounds/serin/moansoft.mp3" "sounds/hsounds/blowjob.mp3" 1>>
<<narrative "She slowly lowers herself onto my face, her wet pussy pressing against my lips. The sensation is overwhelming - her smooth, wet folds against my mouth as she begins to grind against me with confident, dominant movements.">>
<center><img src="images/serin/dreamsequence/female/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Mmm... that's it, good girl..." "she whispers, her hands resting on my chest" "Now lick me... show me how much you want to please me.">>
<center><img src="images/serin/dreamsequence/female/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/faceembarrassed" "Oh god... her pussy is right against my mouth..." "I can feel her wetness on my lips" "This is so wrong, but I can't resist... I need to taste her.">>
<<narrative "I instinctively part my lips and begin to lick her wet folds. The taste is intoxicating - sweet, musky, and so incredibly arousing. I can feel her pussy clench against my tongue as I explore her with growing hunger.">>
<center><img src="images/mariel/dreamsequence/female/frenchkiss2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Mmm... you taste so good..." "I moan against her pussy, my voice muffled" "I can't stop... I need more...">>
<<dialog "Serin" "facewet" "Yes... that's it, good girl..." "she gasps, grinding harder against my face" "Lick me deeper... I want to feel your tongue inside me.">>
<center><img src="images/serin/dreamsequence/female/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She begins to rock her hips slowly, grinding her pussy against my face while I continue to lick her. Each movement sends waves of pleasure through both our bodies, and I can feel her getting wetter with each stroke of my tongue.">>
<<thought "Rylan" "female/facewet" "This feels so incredible... her pussy is so wet and warm against my tongue." "I can't believe I'm doing this, but I can't stop" "The way she's grinding against me is driving me crazy.">>
<center><img src="images/mariel/dreamsequence/female/frenchkiss4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I can feel her wetness coating my lips and chin as she grinds against me. Her breathing becomes heavier, and I can feel her body trembling with pleasure above me.">>
<center><img src="images/serin/dreamsequence/female/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeFetish "Rylan" "SubmissionFetish" 0.1>>
<<changeAttraction "Rylan" "Serin" 0.1>>
<<dialog "Serin" "facesmirk" "Yes... yes... that's it, good girl..." "she moans, her voice filled with pleasure and dominance" "Look at you, so helpless beneath me... I bet Liora never makes you feel like this.">>
<<dialog "Rylan" "female/facewet" "Oh god... this feels so good..." "I moan against her pussy, my voice trembling with pleasure" "I can't stop licking you... you taste amazing...">>
<<dialog "Serin" "facesmirk" "You can't stop because you love it, good girl," "she teases, grinding harder against my face" "I can see it in your eyes... you want me more than her.">>
<<narrative "She increases her pace, grinding against my face with growing intensity. Her breasts bounce with each movement, and I can see the pleasure written across her face as she loses herself in the moment.">>
<center><img src="images/serin/dreamsequence/female/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She leans forward, her hands pressing against my chest as she grinds harder against me. Her athletic body moves with perfect rhythm, each movement sending waves of pleasure through both our bodies.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.1>>
<<changeAttraction "Rylan" "Serin" 0.1>>
<<dialog "Serin" "facesmirk" "Oh... oh yes, good girl..." "she moans softly, her voice filled with ecstasy" "Look at you, so helpless beneath me... I bet Liora never sits on your face like this, does she?">>
<center><img src="images/serin/dreamsequence/female/5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The pace quickens as our passion builds, our bodies moving in perfect harmony.">>
<center><img src="images/serin/dreamsequence/female/6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I can feel my own pleasure building as she grinds harder and faster against me. Her pussy is so wet and smooth, pressing against my lips with each movement as if trying to milk every drop of pleasure from me.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.1>>
<<changeAttraction "Rylan" "Serin" 0.1>>
<<dialog "Serin" "facesmirk" "I'm... I'm getting close, good girl..." "she gasps, her hands gripping my shoulders" "Tell me how tasty my pussy is... tell me how much you love licking me.">>
<<narrative "She begins moving her pussy faster against my face, grinding harder and more urgently. I can feel her getting wetter with each movement, and I know she's nearing her climax.">>
<<dialog "Rylan" "female/facewet" "Oh god... your pussy tastes so fucking good..." "I moan against her, my voice muffled" "I love licking you... I can't get enough...">>
<<dialog "Serin" "facewet" "Yes... yes... that's it..." "she gasps, grinding even harder" "Tell me more... tell me how much you want me...">>
<<narrative "She's moving so fast now, her pussy grinding against my face with desperate urgency. I can feel her body trembling above me as she approaches her climax.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.1>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Serin" 0.1>>
<<continueBox "Chapter6RylanHaremdreamSerinFemaleCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/serin/moansoft.mp3" "sounds/hsounds/kiss.wav" 1>>
<div class="passage-container rylan">
<<narrative "Before I can think about it further, I lean forward and press my lips against her smooth, heavy balls. The skin is so soft and warm, and the taste is unlike anything I've ever experienced - salty, musky, but with that feminine sweetness that makes my head spin.">>
<center><img src="images/serin/dreamsequence/futa/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "faceembarrassed" "Mmm..." "I moan softly against her skin" "They taste... different than I expected. So soft and warm.">>
<<thought "Rylan" "facewet" "This feels so wrong, but so right at the same time." "I can't believe I'm kissing her balls, but I can't stop" "The taste, the feel, the way they're so heavy and warm... it's intoxicating.">>
<<dialog "Serin" "facewet" "That's it, baby," "she moans, her voice filled with pleasure" "Just like that. Now let me show you what it feels like to really taste me.">>
<<narrative "She begins to move her hips, slowly grinding her balls against my lips. I can feel them pulsing with need, and I find myself opening my mouth wider to accommodate them.">>
<<thought "Rylan" "facewet" "They're so big and heavy... I can barely fit them in my mouth." "But the way she moans when I try to take more" "It makes me want to please her even more.">>
<center><img src="images/serin/dreamsequence/futa/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Oh yes... that's it," "she moans" "Take more of me. I want to feel your tongue on every inch.">>
<<narrative "I begin to lick along the smooth surface of her balls, exploring every curve and crease. Her moans grow louder, and I can feel her body trembling with pleasure above me.">>
<center><img src="images/serin/dreamsequence/futa/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Mmm... you taste so good," "I moan against her skin" "I can't get enough of this.">>
<<thought "Rylan" "facewet" "The way she smells... it's so feminine but so arousing." "That musky sweetness mixed with something deeper" "I never knew a girl's balls could smell so intoxicating.">>
<<dialog "Serin" "facewet" "Oh fuck... you're so good at this," "she gasps" "I can't believe how much you want me. You're such a good boy.">>
<<narrative "Suddenly, she shifts position, laying her thick, smooth cock across my face while I continue to kiss and lick her heavy balls. The weight of her shaft presses against my cheek, and I can feel it pulsing with need.">>
<center><img src="images/serin/dreamsequence/futa/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facewet" "Now her cock is on my face too... I can feel it so close to my mouth." "But I keep focusing on her balls, kissing and licking them" "The way she's grinding against me is so intense.">>
<<dialog "Serin" "facewet" "Yes... that's it," "she moans, beginning to hump her cock against my face" "Keep licking my balls while I fuck your face with my cock.">>
<<narrative "She starts to move her hips rhythmically, grinding her smooth shaft against my face while I continue to worship her balls with my lips and tongue. The sensation is overwhelming - her cock sliding across my skin while her balls press against my mouth.">>
<<thought "Rylan" "facewet" "This is so intense... her cock is sliding all over my face." "But I can't stop licking her balls, they taste so good" "The way she's humping against me is driving me crazy.">>
<center><img src="images/serin/dreamsequence/futa/lick1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Mmm... your balls taste amazing," "I moan between licks" "And your cock feels so smooth against my face.">>
<<dialog "Serin" "facewet" "Oh yes... you're such a good boy," "she gasps, her movements becoming more frantic" "I love how you can't stop licking my balls even while I fuck your face.">>
<<narrative "She begins to move more forcefully, her cock sliding back and forth across my face while her balls bounce against my lips. I can feel her getting closer to climax, and I redouble my efforts on her balls.">>
<<thought "Rylan" "facewet" "She's getting so close... I can feel her cock throbbing against my face." "I need to keep licking her balls, make her cum" "This is so wrong but so right at the same time.">>
<<dialog "Serin" "facewet" "Yes... yes... just like that," "she moans" "I'm so close... I can feel it building up.">>
<<narrative "Her thrusts become more erratic, and I can feel her cock pulsing with need. She's close to climax, and I can tell by the way her body tenses and her moans grow more desperate.">>
<<dialog "Serin" "facewet" "Oh fuck... I'm going to cum," "she gasps" "I'm going to cum all over your face!">>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeAttraction "Rylan" "Serin" 0.2>>
<<continueBox "Chapter6RylanHaremdreamSerinFutaCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/serin/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<nobr>>
<div class="passage-container rylan">
<<narrative "With a final, powerful thrust, she explodes, her hot cum shooting out in thick ropes all over my face. I can feel it splashing against my cheeks, my nose, my lips, and I'm overwhelmed by the sensation.">>
<center><img src="images/serin/dreamsequence/futa/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "It's so warm," "I moan," "I can't believe how much you came.">>
<center><img src="images/serin/dreamsequence/futa/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Oh my god... that was amazing," "she breathes heavily" "You were so good. I can't believe how much you wanted it.">>
<<narrative "She collapses beside me, her body still trembling from the intensity of her orgasm. I can feel her cum dripping down my face.">>
<<thought "Rylan" "facewet" "I can't believe I just did that...">>
<center><img src="images/serin/dreamsequence/futa/cumface.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facesmirk" "Look at you," "she purrs, running her fingers through the cum on my face" "You're such a mess. I love seeing you like this.">>
<<narrative "She leans in close, her lips brushing against my ear as she whispers seductively.">>
<<dialog "Serin" "facewet" "I hope you enjoyed that," "she breathes" "Because I'm not done with you yet. I want to show you so much more.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeAttraction "Rylan" "Serin" 0.2>>
<<changeLust "Rylan" 15>>
<<narrative "She climbs on top of me on the bed, her body still trembling from the intensity of our shared pleasure.">>
<<narrative "Suddenly the dream world around us shimmers and fades...">>
<<if not $rylanHaremDream and $chapter6Dreams>>
<<continueBox "NightActivitiesEnd" "Continue" "The dream fades...">>
<<elseif $dreamNimeria>>
<<continueBox "Chapter6RylanHaremdreamNimeria" "Continue" "">>
<<elseif $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamSeryk" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamThalor" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamSora" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<playLoopingSounds "sounds/hsounds/serin/moansoft.mp3" "sounds/hsounds/sex.mp3" 1>>
<<narrative "Serin positions herself above me, her wet pussy hovering just above my hard cock. She looks down at me with those playful, teasing eyes, but now filled with raw desire and dominance.">>
<<dialog "Serin" "facesmirk" "Oh... look how hard you are for me..." "she teases, her eyes sparkling with mischief" "I can feel how much you want this... how much you need me to take control.">>
<<narrative "She slowly lowers herself onto me, taking my cock inside her with a soft moan. The sensation is overwhelming - her tight, wet pussy gripping me like a velvet glove as she begins to move with confident, dominant strokes.">>
<center><img src="images/serin/dreamsequence/cowgirl/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Mmm... that's it..." "she whispers, her hands resting on my chest" "Just let me do all the work... I know exactly how to make you feel good.">>
<center><img src="images/serin/dreamsequence/cowgirl/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "faceembarrassed" "Serin... this is wrong..." "I stammer, my voice trembling with both pleasure and guilt" "I'm with Liora... we can't...">>
<<dialog "Serin" "facesmirk" "Oh, shut up and enjoy it," "she teases, riding me harder" "Liora's not here, and I know you want this... I can feel how hard you are for me.">>
<<narrative "She begins to rock her hips slowly, her body moving in perfect rhythm with mine. Each movement sends waves of pleasure through both our bodies.">>
<center><img src="images/serin/dreamsequence/cowgirl/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "faceworried" "This feels so good, but it's so wrong... I'm cheating on Liora, but I can't stop myself from responding to her touch." "I'm torn between the overwhelming pleasure and the voice in my head screaming that this is forbidden.">>
<<narrative "I can feel her walls tightening around me as she responds to each movement. Her breathing becomes heavier, and I can feel her body trembling with pleasure above me.">>
<center><img src="images/serin/dreamsequence/cowgirl/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facesmirk" "Yes... yes... that's it..." "she moans, her voice filled with pleasure and dominance" "Look at you, so helpless beneath me... I bet Liora never makes you feel like this.">>
<<dialog "Rylan" "faceembarrassed" "Oh god... this feels so good..." "I moan, my voice filled with both pleasure and shame" "But I shouldn't... I can't...">>
<<dialog "Serin" "facesmirk" "You can and you will," "she teases, riding me harder" "I can see it in your eyes... you want me more than her.">>
<<narrative "She increases her pace, riding me with growing intensity. Her breasts bounce with each movement, and I can see the pleasure written across her face as she loses herself in the moment.">>
<center><img src="images/serin/dreamsequence/cowgirl/5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She leans forward, her hands pressing against my chest as she rides me harder. Her athletic body moves with perfect rhythm, each thrust sending waves of pleasure through both our bodies.">>
<<dialog "Serin" "facesmirk" "Oh... oh yes..." "she moans softly, her voice filled with ecstasy" "Look at you, so helpless beneath me... I bet Liora never rides you like this, does she?">>
<center><img src="images/serin/dreamsequence/cowgirl/6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The pace quickens as our passion builds, our bodies moving in perfect harmony.">>
<center><img src="images/serin/dreamsequence/cowgirl/7.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I can feel my own pleasure building as she rides me harder and faster. Her pussy is so tight and wet, gripping my cock with each movement as if trying to milk every drop of pleasure from me.">>
<<dialog "Serin" "facesmirk" "I'm... I'm getting close..." "she gasps, her hands gripping my shoulders" "But I want to hear you beg... beg me to let you cum... tell me how much better I am than your little girlfriend.">>
<<dialog "Rylan" "faceembarrassed" "I... I can't say that..." "I stammer, my voice trembling with desperation" "Liora is my girlfriend... I love her...">>
<<dialog "Serin" "facesmirk" "Oh really?" "she teases, suddenly stopping her movements" "Then I guess I'll just stop...">>
<<narrative "She stops riding me completely, leaving me on the edge of orgasm. The sudden lack of movement is torture, and I can feel my cock throbbing with need.">>
<center><img src="images/serin/dreamsequence/cowgirl/8.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "faceembarrassed" "No... please don't stop..." "I beg, my voice filled with desperation" "I need you... but I can't...">>
<<dialog "Serin" "facesmirk" "Then tell me the truth," "she whispers, starting to move again slowly" "Tell me I'm better than her...">>
<<narrative "She begins riding me again, but slower this time, teasing me with each movement. I can feel my orgasm building, but she's controlling the pace.">>
<center><img src="images/serin/dreamsequence/cowgirl/9.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "faceembarrassed" "I... I can't..." "I moan, my voice filled with both pleasure and shame" "This is wrong... I shouldn't...">>
<<dialog "Serin" "facesmirk" "Wrong?" "she laughs, stopping again" "Then I'll stop...">>
<<narrative "She stops once more, leaving me desperate and throbbing. The edge of orgasm is so close, but she won't let me reach it.">>
<<narrative "Something snaps inside me. The frustration, the need, the overwhelming desire - it all comes crashing down at once. I can't take her teasing anymore.">>
<<dialog "Rylan" "faceangry" "Fuck it! OK! You're better!" "I shout, my voice filled with raw desperation and need" "You're so much fucking better than Liora! Now let me fuck you!">>
<<narrative "I grab her hips with both hands and start thrusting up into her with wild abandon. No more being passive - I'm taking control now, fucking her as hard as she's riding me.">>
<center><img src="images/serin/dreamsequence/cowgirl/11.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Yes! Yes! This is it!" "she cries out, her eyes lighting up with excitement" "Fuck me harder! Show me how much you want me!">>
<<narrative "She matches my intensity, riding me with equal ferocity. Our bodies slam together in perfect rhythm, both of us lost in the raw passion of the moment.">>
<<dialog "Rylan" "faceangry" "I want you so fucking bad!" "I growl, thrusting up into her with every ounce of strength I have" "You feel so good... so fucking tight...">>
<<dialog "Serin" "facewet" "Yes! Fuck me! Fuck me like you mean it!" "she moans, her voice filled with ecstasy" "This is what I wanted... this is what I needed!">>
<center><img src="images/serin/dreamsequence/cowgirl/10.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The room fills with the sound of our bodies slapping together, both of us completely lost in the moment. I can feel my orgasm building rapidly as I fuck her with everything I have.">>
<<dialog "Rylan" "faceangry" "I'm gonna cum!" "I shout, my voice filled with raw need" "I'm gonna fucking cum inside you!">>
<<dialog "Serin" "facewet" "Yes! Cum with me!" "she cries out, her body convulsing above me" "Cum inside me! Show me how much you want me!">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Serin" 0.2>>
<<narrative "I can feel her orgasm washing over her as her pussy clenches around me like a vice. The sensation is overwhelming, and I know I can't hold back much longer as my own climax approaches rapidly.">>
<<continueBox "Chapter6RylanHaremdreamSerinCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<set $rylanDreamSerykHarem = true>>
<div class="passage-container rylan">
<<if $rylanHaremDream == false>>
<<narrative "I wake up and find myself lying on Liora's bed, completely naked, wondering how I got here.">>
<<elseif $dreamNimeria>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Nimeria is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamSerin>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Serin is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamMariel>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice my $marielToHuman is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamLiora>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Liora is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when the dream shifts around me. The room remains Liora's bedroom, but now bathed in warm, intimate lighting. I hear the door creak open.">>
<</if>>
<<narrative "The door opens slowly, and there, standing in the doorway completely naked, is Seryk. His muscular, powerful body glows in the warm light, his toned physique highlighted by the intimate atmosphere. But there's something different about him tonight - those kind, gentle eyes now hold a depth of desire that makes my heart race.">>
<center><img src="images/seryk/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "He approaches the bed with that familiar gentle grace, but now there's a confident, almost protective energy about him. The way he moves is so unlike the gentle Seryk I know - there's a raw, commanding presence about him tonight.">>
<<dialog "Seryk" "face" "I see you're ready for me," "he says with that familiar gentle voice, but now filled with seductive charm" "You look so beautiful lying there, waiting for me.">>
<<if $dreamNimeria and $dreamSerin and $dreamMariel and $dreamLiora>>
<<thought "Rylan" "faceshocked" "Oh my god... Seryk too?!" "I sit up on the bed, my mind completely shattered" "Five people... FIVE PEOPLE have been naked in front of me!" "This is absolutely insane... Liora, $humanToMariel, Serin, Nimeria, and now Seryk... this is beyond comprehension.">>
<<elseif $dreamSerin and $dreamMariel and $dreamLiora>>
<<thought "Rylan" "faceshocked" "What the actual fuck?! Seryk is here too?!" "I sit up on the bed, my mind completely blown" "Four people... FOUR PEOPLE have been naked in front of me tonight!" "This is getting completely out of control... Liora, $humanToMariel, Serin, and now Seryk... this is madness!">>
<<elseif $dreamMariel and $dreamLiora>>
<<thought "Rylan" "faceshocked" "No way... not Seryk too!" "I sit up on the bed, my mind reeling" "Three people now... this is getting completely insane!" "Liora, $humanToMariel, and now Seryk... what the hell is happening to me?">>
<<elseif $dreamLiora>>
<<thought "Rylan" "faceshocked" "What is going on?! Now Seryk too?!" "I sit up on the bed, my mind spinning" "Two people... TWO PEOPLE have been naked in front of me!" "This is getting completely crazy... Liora and now Seryk... this can't be real.">>
<<else>>
<<thought "Rylan" "faceshocked" "What the hell? Seryk is naked... this can't be happening." "I sit up on the bed, my mind reeling from the shock" "This is so wrong on so many levels.">>
<</if>>
<<dialog "Rylan" "faceconfused" "Seryk?! Y-you are naked..." "I stammer, my voice trembling with both arousal and confusion" "What are you doing here?">>
<<dialog "Seryk" "face" "Oh, my $humanName," "he laughs softly, climbing onto the bed beside me with that familiar gentle grace" "Don't tell me you've forgotten all our little... sessions together. We've done this so many times.">>
<<thought "Rylan" "faceworried" "This can't be real... he's talking like we've been lovers." "I feel a strange pull toward him, but something tells me this is wrong - I'm not even gay, am I?">>
<<narrative "His words send shivers down my spine as he moves closer to me. Despite my confusion and the voice in my head screaming that this is wrong, I can't resist the pull of his seductive gaze and the way his naked body moves against the sheets.">>
<<dialog "Seryk" "facewet" "I see that look in your eyes," "he whispers, his voice filled with desire" "You're remembering now, aren't you? How good it felt when I was inside you.">>
<<narrative "Before I can protest further, he positions himself in front of me, his thick, hard cock standing erect. The way he moves is so confident, so in control, and I find myself responding despite my confusion and the overwhelming sense that this is wrong.">>
<center><img src="images/seryk/dreamsequence/pose.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "He looks down at me with those gentle eyes, but now filled with raw desire and dominance. His thick cock throbs with need, and I can see how aroused he is as my own body begins to respond.">>
<<dialog "Seryk" "facewet" "You made me addicted to your body," "he moans softly" "I can't get enough of you. I need you so badly tonight.">>
<<thought "Rylan" "faceworried" "I should resist... this is so wrong." "But the way he's looking at me, the way he's talking" "Somehow it feels like he's telling the truth.">>
<<dialog "Seryk" "facewet" "Come on, $humanName," "he breathes, his voice filled with need" "Just like always. You know what to do.">>
<<narrative "I can feel my body responding to his words, as if some deep memory is awakening. Despite my confusion and the voice in my head screaming that this is wrong, I find myself moving into position.">>
<<thought "Rylan" "facewet" "This feels so wrong, but so right at the same time." "I can't believe I'm about to do this, but I can't stop" "The way he's looking at me, the way he's talking... it's intoxicating.">>
<<dialog "Rylan" "facewet" "I... I can't resist you," "I moan, my voice trembling with desire">>
<<dialog "Seryk" "facewet" "That's it," "he purrs" "Show me how much you want me. I'm going to take you like I always do.">>
<<narrative "I position myself on all fours, as if we've done this countless times before. The movement feels natural, familiar, and I can feel my body responding to his presence.">>
<center><img src="images/seryk/dreamsequence/ready.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "facewet" "Perfect," "he moans" "You look so beautiful like this. I can't wait to be inside you again.">>
<<continueBox "Chapter6RylanHaremdreamSerykSex" "Continue" "Begin the intimate act...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/seryk/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<narrative "With a final, powerful thrust, we both reach our climax together. Seryk explodes inside me, his hot cum shooting deep into my body, while my own orgasm crashes over me in waves of incredible pleasure.">>
<center><img src="images/seryk/dreamsequence/orgasmej.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck... we're both cumming together," "I moan" "I can feel you filling me up while I'm exploding!">>
<<dialog "Seryk" "facewet" "Yes... yes... we came together," "he gasps" "I want you to have every last drop while you cum for me.">>
<<narrative "He collapses on top of me, his body still trembling from the intensity of his orgasm. I can feel his cum dripping out of me, and the sensation is so erotic that I can't help but moan with pleasure.">>
<<thought "Rylan" "facewet" "I can't believe I just did that... he came inside me." "The way he was caring for me, the way he was gentle...">>
<<dialog "Seryk" "facewet" "Oh my god... that was incredible," "he breathes heavily" "You were so good. I love how you respond to me.">>
<<narrative "He remains on top of me, his body still pressed against mine. I can feel his cum dripping out of me and pooling on the bed sheets, and the sight is so erotic that I can't look away.">>
<center><img src="images/seryk/dreamsequence/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "You were amazing," "I whisper" "I've never felt so complete, so loved.">>
<<thought "Rylan" "facewet" "I completely forgot about everything... Seryk made me forget everything." "The way he cared for me, the way he was gentle with me" "It made me feel so safe, so loved.">>
<<dialog "Seryk" "facesmirk" "You're such a good boy," "he purrs" "you are taking me in so well.">>
<<narrative "He climbs on top of me on the bed, his body still trembling from the intensity of our shared pleasure. His cum is still dripping out of me, and the sight is so erotic that I can't look away.">>
<<dialog "Seryk" "facewet" "I hope you enjoyed that," "he breathes" "Because I'm not done with you yet. I want to show you so much more.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.4>>
<<changeFetish "Rylan" "AssFetish" 0.3>>
<<changeFetish "Rylan" "GayValue" 0.2>>
<<changeAttraction "Rylan" "Seryk" 0.2>>
<<changeLust "Rylan" 15>>
<<narrative "The dream world around us shimmers and fades, leaving us both breathless and satisfied. I can still feel his warmth against me, and I know this is something I'll never forget.">>
<<if not $rylanHaremDream and $chapter6Dreams>>
<<continueBox "NightActivitiesEnd" "Continue" "The dream fades...">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamThalor" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamSora" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<set $rylanDreamSerykFemaleHarem = true>>
<div class="passage-container rylan">
<<if $rylanHaremDream == false>>
<<narrative "I wake up and find myself lying on Liora's bed, completely naked, wondering how I got here. But that's not the weirdest thing - I look down and see I'm female?! My body has completely changed, and I can feel the unfamiliar curves and softness that wasn't there before.">>
<<thought "Rylan" "female/faceconfused" "What happened to my body?!" "I touch my chest, feeling the soft mounds that definitely weren't there before" "This can't be real... can it?">>
<<elseif $dreamNimeria>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Nimeria is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamSerin>>
<<narrative "Just as I'm catching my breath from the intense encounter with Serin, I hear heavy footsteps approaching. I look up to see Seryk standing in the doorway, completely naked, his massive frame filling the entrance.">>
<<elseif $dreamMariel>>
<<narrative "Just as I'm catching my breath from the intense encounter with my $marielToHuman, I hear heavy footsteps approaching. I look up to see Seryk standing in the doorway, completely naked, his massive frame filling the entrance.">>
<<elseif $dreamLiora>>
<<narrative "Just as I'm catching my breath from the intense encounter with Liora, I hear heavy footsteps approaching. I look up to see Seryk standing in the doorway, completely naked, his massive frame filling the entrance.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when I hear heavy footsteps approaching. I look up to see Seryk standing in the doorway, completely naked, his massive frame filling the entrance.">>
<</if>>
<center><img src="images/seryk/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $dreamNimeria and $dreamSerin and $dreamMariel and $dreamLiora>>
<<dialog "Seryk" "faceconfident" "Well, well, well," "he says with a knowing grin" "Look at you, princess. Already ready for me, I see. You've been quite busy, haven't you?">>
<<thought "Rylan" "female/faceshocked" "Oh no... Seryk too?!" "I can feel my heart racing with shock and arousal" "Five people... FIVE PEOPLE have been naked in front of me!" "This is absolutely insane... Liora, $humanToMariel, Serin, Nimeria, and now Seryk... this is beyond belief!">>
<<elseif $dreamSerin and $dreamMariel and $dreamLiora>>
<<dialog "Seryk" "faceconfident" "Well, well, well," "he says with a knowing grin" "Look at you, princess. Already ready for me, I see. You've been quite busy, haven't you?">>
<<thought "Rylan" "female/faceshocked" "Oh no... Seryk too?!" "I can feel my heart racing with shock and arousal" "Four people... FOUR PEOPLE have been naked in front of me!" "This is absolutely insane... Liora, $humanToMariel, Serin, and now Seryk... this is beyond belief!">>
<<elseif $dreamMariel and $dreamLiora>>
<<dialog "Seryk" "faceconfident" "Well, well, well," "he says with a knowing grin" "Look at you, princess. Already ready for me, I see. You've been quite busy, haven't you?">>
<<thought "Rylan" "female/faceshocked" "Oh no... Seryk too?!" "I can feel my heart racing with shock and arousal" "Three people... THREE PEOPLE have been naked in front of me!" "This is getting completely crazy... Liora, $humanToMariel, and now Seryk... what the hell is happening?">>
<<elseif $dreamLiora>>
<<dialog "Seryk" "faceconfident" "Well, well, well," "he says with a knowing grin" "Look at you, princess. Already ready for me, I see. You've been quite busy, haven't you?">>
<<thought "Rylan" "female/faceshocked" "Oh no... Seryk too?!" "I can feel my heart racing with shock and arousal" "Two people... TWO PEOPLE have been naked in front of me!" "This is getting completely out of control... Liora and now Seryk... this can't be real.">>
<<else>>
<<dialog "Seryk" "faceconfident" "Well, well, well," "he says with a knowing grin" "Look at you, princess. Already ready for me, I see.">>
<<thought "Rylan" "female/faceshocked" "Oh no... Seryk is naked... this can't be happening." "I can feel my heart racing with shock and arousal" "This is so wrong on so many levels.">>
<</if>>
<<narrative "His massive, muscular body is completely exposed, and I can see his thick cock already hard and ready. The sight is both terrifying and incredibly arousing.">>
<<dialog "Rylan" "female/faceworried" "Seryk?! W-what are you doing here?" "I stammer, my voice trembling" "You're... you're naked...">>
<<dialog "Seryk" "facesmirk" "Oh, don't act so surprised, princess," "he chuckles, stepping closer" "You know exactly why I'm here. I can see how wet you are already.">>
<<thought "Rylan" "female/faceembarrassed" "This can't be real... he's so confident." "I feel a strange pull toward him, but something tells me this is wrong" "I don't like Seryk that way... do I?">>
<<narrative "He approaches the bed with confident strides, his massive frame towering over me. Despite my confusion and the voice in my head screaming that this is wrong, I can't help but feel drawn to his powerful presence.">>
<<dialog "Seryk" "faceconfident" "You know, princess," "he says softly, sitting on the edge of the bed" "This isn't our first time. You remember, don't you? How good it felt when I made you mine.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeAttraction "Rylan" "Seryk" 0.2>>
<<changeLust "Rylan" 10>>
<<continueBox "Chapter6RylanHaremdreamSerykFemaleKiss" "Continue" "Let him begin...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/rylan/female/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<div class="passage-container rylan">
<<narrative "With a final, powerful thrust, Seryk pushes me over the edge. I explode into orgasm, my body convulsing violently as wave after wave of ecstasy crashes over me.">>
<center><img src="images/seryk/dreamsequence/female/sex8.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh god... I'm cumming!" "I scream, my body shaking" "It feels so good!">>
<<thought "Rylan" "female/facewet" "This is incredible... I've never cum this hard before." "The way he's filling me completely" "I can't believe how good this feels.">>
<<narrative "My pussy clenches around his massive cock as I ride out my orgasm, my juices flowing freely. The sensation is overwhelming, and I can feel myself squirting all over him.">>
<<dialog "Seryk" "facewet" "Yes, princess!" "he groans" "Cum for me! Let me feel you squeeze my cock!">>
<<narrative "I can feel his cock pulsing inside me as he reaches his own climax. His hot cum fills me completely, and the sensation is incredible as I feel every drop of his release.">>
<center><img src="images/seryk/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh my god... you're cumming inside me!" "I moan" "I can feel it... it's so hot!">>
<<thought "Rylan" "female/facewet" "I can't believe I just did that with Seryk." "The way he filled me completely" "It felt so right, so perfect.">>
<<narrative "He continues to thrust through his orgasm, his massive cock pumping every last drop of cum deep inside me. The sensation is incredible, and I can feel myself cumming again from the intensity.">>
<<dialog "Seryk" "faceconfident" "You were amazing, princess," "he breathes heavily" "I knew you'd love being filled by me. You're such a good girl.">>
<<narrative "He slowly pulls out, and I can feel his cum dripping out of me. He looks down at me with a satisfied smile, clearly pleased with what we just shared.">>
<center><img src="images/seryk/dreamsequence/female/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "That was... that was incredible," "I pant, my body still trembling" "I never knew it could feel so good.">>
<<thought "Rylan" "female/facewet" "I can't believe what just happened." "The way he made me feel" "It was so... perfect.">>
<<dialog "Seryk" "facesmirk" "I told you, princess," "he says softly" "This wasn't our first time. You remember now, don't you? How good it feels to be mine.">>
<<narrative "The dream world around us begins to shimmer and fade, but the memory of what just happened will stay with me. I collapse back onto the bed, completely spent and satisfied.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.4>>
<<changeAttraction "Rylan" "Seryk" 0.2>>
<<changeLust "Rylan" 25>>
<<if not $rylanHaremDream and $chapter6Dreams>>
<<continueBox "NightActivitiesEnd" "Continue" "The dream fades...">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamThalorFemale" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamSoraFemale" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/kiss.wav" "sounds/hsounds/rylan/female/moanhard.mp3" 1>>
<div class="passage-container rylan">
<<narrative "Before I can protest further, Seryk climbs onto the bed beside me, his massive body making the mattress dip under his weight. He looks down at me with those intense eyes, and I can feel my heart racing.">>
<center><img src="images/seryk/dreamsequence/female/kiss1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/faceembarrassed" "Seryk, I... I don't think this is right," "I stammer, trying to resist" "We shouldn't...">>
<<dialog "Seryk" "facesmirk" "Shh, princess," "he whispers, moving closer" "Don't fight it. You know you want this as much as I do.">>
<<narrative "He leans in slowly, his face getting closer to mine. I can feel his warm breath against my lips, and despite my protests, I find myself not pulling away.">>
<center><img src="images/seryk/dreamsequence/female/kiss2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "I... I don't like you that way," "I whisper, my voice trembling" "This is wrong...">>
<<thought "Rylan" "female/facewet" "Why am I not pushing him away?" "The way he's looking at me... it's so intense" "I can't help but feel drawn to him.">>
<<narrative "He ignores my weak protests and presses his lips against mine in a gentle, tender kiss. His mouth is warm and soft, and I find myself responding despite myself.">>
<center><img src="images/seryk/dreamsequence/female/kiss3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Mmm..." "I moan softly against his lips" "This feels... different than I expected.">>
<<thought "Rylan" "female/facewet" "His kiss is so gentle, so tender." "I can feel myself getting lost in it" "Why does this feel so good?">>
<<narrative "We continue to kiss softly, our lips moving together in a gentle rhythm. I can feel my body responding, my pussy getting wetter with each passing moment.">>
<center><img src="images/seryk/dreamsequence/female/kiss4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "facewet" "That's it, princess," "he breathes between kisses" "Let yourself feel it. You know you want this.">>
<<narrative "His hands begin to roam over my body, exploring every curve with gentle yet firm touches. I can feel myself getting wetter and wetter, my arousal building with each kiss.">>
<center><img src="images/seryk/dreamsequence/female/kiss5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh god... I'm getting so wet," "I moan" "I can feel it... I'm so aroused.">>
<<thought "Rylan" "female/facewet" "I can feel how wet I'm getting... it's embarrassing." "The way he's touching me is making me so aroused" "I'm scared but also so turned on.">>
<<dialog "Seryk" "facesmirk" "I can feel how wet you are, princess," "he chuckles" "You're so ready for me. This isn't our first time, you know.">>
<<narrative "He begins to grind his massive cock against my pussy, the thick shaft sliding between my wet folds. The sensation is incredible, and I can feel myself getting even wetter.">>
<center><img src="images/seryk/dreamsequence/female/cock.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "That thing... it's so big!" "I gasp" "It would never fit!">>
<<thought "Rylan" "female/facewet" "His cock is so huge... there's no way it could fit inside me." "But the way he's grinding against me feels so good" "I'm getting so wet and aroused.">>
<<dialog "Seryk" "faceconfident" "Don't worry, princess," "he says softly" "You remember how good it felt, don't you? How perfectly I fit inside you.">>
<<narrative "He continues to grind against me, his massive cock sliding between my wet folds. I can feel my arousal building to a fever pitch, and I know I can't resist much longer.">>
<<dialog "Rylan" "female/facewet" "I... I can't help it," "I moan" "You make me so wet... so aroused.">>
<<narrative "With a gentle but firm movement, he positions himself above me, his massive cock pressing against my wet entrance. Despite my fears, I can feel my body opening up for him, welcoming him inside.">>
<<dialog "Seryk" "faceconfident" "Here we go, princess," "he whispers" "Let me show you how good it feels to be filled by me.">>
<<narrative "He begins to push forward, and to my amazement, his massive cock slides inside me with ease. There's no pain, only incredible pleasure as he fills me completely.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeAttraction "Rylan" "Seryk" 0.2>>
<<changeLust "Rylan" 15>>
<<continueBox "Chapter6RylanHaremdreamSerykFemaleSex" "Continue" "Let him take control...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/rylan/female/moanhard.mp3" "sounds/hsounds/sex.mp3" "sounds/hsounds/deepkiss.mp3" 1>>
<div class="passage-container rylan">
<<narrative "I can feel his massive cock already deep inside me, and the sensation is incredible. He's so big, so thick - but somehow he fits perfectly, filling me completely.">>
<center><img src="images/seryk/dreamsequence/female/sex1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh my god... it doesn't hurt at all!" "I gasp" "It feels... it feels amazing!">>
<<dialog "Seryk" "faceconfident" "See, princess?" "he moans" "I told you it would feel amazing. You're so tight.">>
<<thought "Rylan" "female/facewet" "This feels incredible... he's so big but it fits perfectly." "The way he's filling me completely" "I've never felt anything like this before.">>
<<narrative "He begins to move, his massive cock sliding in and out of me with slow, deliberate strokes. Each thrust sends waves of pleasure through my body, and I can feel myself getting closer to the edge.">>
<center><img src="images/seryk/dreamsequence/female/sex2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh fuck... yes!" "I moan loudly" "You feel so good inside me!">>
<<dialog "Seryk" "facesmirk" "That's it, princess," "he breathes" "Let me hear how much you're enjoying this. You love being filled by me, don't you?">>
<<narrative "Suddenly, he leans down and presses his lips against mine in a deep, passionate French kiss. His tongue immediately seeks entrance to my mouth, and I'm shocked by the intensity.">>
<center><img src="images/seryk/dreamsequence/female/sex3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/faceshocked" "Mmm... what are you...?" "I try to speak, but his tongue silences me" "This is so...">>
<<thought "Rylan" "female/facewet" "Oh my god... he's French kissing me!" "I should resist, but his tongue feels so good" "I can't help but kiss him back.">>
<center><img src="images/seryk/dreamsequence/female/sex3a.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Despite my initial shock, I find myself responding to his kiss, our tongues dancing together as he continues to thrust inside me. The combination of his cock filling me and his mouth claiming mine is overwhelming.">>
<center><img src="images/seryk/dreamsequence/female/sex4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Mmm... yes..." "I moan against his lips" "Kiss me more...">>
<<dialog "Seryk" "facewet" "That's it, princess," "he breathes between kisses" "Let me taste you while I fuck you. You're so sweet.">>
<<narrative "He deepens the kiss, his tongue exploring every inch of my mouth while his cock continues to pound into me. I can feel myself getting lost in the sensation, my body responding to both his mouth and his cock.">>
<center><img src="images/seryk/dreamsequence/female/sex5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "This is incredible... he's kissing me so passionately while fucking me." "The way his tongue moves against mine" "I've never felt anything like this before.">>
<<narrative "He increases the pace of both his thrusts and his kisses, his massive cock hitting every sensitive spot inside me while his tongue drives me wild. The pleasure is building to an incredible intensity.">>
<center><img src="images/seryk/dreamsequence/female/sex6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh god... I'm getting so close!" "I pant between kisses" "Please... don't stop kissing me!">>
<<dialog "Seryk" "facewet" "I won't stop, princess," "he moans against my lips" "I love the way you taste. You're so fucking perfect.">>
<<narrative "He continues to kiss me deeply while pounding into me with increasing intensity. I can feel his massive cock stretching me to the limit, and the combination of his mouth and his cock is driving me absolutely wild.">>
<center><img src="images/seryk/dreamsequence/female/sex7.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "He's so big, so powerful... and he's kissing me so passionately." "The way he's claiming both my mouth and my pussy" "I'm getting so close to cumming.">>
<<dialog "Rylan" "female/facewet" "I'm... I'm going to cum!" "I scream against his lips" "Please... make me cum!">>
<<narrative "His thrusts become more erratic and powerful, his massive cock pounding into me with incredible force while his tongue continues to explore my mouth. I can feel my orgasm building to an explosive peak.">>
<center><img src="images/seryk/dreamsequence/female/sex8.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "facewet" "Yes, princess!" "he groans" "Cum for me! Let me feel you cum around my cock while I kiss you!">>
<<narrative "His thrusts become even more intense, and I can feel him getting closer to his own climax. The bed creaks under our combined weight as we move together in perfect rhythm, our mouths locked in passionate kisses.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.4>>
<<changeAttraction "Rylan" "Seryk" 0.2>>
<<changeLust "Rylan" 18>>
<<continueBox "Chapter6RylanHaremdreamSerykFemaleCum" "Continue" "Reach the peak...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/seryk/moan.mp3" "sounds/hsounds/sex.mp3" 1>>
<div class="passage-container rylan">
<<narrative "Seryk positions himself behind me, his thick cock pressing against my entrance. He's so gentle, so caring, and I can feel his warmth radiating against me.">>
<<dialog "Seryk" "facewet" "Relax," "he whispers" "I'll be gentle with you, just like always.">>
<<narrative "He pushes forward slowly, his thick cock sliding deep inside me. Despite his size, it doesn't hurt at all - instead, it feels incredible, like coming home.">>
<<dialog "Rylan" "facewet" "Oh fuck... you feel amazing," "I moan" "It's so big, but it doesn't hurt at all.">>
<<thought "Rylan" "facewet" "This is incredible... he's so gentle with me." "The way he's moving, the way he's caring for me" "I can't believe how good this feels.">>
<<dialog "Seryk" "facewet" "That's it," "he gasps" "I'm taking you so well. You always feel amazing.">>
<center><img src="images/seryk/dreamsequence/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "He begins to move slowly, his thick cock sliding in and out of me with gentle, rhythmic strokes. Each thrust feels better than the last, and I can feel myself getting more and more aroused.">>
<<thought "Rylan" "facewet" "He's so gentle... I can feel how much he cares about me." "The way he's moving, the way he's moaning" "It's making me feel so safe, so loved.">>
<<dialog "Seryk" "facewet" "You feel so good," "he moans" "I can't get enough of you. You're so tight, so perfect.">>
<<narrative "He starts to thrust a little harder, his cock slamming deeper inside me. The sensation is overwhelming, and I can feel my body responding to his every movement.">>
<<dialog "Rylan" "facewet" "Yes... yes... fuck me harder," "I moan" "I need more of you.">>
<<thought "Rylan" "facewet" "I can't believe how good this feels... it's getting better and better." "The way he's thrusting, the way he's caring for me" "It's making me feel so complete.">>
<<dialog "Seryk" "facewet" "Oh yes... that's it," "he moans" "You're so beautiful when you're like this. I love seeing you enjoy yourself.">>
<<narrative "He begins to thrust with more force, his thick cock slamming deep inside me with each powerful stroke. The sensation is incredible, and I can feel my body trembling with pleasure.">>
<center><img src="images/seryk/dreamsequence/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facewet" "He's fucking me so good... I can't control myself anymore." "The way he's moving, the way he's caring for me" "It's making me want to give myself completely to him.">>
<<dialog "Seryk" "facewet" "I'm taking you so well," "he gasps" "I love how you respond to me. You're so perfect.">>
<<narrative "He starts to move even harder, his cock slamming deep inside me with incredible force. The sensation is overwhelming, and I can feel my body convulsing with pleasure.">>
<center><img src="images/seryk/dreamsequence/ecst.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck... I'm going to cum," "I scream" "I'm going to cum so hard!">>
<<thought "Rylan" "facewet" "I'm so close... I can feel my orgasm building." "The way he's fucking me, the way he's caring for me" "It's making me feel so complete, so loved.">>
<<dialog "Seryk" "facewet" "Yes... yes... I'm getting close too," "he moans" "I want to cum inside you. I want to fill you up with my seed.">>
<<narrative "I can feel my orgasm building rapidly as he continues to thrust inside me. The sensation is overwhelming, and I know we're both about to reach our climax together.">>
<<thought "Rylan" "facewet" "We're both so close... I can feel him getting ready to cum too." "The way he's moving, the way he's caring for me" "It's making me want to give him everything.">>
<center><img src="images/seryk/dreamsequence/orgasm.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<continueBox "Chapter6RylanHaremdreamSerykCum" "Continue" "Reach climax...">>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "AssFetish" 0.2>>
<<changeAttraction "Rylan" "Seryk" 0.2>>
<<changeLust "Rylan" 15>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<set $dreamSora = true>>
<<set $rylanDreamSoraHarem = true>>
<div class="passage-container rylan">
<<if $rylanHaremDream == false>>
<<narrative "I wake up and find myself lying on Liora's bed, completely naked, wondering how I got here. Suddenly the door creaks open, it's Sora who enters - completely naked, his lithe cat-like body moving with predatory grace.">>
<<elseif $dreamThalor>>
<<narrative "I'm still lying in bed, my body still trembling from $humanToThalor's embrace, when the door creaks open again. This time, it's Sora who enters - completely naked, his lithe cat-like body moving with predatory grace.">>
<<elseif $dreamSeryk>>
<<narrative "I'm still lying in bed, my ass no longer sore from Seryk's passionate lovemaking, when the door creaks open again. This time, it's Sora who enters - completely naked, his lithe cat-like body moving with predatory grace.">>
<<elseif $dreamNimeria>>
<<narrative "I'm still lying in bed, my mind still reeling from Nimeria's seductive manipulation, when the door creaks open again. This time, it's Sora who enters - completely naked, his lithe cat-like body moving with predatory grace.">>
<<elseif $dreamSerin>>
<<narrative "I'm still lying in bed, my body still tingling from Serin's dominant lovemaking, when the door creaks open again. This time, it's Sora who enters - completely naked, his lithe cat-like body moving with predatory grace.">>
<<elseif $dreamMariel>>
<<narrative "I'm still lying in bed, my body still relaxed from $humanToMariel's caring embrace, when the door creaks open again. This time, it's Sora who enters - completely naked, his lithe cat-like body moving with predatory grace.">>
<<elseif $dreamLiora>>
<<narrative "I'm still lying in bed, my body still warm from Liora's gentle touch, when the door creaks open again. This time, it's Sora who enters - completely naked, his lithe cat-like body moving with predatory grace.">>
<<else>>
<<narrative "I'm lying in bed when the door creaks open. This time, it's Sora who enters - completely naked, his lithe cat-like body moving with predatory grace.">>
<</if>>
<center><img src="images/sora/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $dreamThalor and $dreamSeryk and $dreamNimeria and $dreamSerin and $dreamMariel and $dreamLiora>>
<<thought "Rylan" "faceshocked" "Oh my god... Sora too?!" "I sit up in bed, my mind completely shattered" "This is absolutely insane... seven people in one night!" "I can't even process this anymore... Liora, $humanToMariel, Serin, Nimeria, Seryk, $humanToThalor, and now Sora... this is beyond comprehension.">>
<<elseif $dreamSeryk and $dreamNimeria and $dreamSerin and $dreamMariel and $dreamLiora>>
<<thought "Rylan" "faceshocked" "What the actual fuck?! Sora is here too?!" "I sit up in bed, my mind completely blown" "Six people... SIX PEOPLE have been naked in front of me tonight!" "This is getting completely out of control... Liora, $humanToMariel, Serin, Nimeria, Seryk, and now Sora... this is madness!">>
<<elseif $dreamNimeria and $dreamSerin and $dreamMariel and $dreamLiora>>
<<thought "Rylan" "faceshocked" "No way... not Sora too!" "I sit up in bed, my mind reeling" "Five people now... this is getting completely insane!" "Liora, $humanToMariel, Serin, Nimeria, and now Sora... what the hell is happening to me?">>
<<elseif $dreamSerin and $dreamMariel and $dreamLiora>>
<<thought "Rylan" "faceshocked" "What is going on?! Now Sora too?!" "I sit up in bed, my mind spinning" "Four people... FOUR PEOPLE have been naked in front of me!" "This is getting completely crazy... Liora, $humanToMariel, Serin, and now Sora... this can't be real.">>
<<elseif $dreamMariel and $dreamLiora>>
<<thought "Rylan" "faceshocked" "Again?! Sora is naked too?!" "I sit up in bed, my mind overwhelmed" "Three people now... this is getting out of hand!" "First Liora, then $humanToMariel, and now Sora... what the hell is going on?">>
<<elseif $dreamLiora>>
<<thought "Rylan" "faceshocked" "What is going on, now Sora too?" "I sit up in bed, my mind confused" "This is the second person tonight... this is getting weird." "First Liora, now Sora... this is so strange.">>
<<else>>
<<thought "Rylan" "faceshocked" "What the hell? Sora is naked... this can't be happening." "I sit up in bed, my mind reeling from the shock" "This is so wrong on so many levels.">>
<</if>>
<<narrative "Sora moves with feline grace, his slender body swaying seductively as he approaches the bed. His cat-like eyes gleam with mischief and desire, and I can see his surprisingly large, hard cock already twitching with anticipation - it's way too big for his petite frame.">>
<<dialog "Sora" "facesmirk" "There you are, $humanName," "he purrs with a playful grin" "I was wondering when you'd be ready for me. I've been so... lonely.">>
<<narrative "He climbs onto the bed with effortless grace, his movements fluid and predatory. His tail sways behind him as he positions himself on all fours, presenting his perfect, round ass to me.">>
<center><img src="images/sora/dreamsequence/presenting.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "facewet" "Come on, $humanName," "he teases, wiggling his hips seductively" "Fuck me like you always do. You know how much I love it when you take me from behind.">>
<<thought "Rylan" "faceconfused" "Always do? What is he talking about?" "My mind struggles to process what he's saying" "None of this makes sense, but somehow... it feels familiar.">>
<<dialog "Rylan" "faceembarrassed" "Sora... what are you doing?" "I stammer, my voice trembling with confusion and fear" "This is... this is wrong. We can't...">>
<<dialog "Sora" "facesmirk" "Wrong?" "he laughs playfully, looking back at me over his shoulder" "Since when has that ever stopped us? You know how much I love you, $humanName.">>
<<narrative "He holds his ass in my direction, showing it off with a seductive wiggle. The sight is both shocking and strangely mesmerizing, and I can feel my cock beginning to harden despite my confusion.">>
<center><img src="images/sora/dreamsequence/presenting2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "facewet" "Look how wet I am for you," "he purrs" "I've been thinking about you all day. I need you inside me, $humanName. Please...">>
<<thought "Rylan" "facewet" "I can't believe this is happening... but it feels so natural." "The way he's presenting himself, the way he's begging" "It's like we've been lovers for years.">>
<<dialog "Rylan" "faceembarrassed" "I... I can't.." "I moan" "This feels so wrong but so right at the same time.">>
<<changeAttraction "Rylan" "Sora" 0.3>>
<<changeLust "Rylan" 12>>
<<continueBox "Chapter6RylanHaremdreamSoraSex" "Continue" "Give in to temptation...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/sora/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<narrative "With a final, powerful thrust, we both reach our climax together. I explode inside Sora, my hot cum shooting deep into his tight hole, while his own orgasm crashes over him in waves of incredible pleasure.">>
<center><img src="images/sora/dreamsequence/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck," "I moan" "I can feel you clenching around me while I'm exploding!">>
<<dialog "Sora" "facewet" "Yes... yes... we came together," "he gasps" "That was exactly what I needed, $humanName.">>
<<narrative "I collapse on top of him, my body still trembling from the intensity of my orgasm. I can feel my cum dripping out of him, and the sight is so erotic that I can't help but moan with pleasure.">>
<<thought "Rylan" "facewet" "I can't believe I just did that... I came inside him." "The way he was challenging me, the way he was demanding more" "It was so intense, so perfect, so wrong but so right.">>
<<dialog "Sora" "facewet" "Oh my god... that was incredible," "he breathes heavily" "You were so good. I love how you respond to my challenges, $humanName.">>
<<narrative "He lies next to me now, his body and ass full of cum. His penis is leaking so much cum, and I can see it dripping down his thighs and pooling on the bed sheets. The sight is so erotic that I can't look away.">>
<center><img src="images/sora/dreamsequence/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "You were amazing," "I whisper" "I've never felt so dominant.">>
<<thought "Rylan" "facewet" "I completely forgot about everything... Sora made me forget everything.">>
<<dialog "Sora" "facesmirk" "You're such a good boy, $humanName," "he purrs" "You always know exactly how to make me feel good. You're perfect for me.">>
<<dialog "Sora" "facewet" "I hope you enjoyed that," "he breathes" "Because I'm not done with you yet. I want to show you so much more, $humanName.">>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeFetish "Rylan" "AssFetish" 0.2>>
<<changeAttraction "Rylan" "Sora" 0.2>>
<<changeLust "Rylan" 15>>
<<narrative "The dream world around us shimmers and fades, leaving us both breathless and satisfied. I can still feel his warmth against me, and I know this is something I'll never forget - no matter how wrong it might be.">>
<<if $chapter6Dreams and not $rylanHaremDream>>
<<continueBox "NightActivitiesEnd" "Continue" "The dream fades...">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamEnd" "Continue" "The dream fades...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<set $dreamSora = true>>
<<set $rylanDreamSoraFemaleHarem = true>>
<div class="passage-container rylan">
<<if $rylanHaremDream == false>>
<<narrative "I wake up and find myself lying on Liora's bed, completely naked, wondering how I got here. But that's not the weirdest thing - I look down and see I'm female?! My body has completely changed, and I can feel the unfamiliar curves and softness that wasn't there before.">>
<<thought "Rylan" "female/faceconfused" "What happened to my body?!" "I touch my chest, feeling the soft mounds that definitely weren't there before" "This can't be real... can it?">>
<<narrative "Suddenly I hear the door creak open again. I look up to see Sora entering, completely naked, his lithe cat-like body moving with predatory grace.">>
<<elseif $dreamThalor>>
<<narrative "Just as I'm catching my breath from the intense encounter with Thalor, I hear the door creak open again. I look up to see Sora entering, completely naked, his lithe cat-like body moving with predatory grace.">>
<<elseif $dreamSeryk>>
<<narrative "Just as I'm catching my breath from the intense encounter with Seryk, I hear the door creak open again. I look up to see Sora entering, completely naked, his lithe cat-like body moving with predatory grace.">>
<<elseif $dreamNimeria>>
<<narrative "Just as I'm catching my breath from the intense encounter with Nimeria, I hear the door creak open again. I look up to see Sora entering, completely naked, his lithe cat-like body moving with predatory grace.">>
<<elseif $dreamSerin>>
<<narrative "Just as I'm catching my breath from the intense encounter with Serin, I hear the door creak open again. I look up to see Sora entering, completely naked, his lithe cat-like body moving with predatory grace.">>
<<elseif $dreamMariel>>
<<narrative "Just as I'm catching my breath from the intense encounter with my $marielToHuman, I hear the door creak open again. I look up to see Sora entering, completely naked, his lithe cat-like body moving with predatory grace.">>
<<elseif $dreamLiora>>
<<narrative "Just as I'm catching my breath from the intense encounter with Liora, I hear the door creak open again. I look up to see Sora entering, completely naked, his lithe cat-like body moving with predatory grace.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when I hear the door creak open again. I look up to see Sora entering, completely naked, his lithe cat-like body moving with predatory grace.">>
<</if>>
<center><img src="images/sora/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "His slender, cat-like body is completely exposed, and I can see his surprisingly large cock already half-erect. Despite his petite frame, it's much bigger than I would have expected, and somehow... it looks kind of cute.">>
<center><img src="images/sora/dreamsequence/cock.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/faceshocked" "Sora?! W-what are you doing here?" "I stammer, my voice trembling" "You're... you're naked... and you're a guy! This is wrong!">>
<<dialog "Sora" "facesmirk" "Wrong?" "he purrs playfully, stepping closer with feline grace" "After all the times we've done this? You know exactly why I'm here, $humanName.">>
<<thought "Rylan" "female/faceconfused" "This can't be real... he's a guy!" "I feel confused and disgusted, but also curious" "Why does his cock look so... cute? This is so wrong.">>
<<narrative "He approaches the bed with seductive, slow movements, his tail swaying behind him. Despite my shock and the voice in my head screaming that this is wrong.">>
<<dialog "Sora" "facesmirk" "You know," "he says with a mischievous grin" "This isn't our first time. You remember, don't you? How good it felt when you tasted me.">>
<<narrative "Before I can protest further, he climbs onto the bed beside me, his lithe body moving with effortless grace. He positions himself so his cock is right in front of my face, and I can feel my heart racing with a mix of fear and curiosity.">>
<center><img src="images/sora/dreamsequence/cock2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "facesmirk" "I see you like it," "he teases, noticing my conflicted expression" "Come on, give it a kiss like you always do. You know you want to.">>
<center><img src="images/sora/dreamsequence/female/cock1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "He holds his cock right in front of my face, and despite my disgust at the thought of touching another man, I can't help but notice how it seems to pulse with life. The whole situation feels strangely erotic.">>
<<dialog "Rylan" "female/faceembarrassed" "I... I can't," "I stammer" "This is so wrong... you're a guy!">>
<center><img src="images/sora/dreamsequence/female/cock2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/faceconfused" "Why am I not completely repulsed?" "It's like there's something drawing me to him" "This is so wrong but I can't stop looking.">>
<<dialog "Sora" "facesmirk" "That's what you always say," "he laughs softly" "But then you always give in. Come on, just a little kiss. You know you want to taste me.">>
<<narrative "He slowly rubs his cock against my lips, and despite my reluctance, I find myself not completely hating the sensation. The warmth and softness of his skin against my mouth is strangely pleasant.">>
<center><img src="images/sora/dreamsequence/female/cock3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeAttraction "Rylan" "Sora" 0.2>>
<<changeLust "Rylan" 10>>
<<continueBox "Chapter6RylanHaremdreamSoraFemaleLick" "Continue" "Give in to curiosity...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/sora/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<div class="passage-container rylan">
<<narrative "With a final, powerful thrust, Sora explodes into my mouth, his hot cum filling it completely.">>
<center><img src="images/sora/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh god... it's so much!" "I moan, my mouth full of his cum">>
<<thought "Rylan" "female/facewet" "I can't believe I'm actually enjoying this.">>
<<narrative "I continue to suck and swallow, wanting to taste every drop of his release. His cum is warm and thick, and I find myself craving more of it.">>
<center><img src="images/sora/dreamsequence/female/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "facewet" "Yes, $humanName!" "he groans" "Swallow it all! You're such a good girl for me.">>
<<narrative "I gulp down every last drop, my mouth working to get every bit of his cum. The sensation is incredible, and I can feel myself getting more aroused by the whole experience.">>
<<dialog "Rylan" "female/facewet" "I... I can't believe I did that">>
<<thought "Rylan" "female/facewet" "I can't believe how much I enjoyed that.">>
<<narrative "He slowly pulls out of my mouth, and I can see his satisfied smile. He looks down at me with pride, clearly pleased with what we just shared.">>
<center><img src="images/sora/dreamsequence/female/cum3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "facesmirk" "You were incredible, $humanName," "he purrs" "I knew you'd love it. You always do.">>
<<thought "Rylan" "female/facewet" "I can't believe what just happened.">>
<<dialog "Sora" "facesmirk" "I told you, $humanName," "he says softly" "This wasn't our first time. You remember now, don't you? How good it feels to taste me.">>
<<narrative "The dream world around us begins to shimmer and fade, but the memory of what just happened will stay with me. I collapse back onto the bed, completely spent, the taste of his cum still lingering on my lips.">>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeAttraction "Rylan" "Sora" 0.2>>
<<changeLust "Rylan" 25>>
<<if $chapter6Dreams and not $rylanHaremDream>>
<<continueBox "NightActivitiesEnd" "Continue" "The dream fades...">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/sora/moansoft.mp3" "sounds/hsounds/blowjob.mp3" 1>>
<div class="passage-container rylan">
<<narrative "Despite my protests, I find myself slowly opening my mouth as Sora continues to rub his cock against my lips. The sensation is strange but not entirely unpleasant, and I can feel my resistance slowly crumbling.">>
<center><img src="images/sora/dreamsequence/female/cock4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/faceembarrassed" "I... I shouldn't be doing this," "I moan softly" "This is so wrong... but it feels... different.">>
<<dialog "Sora" "facesmirk" "Good, $humanName," "he purrs encouragingly" "Just like always. You know how much I love it when you taste me.">>
<<thought "Rylan" "female/faceconfused" "Why does this feel so natural?" "The way he's guiding me, the way he's moaning" "It's like we've done this a thousand times before.">>
<center><img src="images/sora/dreamsequence/female/lick1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I tentatively begin to lick the tip of his cock, and the taste is surprisingly pleasant. His moans of pleasure encourage me to continue, and I find myself getting more into it than I expected.">>
<center><img src="images/sora/dreamsequence/female/lick2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "facewet" "Oh yes... amazing," "he moans" "You're so good at this. I love how your tongue feels on me.">>
<<dialog "Rylan" "female/facewet" "I... I can't believe I'm doing this," "I pant between licks.">>
<center><img src="images/sora/dreamsequence/female/lick3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I continue to lick and taste him, my tongue exploring every inch of his cock. The more I do it, the more natural it feels, and I can feel myself getting aroused by his reactions.">>
<center><img src="images/sora/dreamsequence/female/lick4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "I can't believe how much I'm enjoying this." "The way he's moaning, the way he's thrusting into my mouth" "This is so wrong but it feels so right.">>
<<dialog "Sora" "facewet" "You're amazing, $humanName," "he breathes heavily" "I love how you're licking every inch of me. You want more, don't you?">>
<center><img src="images/sora/dreamsequence/female/lick5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "He begins to gently thrust into my mouth, and I find myself opening wider to accommodate him. The sensation is overwhelming, and I can feel myself getting more and more into it.">>
<center><img src="images/sora/dreamsequence/female/lick6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh god... I'm actually enjoying this," "I moan around his cock" "This is so wrong but it feels so good.">>
<<dialog "Sora" "facewet" "Yes, $humanName!" "he groans" "Suck me harder, $humanName. I'm getting close.">>
<<narrative "I increase the intensity of my sucking, my mouth working up and down his cock with growing enthusiasm. The more I do it, the more I want to please him, and I can feel him getting closer to his climax.">>
<center><img src="images/sora/dreamsequence/female/lick7.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "I can't believe how much I want this." "The way he's filling my mouth, the way he's moaning" "I want to make him cum so bad.">>
<<dialog "Rylan" "female/facewet" "I want you to cum," "I moan" "I want to taste it all.">>
<<dialog "Sora" "facewet" "Fuck yes!" "he groans" "I'm going to cum, $humanName. Get ready for it!">>
<center><img src="images/sora/dreamsequence/female/lick8.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "His thrusts become more erratic and powerful, and I can feel him getting closer to his climax. I continue to suck and lick him, wanting to taste every drop of his release.">>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeAttraction "Rylan" "Sora" 0.2>>
<<changeLust "Rylan" 15>>
<<continueBox "Chapter6RylanHaremdreamSoraFemaleCum" "Continue" "Taste his release...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/sora/moansoft.mp3" "sounds/hsounds/sex.mp3" 1>>
<div class="passage-container rylan">
<<narrative "I position myself behind Sora, my hard cock pressing against his tight entrance. Despite the taboo nature of this situation, his ass feels so familiar, so right.">>
<<dialog "Sora" "facewet" "That's it, $humanName," "he purrs" "Take me like you always do. You know how much I love it when you're inside me.">>
<<narrative "I push forward slowly, my thick cock sliding deep inside his tight, wet hole. Despite his petite frame, he takes me so easily - it's like we've done this a thousand times before. His surprisingly large cock sways between his legs as he moans with pleasure.">>
<center><img src="images/sora/dreamsequence/penetration1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck... you feel amazing," "I moan" "You're so tight.">>
<<thought "Rylan" "facewet" "This feels so familiar... like we've been doing this for years." "The way he's moving, the way he's moaning" "It's like muscle memory, like we're meant to be together.">>
<<dialog "Sora" "facesmirk" "That's it, $humanName," "he purrs confidently" "But I know you can do better than that. Give me more.">>
<<narrative "I move faster, my cock sliding in and out of him with rhythmic strokes. Each thrust feels incredible, and I can feel myself getting more and more aroused. His tail sways seductively from side to side, taunting me.">>
<center><img src="images/sora/dreamsequence/penetration2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facewet" "He's so tight... and so demanding." "The way he's challenging me, the way his tail sways" "It's making me want to prove myself to him.">>
<<dialog "Sora" "facesmirk" "Fuck me harder, $humanName," "he commands" "Is this all you've got? I need you to show me what you're really made of.">>
<<narrative "I start to thrust harder, my cock slamming deeper inside him. The sensation is overwhelming, and I can feel his body responding to my every movement. He's pushing back against me, demanding more.">>
<center><img src="images/sora/dreamsequence/thrusting1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Fuck yes... you feel amazing," "I growl" "I'm going to show you exactly what I'm made of, Sora.">>
<<thought "Rylan" "facewet" "I can't believe how good this feels..." "The way he's pushing back, the way he's demanding more" "It's making me feel so determined to prove myself.">>
<<dialog "Sora" "facesmirk" "Oh yes... that's more like it," "he moans" "But I know you can go even harder. Don't hold back on me now.">>
<<narrative "I begin to thrust with much more force, my cock slamming deep inside him with each powerful stroke. The sensation is incredible, and I can feel his body trembling with pleasure. He's thrusting his ass back against me, meeting my every stroke with his own.">>
<center><img src="images/sora/dreamsequence/thrusting2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facewet" "I'm fucking him so hard... and he's loving every second of it." "The way he's thrusting back against me, the way he's moaning" "It's making me want to dominate him completely, to show him I'm the one in control.">>
<<dialog "Sora" "facewet" "That's it, $humanName," "he gasps" "You're finally showing me what you're capable of. Fuck me harder, make me yours completely.">>
<<narrative "I start to move even harder, my cock slamming deep inside him with incredible force. The sensation is overwhelming, and I can feel his body convulsing with pleasure. He's thrusting back against me with increasing intensity, his ass meeting my every thrust.">>
<center><img src="images/sora/dreamsequence/thrusting3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck... I'm going to cum," "I scream" "I'm going to cum so hard inside you, Sora!">>
<<thought "Rylan" "facewet" "I'm so close... I can feel my orgasm building." "The way he's thrusting back against me, the way he's moaning" "It's making me feel so powerful, so dominant.">>
<<dialog "Sora" "facewet" "Yes... yes... I'm getting close too," "he moans" "I want to cum with you. I want to feel you explode inside me. Show me you're the one in control.">>
<<narrative "I can feel my orgasm building rapidly as I continue to thrust inside him. The sensation is overwhelming, and I know we're both about to reach our climax together. He's thrusting back against me with increasing urgency, his ass slamming against my hips.">>
<<thought "Rylan" "facewet" "We're both so close... I can feel him getting ready to cum too." "The way he's thrusting back against me, the way he's moaning" "It's making me want to claim him completely, to show him I'm the dominant one.">>
<<changeFetish "Rylan" "AssFetish" 0.2>>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeAttraction "Rylan" "Sora" 0.2>>
<<changeLust "Rylan" 15>>
<<continueBox "Chapter6RylanHaremdreamSoraCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<set $rylanDreamThalorHarem = true>>
<div class="passage-container rylan">
<<if $rylanHaremDream == false>>
<<narrative "I'm lying in bed when the door creaks open. It's Thalor who enters - completely naked, his muscular frame on full display.">>
<<elseif $dreamSeryk>>
<<narrative "I'm still lying in bed, my ass no longer sore from Seryk's passionate lovemaking, when the door creaks open again. This time, it's Thalor who enters - completely naked, his muscular frame on full display.">>
<<elseif $dreamNimeria>>
<<narrative "I'm still lying in bed, my mind still reeling from Nimeria's seductive manipulation, when the door creaks open again. This time, it's Thalor who enters - completely naked, his muscular frame on full display.">>
<<elseif $dreamSerin>>
<<narrative "I'm still lying in bed, my body still tingling from Serin's dominant lovemaking, when the door creaks open again. This time, it's Thalor who enters - completely naked, his muscular frame on full display.">>
<<elseif $dreamMariel>>
<<narrative "I'm still lying in bed, my body still relaxed from Mariel's caring embrace, when the door creaks open again. This time, it's Thalor who enters - completely naked, his muscular frame on full display.">>
<<elseif $dreamLiora>>
<<narrative "I'm still lying in bed, my body still warm from Liora's gentle touch, when the door creaks open again. This time, it's Thalor who enters - completely naked, his muscular frame on full display.">>
<<else>>
<<narrative "I'm lying in bed when the door creaks open. It's Thalor who enters - completely naked, his muscular frame on full display.">>
<</if>>
<center><img src="images/thalor/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $dreamSeryk and $dreamNimeria and $dreamSerin and $dreamMariel and $dreamLiora>>
<<thought "Rylan" "faceshocked" "Holy shit... $thalorToHuman too?!" "I sit up in bed, my mind completely broken" "Six people... SIX PEOPLE have been naked in front of me!" "This is absolutely insane... Liora, $humanToMariel, Serin, Nimeria, Seryk, and now $humanToThalor... this is beyond belief!">>
<<elseif $dreamNimeria and $dreamSerin and $dreamMariel and $dreamLiora>>
<<thought "Rylan" "faceshocked" "No fucking way... $thalorToHuman is naked?!" "I sit up in bed, my mind spinning" "Five people now... this is getting completely crazy!" "Liora, $humanToMariel, Serin, Nimeria, and now $humanToThalor... what the hell is happening?">>
<<elseif $dreamSerin and $dreamMariel and $dreamLiora>>
<<thought "Rylan" "faceshocked" "What the hell is going on?! $thalorToHuman too?!" "I sit up in bed, my mind reeling" "Four people... FOUR PEOPLE have been naked in front of me!" "This is getting completely out of control... Liora, $humanToMariel, Serin, and now $humanToThalor... this can't be real.">>
<<elseif $dreamMariel and $dreamLiora>>
<<thought "Rylan" "faceshocked" "Again?! $thalorToHuman is naked too?!" "I sit up in bed, my mind overwhelmed" "Three people now... this is getting out of hand!" "First Liora, then $humanToMariel, and now $humanToThalor... what the hell is going on?">>
<<elseif $dreamLiora>>
<<thought "Rylan" "faceshocked" "What is going on, now $humanToThalor too?" "I sit up in bed, my mind confused" "This is the second person tonight... this is getting weird." "First Liora, now $humanToThalor... this is so strange.">>
<<else>>
<<thought "Rylan" "faceshocked" "What the hell? $thalorToHuman is naked... this can't be happening." "I sit up in bed, my mind reeling from the shock" "This is so wrong on so many levels.">>
<</if>>
<<dialog "Thalor" "faceconfident" "There you are, $thalorCallsHuman," "he says with a knowing smile" "I was wondering when you'd be ready for me.">>
<<narrative "He approaches the bed with confident strides, his thick cock already half-hard and swaying with each step. The sight is both shocking and strangely mesmerizing.">>
<<dialog "Rylan" "faceembarrassed" "$thalorToHuman... what are you doing?" "I stammer, my voice trembling with confusion and fear" "This is... this is wrong. We can't...">>
<<dialog "Thalor" "facesmirk" "What are you talking about?" "he chuckles, climbing onto the bed" "We've done this so many times before. You even stole me from your $marielToHuman.">>
<<thought "Rylan" "faceconfused" "Stole him from $marielToHuman? What is he talking about?" "My mind struggles to process what he's saying" "None of this makes sense, but somehow... it feels familiar.">>
<<narrative "He settles beside me on the bed, his warm body radiating heat. Despite my confusion and the taboo nature of this situation, I can't help but notice how attractive he looks.">>
<<dialog "Thalor" "faceconfident" "Come here, $thalorCallsHuman," "he says gently, reaching for me" "Let me show you how much I've missed you.">>
<<dialog "Rylan" "faceembarrassed" "No... I can't... this is wrong," "I protest weakly" "You're my $thalorToHuman... we can't...">>
<<dialog "Thalor" "facesmirk" "Wrong?" "he laughs softly" "Since when has that ever stopped us? You know how much I love you, $thalorCallsHuman.">>
<<narrative "Before I can protest further, he leans in and presses his lips against mine in a deep, passionate kiss. His tongue immediately seeks entrance, and despite my resistance, I find myself responding instinctively.">>
<<continueBox "Chapter6RylanHaremdreamThalorKiss" "Continue" "Give in to temptation...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('maleorgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<narrative "With a final, powerful thrust, we both reach our climax together. Thalor explodes inside me, his hot cum shooting deep into my body, while my own orgasm crashes over me in waves of incredible pleasure.">>
<center><img src="images/thalor/dreamsequence/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck... we're both cumming together," "I moan">>
<<dialog "Thalor" "facewet" "Yes... yes... we came together," "he gasps" "I love you so much, $thalorCallsHuman. You're everything to me.">>
<<narrative "He collapses on top of me, his body still trembling from the intensity of his orgasm. I can feel his cum dripping out of me, and the sensation is so erotic that I can't help but moan with pleasure.">>
<center><img src="images/thalor/dreamsequence/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facewet" "I can't believe I just did that... he came inside me." "The way he was caring for me, the way he was gentle" "It was so intense, so perfect, so wrong but so right.">>
<<dialog "Thalor" "facewet" "Oh my god... that was incredible," "he breathes heavily" "You were so good. I love how you respond to me, $thalorCallsHuman.">>
<<thought "Rylan" "facewet" "I completely forgot about everything... $humanToThalor made me forget everything." "The way he cared for me, the way he was gentle with me" "It made me feel so safe, so loved, so complete.">>
<<dialog "Thalor" "facesmirk" "I love you $thalorCallsHuman," "he purrs" " I love you more than anything.">>
<<narrative "He climbs on top of me on the bed, his body still trembling from the intensity of our shared pleasure. His cum is still dripping out of me, and the sight is so erotic that I can't look away.">>
<<dialog "Thalor" "facewet" "I hope you enjoyed that," "he breathes" "Because I'm not done with you yet. I want to show you so much more, $thalorCallsHuman.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "AssFetish" 0.2>>
<<changeFetish "Rylan" "GayValue" 0.2>>
<<changeAttraction "Rylan" "Thalor" 0.2>>
<<changeLust "Rylan" 15>>
<<narrative "The dream world around us shimmers and fades, leaving us both breathless and satisfied. I can still feel his warmth against me, and I know this is something I'll never forget - no matter how wrong it might be.">>
<<if $chapter6Dreams and not $rylanHaremDream>>
<<continueBox "NightActivitiesEnd" "Continue" "The dream fades...">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamSora" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<set $rylanDreamThalorFemaleHarem = true>>
<div class="passage-container rylan">
<<if $rylanHaremDream == false>>
<<narrative "I wake up and find myself lying on Liora's bed, completely naked, wondering how I got here. But that's not the weirdest thing - I look down and see I'm female?! My body has completely changed, and I can feel the unfamiliar curves and softness that wasn't there before.">>
<<thought "Rylan" "female/faceconfused" "What happened to my body?!" "I touch my chest, feeling the soft mounds that definitely weren't there before" "This can't be real... can it?">>
<<narrative "Suddenly I hear heavy footsteps approaching. I look up to see Thalor standing in the doorway, completely naked, his massive frame filling the entrance.">>
<<elseif $dreamSeryk>>
<<narrative "Just as I'm catching my breath from the intense encounter with Seryk, I hear heavy footsteps approaching. I look up to see Thalor standing in the doorway, completely naked.">>
<<elseif $dreamNimeria>>
<<narrative "Just as I'm catching my breath from the intense encounter with Nimeria, I hear heavy footsteps approaching. I look up to see Thalor standing in the doorway, completely naked, his massive frame filling the entrance.">>
<<elseif $dreamSerin>>
<<narrative "Just as I'm catching my breath from the intense encounter with Serin, I hear heavy footsteps approaching. I look up to see Thalor standing in the doorway, completely naked, his massive frame filling the entrance.">>
<<elseif $dreamMariel>>
<<narrative "Just as I'm catching my breath from the intense encounter with my $marielToHuman, I hear heavy footsteps approaching. I look up to see Thalor standing in the doorway, completely naked, his massive frame filling the entrance.">>
<<elseif $dreamLiora>>
<<narrative "Just as I'm catching my breath from the intense encounter with Liora, I hear heavy footsteps approaching. I look up to see Thalor standing in the doorway, completely naked, his massive frame filling the entrance.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when I hear heavy footsteps approaching. I look up to see Thalor standing in the doorway, completely naked, his massive frame filling the entrance.">>
<</if>>
<center><img src="images/thalor/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "His massive, muscular body is completely exposed, and I can see his thick cock already hard and ready. The sight is both terrifying and incredibly arousing, but I know this is so wrong.">>
<center><img src="images/thalor/dreamsequence/female/cock.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/faceworried" "$humanToThalor?! W-what are you doing here?" "I stammer, my voice trembling" "You're... you're naked... this is wrong!">>
<<dialog "Thalor" "faceconfident" "Wrong?" "he scoffs, stepping closer" "After all the times we've done this? After you stole me from your $marielToHuman? You know exactly why I'm here.">>
<<thought "Rylan" "female/faceembarrassed" "This can't be real... he's my $thalorToHuman!" "I feel a strange pull toward him, but this is so wrong" "I don't like Thalor that way... do I?">>
<<narrative "He approaches the bed with confident strides, his massive frame towering over me. Despite my confusion and the voice in my head screaming that this is wrong, I can't help but feel drawn to his powerful presence.">>
<<dialog "Thalor" "faceconfident" "You know," "he says sternly" "This isn't our first time. You remember, don't you? How good it felt when I made you mine.">>
<<narrative "Before I can protest further, he climbs onto the bed beside me, his massive body making the mattress dip under his weight. He looks down at me with those intense eyes, and I can feel my heart racing.">>
<<dialog "Thalor" "facesmirk" "I see you're already wet for me," "he says, noticing my arousal" "Good. You know what position I like you in.">>
<<narrative "Without thinking, I find myself getting on all fours, as if it's instinct. My body seems to know exactly what he wants, and I can't resist the pull of his dominance.">>
<center><img src="images/thalor/dreamsequence/female/all4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/faceembarrassed" "I... I can't help it," "I moan" "My body just... moves on its own.">>
<<thought "Rylan" "female/facewet" "Why am I getting on all fours like this?" "It's like my body knows what he wants" "This is so wrong but I can't stop myself.">>
<<dialog "Thalor" "faceconfident" "That's it," "he says approvingly" "You know exactly how to please me. Now let me show you what a real man can do.">>
<<narrative "He positions himself behind me, his cock pressing against my wet entrance. Despite my fears and the wrongness of this situation, I can feel my body opening up for him, welcoming him inside.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Thalor" 0.2>>
<<changeLust "Rylan" 12>>
<<continueBox "Chapter6RylanHaremdreamThalorFemaleSex" "Continue" "Let him take control...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/rylan/female/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<div class="passage-container rylan">
<<narrative "With a final, powerful thrust, Thalor pushes me over the edge. I explode into orgasm, my body convulsing violently as wave after wave of ecstasy crashes over me.">>
<<dialog "Rylan" "female/facewet" "Oh god... I'm cumming!" "I scream, my body shaking" "It feels so good!">>
<<thought "Rylan" "female/facewet" "This is incredible..." "The way he's filling me completely" "I can't believe how good this feels.">>
<<narrative "My pussy clenches around his cock as I ride out my orgasm, my juices flowing freely. The sensation is overwhelming, and I can feel myself squirting all over him.">>
<<dialog "Thalor" "facewet" "Yes, girl!" "he groans" "Cum for me! Let me feel you squeeze my cock!">>
<<narrative "I can feel his cock pulsing inside me as he reaches his own climax. His hot cum fills me completely, and the sensation is incredible as I feel every drop of his release.">>
<center><img src="images/thalor/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh my god... you're cumming inside me!" "I moan" "I can feel it... it's so hot!">>
<<thought "Rylan" "female/facewet" "I can't believe I just did that with Thalor." "The way he filled me completely" "It felt so right, so perfect.">>
<<narrative "He continues to thrust through his orgasm, his massive cock pumping every last drop of cum deep inside me. The sensation is incredible, and I can feel myself cumming again from the intensity.">>
<<dialog "Thalor" "faceconfident" "You were amazing," "he breathes heavily" "I knew you'd love being filled by me. You're such a good girl.">>
<<narrative "He slowly pulls out, and I can feel his cum dripping out of me. He looks down at me with a satisfied smile, clearly pleased with what we just shared.">>
<center><img src="images/thalor/dreamsequence/female/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "That was... that was incredible," "I pant, my body still trembling" "I never knew it could feel so good.">>
<<thought "Rylan" "female/facewet" "I can't believe what just happened." "The way he made me feel" "It was so intense, so perfect.">>
<<dialog "Thalor" "facesmirk" "I told you, $thalorCallsHuman," "he says softly" "This wasn't our first time. You remember now, don't you? How good it feels to be mine.">>
<<narrative "The dream world around us begins to shimmer and fade, but the memory of what just happened will stay with me forever. I collapse back onto the bed, completely spent and satisfied.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Thalor" 0.2>>
<<changeLust "Rylan" 30>>
<<if $chapter6Dreams and not $rylanHaremDream>>
<<continueBox "NightActivitiesEnd" "Continue" "The dream fades...">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamSoraFemale" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/rylan/female/moanhard.mp3" "sounds/hsounds/sex.mp3" 1>>
<div class="passage-container rylan">
<<narrative "Without warning, Thalor thrusts his massive cock deep inside me, filling me completely. The sensation is overwhelming, and I cry out with a mix of pain and pleasure.">>
<center><img src="images/thalor/dreamsequence/female/sex1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh god... it's so big!" "I gasp" "It feels... it feels amazing!">>
<<dialog "Thalor" "faceconfident" "My girl," "he growls" "Take it like the good girl you are. You know you love being filled by me.">>
<<thought "Rylan" "female/facewet" "This feels incredible... he's so big but it fits perfectly." "The way he's filling me completely" "I can't believe how good this feels.">>
<<narrative "He begins to move, his massive cock sliding in and out of me with powerful, deliberate strokes. Each thrust sends waves of pleasure through my body, and I can feel myself getting closer to the edge.">>
<center><img src="images/thalor/dreamsequence/female/sex2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh fuck... yes!" "I moan loudly" "You feel so good inside me!">>
<<dialog "Thalor" "faceconfident" "Oh yeah, girl," "he breathes" "Let me hear how much you're enjoying this. You love being fucked by me, don't you?">>
<<narrative "He increases the pace, his powerful thrusts driving me wild. I can feel his massive cock hitting every sensitive spot inside me, and the pleasure is overwhelming.">>
<center><img src="images/thalor/dreamsequence/female/sex3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "He's so big, so powerful... I can't believe how good this feels." "The way he's pounding into me" "I'm getting so close to cumming.">>
<<dialog "Rylan" "female/facewet" "I'm... I'm getting close!" "I pant, my breathing becoming ragged" "Please... don't stop!">>
<<narrative "He continues to pound into me with increasing intensity, his massive cock stretching me to the limit. I can feel my orgasm building, and I know I'm about to explode.">>
<center><img src="images/thalor/dreamsequence/female/sex4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Thalor" "faceangry" "Yes, girl!" "he groans" "Cum for me! Let me feel you cum around my cock!">>
<<narrative "His thrusts become more erratic and powerful, his massive cock pounding into me with incredible force. I can feel him letting out all his frustrations through his powerful thrusts, and somehow I love it.">>
<center><img src="images/thalor/dreamsequence/female/sex5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "He's fucking me so hard... it's like he's taking out all his anger on me." "But somehow I love it... the way he's using me" "I can't believe how much I'm enjoying this.">>
<<dialog "Rylan" "female/facewet" "Oh god... you're fucking me so hard!" "I scream" "I love it... I love how rough you are!">>
<<dialog "Thalor" "faceconfident" "Fuck," "he moans" "You love being used by me, don't you? You love being my little slut.">>
<<narrative "He continues to pound into me with incredible force, his massive cock hitting every sensitive spot inside me. The bed creaks under our combined weight as we move together in perfect rhythm.">>
<center><img src="images/thalor/dreamsequence/female/sex6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "I'm... I'm going to cum!" "I scream" "Please... make me cum!">>
<<narrative "His thrusts become even more intense, and I can feel him getting closer to his own climax. The pleasure is building to an explosive peak, and I know we're both about to explode.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Thalor" 0.2>>
<<changeLust "Rylan" 20>>
<<continueBox "Chapter6RylanHaremdreamThalorFemaleCum" "Continue" "Reach the peak...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/malekiss.mp3" 1>>
<div class="passage-container rylan">
<<narrative "Before I can protest further, he leans in and presses his lips against mine in a deep, passionate kiss. His tongue immediately seeks entrance, and despite my resistance, I find myself responding instinctively.">>
<center><img src="images/thalor/dreamsequence/kiss1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facewet" "Oh god... I'm kissing him back." "The kiss feels so familiar, so right" "As if we've done this countless times before.">>
<<dialog "Rylan" "faceembarrassed" "I... I can't stop kissing you," "I moan against his lips" "This feels so wrong but so right at the same time.">>
<center><img src="images/thalor/dreamsequence/kiss1a.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Thalor" "facewet" "That's it, $thalorCallsHuman," "he purrs" "Just let go. You know how much I love you, how much I need you.">>
<center><img src="images/thalor/dreamsequence/kiss1b.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The kiss deepens, and I can feel my resistance crumbling. His hands roam over my body with practiced familiarity, as if he knows every inch of me by heart.">>
<<changeFetish "Rylan" "GayValue" 0.2>>
<<changeAttraction "Rylan" "Thalor" 0.2>>
<<changeLust "Rylan" 10>>
<<thought "Rylan" "facewet" "I can't believe this is happening... but it feels so natural." "The way he's touching me, the way he's kissing me" "It's like we've been lovers for years.">>
<center><img src="images/thalor/dreamsequence/kiss2a.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Thalor" "facewet" "I've missed this so much," "he breathes" "I've missed having you all to myself, $thalorCallsHuman.">>
<center><img src="images/thalor/dreamsequence/kiss2b.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<continueBox "Chapter6RylanHaremdreamThalorSex" "Continue" "Give in to temptation...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/rylan/male/moanhard.mp3" "sounds/hsounds/sex.mp3" 1>>
<div class="passage-container rylan">
<<narrative "Thalor positions himself on top of me, his muscular body pressing against mine as he settles between my legs. Despite the taboo nature of this situation, his touch feels so familiar, so right.">>
<<dialog "Thalor" "facewet" "Relax, $thalorCallsHuman," "he whispers" "I'll be gentle with you, just like always. You know how much I love you.">>
<<narrative "He presses his thick cock against my entrance, pushing forward slowly, sliding deep inside me. Despite his size, it doesn't hurt at all - instead, it feels like coming home, like we've done this a thousand times before.">>
<center><img src="images/thalor/dreamsequence/miss1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck... you feel amazing," "I moan" "It's so big, but it doesn't hurt at all.">>
<<thought "Rylan" "facewet" "This feels so familiar... like we've been doing this for years." "The way he's moving, the way he's caring for me" "It's like muscle memory, like we're meant to be together.">>
<<dialog "Thalor" "facewet" "That's it, $thalorCallsHuman," "he gasps" "You always take me in so well. You're so perfect for me.">>
<center><img src="images/thalor/dreamsequence/miss2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "He begins to move slowly, his thick cock sliding in and out of me with gentle, rhythmic strokes. Each thrust feels better than the last, and I can feel myself getting more and more aroused.">>
<<thought "Rylan" "facewet" "He's so gentle... I can feel how much he loves me." "The way he's moving, the way he's moaning" "It's making me feel so safe, so loved, so complete.">>
<center><img src="images/thalor/dreamsequence/miss3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Thalor" "facewet" "You feel so good, $thalorCallsHuman," "he moans" "I can't get enough of you. You're so tight, so perfect.">>
<<narrative "He starts to thrust a little harder, his cock slamming deeper inside me. The sensation is overwhelming, and I can feel my body responding to his every movement.">>
<center><img src="images/thalor/dreamsequence/miss4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Yes... yes... fuck me harder," "I moan" "I need more of you, $humanToThalor.">>
<<thought "Rylan" "facewet" "I can't believe how good this feels... it's getting better and better." "The way he's thrusting, the way he's caring for me" "It's making me feel so complete, so loved.">>
<<dialog "Thalor" "facewet" "Oh yes... that's it, $thalorCallsHuman," "he moans" "You're so beautiful when you're like this. I love seeing you enjoy yourself.">>
<<narrative "He begins to thrust with more force, his thick cock slamming deep inside me with each powerful stroke. The sensation is incredible, and I can feel my body trembling with pleasure.">>
<center><img src="images/thalor/dreamsequence/missp1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facewet" "He's fucking me so good... I can't control myself anymore." "The way he's moving, the way he's caring for me" "It's making me want to give myself completely to him.">>
<<dialog "Thalor" "facewet" "I love you so much, $thalorCallsHuman," "he gasps" "You're everything to me. You always have been.">>
<<narrative "He starts to move even harder, his cock slamming deep inside me with incredible force. The sensation is overwhelming, and I can feel my body convulsing with pleasure.">>
<center><img src="images/thalor/dreamsequence/missp2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck... I'm going to cum," "I scream" "I'm going to cum so hard!">>
<<thought "Rylan" "facewet" "I'm so close... I can feel my orgasm building." "The way he's fucking me, the way he's caring for me" "It's making me feel so complete, so loved.">>
<<dialog "Thalor" "facewet" "Yes... yes... I'm getting close too," "he moans" "I want to cum inside you. I want to fill you up with my seed.">>
<<narrative "I can feel my orgasm building rapidly as he continues to thrust inside me. The sensation is overwhelming, and I know we're both about to reach our climax together.">>
<<thought "Rylan" "facewet" "We're both so close... I can feel him getting ready to cum too." "The way he's moving, the way he's caring for me" "It's making me want to give him everything.">>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "AssFetish" 0.2>>
<<changeAttraction "Rylan" "Thalor" 0.2>>
<<continueBox "Chapter6RylanHaremdreamThalorCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<set $timeOfDay = "night">>
<<narrative "As the night grows deeper, $humanName finds himself drifting into a restless sleep. The events of the day swirl through his mind, mixing with desires and fantasies that he's never dared to voice aloud.">>
<<narrative "In the hazy realm between consciousness and dreams, he finds himself standing in a familiar room - Liora's bedroom, but somehow different. The air shimmers with possibility, and he realizes this is no ordinary dream. This is a place where fantasies can become reality, where he can explore desires he's kept hidden deep within his heart.">>
<<narrative "A voice echoes through the dream realm, soft and seductive: 'Choose your fantasy, $humanName. In this dream, you can be whoever you want to be, with whomever you desire. Your body will adapt to match your deepest desires.'">>
<div class="dream-customization-container">
<h2>🌙 (short) Harem Dream Customization</h2>
<p>Choose which characters you want to appear in your dream, and select your preferred body type for each encounter:</p>
<div class="character-selection-grid">
<<if $rylan_MarielAffection > 0 or $rylan_MarielAttraction > 0>>
<div class="character-option">
<img src="images/mariel/face.webp" class="character-portrait" width="80" height="80">
<h3>Mariel</h3>
<p>Your $marielToHuman - warm, gentle, and protective</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamMariel" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<</if>>
<<if $rylan_ThalorAffection > 0 or $rylan_ThalorAttraction > 0>>
<div class="character-option">
<img src="images/thalor/face.webp" class="character-portrait" width="80" height="80">
<h3>Thalor</h3>
<p>Your $thalorToHuman - strong, stern, and commanding</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamThalor" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<</if>>
<<if $rylan_LioraAffection > 0 or $rylan_LioraAttraction > 0>>
<div class="character-option">
<img src="images/liora/faceshortpink.webp" class="character-portrait" width="80" height="80">
<h3>Liora</h3>
<p>Your shy, innocent friend with healing powers</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamLiora" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<</if>>
<<if $rylan_SerinAffection > 0 or $rylan_SerinAttraction > 0>>
<div class="character-option">
<img src="images/serin/face.webp" class="character-portrait" width="80" height="80">
<h3>Serin</h3>
<p>Your teasing, athletic friend with a playful spirit</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamSerin" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<</if>>
<<if $rylan_SerykAffection > 0 or $rylan_SerykAttraction > 0>>
<div class="character-option">
<img src="images/seryk/face.webp" class="character-portrait" width="80" height="80">
<h3>Seryk</h3>
<p>The noble demon warrior with incredible strength</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamSeryk" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<</if>>
<<if $rylan_NimeriaAffection > 0 or $rylan_NimeriaAttraction > 0>>
<div class="character-option">
<img src="images/nimeria/face.webp" class="character-portrait" width="80" height="80">
<h3>Nimeria</h3>
<p>The mysterious demon girl with hidden depths</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamNimeria" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
<</if>>
<div class="character-option">
<img src="images/sora/face.webp" class="character-portrait" width="80" height="80">
<h3>Sora</h3>
<p>The playful cat-femboy with a mischievous charm</p>
<label class="checkbox-container">
<input type="checkbox" name="dreamSora" value="true">
<span class="checkmark"></span>
Include in Dream
</label>
</div>
</div>
<div class="body-selection-container">
<h3>🎭 Body Type Selection</h3>
<p>Choose your preferred body type for the dream:</p>
<form id="dreamForm">
<div class="radio-group">
<label class="radio-container">
<input type="radio" name="dreamBodyType" value="male" checked>
<span class="radio-mark"></span>
<img src="images/rylan/facesurprised.webp" class="radio-face-image" width="80px" height="80px">
Male Body
</label>
<label class="radio-container">
<input type="radio" name="dreamBodyType" value="female">
<span class="radio-mark"></span>
<img src="images/rylan/female/faceconfident.webp" class="radio-face-image" width="80px" height="80px">
Female Body
</label>
</div>
</form>
</div>
<div class="dream-begin-container">
<h3>✨ Ready to Begin Your Dream</h3>
<p>Your fantasy is set. The dream realm awaits your desires...</p>
<<button "Continue" "Chapter6RylanHaremdreamShortSequence">>
<<set $dreamMariel = document.querySelector('input[name="dreamMariel"]')?.checked || false>>
<<set $dreamThalor = document.querySelector('input[name="dreamThalor"]')?.checked || false>>
<<set $dreamLiora = document.querySelector('input[name="dreamLiora"]')?.checked || false>>
<<set $dreamSerin = document.querySelector('input[name="dreamSerin"]')?.checked || false>>
<<set $dreamSeryk = document.querySelector('input[name="dreamSeryk"]')?.checked || false>>
<<set $dreamNimeria = document.querySelector('input[name="dreamNimeria"]')?.checked || false>>
<<set $dreamSora = document.querySelector('input[name="dreamSora"]')?.checked || false>>
<<set $dreamBodyType = document.querySelector('input[name="dreamBodyType"]:checked')?.value || 'male'>>
<<set $marielDreamBody = $dreamBodyType>>
<<set $thalorDreamBody = $dreamBodyType>>
<<set $lioraDreamBody = $dreamBodyType>>
<<set $serinDreamBody = $dreamBodyType>>
<<set $serykDreamBody = $dreamBodyType>>
<<set $nimeriaDreamBody = $dreamBodyType>>
<<set $soraDreamBody = $dreamBodyType>>
<</button>>
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">>
<style>
.dream-customization-container {
background: linear-gradient(145deg, rgba(30, 30, 35, 0.9), rgba(20, 20, 25, 0.95));
border: 2px solid rgba(120, 120, 120, 0.4);
border-radius: 15px;
padding: 25px;
margin: 20px 0;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}
.character-selection-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 20px;
margin: 20px 0;
}
.character-option {
background: linear-gradient(145deg, rgba(40, 40, 45, 0.8), rgba(30, 30, 35, 0.9));
border: 1px solid rgba(80, 80, 80, 0.3);
border-radius: 10px;
padding: 15px;
text-align: center;
transition: all 0.3s ease;
}
.character-option:hover {
border-color: rgba(120, 120, 120, 0.6);
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.character-portrait {
border-radius: 50%;
border: 2px solid rgba(255, 255, 255, 0.3);
margin-bottom: 10px;
}
.character-option h3 {
color: #e0e0e0;
margin: 10px 0 5px 0;
font-size: 1.1em;
}
.character-option p {
color: #b0b0b0;
font-size: 0.9em;
margin: 5px 0;
}
.body-selection-container {
background: linear-gradient(145deg, rgba(35, 35, 40, 0.8), rgba(25, 25, 30, 0.9));
border: 1px solid rgba(90, 90, 90, 0.4);
border-radius: 10px;
padding: 20px;
margin: 20px 0;
}
.dream-begin-container {
background: linear-gradient(145deg, rgba(50, 30, 50, 0.8), rgba(40, 20, 40, 0.9));
border: 2px solid rgba(150, 100, 150, 0.4);
border-radius: 10px;
padding: 20px;
text-align: center;
margin: 20px 0;
}
.dream-begin-container h3 {
color: #f0d0f0;
margin: 0 0 15px 0;
}
.checkbox-container {
display: block;
position: relative;
padding-left: 35px;
margin: 10px 0;
cursor: pointer;
font-size: 16px;
color: #e0e0e0;
user-select: none;
}
.checkbox-container input {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0;
}
.checkmark {
position: absolute;
top: 0;
left: 0;
height: 20px;
width: 20px;
background-color: rgba(40, 40, 45, 0.8);
border: 2px solid rgba(120, 120, 120, 0.4);
border-radius: 4px;
transition: all 0.3s ease;
}
.checkbox-container:hover input ~ .checkmark {
background-color: rgba(60, 60, 65, 0.8);
border-color: rgba(150, 150, 150, 0.6);
}
.checkbox-container input:checked ~ .checkmark {
background-color: rgba(150, 100, 150, 0.8);
border-color: rgba(200, 150, 200, 0.6);
}
.checkmark:after {
content: "";
position: absolute;
display: none;
}
.checkbox-container input:checked ~ .checkmark:after {
display: block;
}
.checkbox-container .checkmark:after {
left: 6px;
top: 2px;
width: 6px;
height: 10px;
border: solid white;
border-width: 0 3px 3px 0;
transform: rotate(45deg);
}
.radio-group {
display: flex;
gap: 20px;
margin: 10px 0;
}
.radio-container {
display: flex;
align-items: center;
position: relative;
padding: 15px;
margin: 10px 0;
cursor: pointer;
font-size: 16px;
color: #e0e0e0;
user-select: none;
background: linear-gradient(145deg, rgba(40, 40, 45, 0.6), rgba(30, 30, 35, 0.7));
border: 1px solid rgba(80, 80, 80, 0.3);
border-radius: 8px;
transition: all 0.3s ease;
}
.radio-container input {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0;
}
.radio-mark {
position: absolute;
top: 0;
left: 0;
height: 20px;
width: 20px;
background-color: rgba(40, 40, 45, 0.8);
border: 2px solid rgba(120, 120, 120, 0.4);
border-radius: 50%;
transition: all 0.3s ease;
}
.radio-container:hover input ~ .radio-mark {
background-color: rgba(60, 60, 65, 0.8);
border-color: rgba(150, 150, 150, 0.6);
}
.radio-container input:checked ~ .radio-mark {
background-color: rgba(150, 100, 150, 0.8);
border-color: rgba(200, 150, 200, 0.6);
}
.radio-container:hover {
border-color: rgba(120, 120, 120, 0.6);
transform: translateY(-2px);
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}
.radio-mark:after {
content: "";
position: absolute;
display: none;
}
.radio-container input:checked ~ .radio-mark:after {
display: block;
}
.radio-container .radio-mark:after {
top: 6px;
left: 6px;
width: 8px;
height: 8px;
border-radius: 50%;
background: white;
}
.radio-face-image {
border-radius: 50%;
border: 2px solid rgba(255, 255, 255, 0.3);
margin-right: 15px;
vertical-align: middle;
display: inline-block;
}
</style>
<script>
// Set initial checked states when page loads
document.addEventListener('DOMContentLoaded', function() {
// Set checkbox states
if (State.getVar('dreamMariel')) {
document.querySelector('input[name="dreamMariel"]').checked = true;
}
if (State.getVar('dreamThalor')) {
document.querySelector('input[name="dreamThalor"]').checked = true;
}
if (State.getVar('dreamLiora')) {
document.querySelector('input[name="dreamLiora"]').checked = true;
}
if (State.getVar('dreamSerin')) {
document.querySelector('input[name="dreamSerin"]').checked = true;
}
if (State.getVar('dreamSeryk')) {
document.querySelector('input[name="dreamSeryk"]').checked = true;
}
if (State.getVar('dreamNimeria')) {
document.querySelector('input[name="dreamNimeria"]').checked = true;
}
if (State.getVar('dreamSora')) {
document.querySelector('input[name="dreamSora"]').checked = true;
}
// Set body type radio button
const dreamBodyType = State.getVar('dreamBodyType') || 'male';
document.querySelector(`input[name="dreamBodyType"][value="${dreamBodyType}"]`).checked = true;
});
</script><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<if $dreamLiora or $dreamMariel or $dreamSerin or $dreamNimeria or $dreamSeryk or $dreamThalor or $dreamSora>>
<<narrative "I suddenly jolt awake, my body covered in sweat as I sit up in my bed. The dream world fades away, but the memories remain vivid and disturbing.">>
<<if $dreamBodyType === "female">>
<<thought "Rylan" "faceshocked" "What the hell was that dream?!" "I look down at my body, relieved to see I'm still male" "But in the dream... I was female! That felt so real, so natural.">>
<<else>>
<<thought "Rylan" "faceshocked" "What the hell was that dream?!" "I look around my room, trying to ground myself in reality" "It felt so real, so vivid... but it was just a dream.">>
<</if>>
<<if $dreamLiora>>
<<if $dreamBodyType === "female">>
<center><img src="images/liora/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/liora/dreamsequence/missionary/cum.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Rylan" "faceembarrassed" "I remember the dream with Liora...">>
<</if>>
<<if $dreamMariel>>
<<if $dreamBodyType === "female">>
<center><img src="images/mariel/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/mariel/dreamsequence/cowgirl/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Rylan" "faceembarrassed" "I remember the dream with my $marielToHuman...">>
<</if>>
<<if $dreamSerin>>
<<if $serinFutanariTransformation>>
<<if $dreamBodyType === "female">>
<center><img src="images/serin/dreamsequence/futa/female/cum3.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/serin/dreamsequence/futa/cumface.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<else>>
<<if $dreamBodyType === "female">>
<center><img src="images/serin/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/serin/dreamsequence/cowgirl/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<</if>>
<<thought "Rylan" "faceembarrassed" "I remember the dream with Serin...">>
<</if>>
<<if $dreamNimeria>>
<<if $dreamBodyType === "female">>
<center><img src="images/nimeria/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/dreamsequence/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Rylan" "faceembarrassed" "I remember the dream with Nimeria...">>
<</if>>
<<if $dreamSeryk>>
<<if $dreamBodyType === "female">>
<center><img src="images/seryk/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/seryk/dreamsequence/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Rylan" "faceembarrassed" "I remember the dream with Seryk...">>
<</if>>
<<if $dreamThalor>>
<<if $dreamBodyType === "female">>
<center><img src="images/thalor/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/thalor/dreamsequence/kiss2.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Rylan" "faceembarrassed" "I remember the dream with $humanToThalor...">>
<</if>>
<<if $dreamSora>>
<<if $dreamBodyType === "female">>
<center><img src="images/sora/dreamsequence/female/cum3.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/sora/dreamsequence/cum1.webp" style="max-width: 500px; margin-bottom: 15px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Rylan" "faceembarrassed" "I remember the dream with Sora...">>
<</if>>
<<narrative "I shake my head, trying to clear the disturbing images from my mind. That dream was so vivid, so real... but it was just a dream. Right?">>
<<thought "Rylan" "faceworried" "But why did it feel so natural? Why did I respond so easily to each touch, each word?" "The way my body moved, the way I moaned" "It felt like I was meant to be that way... but that's not me.">>
<<narrative "I close my eyes and try to sleep, but the dream world calls to me, promising more encounters, more pleasure, more confusion about who I really am.">>
<<changeLust "Rylan" -100>>
<<else>>
<<narrative "I suddenly jolt awake, feeling strangely refreshed. The dream realm was empty, peaceful, and quiet - no temptations, no encounters, just a restful sleep.">>
<<thought "Rylan" "faceconfused" "That was strange... I expected something to happen in the dream, but it was just... empty.">>
<<narrative "I lie back down in my bed, feeling surprisingly calm and centered. The empty dream was actually quite peaceful, and I find myself drifting back to sleep easily.">>
<<changeLust "Rylan" -50>>
<</if>>
<<continueBox "Chapter6morningday1" "Continue" "The dream fades...">>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<narrative "I push the door open to reveal Liora's bedroom, bathed in warm, intimate lighting. There, sitting on her bed completely naked, is Liora.">>
<center><img src="images/liora/dreamsequence/sitonbed.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "faceembarrassedshortpink" "I... I was hoping you'd come," "she says softly" "I couldn't sleep, and I thought... maybe you'd want to... be with me tonight.">>
<<narrative "Suddenly, I find myself on the bed with her, my cock already hard and throbbing. The dream world shifts around us, and I'm already inside her, thrusting with wild abandon.">>
<<continueBox "Chapter6RylanHaremdreamShortLioraSex" "Continue" "Begin the intimate act...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/liora/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<narrative "As we reach the peak of our passion, I feel my orgasm building, the pressure in my balls becoming unbearable. Liora's pussy clenches around me, milking my cock as she reaches her own climax.">>
<center><img src="images/liora/dreamsequence/missionary/cum.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "With a final, powerful thrust, I explode inside her, my hot cum shooting deep into her pussy in thick, pulsing waves. She cries out with pleasure, her body convulsing around me as wave after wave of ecstasy crashes over us both.">>
<<narrative "I pull out slowly, watching as my cum begins to leak from her pussy in thick, white streams. Her eyes are rolled back in pure ecstasy, her mouth slightly open as she gasps for breath, completely lost in the aftermath of her orgasm.">>
<center><img src="images/liora/dreamsequence/missionary/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The sight of her like this - her eyes rolled back, my cum leaking out of her, her body still trembling from the intensity - sends another wave of satisfaction through me. She looks so beautiful, so completely overwhelmed by what we just shared.">>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Liora" 0.6>>
<<narrative "We collapse together, our bodies still connected as we ride out the aftershocks of our shared orgasm. The dream world around us shimmers and fades, leaving us both breathless and satisfied.">>
<<if $dreamMariel>>
<<continueBox "Chapter6RylanHaremdreamShortMariel" "Continue" "">>
<<elseif $dreamSerin>>
<<continueBox "Chapter6RylanHaremdreamShortSerin" "Continue" "">>
<<elseif $dreamNimeria>>
<<continueBox "Chapter6RylanHaremdreamShortNimeria" "Continue" "">>
<<elseif $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamShortSeryk" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamShortThalor" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamShortSora" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<narrative "I push the door open to reveal Liora's bedroom, bathed in warm, intimate lighting. There, sitting on her bed completely naked, is Liora.">>
<center><img src="images/liora/dreamsequence/sitonbed.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "faceembarrassedshortpink" "I... I was hoping you'd come," "she says softly" "I couldn't sleep, and I thought... maybe you'd want to... be with me tonight.">>
<<narrative "Suddenly, I find myself between her legs, my tongue already exploring her wet folds. The dream world shifts around us, and I'm already deep in her embrace, moaning with wild abandon.">>
<<continueBox "Chapter6RylanHaremdreamShortLioraFemaleSex" "Continue" "Begin the intimate act...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/liora/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<narrative "As Liora reaches the peak of her passion, I feel her body convulsing around my tongue. Her pussy clenches and releases in powerful waves, her sweet juices flowing freely as she cries out with pleasure.">>
<center><img src="images/liora/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "With a final, powerful orgasm, she explodes on my face, her hot squirt shooting out in thick, pulsing waves. She cries out with pleasure, her body convulsing as wave after wave of ecstasy crashes over us both.">>
<<thought "Rylan" "female/facewet" "Oh my god... she's squirting all over my face!" "This is incredible... I can feel her juices dripping down" "I want to taste every drop of her...">>
<<narrative "I pull back slowly, watching as her squirt drips down my face in thick, clear streams. Her eyes are rolled back in pure ecstasy, her mouth slightly open as she gasps for breath, completely lost in the aftermath of her orgasm.">>
<center><img src="images/liora/dreamsequence/female/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "She looks so beautiful like this... completely overwhelmed." "Her juices are still dripping down my face" "I can't believe I made her feel this good...">>
<<narrative "The sight of her like this - her eyes rolled back, her squirt dripping down my face, her body still trembling from the intensity - sends another wave of satisfaction through me. She looks so beautiful, so completely overwhelmed by what we just shared.">>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Liora" 0.2>>
<<narrative "We collapse together, our bodies still connected as we ride out the aftershocks of her orgasm. The dream world around us shimmers and fades, leaving us both breathless and satisfied.">>
<<if $dreamMariel>>
<<continueBox "Chapter6RylanHaremdreamShortMarielFemale" "Continue" "">>
<<elseif $dreamSerin>>
<<continueBox "Chapter6RylanHaremdreamShortSerinFemale" "Continue" "">>
<<elseif $dreamNimeria>>
<<continueBox "Chapter6RylanHaremdreamShortNimeriaFemale" "Continue" "">>
<<elseif $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamShortSerykFemale" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamShortThalorFemale" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamShortSoraFemale" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<playLoopingSounds "sounds/hsounds/liora/moansoft.mp3" "sounds/hsounds/blowjob.mp3" 1>>
<<narrative "I lean down between her legs, my tongue extending to taste her sweet, glistening pussy. The moment my tongue touches her folds, she gasps and arches her back, her body trembling with pleasure.">>
<center><img src="images/liora/dreamsequence/female/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeAttraction "Rylan" "Liora" 0.3>>
<<thought "Rylan" "female/facewet" "Oh my god... she tastes incredible." "I can't believe I'm actually doing this" "Her pussy is so wet and sweet...">>
<<dialog "Liora" "facewet" "Oh... that feels so good..." "she gasps, her eyes fluttering closed" "Your tongue is so soft and warm...">>
<<narrative "I begin with gentle, slow licks, exploring every inch of her wet folds. The taste of her arousal is intoxicating, and I can feel her body responding to my every touch.">>
<center><img src="images/liora/dreamsequence/female/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "I want to make her feel amazing." "I need to be gentle but thorough" "I can feel her getting wetter with every lick...">>
<center><img src="images/liora/dreamsequence/female/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "faceembarrassedshortpink" "Please... don't stop..." "she whispers, her hands gripping the sheets" "I want to feel every moment of this...">>
<<narrative "I increase the pressure and speed of my licks, focusing on her clit as she moans softly above me. Her hips begin to move against my face, grinding against my tongue.">>
<center><img src="images/liora/dreamsequence/female/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She wraps her legs around my head, pulling me deeper as I continue to pleasure her. Each lick sends waves of pleasure through both our bodies.">>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<changeAttraction "Rylan" "Liora" 0.2>>
<center><img src="images/liora/dreamsequence/female/6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "She's pulling me deeper... I love this feeling." "Her legs around my head feel so good" "I want to make her cum so badly...">>
<<dialog "Liora" "facewet" "Yes... yes... that feels so good..." "she moans, her voice trembling with pleasure" "Don't stop... I need more...">>
<<narrative "I slip my tongue inside her, tasting her sweet nectar as she gasps and moans. Her pussy is so tight and wet, gripping my tongue with each movement.">>
<center><img src="images/liora/dreamsequence/female/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I alternate between licking her clit and thrusting my tongue inside her, feeling her walls contract around me. Her breathing becomes heavier, and I can feel her body trembling beneath me.">>
<<changeFetish "Rylan" "BreastFetish" 0.2>>
<<changeAttraction "Rylan" "Liora" 0.2>>
<<thought "Rylan" "female/facewet" "I can feel her getting closer... her walls are tightening around my tongue." "I need to focus on her clit now" "I want to make her explode with pleasure...">>
<<dialog "Liora" "facewet" "Oh... oh yes..." "Liora moans softly, her voice filled with ecstasy" "Don't stop... I want to feel you... I want to cum on your face...">>
<center><img src="images/liora/dreamsequence/female/7.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The pace quickens as our passion builds, our bodies moving in perfect harmony.">>
<<narrative "I can feel her orgasm building as I continue to pleasure her with my tongue. Her pussy is so wet and responsive, gripping my tongue with each wave of pleasure.">>
<<changeFetish "Rylan" "DominanceFetish" 0.4>>
<<changeAttraction "Rylan" "Liora" 0.3>>
<<thought "Rylan" "female/facewet" "She's so close... I can feel her body tensing up." "I need to keep going, focus on her clit" "I want to make her cum so hard...">>
<<dialog "Liora" "facewet" "I'm... I'm getting close..." "she gasps, her hands clawing at the sheets" "Please... don't stop... I need to cum on your face...">>
<<narrative "I feel her walls beginning to contract around my tongue, signaling her approaching orgasm. The sensation is incredible as she clenches and releases around me, pulling me deeper with each wave of pleasure.">>
<<narrative "I increase the intensity of my licks, focusing entirely on her clit as I feel her body tensing up. The dream realm seems to amplify every sensation, making each lick feel more intense than the last.">>
<center><img src="images/liora/dreamsequence/female/8.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "Yes! She's cumming! I can feel it!" "Her pussy is clenching around my tongue" "I want to taste every drop of her cum...">>
<<dialog "Liora" "facewet" "Yes... yes... I'm cumming!" "she cries out, her body convulsing beneath me" "Cum on your face... please let me cum on your face...">>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Liora" 0.3>>
<<narrative "I can feel her orgasm washing over her as her pussy clenches around my tongue like a vice. The sensation is overwhelming, and I know she's about to explode with pleasure.">>
<<continueBox "Chapter6RylanHaremdreamShortLioraFemaleCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<playLoopingSounds "sounds/hsounds/liora/moanhard.mp3" "sounds/hsounds/sex.mp3" 1>>
<<narrative "With a slow, deliberate thrust, I enter her, both of us moaning as our bodies connect. The sensation is overwhelming - her tight, wet pussy gripping my cock like a velvet glove.">>
<center><img src="images/liora/dreamsequence/missionary/pen1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeAttraction "Rylan" "Liora" 0.3>>
<<dialog "Liora" "facewet" "Oh... it's so big..." "she gasps, her eyes fluttering closed" "I can feel every inch of you inside me...">>
<<narrative "I pause for a moment, letting her adjust to my size as I feel her walls clench around me. The heat radiating from her core is intoxicating, and I can feel her heartbeat pulsing against my shaft.">>
<<dialog "Liora" "faceembarrassedshortpink" "Please... move slowly at first..." "she whispers, her hands gripping my shoulders" "I want to feel every moment of this...">>
<center><img src="images/liora/dreamsequence/missionary/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I begin with gentle, shallow thrusts, watching her face for any sign of discomfort. But instead, I see pure ecstasy as her eyes roll back and her mouth opens in a silent moan.">>
<center><img src="images/liora/dreamsequence/missionary/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She wraps her legs around my waist, pulling me deeper as we begin to move together. Each thrust sends waves of pleasure through both our bodies, the dream realm amplifying every sensation.">>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<changeAttraction "Rylan" "Liora" 0.2>>
<<dialog "Liora" "facewet" "Yes... yes... that feels so good..." "she moans, her voice trembling with pleasure" "Don't stop... I need more...">>
<<narrative "I increase the pace slightly, feeling her walls tighten around me as she responds to each movement. Her breathing becomes heavier, and I can feel her body trembling beneath me.">>
<center><img src="images/liora/dreamsequence/missionary/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I lean down to kiss her neck, feeling her pulse racing against my lips. She arches her back, pressing her breasts against my chest as I continue to thrust into her with increasing intensity.">>
<<changeFetish "Rylan" "BreastFetish" 0.2>>
<<changeAttraction "Rylan" "Liora" 0.2>>
<<dialog "Liora" "facewet" "Oh... oh yes..." "Liora moans softly, her voice filled with ecstasy" "Don't stop... I want to feel you... I want to feel you cum inside me...">>
<center><img src="images/liora/dreamsequence/missionary/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The pace quickens as our passion builds, our bodies moving in perfect harmony. The dream world around us pulses with our shared arousal, every sensation magnified beyond reality.">>
<center><img src="images/liora/dreamsequence/missionary/5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I can feel my own pleasure building as I thrust deeper and faster into her. Her pussy is so tight and wet, gripping my cock with each movement as if trying to milk every drop of pleasure from me.">>
<<changeFetish "Rylan" "DominanceFetish" 0.4>>
<<changeAttraction "Rylan" "Liora" 0.3>>
<<dialog "Liora" "facewet" "I'm... I'm getting close..." "she gasps, her hands clawing at my back" "Please... don't stop... I need you to cum with me...">>
<<narrative "I feel her walls beginning to contract around me, signaling her approaching orgasm. The sensation is incredible as she clenches and releases around my shaft, pulling me deeper with each wave of pleasure.">>
<<narrative "I increase my pace even more, feeling the pressure building in my own balls as I approach my own climax. The dream realm seems to amplify every sensation, making each thrust feel more intense than the last.">>
<center><img src="images/liora/dreamsequence/missionary/6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "facewet" "Yes... yes... I'm cumming!" "she cries out, her body convulsing beneath me" "Cum with me... please cum inside me...">>
<<changeFetish "Rylan" "VaginaFetish" 0.3>>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeAttraction "Rylan" "Liora" 0.4>>
<<narrative "I can feel her orgasm washing over her as her pussy clenches around me like a vice. The sensation is overwhelming, and I know I can't hold back much longer as my own climax approaches rapidly.">>
<<continueBox "Chapter6RylanHaremdreamShortLioraCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<if $dreamLiora>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Liora is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when the dream shifts around me. The room remains Liora's bedroom, but now bathed in warm, intimate lighting. I hear the door creak open.">>
<</if>>
<<narrative "There, standing in the doorway completely naked, is my $marielToHuman. Her beautiful body glows in the warm light, her curves highlighted by the intimate atmosphere.">>
<center><img src="images/mariel/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facesmirk" "Oh honey, look who's waiting for me," "she says with a warm, maternal smile that somehow sounds completely seductive" "I was hoping you'd be here tonight, my dear child. I've been thinking about you all day.">>
<<else>>
<<dialog "Mariel" "facesmirk" "Well, well... look who's waiting for me," "she says with a sultry smile, her voice filled with desire" "I was hoping you'd be here tonight. I've been thinking about you all day.">>
<</if>>
<<narrative "Suddenly, she's on top of me, riding me with wild abandon. The dream world shifts around us, and I'm already deep inside her, thrusting with wild abandon.">>
<<continueBox "Chapter6RylanHaremdreamShortMarielSex" "Continue" "Begin the intimate act...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/mariel/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<if $marielTransformationMother>>
<<narrative "As we reach the peak of our passion, I feel my orgasm building, the pressure in my balls becoming unbearable. Mariel's pussy clenches around me, milking my cock as she reaches her own climax.">>
<<narrative "With a final, powerful thrust, I explode inside her, my hot cum filling her completely. She cries out with pleasure, her body convulsing around me as wave after wave of ecstasy crashes over us both.">>
<center><img src="images/mariel/dreamsequence/cowgirl/cumb.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "As her orgasm peaks, streams of warm breastmilk shoot from her nipples, spraying across my chest and face. The sweet, creamy liquid mixes with our sweat as we both lose ourselves in the overwhelming pleasure.">>
<<dialog "Mariel" "facewet" "Oh honey... oh my dear child..." "she gasps between moans" "I'm... I'm spraying everywhere... it feels so good...">>
<center><img src="images/mariel/dreamsequence/cowgirl/cumb1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<<narrative "As we reach the peak of our passion, I feel my orgasm building, the pressure in my balls becoming unbearable. Mariel's pussy clenches around me, milking my cock as she reaches her own climax.">>
<center><img src="images/mariel/dreamsequence/cowgirl/cumn.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "With a final, powerful thrust, I explode inside her, my hot cum filling her completely. She cries out with pleasure, her body convulsing around me as wave after wave of ecstasy crashes over us both.">>
<center><img src="images/mariel/dreamsequence/cowgirl/cumn1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Mariel" 0.3>>
<<narrative "We collapse together, our bodies still connected as we ride out the aftershocks of our shared orgasm. The dream world around us shimmers and fades, leaving us both breathless and satisfied.">>
<<if $dreamSerin>>
<<continueBox "Chapter6RylanHaremdreamShortSerin" "Continue" "">>
<<elseif $dreamNimeria>>
<<continueBox "Chapter6RylanHaremdreamShortNimeria" "Continue" "">>
<<elseif $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamShortSeryk" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamShortThalor" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamShortSora" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Liora is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<narrative "I look down at my body and notice something strange - I'm wearing a strap-on harness with a realistic dildo attached. The weight of it feels foreign yet somehow right, as if I was meant to wear it all along.">>
<<narrative "There, standing in the doorway completely naked, is my $marielToHuman. Her beautiful body glows in the warm light, her curves highlighted by the intimate atmosphere. But there's something different about her tonight - those warm, caring eyes now hold a depth of desire that makes my heart race.">>
<center><img src="images/mariel/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Suddenly, she's on top of me, riding my strap-on with wild abandon. The dream world shifts around us, and I'm already deep inside her, thrusting with incredible intensity.">>
<<continueBox "Chapter6RylanHaremdreamShortMarielFemaleSex" "Continue" "Begin the intimate act...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/mariel/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<narrative "As we reach the peak of our passion, I feel my orgasm building, the pressure in my pussy becoming unbearable. Mariel's pussy clenches around my strap-on as she reaches her own climax, and I can feel her walls pulsing around me.">>
<<narrative "With a final, powerful thrust, we both explode together. I feel my pussy clench and release as I squirt, my hot juices spraying out in thick streams. Mariel cries out with pleasure, her body convulsing around my strap-on as wave after wave of ecstasy crashes over us both.">>
<center><img src="images/mariel/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I can feel my own squirt dripping down my thighs as I continue to thrust into her, our bodies slick with our combined juices. The sensation is incredible as we both ride out our orgasms together.">>
<<dialog "Mariel" "facewet" "Oh god... you're squirting too..." "she gasps between moans" "I can feel it... we're both cumming so hard...">>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Mariel" 0.3>>
<<narrative "We collapse together, our bodies still connected as we ride out the aftershocks of our shared orgasm. The dream world around us shimmers and fades, leaving us both breathless and satisfied, covered in our combined juices.">>
<<if $dreamSerin>>
<<continueBox "Chapter6RylanHaremdreamShortSerinFemale" "Continue" "">>
<<elseif $dreamNimeria>>
<<continueBox "Chapter6RylanHaremdreamShortNimeriaFemale" "Continue" "">>
<<elseif $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamShortSerykFemale" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamShortThalorFemale" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamShortSoraFemale" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<playLoopingSounds "sounds/hsounds/mariel/moanhard.mp3" "sounds/hsounds/deepkiss.mp3" "sounds/hsounds/sex.mp3" 1>>
<<thought "Rylan" "female/faceworried" "This feels so good, but it's so wrong... she's my $marielToHuman, but I can't stop myself from responding to her touch." "I'm torn between the overwhelming pleasure and the voice in my head screaming that this is forbidden.">>
<center><img src="images/mariel/dreamsequence/female/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She begins to rock her hips slowly, her body moving in perfect rhythm with mine. Each movement sends waves of pleasure through both our bodies, the dream realm amplifying every sensation.">>
<<dialog "Mariel" "faceembarrassed" "Yes... yes... that feels so good..." "she moans, her voice trembling with pleasure" "I want to feel you everywhere... I want to taste you.">>
<<narrative "Suddenly, she leans forward, her face inches from mine. I can see the desire in her eyes, the need that's driving her to break all boundaries.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "Oh sweetheart, your lips look so soft," "she whispers, her maternal voice taking on a seductive tone" "It feels so good to kiss a girl... to feel these delicate, feminine lips against mine.">>
<<else>>
<<dialog "Mariel" "facewet" "Your lips look so soft," "she whispers, her voice filled with wonder" "It feels so good to kiss a girl... to feel these delicate, feminine lips against mine.">>
<</if>>
<<narrative "Before I can protest, she captures my lips in a deep, passionate French kiss. Her tongue explores my mouth with an intensity that takes my breath away, and I find myself responding despite my confusion.">>
<center><img src="images/mariel/dreamsequence/female/frenchkiss3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "Oh god... her tongue feels amazing... I can't help but kiss her back." "This is so wrong but feels so right... I want more.">>
<center><img src="images/mariel/dreamsequence/female/frenchkiss2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/faceembarrassed" "Mmph... $humanToMariel..." "I moan against her lips, my voice muffled by our passionate kiss" "This feels... incredible...">>
<<narrative "I kiss her back eagerly, my tongue dancing with hers as she continues to ride my strap-on. The dual sensation of her pussy gripping me and her mouth devouring mine is overwhelming.">>
<<changeFetish "Rylan" "DominanceFetish" 0.4>>
<<changeAttraction "Rylan" "Mariel" 0.3>>
<center><img src="images/mariel/dreamsequence/female/frenchkiss5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "That's it, my dear child," "she moans between kisses" "Kiss mommy back... show me how much you've learned about pleasing a woman.">>
<<else>>
<<dialog "Mariel" "facewet" "That's it, baby," "she moans between kisses" "Kiss me back... show me how much you want this.">>
<</if>>
<center><img src="images/mariel/dreamsequence/female/frenchkiss4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The intensity builds as she continues to ride me, her movements becoming more urgent. My arousal reaches a breaking point, and I can't stand being passive anymore.">>
<center><img src="images/mariel/dreamsequence/female/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "I need more... I need to take control... I want to fuck her properly." "This passive position isn't enough anymore.">>
<<narrative "With a surge of energy, I grab her waist and flip her onto her back, my strap-on still buried deep inside her. She gasps in surprise as I position myself above her.">>
<center><img src="images/mariel/dreamsequence/female/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/faceconfident" "My turn," "I growl, my voice filled with newfound dominance" "I'm going to fuck you properly now.">>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Mariel" 0.3>>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceshocked" "Oh my... my dear child has become so assertive," "she gasps, her eyes wide with surprise and arousal" "Show mommy what you can do.">>
<<else>>
<<dialog "Mariel" "faceshocked" "Oh... you're taking charge now," "she gasps, her eyes wide with surprise and arousal" "I love this side of you.">>
<</if>>
<<narrative "I begin to thrust into her with increasing intensity, the strap-on sliding in and out of her wet pussy with powerful strokes. Despite only wearing a strap-on, I can feel every movement, every clench of her walls around me.">>
<center><img src="images/mariel/dreamsequence/female/frenchkiss.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I lean down and capture her lips in my own French kiss, my tongue exploring her mouth aggressively as I continue to pound into her.">>
<<dialog "Rylan" "female/facewet" "You taste so good," "I moan against her lips" "I want to devour every inch of you.">>
<<thought "Rylan" "female/facewet" "This feeling is incredible... I love being in control of her pleasure." "I never knew I could feel this powerful.">>
<center><img src="images/mariel/dreamsequence/female/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "facewet" "Yes... yes... fuck me harder!" "she cries out, her hands gripping my shoulders" "I'm getting so close... don't stop!">>
<<changeFetish "Rylan" "DominanceFetish" 0.6>>
<<changeAttraction "Rylan" "Mariel" 0.5>>
<<narrative "I increase my pace, driving the strap-on deep into her with powerful thrusts. Our tongues dance together as I kiss her passionately, completely lost in the dominant role.">>
<<narrative "I can feel her pussy clenching around my strap-on, signaling her approaching orgasm. The sensation is incredible as she grips me tighter with each wave of pleasure.">>
<center><img src="images/mariel/dreamsequence/female/5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "facewet" "I'm going to cum!" "she screams against my lips" "You're making me cum so hard!">>
<<continueBox "Chapter6RylanHaremdreamShortMarielFemaleCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<playLoopingSounds "sounds/hsounds/mariel/moanhard.mp3" "sounds/hsounds/sex.mp3" 1>>
<<narrative "My $marielToHuman positions herself above me, her wet pussy hovering just above my hard cock. She looks down at me with those warm, caring eyes, but now filled with raw desire.">>
<center><img src="images/mariel/dreamsequence/cowgirl/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<changeAttraction "Rylan" "Mariel" 0.4>>
<<dialog "Mariel" "facewet" "Oh... it's so hard and ready for me..." "she gasps, her eyes fluttering closed" "I can feel how much you want this... how much you need me.">>
<<narrative "She slowly lowers herself onto me, taking my cock inside her with a soft moan. The sensation is overwhelming - her tight, wet pussy gripping me like a velvet glove as she begins to move.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceembarrassed" "Mmm... that's it..." "she whispers, her hands resting on my chest" "Just relax and let mommy take care of you, my dear child.">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "Mmm... that's it..." "she whispers, her hands resting on my chest" "Just relax and let me take care of you, $humanIsMariel.">>
<</if>>
<center><img src="images/mariel/dreamsequence/cowgirl/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She begins to rock her hips slowly, her body moving in perfect rhythm with mine. Each movement sends waves of pleasure through both our bodies, the dream realm amplifying every sensation.">>
<center><img src="images/mariel/dreamsequence/cowgirl/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "faceworried" "This feels so good, but it's so wrong... she's my $marielToHuman, but I can't stop myself from responding to her touch." "I'm torn between the overwhelming pleasure and the voice in my head screaming that this is forbidden.">>
<<narrative "I can feel her walls tightening around me as she responds to each movement. Her breathing becomes heavier, and I can feel her body trembling with pleasure above me.">>
<center><img src="images/mariel/dreamsequence/cowgirl/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeFetish "Rylan" "SubmissionFetish" 0.4>>
<<changeAttraction "Rylan" "Mariel" 0.3>>
<<dialog "Mariel" "facewet" "Yes... yes... that feels so good..." "she moans, her voice trembling with pleasure" "Don't stop... I need more... I need to feel you deeper inside me.">>
<<narrative "She increases her pace, riding me with growing intensity. Her breasts bounce with each movement, and I can see the pleasure written across her face as she loses herself in the moment.">>
<center><img src="images/mariel/dreamsequence/cowgirl/6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She reaches up to caress her own breasts, her hands moving in slow, sensual circles. She moans louder, arching her back and pressing her chest forward as she pleasures herself.">>
<center><img src="images/mariel/dreamsequence/cowgirl/9.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeFetish "Rylan" "BreastFetish" 0.3>>
<<changeAttraction "Rylan" "Mariel" 0.2>>
<<if $marielTransformationMother>>
<<narrative "As she squeezes her breasts, I notice they look heavier, fuller than usual. A few drops of warm, creamy liquid begin to leak from her nipples, glistening in the dream light as she continues to ride me.">>
<center><img src="images/mariel/dreamsequence/cowgirl/9b.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "faceconfused" "$humanToMariel... what's that?" "I ask, my voice trembling with both arousal and confusion" "Your breasts... they're leaking something...">>
<<dialog "Mariel" "facewet" "Oh honey... that's mommy's milk," "she moans softly, her voice filled with ecstasy" "Don't you want to taste it, my dear child? It's so sweet and warm...">>
<<thought "Rylan" "faceworried" "I feel a strange pull toward her, but something tells me if I drink from her, I'll be changed forever." "I hesitate, torn between desire and an inexplicable fear.">>
<<dialog "Rylan" "faceembarrassed" "I... I can't..." "I stammer, my voice barely above a whisper" "It feels wrong... like something will change in me forever...">>
<<dialog "Mariel" "facesmirk" "Oh sweetheart, don't be afraid," "she coos, still riding me with increasing intensity" "It's natural... it's what mommies do for their children...">>
<center><img src="images/mariel/dreamsequence/cowgirl/10b.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<<dialog "Mariel" "facewet" "Oh... oh yes..." "she moans softly, her voice filled with ecstasy" "Touch me... touch me everywhere... I want to feel your hands on me.">>
<center><img src="images/mariel/dreamsequence/cowgirl/10.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "The pace quickens as our passion builds, our bodies moving in perfect harmony. The dream world around us pulses with our shared arousal, every sensation magnified beyond reality.">>
<<narrative "I can feel my own pleasure building as she rides me harder and faster. Her pussy is so tight and wet, gripping my cock with each movement as if trying to milk every drop of pleasure from me.">>
<<if $marielTransformationMother>>
<center><img src="images/mariel/dreamsequence/cowgirl/11b.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/mariel/dreamsequence/cowgirl/11.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<changeFetish "Rylan" "SubmissionFetish" 0.5>>
<<changeAttraction "Rylan" "Mariel" 0.4>>
<<dialog "Mariel" "facewet" "I'm... I'm getting close..." "she gasps, her hands gripping my shoulders" "Please... don't stop... I need you to cum with me... I need to feel you explode inside me.">>
<<if $marielTransformationMother>>
<center><img src="images/mariel/dreamsequence/cowgirl/12b.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/mariel/dreamsequence/cowgirl/12.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "I feel her walls beginning to contract around me, signaling her approaching orgasm. The sensation is incredible as she clenches and releases around my shaft, pulling me deeper with each wave of pleasure.">>
<<narrative "She increases her pace even more, riding me with wild abandon. The dream realm seems to amplify every sensation, making each thrust feel more intense than the last.">>
<center><img src="images/mariel/dreamsequence/cowgirl/6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "facewet" "Yes... yes... I'm cumming!" "she cries out, her body convulsing above me" "Cum with me... please cum inside me... fill me with your hot cum!">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Mariel" 0.2>>
<<narrative "I can feel her orgasm washing over her as her pussy clenches around me like a vice. The sensation is overwhelming, and I know I can't hold back much longer as my own climax approaches rapidly.">>
<<continueBox "Chapter6RylanHaremdreamShortMarielCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<if $dreamSerin>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Serin is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamMariel>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice my $marielToHuman is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamLiora>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Liora is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when the dream shifts around me. The room remains Liora's bedroom, but now bathed in warm, intimate lighting. I hear the door creak open.">>
<</if>>
<<narrative "There, standing in the doorway completely naked, is Nimeria. But something feels... different about her tonight. She moves with the grace of a predator, each step calculated and mesmerizing.">>
<center><img src="images/nimeria/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Suddenly, she's on all fours, her perfect ass raised in the air. The dream world shifts around us, and I'm already behind her, thrusting with wild abandon.">>
<<continueBox "Chapter6RylanHaremdreamShortNimeriaSex" "Continue" "Begin the intimate act...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/nimeria/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<narrative "With a final, powerful thrust, I explode inside her, my hot cum shooting deep into her pussy. She cries out with pleasure, her body convulsing around me as wave after wave of ecstasy crashes over us both.">>
<center><img src="images/nimeria/dreamsequence/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck... I'm cumming so hard," "I moan.">>
<<dialog "Nimeria" "facewet" "Yes... yes... fill me up, my knight," "she gasps" "I want every last drop of your cum.">>
<<narrative "I collapse beside her, my body still trembling from the intensity of my orgasm. She falls flat on the bed on her stomach, completely exhausted from our passionate encounter.">>
<<thought "Rylan" "facewet" "I can't believe I just did that... I came inside her." "The way she was responding" "It was so intense.">>
<<dialog "Nimeria" "facewet" "Oh my god... that was incredible," "she breathes heavily" "You fucked me so good, my knight. I've never felt so satisfied.">>
<<narrative "She lies there on her stomach, her cum dripping out of her pussy and pooling on the bed sheets. The sight is so erotic that I can't look away.">>
<center><img src="images/nimeria/dreamsequence/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facewet" "I completely forgot about Liora... Nimeria made me forget everything." "The way she called me her knight, her husband" "It made me feel so powerful, so desired.">>
<<dialog "Nimeria" "facesmirk" "You're such a good husband," "she purrs" "I love how aggressive you became. You fucked me like the animal I knew you were.">>
<<narrative "She climbs on top of me on the bed, her body still trembling from the intensity of our shared pleasure.">>
<<dialog "Nimeria" "facewet" "I hope you enjoyed that," "she breathes" "Because I'm not done with you yet. I want to show you so much more.">>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Nimeria" 0.2>>
<<changeLust "Rylan" 15>>
<<narrative "The dream world around us shimmers and fades...">>
<<if $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamShortSeryk" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamShortThalor" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamShortSora" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<if $dreamSerin>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Serin is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamMariel>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice my $marielToHuman is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamLiora>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Liora is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when the dream shifts around me. The room remains Liora's bedroom, but now bathed in warm, intimate lighting. I hear the door creak open.">>
<</if>>
<<narrative "There, standing in the doorway completely naked, is Nimeria. But something feels... different about her tonight. She moves with the grace of a predator, each step calculated and mesmerizing.">>
<center><img src="images/nimeria/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Suddenly, she's between my legs, her tongue already exploring my wet folds. The dream world shifts around us, and I'm already deep in her embrace, moaning with wild abandon.">>
<<continueBox "Chapter6RylanHaremdreamShortNimeriaFemaleSex" "Continue" "Begin the intimate act...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/nimeria/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<div class="passage-container rylan">
<<thought "Rylan" "female/facewet" "This is it... I'm about to explode." "The pleasure is overwhelming" "I've never felt anything like this before.">>
<<narrative "With a final, powerful flick of her tongue, I explode into orgasm. My body convulses violently as wave after wave of ecstasy crashes over me, my juices flowing freely.">>
<center><img src="images/nimeria/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facewet" "Mmm... yes!" "she moans against me" "Cum for me, sweetie! Let it all out!">>
<<narrative "I can feel my hot juices splashing against her face as she continues to lick and suck, drinking in every drop of my release. The sensation is incredible, and I'm still trembling from the intensity.">>
<center><img src="images/nimeria/dreamsequence/female/cum3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh my god... that was amazing!" "I pant, my body still shaking" "I've never cum that hard before!">>
<<thought "Rylan" "female/facewet" "I can't believe what just happened." "The way she made me cum" "It was so intense, so perfect.">>
<<dialog "Nimeria" "facesmirk" "You were so beautiful when you came," "she purrs, licking her lips" "I could taste how much you enjoyed it. You're such a good girl for me.">>
<<narrative "She sits up, her face glistening with my juices. She looks down at me with a satisfied smile, clearly pleased with her work.">>
<center><img src="images/nimeria/dreamsequence/female/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facewet" "I hope you learned something today," "she says softly" "About what it means to be with a real woman.">>
<<thought "Rylan" "female/facewet" "She's right... that was incredible." "I never knew it could feel so good" "I want to experience this again.">>
<<narrative "The dream world around us begins to shimmer and fade, but the memory of what just happened will stay with me forever. I collapse back onto the bed, completely spent and satisfied.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Nimeria" 0.2>>
<<changeLust "Rylan" 20>>
<<if $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamShortSerykFemale" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamShortThalorFemale" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamShortSoraFemale" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/rylan/female/moansoft.mp3" "sounds/hsounds/blowjob.mp3" 1>>
<div class="passage-container rylan">
<<narrative "Without another word, Nimeria leans in and presses her soft lips against my inner thigh, leaving a trail of gentle kisses as she works her way closer to my most sensitive spot.">>
<center><img src="images/nimeria/dreamsequence/female/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh... oh my god," "I gasp, my body arching slightly" "That feels so good...">>
<<thought "Rylan" "female/facewet" "Her lips are so soft and warm." "The way she's kissing me so gently" "It's making me feel things I've never felt before.">>
<center><img src="images/nimeria/dreamsequence/female/1b.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She continues her slow, methodical approach, her tongue occasionally flicking out to taste my skin. Each touch sends electric shocks of pleasure through my body.">>
<center><img src="images/nimeria/dreamsequence/female/1a.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facewet" "Mmm... you taste even better than I imagined," "she moans against my skin" "So sweet and wet already.">>
<<thought "Rylan" "female/facewet" "I can't believe how good this feels." "The way she's teasing me with her tongue" "I want her to go further, but I'm also so nervous.">>
<<narrative "Finally, she reaches my most sensitive area, and I feel her warm, wet tongue make contact for the first time. The sensation is overwhelming, and I cry out with pleasure.">>
<center><img src="images/nimeria/dreamsequence/female/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh fuck... yes!" "I moan loudly" "Don't stop... please don't stop!">>
<<dialog "Nimeria" "facesmirk" "That's it, sweetie," "she purrs, her voice muffled" "Let me hear how much you're enjoying this.">>
<center><img src="images/nimeria/dreamsequence/female/2a.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She begins to work her tongue in slow, deliberate circles, exploring every inch of my sensitive flesh. Her technique is incredible, and I can feel myself getting closer to the edge already.">>
<center><img src="images/nimeria/dreamsequence/female/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "She's so good at this... I can't believe how skilled she is." "The way she's using her tongue" "It's driving me absolutely crazy.">>
<<dialog "Nimeria" "facewet" "You're so responsive," "she breathes" "I love how wet you're getting for me. You want this so badly, don't you?">>
<center><img src="images/nimeria/dreamsequence/female/3a.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She increases the pressure and speed of her movements, her tongue working me into a frenzy. I can feel my body tensing, my muscles clenching with anticipation.">>
<center><img src="images/nimeria/dreamsequence/female/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "I'm... I'm getting close!" "I pant, my breathing becoming ragged" "Please... don't stop!">>
<<thought "Rylan" "female/facewet" "I can't hold back much longer." "The pleasure is building so fast" "I need to cum... I need it so badly.">>
<center><img src="images/nimeria/dreamsequence/female/4a.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facesmirk" "Not yet, sweetie," "she teases, slowing down slightly" "I want to make this last. You're going to cum so hard for me.">>
<<narrative "She continues her expert ministrations, building me up to the very edge before backing off, then building me up again. The teasing is maddening, but also incredibly arousing.">>
<center><img src="images/nimeria/dreamsequence/female/5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Finally, Nimeria decides I've been teased enough. She increases the intensity of her tongue work, focusing on my most sensitive spot with expert precision.">>
<center><img src="images/nimeria/dreamsequence/female/5a.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh god... I'm going to cum!" "I scream, my body tensing" "I can't hold it back anymore!">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Nimeria" 0.2>>
<<changeLust "Rylan" 12>>
<<continueBox "Chapter6RylanHaremdreamShortNimeriaFemaleCum" "Continue" "Reach the peak...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/longmoan.mp3" "sounds/hsounds/sex.mp3" 1>>
<div class="passage-container rylan">
<<narrative "I can't resist any longer. I position myself behind her, my hard cock pressing against her wet entrance. She's so tight, so warm, and I can feel her pussy clenching with need.">>
<<dialog "Nimeria" "facewet" "Yes... yes... take me, my knight," "she moans" "I need you inside me so badly.">>
<<narrative "I push forward, my cock sliding deep inside her wet pussy. She's incredibly tight, and I can feel her walls clenching around me as she gasps with pleasure.">>
<center><img src="images/nimeria/dreamsequence/doggy1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck... you're so tight," "I moan" "You feel amazing.">>
<<thought "Rylan" "facewet" "This is incredible... she's so tight and wet." "The way she's moaning, the way her pussy grips me" "I can't believe how good this feels.">>
<<dialog "Nimeria" "facewet" "Fuck me harder, my knight," "she gasps" "I need you to fuck me like the animal you are.">>
<<narrative "I begin to thrust harder, my cock sliding in and out of her wet pussy. She's moaning loudly now, her ass bouncing against my hips with each thrust.">>
<center><img src="images/nimeria/dreamsequence/doggy2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facewet" "She wants me to be more dominant... I can feel myself getting more aggressive." "The way she's begging me to fuck her harder" "It's making me lose control.">>
<<dialog "Nimeria" "facewet" "Yes... yes... harder!" "she cries out" "Fuck me harder! Make me yours!">>
<<narrative "I grab her hips and start thrusting with more force, my cock slamming deep inside her. She's screaming with pleasure now, her body trembling with each powerful thrust.">>
<center><img src="images/nimeria/dreamsequence/doggy3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "You're mine now," "I growl" "All mine.">>
<<thought "Rylan" "facewet" "I can't control myself anymore." "The way she's responding to my aggression" "It's making me want to take her even harder.">>
<<dialog "Nimeria" "facewet" "Oh yes... yes... fuck me like the beast you are!" "she screams" "I love it when you're dominant!">>
<<narrative "Suddenly, I pin her her down on the bed. She looks up at me with those innocent eyes, but now filled with raw desire and submission.">>
<center><img src="images/nimeria/dreamsequence/prone1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facewet" "Oh my knight... you're so strong," "she moans" "Take me however you want me.">>
<<narrative "I position myself above her, my cock still deep inside her pussy. She's completely at my mercy now, her body trembling with anticipation.">>
<center><img src="images/nimeria/dreamsequence/prone2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "You're going to take everything I give you," "I growl" "Every last drop.">>
<<thought "Rylan" "facewet" "I can't stop myself." "The way she's submitting to me" "It's making me want to fuck her even harder.">>
<<dialog "Nimeria" "facewet" "Yes... yes... give me everything!" "she cries out" "I'm yours! Fuck me into the bed!">>
<<narrative "I start thrusting with incredible force, my cock slamming deep inside her with each powerful stroke. She's screaming with pleasure, her body convulsing with each thrust.">>
<center><img src="images/nimeria/dreamsequence/prone3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facewet" "I'm fucking her so hard... I can't control myself anymore." "The way she's responding to my dominance" "It's making me want to cum inside her.">>
<<dialog "Nimeria" "facewet" "Oh fuck... I'm going to cum!" "she screams" "I'm going to cum so hard!">>
<<narrative "Her body starts to convulse as she reaches her climax, her pussy clenching tightly around my cock. I can feel her orgasm building, and I know I'm close too.">>
<<thought "Rylan" "facewet" "She's cumming... I can feel her pussy clenching around me." "I'm so close to cumming too" "I need to hold on just a little longer.">>
<<dialog "Rylan" "facewet" "Cum for me, my little slut," "I growl" "Cum all over my cock.">>
<<narrative "She explodes with pleasure, her body trembling and convulsing as her orgasm crashes over her. Her pussy clenches so tightly around my cock that I can barely move.">>
<center><img src="images/nimeria/dreamsequence/prone4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facewet" "Oh my god... that was amazing," "she breathes heavily" "You fucked me so good, my knight.">>
<<thought "Rylan" "facewet" "She's so beautiful when she cums... I can't hold back anymore." "I need to cum inside her" "I need to fill her with my seed.">>
<<dialog "Rylan" "facewet" "I'm going to cum inside you," "I moan" "I'm going to fill you up.">>
<<narrative "I can feel my orgasm building, the pressure in my balls becoming unbearable. Her pussy is still clenching around me, milking my cock as I approach my climax.">>
<<dialog "Nimeria" "facewet" "Yes... yes... cum inside me," "she moans" "Fill me with your seed, my knight.">>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Nimeria" 0.2>>
<<changeLust "Rylan" 12>>
<<continueBox "Chapter6RylanHaremdreamShortNimeriaCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "I stir in my sleep, finding myself standing in the familiar hallway of our house. The house is unusually dark and quiet, with all doors closed except one.">>
<<if $dreamBodyType === "female">>
<<thought "Rylan" "female/faceconfused" "Wait... how did I get here?" "I blink, trying to clear the fog from my mind" "I was just sleeping in my room...">>
<<narrative "I look down at my body and gasp in shock - I have breasts! And between my legs... I'm female! But somehow, this feels completely natural, as if I've always been this way.">>
<<thought "Rylan" "female/faceconfused" "This is so strange... I feel like I was always female, but I know I wasn't." "I run my hands over my new curves" "But it feels so right, so natural. Maybe this is how I was meant to be all along.">>
<<else>>
<<narrative "I look down and realize with a start that I'm completely naked. The cool air against my bare skin makes me shiver as I take in my surroundings.">>
<<thought "Rylan" "faceshocked" "What the... where are my clothes?" "I look around frantically" "This doesn't make any sense. I went to bed fully dressed, and now I'm standing here naked in the hallway.">>
<</if>>
<<narrative "Liora's door is slightly ajar, and a warm, golden light spills out into the dark hallway.">>
<center><img src="images/landscapes/marielroom.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $dreamBodyType === "female">>
<<thought "Rylan" "female/faceconfused" "That's odd... everyone's doors are closed, but Liora's is open." "I approach slowly" "And there's light coming from her room. Is she still awake? At this hour?">>
<<else>>
<<thought "Rylan" "faceconfused" "That's odd... everyone's doors are closed, but Liora's is open." "I approach slowly" "And there's light coming from her room. Is she still awake? At this hour?">>
<</if>>
<<if $dreamLiora>>
<<if $dreamBodyType === "female">>
<<continueBox "Chapter6RylanHaremdreamShortLioraFemale" "Enter Liora's Room" "The door is slightly ajar...">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortLiora" "Enter Liora's Room" "The door is slightly ajar...">>
<</if>>
<<elseif $dreamMariel>>
<<if $dreamBodyType === "female">>
<<continueBox "Chapter6RylanHaremdreamShortMarielFemale" "Enter Liora's Room" "The door is slightly ajar...">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortMariel" "Enter Liora's Room" "The door is slightly ajar...">>
<</if>>
<<elseif $dreamSerin>>
<<if $dreamBodyType === "female">>
<<continueBox "Chapter6RylanHaremdreamShortSerinFemale" "Enter Liora's Room" "The door is slightly ajar...">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortSerin" "Enter Liora's Room" "The door is slightly ajar...">>
<</if>>
<<elseif $dreamNimeria>>
<<if $dreamBodyType === "female">>
<<continueBox "Chapter6RylanHaremdreamShortNimeriaFemale" "Enter Liora's Room" "The door is slightly ajar...">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortNimeria" "Enter Liora's Room" "The door is slightly ajar...">>
<</if>>
<<elseif $dreamSeryk>>
<<if $dreamBodyType === "female">>
<<continueBox "Chapter6RylanHaremdreamShortSerykFemale" "Enter Liora's Room" "The door is slightly ajar...">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortSeryk" "Enter Liora's Room" "The door is slightly ajar...">>
<</if>>
<<elseif $dreamThalor>>
<<if $dreamBodyType === "female">>
<<continueBox "Chapter6RylanHaremdreamShortThalorFemale" "Enter Liora's Room" "The door is slightly ajar...">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortThalor" "Enter Liora's Room" "The door is slightly ajar...">>
<</if>>
<<elseif $dreamSora>>
<<if $dreamBodyType === "female">>
<<continueBox "Chapter6RylanHaremdreamShortSoraFemale" "Enter Liora's Room" "The door is slightly ajar...">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortSora" "Enter Liora's Room" "The door is slightly ajar...">>
<</if>>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortEnd" "Enter Liora's Room" "The door is slightly ajar...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<if $dreamMariel>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice my $marielToHuman is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamLiora>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Liora is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when the dream shifts around me. The room remains Liora's bedroom, but now bathed in warm, intimate lighting. I hear the door creak open.">>
<</if>>
<<if $serinFutanariTransformation>>
<<narrative "There, standing in the doorway completely naked, is Serin. But something is different about her tonight - she's not just naked, she's... changed. Her athletic body glows in the warm light, her toned curves highlighted by the intimate atmosphere, but now there's something else between her legs that makes my heart skip a beat.">>
<center><img src="images/serin/dreamsequence/futa/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Suddenly, she's above me, her thick cock hovering just above my face. The dream world shifts around us, and I'm already deep in her embrace, licking and sucking with wild abandon.">>
<<continueBox "Chapter6RylanHaremdreamShortSerinSex" "Continue" "Begin the intimate act...">>
<<else>>
<<narrative "There, standing in the doorway completely naked, is Serin. Her athletic body glows in the warm light, her toned curves highlighted by the intimate atmosphere. But there's something different about her tonight - that familiar teasing smirk is still there, but now it's mixed with a raw, hungry desire that makes my heart race.">>
<center><img src="images/serin/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Suddenly, she's on top of me, riding me with wild abandon. The dream world shifts around us, and I'm already deep inside her, thrusting with incredible intensity.">>
<<continueBox "Chapter6RylanHaremdreamShortSerinSex" "Continue" "Begin the intimate act...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/serin/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<if $serinFutanariTransformation>>
<<narrative "With a final, powerful thrust, she explodes, her hot cum shooting out in thick ropes all over my face. I can feel it splashing against my cheeks, my nose, my lips, and I'm overwhelmed by the sensation.">>
<center><img src="images/serin/dreamsequence/futa/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "It's so warm," "I moan," "I can't believe how much you came.">>
<center><img src="images/serin/dreamsequence/futa/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Oh my god... that was amazing," "she breathes heavily" "You were so good. I can't believe how much you wanted it.">>
<<narrative "She collapses beside me, her body still trembling from the intensity of her orgasm. I can feel her cum dripping down my face.">>
<<thought "Rylan" "facewet" "I can't believe I just did that...">>
<center><img src="images/serin/dreamsequence/futa/cumface.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facesmirk" "Look at you," "she purrs, running her fingers through the cum on my face" "You're such a mess. I love seeing you like this.">>
<<narrative "She leans in close, her lips brushing against my ear as she whispers seductively.">>
<<dialog "Serin" "facewet" "I hope you enjoyed that," "she breathes" "Because I'm not done with you yet. I want to show you so much more.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeAttraction "Rylan" "Serin" 0.2>>
<<changeLust "Rylan" 15>>
<<else>>
<<narrative "As we reach the peak of our passion, I feel my orgasm building, the pressure in my balls becoming unbearable. Serin's pussy clenches around me, milking my cock as she reaches her own climax.">>
<<narrative "With a final, powerful thrust, I explode inside her, my hot cum filling her completely. She cries out with pleasure, her body convulsing around me as wave after wave of ecstasy crashes over us both.">>
<center><img src="images/serin/dreamsequence/cowgirl/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeAttraction "Rylan" "Serin" 0.2>>
<<narrative "We collapse together, our bodies still connected as we ride out the aftershocks of our shared orgasm. The dream world around us shimmers and fades, leaving us both breathless and satisfied.">>
<center><img src="images/serin/dreamsequence/cowgirl/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<if $dreamNimeria>>
<<continueBox "Chapter6RylanHaremdreamShortNimeria" "Continue" "">>
<<elseif $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamShortSeryk" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamShortThalor" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamShortSora" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<if $dreamMariel>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice my $marielToHuman is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamLiora>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Liora is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when the dream shifts around me. The room remains Liora's bedroom, but now bathed in warm, intimate lighting. I hear the door creak open.">>
<</if>>
<<if $serinFutanariTransformation>>
<<narrative "There, standing in the doorway completely naked, is Serin. But something is different about her tonight - she's not just naked, she's... changed. Her athletic body glows in the warm light, her toned curves highlighted by the intimate atmosphere, but now there's something else between her legs that makes my heart skip a beat.">>
<center><img src="images/serin/dreamsequence/futa/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Suddenly, she's above me, her thick cock hovering just above my face. The dream world shifts around us, and I'm already deep in her embrace, licking and sucking with wild abandon.">>
<<continueBox "Chapter6RylanHaremdreamShortSerinFemaleSex" "Continue" "Begin the intimate act...">>
<<else>>
<<narrative "There, standing in the doorway completely naked, is Serin. Her athletic body glows in the warm light, her toned curves highlighted by the intimate atmosphere. But there's something different about her tonight - that familiar teasing smirk is still there, but now it's mixed with a raw, hungry desire that makes my heart race.">>
<center><img src="images/serin/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Suddenly, she's above me, her wet pussy hovering just above my face. The dream world shifts around us, and I'm already deep in her embrace, licking and sucking with wild abandon.">>
<<continueBox "Chapter6RylanHaremdreamShortSerinFemaleSex" "Continue" "Begin the intimate act...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/serin/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<if $serinFutanariTransformation>>
<<narrative "As we reach the peak of our passion, I feel my orgasm building, the pressure in my pussy becoming unbearable. Serin's cock throbs against my tongue as she reaches her own climax, and I can feel her precum coating my face.">>
<center><img src="images/serin/dreamsequence/futa/female/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "With a final, powerful thrust of my tongue, we both explode together. I feel my pussy clench and release as I squirt, my hot juices spraying out in thick streams. Serin cries out with pleasure, her body convulsing above me as wave after wave of ecstasy crashes over us both.">>
<center><img src="images/serin/dreamsequence/futa/female/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<center><img src="images/serin/dreamsequence/futa/female/cum3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I can feel my own squirt dripping down my thighs as I continue to lick her, our bodies slick with our combined juices. The sensation is incredible as we both ride out our orgasms together.">>
<<dialog "Serin" "facewet" "Oh god... you're squirting too..." "she gasps between moans">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Serin" 0.2>>
<<else>>
<<narrative "As we reach the peak of our passion, I feel my orgasm building, the pressure in my pussy becoming unbearable. Serin's pussy clenches around my tongue as she reaches her own climax, and I can feel her wetness coating my face.">>
<center><img src="images/serin/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "With a final, powerful thrust of my tongue, we both explode together. I feel my pussy clench and release as I squirt, my hot juices spraying out in thick streams. Serin cries out with pleasure, her body convulsing above me as wave after wave of ecstasy crashes over us both.">>
<center><img src="images/serin/dreamsequence/female/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<center><img src="images/serin/dreamsequence/female/cum3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I can feel my own squirt dripping down my thighs as I continue to lick her, our bodies slick with our combined juices. The sensation is incredible as we both ride out our orgasms together.">>
<<dialog "Serin" "facewet" "Oh god... you're squirting too..." "she gasps between moans">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Serin" 0.2>>
<</if>>
<<narrative "We collapse together on the bed, as we ride out the aftershocks of our shared orgasm. The dream world around us shimmers and fades, leaving us both breathless and satisfied, covered in our combined juices.">>
<<if $dreamNimeria>>
<<continueBox "Chapter6RylanHaremdreamShortNimeriaFemale" "Continue" "">>
<<elseif $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamShortSerykFemale" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamShortThalorFemale" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamShortSoraFemale" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<if $serinFutanariTransformation>>
<<playLoopingSounds "sounds/hsounds/serin/moansoft.mp3" "sounds/hsounds/blowjob.mp3" 1>>
<<narrative "She slowly lowers herself onto my face, her thick cock pressing against my lips. The sensation is overwhelming - her smooth, hard shaft against my mouth as she begins to grind against me with confident, dominant movements.">>
<center><img src="images/serin/dreamsequence/futa/female/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Mmm... that's it, good girl..." "she whispers, her hands resting on my chest" "Now suck me... show me how much you want to please me.">>
<center><img src="images/serin/dreamsequence/futa/female/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/faceembarrassed" "Oh god... her cock is right against my mouth..." "I can feel her hardness on my lips" "This is so wrong, but I can't resist... I need to taste her.">>
<<narrative "I instinctively part my lips and begin to lick her hard shaft. The taste is intoxicating - salty, musky, and so incredibly arousing. I can feel her cock throbbing against my tongue as I explore her with growing hunger.">>
<center><img src="images/mariel/dreamsequence/female/frenchkiss2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Mmm... you taste so good..." "I moan against her cock, my voice muffled" "I can't stop... I need more...">>
<<dialog "Serin" "facewet" "Yes... that's it, good girl..." "she gasps, grinding harder against my face" "Suck me deeper... I want to feel your mouth around me.">>
<center><img src="images/serin/dreamsequence/futa/female/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She begins to rock her hips slowly, grinding her cock against my face while I continue to lick her. Each movement sends waves of pleasure through both our bodies, and I can feel her getting harder with each stroke of my tongue.">>
<<thought "Rylan" "female/facewet" "This feels so incredible... her cock is so hard and smooth against my tongue." "I can't believe I'm doing this, but I can't stop" "The way she's grinding against me is driving me crazy.">>
<center><img src="images/mariel/dreamsequence/female/frenchkiss4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I can feel her precum coating my lips and chin as she grinds against me. Her breathing becomes heavier, and I can feel her body trembling with pleasure above me.">>
<center><img src="images/serin/dreamsequence/futa/female/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeFetish "Rylan" "SubmissionFetish" 0.1>>
<<changeAttraction "Rylan" "Serin" 0.1>>
<<dialog "Serin" "facesmirk" "Yes... yes... that's it, good girl..." "she moans, her voice filled with pleasure and dominance" "Look at you, so helpless beneath me... I bet Liora never makes you feel like this.">>
<<dialog "Rylan" "female/facewet" "Oh god... this feels so good..." "I moan against her cock, my voice trembling with pleasure" "I can't stop licking you... you taste amazing...">>
<<dialog "Serin" "facesmirk" "You can't stop because you love it, good girl," "she teases, grinding harder against my face" "I can see it in your eyes... you want me more than her.">>
<<narrative "She increases her pace, grinding against my face with growing intensity. Her breasts bounce with each movement, and I can see the pleasure written across her face as she loses herself in the moment.">>
<center><img src="images/serin/dreamsequence/futa/female/5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She leans forward, her hands pressing against my chest as she grinds harder against me. Her athletic body moves with perfect rhythm, each movement sending waves of pleasure through both our bodies.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.1>>
<<changeAttraction "Rylan" "Serin" 0.1>>
<<dialog "Serin" "facesmirk" "Oh... oh yes, good girl..." "she moans softly, her voice filled with ecstasy" "Look at you, so helpless beneath me... I bet Liora never sits on your face like this, does she?">>
<center><img src="images/serin/dreamsequence/futa/female/6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The pace quickens as our passion builds, our bodies moving in perfect harmony.">>
<<narrative "I can feel my own pleasure building as she grinds harder and faster against me. Her cock is so hard and smooth, pressing against my lips with each movement as if trying to milk every drop of pleasure from me.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.1>>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Serin" 0.1>>
<<dialog "Serin" "facesmirk" "I'm... I'm getting close, good girl..." "she gasps, her hands gripping my shoulders" "Tell me how tasty my cock is... tell me how much you love sucking me.">>
<<narrative "She begins moving her cock faster against my face, grinding harder and more urgently. I can feel her getting harder with each movement, and I know she's nearing her climax.">>
<<dialog "Rylan" "female/facewet" "Oh god... your cock tastes so fucking good..." "I moan against her, my voice muffled" "I love sucking you... I can't get enough...">>
<<dialog "Serin" "facewet" "Yes... yes... that's it..." "she gasps, grinding even harder" "Tell me more... tell me how much you want me...">>
<<narrative "She's moving so fast now, her cock grinding against my face with desperate urgency. I can feel her body trembling above me as she approaches her climax.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.1>>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Serin" 0.1>>
<<else>>
<<playLoopingSounds "sounds/hsounds/longmoan.mp3" "sounds/hsounds/blowjob.mp3" 1>>
<<narrative "She slowly lowers herself onto my face, her wet pussy pressing against my lips. The sensation is overwhelming - her smooth, wet folds against my mouth as she begins to grind against me with confident, dominant movements.">>
<center><img src="images/serin/dreamsequence/female/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Mmm... that's it, good girl..." "she whispers, her hands resting on my chest" "Now lick me... show me how much you want to please me.">>
<center><img src="images/serin/dreamsequence/female/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/faceembarrassed" "Oh god... her pussy is right against my mouth..." "I can feel her wetness on my lips" "This is so wrong, but I can't resist... I need to taste her.">>
<<narrative "I instinctively part my lips and begin to lick her wet folds. The taste is intoxicating - sweet, musky, and so incredibly arousing. I can feel her pussy clench against my tongue as I explore her with growing hunger.">>
<center><img src="images/mariel/dreamsequence/female/frenchkiss2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Mmm... you taste so good..." "I moan against her pussy, my voice muffled" "I can't stop... I need more...">>
<<dialog "Serin" "facewet" "Yes... that's it, good girl..." "she gasps, grinding harder against my face" "Lick me deeper... I want to feel your tongue inside me.">>
<center><img src="images/serin/dreamsequence/female/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She begins to rock her hips slowly, grinding her pussy against my face while I continue to lick her. Each movement sends waves of pleasure through both our bodies, and I can feel her getting wetter with each stroke of my tongue.">>
<<thought "Rylan" "female/facewet" "This feels so incredible... her pussy is so wet and warm against my tongue." "I can't believe I'm doing this, but I can't stop" "The way she's grinding against me is driving me crazy.">>
<center><img src="images/mariel/dreamsequence/female/frenchkiss4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I can feel her wetness coating my lips and chin as she grinds against me. Her breathing becomes heavier, and I can feel her body trembling with pleasure above me.">>
<center><img src="images/serin/dreamsequence/female/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeFetish "Rylan" "SubmissionFetish" 0.1>>
<<changeAttraction "Rylan" "Serin" 0.1>>
<<dialog "Serin" "facesmirk" "Yes... yes... that's it, good girl..." "she moans, her voice filled with pleasure and dominance" "Look at you, so helpless beneath me... I bet Liora never makes you feel like this.">>
<<dialog "Rylan" "female/facewet" "Oh god... this feels so good..." "I moan against her pussy, my voice trembling with pleasure" "I can't stop licking you... you taste amazing...">>
<<dialog "Serin" "facesmirk" "You can't stop because you love it, good girl," "she teases, grinding harder against my face" "I can see it in your eyes... you want me more than her.">>
<<narrative "She increases her pace, grinding against my face with growing intensity. Her breasts bounce with each movement, and I can see the pleasure written across her face as she loses herself in the moment.">>
<center><img src="images/serin/dreamsequence/female/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She leans forward, her hands pressing against my chest as she grinds harder against me. Her athletic body moves with perfect rhythm, each movement sending waves of pleasure through both our bodies.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.1>>
<<changeAttraction "Rylan" "Serin" 0.1>>
<<dialog "Serin" "facesmirk" "Oh... oh yes, good girl..." "she moans softly, her voice filled with ecstasy" "Look at you, so helpless beneath me... I bet Liora never sits on your face like this, does she?">>
<center><img src="images/serin/dreamsequence/female/5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The pace quickens as our passion builds, our bodies moving in perfect harmony.">>
<center><img src="images/serin/dreamsequence/female/6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I can feel my own pleasure building as she grinds harder and faster against me. Her pussy is so wet and smooth, pressing against my lips with each movement as if trying to milk every drop of pleasure from me.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.1>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Serin" 0.1>>
<<dialog "Serin" "facesmirk" "I'm... I'm getting close, good girl..." "she gasps, her hands gripping my shoulders" "Tell me how tasty my pussy is... tell me how much you love licking me.">>
<<narrative "She begins moving her pussy faster against my face, grinding harder and more urgently. I can feel her getting wetter with each movement, and I know she's nearing her climax.">>
<<dialog "Rylan" "female/facewet" "Oh god... your pussy tastes so fucking good..." "I moan against her, my voice muffled" "I love licking you... I can't get enough...">>
<<dialog "Serin" "facewet" "Yes... yes... that's it..." "she gasps, grinding even harder" "Tell me more... tell me how much you want me...">>
<<narrative "She's moving so fast now, her pussy grinding against my face with desperate urgency. I can feel her body trembling above me as she approaches her climax.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.1>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Serin" 0.1>>
<</if>>
<<continueBox "Chapter6RylanHaremdreamShortSerinFemaleCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<if $serinFutanariTransformation>>
<<playLoopingSounds "sounds/hsounds/serin/moansoft.mp3" "sounds/hsounds/kiss.wav" 1>>
<<narrative "Before I can think about it further, I lean forward and press my lips against her smooth, heavy balls. The skin is so soft and warm, and the taste is unlike anything I've ever experienced - salty, musky, but with that feminine sweetness that makes my head spin.">>
<center><img src="images/serin/dreamsequence/futa/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "faceembarrassed" "Mmm..." "I moan softly against her skin" "They taste... different than I expected. So soft and warm.">>
<<thought "Rylan" "facewet" "This feels so wrong, but so right at the same time." "I can't believe I'm kissing her balls, but I can't stop" "The taste, the feel, the way they're so heavy and warm... it's intoxicating.">>
<<dialog "Serin" "facewet" "That's it, baby," "she moans, her voice filled with pleasure" "Just like that. Now let me show you what it feels like to really taste me.">>
<<narrative "She begins to move her hips, slowly grinding her balls against my lips. I can feel them pulsing with need, and I find myself opening my mouth wider to accommodate them.">>
<<thought "Rylan" "facewet" "They're so big and heavy... I can barely fit them in my mouth." "But the way she moans when I try to take more" "It makes me want to please her even more.">>
<center><img src="images/serin/dreamsequence/futa/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Oh yes... that's it," "she moans" "Take more of me. I want to feel your tongue on every inch.">>
<<narrative "I begin to lick along the smooth surface of her balls, exploring every curve and crease. Her moans grow louder, and I can feel her body trembling with pleasure above me.">>
<center><img src="images/serin/dreamsequence/futa/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Mmm... you taste so good," "I moan against her skin" "I can't get enough of this.">>
<<thought "Rylan" "facewet" "The way she smells... it's so feminine but so arousing." "That musky sweetness mixed with something deeper" "I never knew a girl's balls could smell so intoxicating.">>
<<dialog "Serin" "facewet" "Oh fuck... you're so good at this," "she gasps" "I can't believe how much you want me. You're such a good boy.">>
<<narrative "Suddenly, she shifts position, laying her thick, smooth cock across my face while I continue to kiss and lick her heavy balls. The weight of her shaft presses against my cheek, and I can feel it pulsing with need.">>
<center><img src="images/serin/dreamsequence/futa/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facewet" "Now her cock is on my face too... I can feel it so close to my mouth." "But I keep focusing on her balls, kissing and licking them" "The way she's grinding against me is so intense.">>
<<dialog "Serin" "facewet" "Yes... that's it," "she moans, beginning to hump her cock against my face" "Keep licking my balls while I fuck your face with my cock.">>
<<narrative "She starts to move her hips rhythmically, grinding her smooth shaft against my face while I continue to worship her balls with my lips and tongue. The sensation is overwhelming - her cock sliding across my skin while her balls press against my mouth.">>
<<thought "Rylan" "facewet" "This is so intense... her cock is sliding all over my face." "But I can't stop licking her balls, they taste so good" "The way she's humping against me is driving me crazy.">>
<center><img src="images/serin/dreamsequence/futa/lick1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Mmm... your balls taste amazing," "I moan between licks" "And your cock feels so smooth against my face.">>
<<dialog "Serin" "facewet" "Oh yes... you're such a good boy," "she gasps, her movements becoming more frantic" "I love how you can't stop licking my balls even while I fuck your face.">>
<<narrative "She begins to move more forcefully, her cock sliding back and forth across my face while her balls bounce against my lips. I can feel her getting closer to climax, and I redouble my efforts on her balls.">>
<<thought "Rylan" "facewet" "She's getting so close... I can feel her cock throbbing against my face." "I need to keep licking her balls, make her cum" "This is so wrong but so right at the same time.">>
<<dialog "Serin" "facewet" "Yes... yes... just like that," "she moans" "I'm so close... I can feel it building up.">>
<<narrative "Her thrusts become more erratic, and I can feel her cock pulsing with need. She's close to climax, and I can tell by the way her body tenses and her moans grow more desperate.">>
<<dialog "Serin" "facewet" "Oh fuck... I'm going to cum," "she gasps" "I'm going to cum all over your face!">>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeAttraction "Rylan" "Serin" 0.2>>
<<else>>
<<playLoopingSounds "sounds/hsounds/longmoan.mp3" "sounds/hsounds/sex.mp3" 1>>
<<narrative "Serin positions herself above me, her wet pussy hovering just above my hard cock. She looks down at me with those playful, teasing eyes, but now filled with raw desire and dominance.">>
<<dialog "Serin" "facesmirk" "Oh... look how hard you are for me..." "she teases, her eyes sparkling with mischief" "I can feel how much you want this... how much you need me to take control.">>
<<narrative "She slowly lowers herself onto me, taking my cock inside her with a soft moan. The sensation is overwhelming - her tight, wet pussy gripping me like a velvet glove as she begins to move with confident, dominant strokes.">>
<center><img src="images/serin/dreamsequence/cowgirl/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Mmm... that's it..." "she whispers, her hands resting on my chest" "Just let me do all the work... I know exactly how to make you feel good.">>
<center><img src="images/serin/dreamsequence/cowgirl/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "faceembarrassed" "Serin... this is wrong..." "I stammer, my voice trembling with both pleasure and guilt" "I'm with Liora... we can't...">>
<<dialog "Serin" "facesmirk" "Oh, shut up and enjoy it," "she teases, riding me harder" "Liora's not here, and I know you want this... I can feel how hard you are for me.">>
<<narrative "She begins to rock her hips slowly, her body moving in perfect rhythm with mine. Each movement sends waves of pleasure through both our bodies.">>
<center><img src="images/serin/dreamsequence/cowgirl/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "faceworried" "This feels so good, but it's so wrong... I'm cheating on Liora, but I can't stop myself from responding to her touch." "I'm torn between the overwhelming pleasure and the voice in my head screaming that this is forbidden.">>
<<narrative "I can feel her walls tightening around me as she responds to each movement. Her breathing becomes heavier, and I can feel her body trembling with pleasure above me.">>
<center><img src="images/serin/dreamsequence/cowgirl/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facesmirk" "Yes... yes... that's it..." "she moans, her voice filled with pleasure and dominance" "Look at you, so helpless beneath me... I bet Liora never makes you feel like this.">>
<<dialog "Rylan" "faceembarrassed" "Oh god... this feels so good..." "I moan, my voice filled with both pleasure and shame" "But I shouldn't... I can't...">>
<<dialog "Serin" "facesmirk" "You can and you will," "she teases, riding me harder" "I can see it in your eyes... you want me more than her.">>
<<narrative "She increases her pace, riding me with growing intensity. Her breasts bounce with each movement, and I can see the pleasure written across her face as she loses herself in the moment.">>
<center><img src="images/serin/dreamsequence/cowgirl/5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She leans forward, her hands pressing against my chest as she rides me harder. Her athletic body moves with perfect rhythm, each thrust sending waves of pleasure through both our bodies.">>
<<dialog "Serin" "facesmirk" "Oh... oh yes..." "she moans softly, her voice filled with ecstasy" "Look at you, so helpless beneath me... I bet Liora never rides you like this, does she?">>
<center><img src="images/serin/dreamsequence/cowgirl/6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The pace quickens as our passion builds, our bodies moving in perfect harmony.">>
<center><img src="images/serin/dreamsequence/cowgirl/7.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I can feel my own pleasure building as she rides me harder and faster. Her pussy is so tight and wet, gripping my cock with each movement as if trying to milk every drop of pleasure from me.">>
<<dialog "Serin" "facesmirk" "I'm... I'm getting close..." "she gasps, her hands gripping my shoulders" "But I want to hear you beg... beg me to let you cum... tell me how much better I am than your little girlfriend.">>
<<dialog "Rylan" "faceembarrassed" "I... I can't say that..." "I stammer, my voice trembling with desperation" "Liora is my girlfriend... I love her...">>
<<dialog "Serin" "facesmirk" "Oh really?" "she teases, suddenly stopping her movements" "Then I guess I'll just stop...">>
<<narrative "She stops riding me completely, leaving me on the edge of orgasm. The sudden lack of movement is torture, and I can feel my cock throbbing with need.">>
<center><img src="images/serin/dreamsequence/cowgirl/8.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "faceembarrassed" "No... please don't stop..." "I beg, my voice filled with desperation" "I need you... but I can't...">>
<<dialog "Serin" "facesmirk" "Then tell me the truth," "she whispers, starting to move again slowly" "Tell me I'm better than her...">>
<<narrative "She begins riding me again, but slower this time, teasing me with each movement. I can feel my orgasm building, but she's controlling the pace.">>
<center><img src="images/serin/dreamsequence/cowgirl/9.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "faceembarrassed" "I... I can't..." "I moan, my voice filled with both pleasure and shame" "This is wrong... I shouldn't...">>
<<dialog "Serin" "facesmirk" "Wrong?" "she laughs, stopping again" "Then I'll stop...">>
<<narrative "She stops once more, leaving me desperate and throbbing. The edge of orgasm is so close, but she won't let me reach it.">>
<<narrative "Something snaps inside me. The frustration, the need, the overwhelming desire - it all comes crashing down at once. I can't take her teasing anymore.">>
<<dialog "Rylan" "faceangry" "Fuck it! OK! You're better!" "I shout, my voice filled with raw desperation and need" "You're so much fucking better than Liora! Now let me fuck you!">>
<<narrative "I grab her hips with both hands and start thrusting up into her with wild abandon. No more being passive - I'm taking control now, fucking her as hard as she's riding me.">>
<center><img src="images/serin/dreamsequence/cowgirl/11.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Yes! Yes! This is it!" "she cries out, her eyes lighting up with excitement" "Fuck me harder! Show me how much you want me!">>
<<narrative "She matches my intensity, riding me with equal ferocity. Our bodies slam together in perfect rhythm, both of us lost in the raw passion of the moment.">>
<<dialog "Rylan" "faceangry" "I want you so fucking bad!" "I growl, thrusting up into her with every ounce of strength I have" "You feel so good... so fucking tight...">>
<<dialog "Serin" "facewet" "Yes! Fuck me! Fuck me like you mean it!" "she moans, her voice filled with ecstasy" "This is what I wanted... this is what I needed!">>
<center><img src="images/serin/dreamsequence/cowgirl/10.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The room fills with the sound of our bodies slapping together, both of us completely lost in the moment. I can feel my orgasm building rapidly as I fuck her with everything I have.">>
<<dialog "Rylan" "faceangry" "I'm gonna cum!" "I shout, my voice filled with raw need" "I'm gonna fucking cum inside you!">>
<<dialog "Serin" "facewet" "Yes! Cum with me!" "she cries out, her body convulsing above me" "Cum inside me! Show me how much you want me!">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Serin" 0.2>>
<<narrative "I can feel her orgasm washing over her as her pussy clenches around me like a vice. The sensation is overwhelming, and I know I can't hold back much longer as my own climax approaches rapidly.">>
<</if>>
<<continueBox "Chapter6RylanHaremdreamShortSerinCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<if $dreamNimeria>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Nimeria is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamSerin>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Serin is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamMariel>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice my $marielToHuman is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamLiora>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Liora is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when the dream shifts around me. The room remains Liora's bedroom, but now bathed in warm, intimate lighting. I hear the door creak open.">>
<</if>>
<<narrative "There, standing in the doorway completely naked, is Seryk. His muscular body glows in the warm light, his toned physique highlighted by the intimate atmosphere. But there's something different about him tonight - that familiar gentle smile is still there, but now it's mixed with a raw, hungry desire that makes my heart race.">>
<center><img src="images/seryk/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Suddenly, he's on top of me, his hard cock already inside me. The dream world shifts around us, and I'm already deep in his embrace, moaning with wild abandon.">>
<<continueBox "Chapter6RylanHaremdreamShortSerykSex" "Continue" "Begin the intimate act...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/seryk/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<narrative "With a final, powerful thrust, we both reach our climax together. Seryk explodes inside me, his hot cum shooting deep into my body, while my own orgasm crashes over me in waves of incredible pleasure.">>
<center><img src="images/seryk/dreamsequence/orgasmej.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck... we're both cumming together," "I moan" "I can feel you filling me up while I'm exploding!">>
<<dialog "Seryk" "facewet" "Yes... yes... we came together," "he gasps" "I want you to have every last drop while you cum for me.">>
<<narrative "He collapses on top of me, his body still trembling from the intensity of his orgasm. I can feel his cum dripping out of me, and the sensation is so erotic that I can't help but moan with pleasure.">>
<<thought "Rylan" "facewet" "I can't believe I just did that... he came inside me." "The way he was caring for me, the way he was gentle...">>
<<dialog "Seryk" "facewet" "Oh my god... that was incredible," "he breathes heavily" "You were so good. I love how you respond to me.">>
<<narrative "He remains on top of me, his body still pressed against mine. I can feel his cum dripping out of me and pooling on the bed sheets, and the sight is so erotic that I can't look away.">>
<center><img src="images/seryk/dreamsequence/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "You were amazing," "I whisper" "I've never felt so complete, so loved.">>
<<thought "Rylan" "facewet" "I completely forgot about everything... Seryk made me forget everything." "The way he cared for me, the way he was gentle with me" "It made me feel so safe, so loved.">>
<<dialog "Seryk" "facesmirk" "You're such a good boy," "he purrs" "you are taking me in so well.">>
<<narrative "He climbs on top of me on the bed, his body still trembling from the intensity of our shared pleasure. His cum is still dripping out of me, and the sight is so erotic that I can't look away.">>
<<dialog "Seryk" "facewet" "I hope you enjoyed that," "he breathes" "Because I'm not done with you yet. I want to show you so much more.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.4>>
<<changeFetish "Rylan" "AssFetish" 0.3>>
<<changeFetish "Rylan" "GayValue" 0.2>>
<<changeAttraction "Rylan" "Seryk" 0.2>>
<<changeLust "Rylan" 15>>
<<narrative "The dream world around us shimmers and fades, leaving us both breathless and satisfied. I can still feel his warmth against me, and I know this is something I'll never forget.">>
<<if $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamShortThalor" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamShortSora" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<if $dreamNimeria>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Nimeria is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamSerin>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Serin is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamMariel>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice my $marielToHuman is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamLiora>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Liora is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when the dream shifts around me. The room remains Liora's bedroom, but now bathed in warm, intimate lighting. I hear the door creak open.">>
<</if>>
<<narrative "There, standing in the doorway completely naked, is Seryk. His muscular body glows in the warm light, his toned physique highlighted by the intimate atmosphere. But there's something different about him tonight - that familiar gentle smile is still there, but now it's mixed with a raw, hungry desire that makes my heart race.">>
<center><img src="images/seryk/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Suddenly, he's on top of me, his hard cock already inside me. The dream world shifts around us, and I'm already deep in his embrace, moaning with wild abandon.">>
<<continueBox "Chapter6RylanHaremdreamShortSerykFemaleSex" "Continue" "Begin the intimate act...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/rylan/female/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<div class="passage-container rylan">
<<narrative "With a final, powerful thrust, Seryk pushes me over the edge. I explode into orgasm, my body convulsing violently as wave after wave of ecstasy crashes over me.">>
<center><img src="images/seryk/dreamsequence/female/sex8.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh god... I'm cumming!" "I scream, my body shaking" "It feels so good!">>
<<thought "Rylan" "female/facewet" "This is incredible... I've never cum this hard before." "The way he's filling me completely" "I can't believe how good this feels.">>
<<narrative "My pussy clenches around his massive cock as I ride out my orgasm, my juices flowing freely. The sensation is overwhelming, and I can feel myself squirting all over him.">>
<<dialog "Seryk" "facewet" "Yes, princess!" "he groans" "Cum for me! Let me feel you squeeze my cock!">>
<<narrative "I can feel his cock pulsing inside me as he reaches his own climax. His hot cum fills me completely, and the sensation is incredible as I feel every drop of his release.">>
<center><img src="images/seryk/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh my god... you're cumming inside me!" "I moan" "I can feel it... it's so hot!">>
<<thought "Rylan" "female/facewet" "I can't believe I just did that with Seryk." "The way he filled me completely" "It felt so right, so perfect.">>
<<narrative "He continues to thrust through his orgasm, his massive cock pumping every last drop of cum deep inside me. The sensation is incredible, and I can feel myself cumming again from the intensity.">>
<<dialog "Seryk" "faceconfident" "You were amazing, princess," "he breathes heavily" "I knew you'd love being filled by me. You're such a good girl.">>
<<narrative "He slowly pulls out, and I can feel his cum dripping out of me. He looks down at me with a satisfied smile, clearly pleased with what we just shared.">>
<center><img src="images/seryk/dreamsequence/female/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "That was... that was incredible," "I pant, my body still trembling" "I never knew it could feel so good.">>
<<thought "Rylan" "female/facewet" "I can't believe what just happened." "The way he made me feel" "It was so... perfect.">>
<<dialog "Seryk" "facesmirk" "I told you, princess," "he says softly" "This wasn't our first time. You remember now, don't you? How good it feels to be mine.">>
<<narrative "The dream world around us begins to shimmer and fade, but the memory of what just happened will stay with me. I collapse back onto the bed, completely spent and satisfied.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.4>>
<<changeAttraction "Rylan" "Seryk" 0.2>>
<<changeLust "Rylan" 25>>
<<if $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamShortThalorFemale" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamShortSoraFemale" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/rylan/female/moanhard.mp3" "sounds/hsounds/sex.mp3" "sounds/hsounds/deepkiss.mp3" 1>>
<div class="passage-container rylan">
<<narrative "I can feel his massive cock already deep inside me, and the sensation is incredible. He's so big, so thick - but somehow he fits perfectly, filling me completely.">>
<center><img src="images/seryk/dreamsequence/female/sex1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh my god... it doesn't hurt at all!" "I gasp" "It feels... it feels amazing!">>
<<dialog "Seryk" "faceconfident" "See, princess?" "he moans" "I told you it would feel amazing. You're so tight.">>
<<thought "Rylan" "female/facewet" "This feels incredible... he's so big but it fits perfectly." "The way he's filling me completely" "I've never felt anything like this before.">>
<<narrative "He begins to move, his massive cock sliding in and out of me with slow, deliberate strokes. Each thrust sends waves of pleasure through my body, and I can feel myself getting closer to the edge.">>
<center><img src="images/seryk/dreamsequence/female/sex2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh fuck... yes!" "I moan loudly" "You feel so good inside me!">>
<<dialog "Seryk" "facesmirk" "That's it, princess," "he breathes" "Let me hear how much you're enjoying this. You love being filled by me, don't you?">>
<<narrative "Suddenly, he leans down and presses his lips against mine in a deep, passionate French kiss. His tongue immediately seeks entrance to my mouth, and I'm shocked by the intensity.">>
<center><img src="images/seryk/dreamsequence/female/sex3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/faceshocked" "Mmm... what are you...?" "I try to speak, but his tongue silences me" "This is so...">>
<<thought "Rylan" "female/facewet" "Oh my god... he's French kissing me!" "I should resist, but his tongue feels so good" "I can't help but kiss him back.">>
<center><img src="images/seryk/dreamsequence/female/sex3a.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Despite my initial shock, I find myself responding to his kiss, our tongues dancing together as he continues to thrust inside me. The combination of his cock filling me and his mouth claiming mine is overwhelming.">>
<center><img src="images/seryk/dreamsequence/female/sex4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Mmm... yes..." "I moan against his lips" "Kiss me more...">>
<<dialog "Seryk" "facewet" "That's it, princess," "he breathes between kisses" "Let me taste you while I fuck you. You're so sweet.">>
<<narrative "He deepens the kiss, his tongue exploring every inch of my mouth while his cock continues to pound into me. I can feel myself getting lost in the sensation, my body responding to both his mouth and his cock.">>
<center><img src="images/seryk/dreamsequence/female/sex5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "This is incredible... he's kissing me so passionately while fucking me." "The way his tongue moves against mine" "I've never felt anything like this before.">>
<<narrative "He increases the pace of both his thrusts and his kisses, his massive cock hitting every sensitive spot inside me while his tongue drives me wild. The pleasure is building to an incredible intensity.">>
<center><img src="images/seryk/dreamsequence/female/sex6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh god... I'm getting so close!" "I pant between kisses" "Please... don't stop kissing me!">>
<<dialog "Seryk" "facewet" "I won't stop, princess," "he moans against my lips" "I love the way you taste. You're so fucking perfect.">>
<<narrative "He continues to kiss me deeply while pounding into me with increasing intensity. I can feel his massive cock stretching me to the limit, and the combination of his mouth and his cock is driving me absolutely wild.">>
<center><img src="images/seryk/dreamsequence/female/sex7.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "He's so big, so powerful... and he's kissing me so passionately." "The way he's claiming both my mouth and my pussy" "I'm getting so close to cumming.">>
<<dialog "Rylan" "female/facewet" "I'm... I'm going to cum!" "I scream against his lips" "Please... make me cum!">>
<<narrative "His thrusts become more erratic and powerful, his massive cock pounding into me with incredible force while his tongue continues to explore my mouth. I can feel my orgasm building to an explosive peak.">>
<center><img src="images/seryk/dreamsequence/female/sex8.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "facewet" "Yes, princess!" "he groans" "Cum for me! Let me feel you cum around my cock while I kiss you!">>
<<narrative "His thrusts become even more intense, and I can feel him getting closer to his own climax. The bed creaks under our combined weight as we move together in perfect rhythm, our mouths locked in passionate kisses.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.4>>
<<changeAttraction "Rylan" "Seryk" 0.2>>
<<changeLust "Rylan" 18>>
<<continueBox "Chapter6RylanHaremdreamShortSerykFemaleCum" "Continue" "Reach the peak...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/seryk/moansoft.mp3" "sounds/hsounds/sex.mp3" 1>>
<div class="passage-container rylan">
<<narrative "Seryk positions himself behind me, his thick cock pressing against my entrance. He's so gentle, so caring, and I can feel his warmth radiating against me.">>
<<dialog "Seryk" "facewet" "Relax," "he whispers" "I'll be gentle with you, just like always.">>
<<narrative "He pushes forward slowly, his thick cock sliding deep inside me. Despite his size, it doesn't hurt at all - instead, it feels incredible, like coming home.">>
<<dialog "Rylan" "facewet" "Oh fuck... you feel amazing," "I moan" "It's so big, but it doesn't hurt at all.">>
<<thought "Rylan" "facewet" "This is incredible... he's so gentle with me." "The way he's moving, the way he's caring for me" "I can't believe how good this feels.">>
<<dialog "Seryk" "facewet" "That's it," "he gasps" "I'm taking you so well. You always feel amazing.">>
<center><img src="images/seryk/dreamsequence/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "He begins to move slowly, his thick cock sliding in and out of me with gentle, rhythmic strokes. Each thrust feels better than the last, and I can feel myself getting more and more aroused.">>
<<thought "Rylan" "facewet" "He's so gentle... I can feel how much he cares about me." "The way he's moving, the way he's moaning" "It's making me feel so safe, so loved.">>
<<dialog "Seryk" "facewet" "You feel so good," "he moans" "I can't get enough of you. You're so tight, so perfect.">>
<<narrative "He starts to thrust a little harder, his cock slamming deeper inside me. The sensation is overwhelming, and I can feel my body responding to his every movement.">>
<<dialog "Rylan" "facewet" "Yes... yes... fuck me harder," "I moan" "I need more of you.">>
<<thought "Rylan" "facewet" "I can't believe how good this feels... it's getting better and better." "The way he's thrusting, the way he's caring for me" "It's making me feel so complete.">>
<<dialog "Seryk" "facewet" "Oh yes... that's it," "he moans" "You're so beautiful when you're like this. I love seeing you enjoy yourself.">>
<<narrative "He begins to thrust with more force, his thick cock slamming deep inside me with each powerful stroke. The sensation is incredible, and I can feel my body trembling with pleasure.">>
<center><img src="images/seryk/dreamsequence/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facewet" "He's fucking me so good... I can't control myself anymore." "The way he's moving, the way he's caring for me" "It's making me want to give myself completely to him.">>
<<dialog "Seryk" "facewet" "I'm taking you so well," "he gasps" "I love how you respond to me. You're so perfect.">>
<<narrative "He starts to move even harder, his cock slamming deep inside me with incredible force. The sensation is overwhelming, and I can feel my body convulsing with pleasure.">>
<center><img src="images/seryk/dreamsequence/ecst.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck... I'm going to cum," "I scream" "I'm going to cum so hard!">>
<<thought "Rylan" "facewet" "I'm so close... I can feel my orgasm building." "The way he's fucking me, the way he's caring for me" "It's making me feel so complete, so loved.">>
<<dialog "Seryk" "facewet" "Yes... yes... I'm getting close too," "he moans" "I want to cum inside you. I want to fill you up with my seed.">>
<<narrative "I can feel my orgasm building rapidly as he continues to thrust inside me. The sensation is overwhelming, and I know we're both about to reach our climax together.">>
<<thought "Rylan" "facewet" "We're both so close... I can feel him getting ready to cum too." "The way he's moving, the way he's caring for me" "It's making me want to give him everything.">>
<center><img src="images/seryk/dreamsequence/orgasm.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "AssFetish" 0.2>>
<<changeAttraction "Rylan" "Seryk" 0.2>>
<<changeLust "Rylan" 15>>
<<continueBox "Chapter6RylanHaremdreamShortSerykCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<if $dreamThalor>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Thalor is no longer with me - he seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamSeryk>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Seryk is no longer with me - he seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamNimeria>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Nimeria is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamSerin>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Serin is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamMariel>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice my $marielToHuman is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamLiora>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Liora is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when the dream shifts around me. The room remains Liora's bedroom, but now bathed in warm, intimate lighting. I hear the door creak open.">>
<</if>>
<<narrative "There, standing in the doorway completely naked, is Sora. His muscular body glows in the warm light, his toned physique highlighted by the intimate atmosphere. But there's something different about him tonight - that familiar playful expression is still there, but now it's mixed with a raw, hungry desire that makes my heart race.">>
<center><img src="images/sora/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Suddenly, he's on top of me, his hard cock already inside me. The dream world shifts around us, and I'm already deep in his embrace, moaning with wild abandon.">>
<<continueBox "Chapter6RylanHaremdreamShortSoraSex" "Continue" "Begin the intimate act...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/sora/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<narrative "With a final, powerful thrust, we both reach our climax together. I explode inside Sora, my hot cum shooting deep into his tight hole, while his own orgasm crashes over him in waves of incredible pleasure.">>
<center><img src="images/sora/dreamsequence/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck," "I moan" "I can feel you clenching around me while I'm exploding!">>
<<dialog "Sora" "facewet" "Yes... yes... we came together," "he gasps" "That was exactly what I needed, $humanName.">>
<<narrative "I collapse on top of him, my body still trembling from the intensity of my orgasm. I can feel my cum dripping out of him, and the sight is so erotic that I can't help but moan with pleasure.">>
<<thought "Rylan" "facewet" "I can't believe I just did that... I came inside him." "The way he was challenging me, the way he was demanding more" "It was so intense, so perfect, so wrong but so right.">>
<<dialog "Sora" "facewet" "Oh my god... that was incredible," "he breathes heavily" "You were so good. I love how you respond to my challenges, $humanName.">>
<<narrative "He lies next to me now, his body and ass full of cum. His penis is leaking so much cum, and I can see it dripping down his thighs and pooling on the bed sheets. The sight is so erotic that I can't look away.">>
<center><img src="images/sora/dreamsequence/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "You were amazing," "I whisper" "I've never felt so dominant.">>
<<thought "Rylan" "facewet" "I completely forgot about everything... Sora made me forget everything.">>
<<dialog "Sora" "facesmirk" "You're such a good boy, $humanName," "he purrs" "You always know exactly how to make me feel good. You're perfect for me.">>
<<dialog "Sora" "facewet" "I hope you enjoyed that," "he breathes" "Because I'm not done with you yet. I want to show you so much more, $humanName.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "AssFetish" 0.2>>
<<changeAttraction "Rylan" "Sora" 0.2>>
<<changeLust "Rylan" 15>>
<<narrative "The dream world around us shimmers and fades, leaving us both breathless and satisfied. I can still feel his warmth against me, and I know this is something I'll never forget - no matter how wrong it might be.">>
<<continueBox "Chapter6RylanHaremdreamShortEnd" "Continue" "The dream fades...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<if $dreamThalor>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Thalor is no longer with me - he seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamSeryk>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Seryk is no longer with me - he seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamNimeria>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Nimeria is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamSerin>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Serin is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamMariel>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice my $marielToHuman is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamLiora>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Liora is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when the dream shifts around me. The room remains Liora's bedroom, but now bathed in warm, intimate lighting. I hear the door creak open.">>
<</if>>
<<narrative "There, standing in the doorway completely naked, is Sora. His muscular body glows in the warm light, his toned physique highlighted by the intimate atmosphere. But there's something different about him tonight - that familiar playful expression is still there, but now it's mixed with a raw, hungry desire that makes my heart race.">>
<center><img src="images/sora/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Suddenly, he's on top of me, his hard cock already inside me. The dream world shifts around us, and I'm already deep in his embrace, moaning with wild abandon.">>
<<continueBox "Chapter6RylanHaremdreamShortSoraFemaleSex" "Continue" "Begin the intimate act...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/sora/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<div class="passage-container rylan">
<<narrative "With a final, powerful thrust, Sora explodes into my mouth, his hot cum filling it completely.">>
<center><img src="images/sora/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh god... it's so much!" "I moan, my mouth full of his cum">>
<<thought "Rylan" "female/facewet" "I can't believe I'm actually enjoying this.">>
<<narrative "I continue to suck and swallow, wanting to taste every drop of his release. His cum is warm and thick, and I find myself craving more of it.">>
<center><img src="images/sora/dreamsequence/female/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "facewet" "Yes, $humanName!" "he groans" "Swallow it all! You're such a good girl for me.">>
<<narrative "I gulp down every last drop, my mouth working to get every bit of his cum. The sensation is incredible, and I can feel myself getting more aroused by the whole experience.">>
<<dialog "Rylan" "female/facewet" "I... I can't believe I did that">>
<<thought "Rylan" "female/facewet" "I can't believe how much I enjoyed that.">>
<<narrative "He slowly pulls out of my mouth, and I can see his satisfied smile. He looks down at me with pride, clearly pleased with what we just shared.">>
<center><img src="images/sora/dreamsequence/female/cum3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "facesmirk" "You were incredible, $humanName," "he purrs" "I knew you'd love it. You always do.">>
<<thought "Rylan" "female/facewet" "I can't believe what just happened.">>
<<dialog "Sora" "facesmirk" "I told you, $humanName," "he says softly" "This wasn't our first time. You remember now, don't you? How good it feels to taste me.">>
<<narrative "The dream world around us begins to shimmer and fade, but the memory of what just happened will stay with me. I collapse back onto the bed, completely spent, the taste of his cum still lingering on my lips.">>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeAttraction "Rylan" "Sora" 0.2>>
<<changeLust "Rylan" 25>>
<<continueBox "Chapter6RylanHaremdreamShortEnd" "Continue" "">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/sora/moansoft.mp3" "sounds/hsounds/blowjob.mp3" 1>>
<div class="passage-container rylan">
<<narrative "Despite my protests, I find myself slowly opening my mouth as Sora continues to rub his cock against my lips. The sensation is strange but not entirely unpleasant, and I can feel my resistance slowly crumbling.">>
<center><img src="images/sora/dreamsequence/female/cock4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/faceembarrassed" "I... I shouldn't be doing this," "I moan softly" "This is so wrong... but it feels... different.">>
<<dialog "Sora" "facesmirk" "Good, $humanName," "he purrs encouragingly" "Just like always. You know how much I love it when you taste me.">>
<<thought "Rylan" "female/faceconfused" "Why does this feel so natural?" "The way he's guiding me, the way he's moaning" "It's like we've done this a thousand times before.">>
<center><img src="images/sora/dreamsequence/female/lick1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I tentatively begin to lick the tip of his cock, and the taste is surprisingly pleasant. His moans of pleasure encourage me to continue, and I find myself getting more into it than I expected.">>
<center><img src="images/sora/dreamsequence/female/lick2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "facewet" "Oh yes... amazing," "he moans" "You're so good at this. I love how your tongue feels on me.">>
<<dialog "Rylan" "female/facewet" "I... I can't believe I'm doing this," "I pant between licks.">>
<center><img src="images/sora/dreamsequence/female/lick3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I continue to lick and taste him, my tongue exploring every inch of his cock. The more I do it, the more natural it feels, and I can feel myself getting aroused by his reactions.">>
<center><img src="images/sora/dreamsequence/female/lick4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "I can't believe how much I'm enjoying this." "The way he's moaning, the way he's thrusting into my mouth" "This is so wrong but it feels so right.">>
<<dialog "Sora" "facewet" "You're amazing, $humanName," "he breathes heavily" "I love how you're licking every inch of me. You want more, don't you?">>
<center><img src="images/sora/dreamsequence/female/lick5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "He begins to gently thrust into my mouth, and I find myself opening wider to accommodate him. The sensation is overwhelming, and I can feel myself getting more and more into it.">>
<center><img src="images/sora/dreamsequence/female/lick6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh god... I'm actually enjoying this," "I moan around his cock" "This is so wrong but it feels so good.">>
<<dialog "Sora" "facewet" "Yes, $humanName!" "he groans" "Suck me harder, $humanName. I'm getting close.">>
<<narrative "I increase the intensity of my sucking, my mouth working up and down his cock with growing enthusiasm. The more I do it, the more I want to please him, and I can feel him getting closer to his climax.">>
<center><img src="images/sora/dreamsequence/female/lick7.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "I can't believe how much I want this." "The way he's filling my mouth, the way he's moaning" "I want to make him cum so bad.">>
<<dialog "Rylan" "female/facewet" "I want you to cum," "I moan" "I want to taste it all.">>
<<dialog "Sora" "facewet" "Fuck yes!" "he groans" "I'm going to cum, $humanName. Get ready for it!">>
<center><img src="images/sora/dreamsequence/female/lick8.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "His thrusts become more erratic and powerful, and I can feel him getting closer to his climax. I continue to suck and lick him, wanting to taste every drop of his release.">>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeAttraction "Rylan" "Sora" 0.2>>
<<changeLust "Rylan" 15>>
<<continueBox "Chapter6RylanHaremdreamShortSoraFemaleCum" "Continue" "Taste his release...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/sora/moansoft.mp3" "sounds/hsounds/sex.mp3" 1>>
<div class="passage-container rylan">
<<narrative "I position myself behind Sora, my hard cock pressing against his tight entrance. Despite the taboo nature of this situation, his ass feels so familiar, so right.">>
<<dialog "Sora" "facewet" "That's it, $humanName," "he purrs" "Take me like you always do. You know how much I love it when you're inside me.">>
<<narrative "I push forward slowly, my thick cock sliding deep inside his tight, wet hole. Despite his petite frame, he takes me so easily - it's like we've done this a thousand times before. His surprisingly large cock sways between his legs as he moans with pleasure.">>
<center><img src="images/sora/dreamsequence/penetration1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck... you feel amazing," "I moan" "You're so tight.">>
<<thought "Rylan" "facewet" "This feels so familiar... like we've been doing this for years." "The way he's moving, the way he's moaning" "It's like muscle memory, like we're meant to be together.">>
<<dialog "Sora" "facesmirk" "That's it, $humanName," "he purrs confidently" "But I know you can do better than that. Give me more.">>
<<narrative "I move faster, my cock sliding in and out of him with rhythmic strokes. Each thrust feels incredible, and I can feel myself getting more and more aroused. His tail sways seductively from side to side, taunting me.">>
<center><img src="images/sora/dreamsequence/penetration2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facewet" "He's so tight... and so demanding." "The way he's challenging me, the way his tail sways" "It's making me want to prove myself to him.">>
<<dialog "Sora" "facesmirk" "Fuck me harder, $humanName," "he commands" "Is this all you've got? I need you to show me what you're really made of.">>
<<narrative "I start to thrust harder, my cock slamming deeper inside him. The sensation is overwhelming, and I can feel his body responding to my every movement. He's pushing back against me, demanding more.">>
<center><img src="images/sora/dreamsequence/thrusting1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Fuck yes... you feel amazing," "I growl" "I'm going to show you exactly what I'm made of, Sora.">>
<<thought "Rylan" "facewet" "I can't believe how good this feels..." "The way he's pushing back, the way he's demanding more" "It's making me feel so determined to prove myself.">>
<<dialog "Sora" "facesmirk" "Oh yes... that's more like it," "he moans" "But I know you can go even harder. Don't hold back on me now.">>
<<narrative "I begin to thrust with much more force, my cock slamming deep inside him with each powerful stroke. The sensation is incredible, and I can feel his body trembling with pleasure. He's thrusting his ass back against me, meeting my every stroke with his own.">>
<center><img src="images/sora/dreamsequence/thrusting2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facewet" "I'm fucking him so hard... and he's loving every second of it." "The way he's thrusting back against me, the way he's moaning" "It's making me want to dominate him completely, to show him I'm the one in control.">>
<<dialog "Sora" "facewet" "That's it, $humanName," "he gasps" "You're finally showing me what you're capable of. Fuck me harder, make me yours completely.">>
<<narrative "I start to move even harder, my cock slamming deep inside him with incredible force. The sensation is overwhelming, and I can feel his body convulsing with pleasure. He's thrusting back against me with increasing intensity, his ass meeting my every thrust.">>
<center><img src="images/sora/dreamsequence/thrusting3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck... I'm going to cum," "I scream" "I'm going to cum so hard inside you, Sora!">>
<<thought "Rylan" "facewet" "I'm so close... I can feel my orgasm building." "The way he's thrusting back against me, the way he's moaning" "It's making me feel so powerful, so dominant.">>
<<dialog "Sora" "facewet" "Yes... yes... I'm getting close too," "he moans" "I want to cum with you. I want to feel you explode inside me. Show me you're the one in control.">>
<<narrative "I can feel my orgasm building rapidly as I continue to thrust inside him. The sensation is overwhelming, and I know we're both about to reach our climax together. He's thrusting back against me with increasing urgency, his ass slamming against my hips.">>
<<thought "Rylan" "facewet" "We're both so close... I can feel him getting ready to cum too." "The way he's thrusting back against me, the way he's moaning" "It's making me want to claim him completely, to show him I'm the dominant one.">>
<<changeFetish "Rylan" "AssFetish" 0.2>>
<<changeFetish "Rylan" "DominanceFetish" 0.2>>
<<changeAttraction "Rylan" "Sora" 0.2>>
<<changeLust "Rylan" 15>>
<<continueBox "Chapter6RylanHaremdreamShortSoraCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<if $dreamSeryk>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Seryk is no longer with me - he seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamNimeria>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Nimeria is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamSerin>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Serin is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamMariel>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice my $marielToHuman is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamLiora>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Liora is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when the dream shifts around me. The room remains Liora's bedroom, but now bathed in warm, intimate lighting. I hear the door creak open.">>
<</if>>
<<narrative "There, standing in the doorway completely naked, is Thalor. His muscular body glows in the warm light, his toned physique highlighted by the intimate atmosphere. But there's something different about him tonight - that familiar stern expression is still there, but now it's mixed with a raw, hungry desire that makes my heart race.">>
<center><img src="images/thalor/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Suddenly, he's on top of me, his hard cock already inside me. The dream world shifts around us, and I'm already deep in his embrace, moaning with wild abandon.">>
<<continueBox "Chapter6RylanHaremdreamShortThalorSex" "Continue" "Begin the intimate act...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/thalor/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<narrative "With a final, powerful thrust, we both reach our climax together. Thalor explodes inside me, his hot cum shooting deep into my body, while my own orgasm crashes over me in waves of incredible pleasure.">>
<center><img src="images/thalor/dreamsequence/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck... we're both cumming together," "I moan">>
<<dialog "Thalor" "facewet" "Yes... yes... we came together," "he gasps" "I love you so much, $thalorCallsHuman. You're everything to me.">>
<<narrative "He collapses on top of me, his body still trembling from the intensity of his orgasm. I can feel his cum dripping out of me, and the sensation is so erotic that I can't help but moan with pleasure.">>
<center><img src="images/thalor/dreamsequence/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facewet" "I can't believe I just did that... he came inside me." "The way he was caring for me, the way he was gentle" "It was so intense, so perfect, so wrong but so right.">>
<<dialog "Thalor" "facewet" "Oh my god... that was incredible," "he breathes heavily" "You were so good. I love how you respond to me, $thalorCallsHuman.">>
<<thought "Rylan" "facewet" "I completely forgot about everything... $humanToThalor made me forget everything." "The way he cared for me, the way he was gentle with me" "It made me feel so safe, so loved, so complete.">>
<<dialog "Thalor" "facesmirk" "I love you $thalorCallsHuman," "he purrs" " I love you more than anything.">>
<<narrative "He climbs on top of me on the bed, his body still trembling from the intensity of our shared pleasure. His cum is still dripping out of me, and the sight is so erotic that I can't look away.">>
<<dialog "Thalor" "facewet" "I hope you enjoyed that," "he breathes" "Because I'm not done with you yet. I want to show you so much more, $thalorCallsHuman.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "AssFetish" 0.2>>
<<changeFetish "Rylan" "GayValue" 0.2>>
<<changeAttraction "Rylan" "Thalor" 0.2>>
<<changeLust "Rylan" 15>>
<<narrative "The dream world around us shimmers and fades, leaving us both breathless and satisfied. I can still feel his warmth against me, and I know this is something I'll never forget - no matter how wrong it might be.">>
<<if $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamShortSora" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<if $dreamSeryk>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Seryk is no longer with me - he seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamNimeria>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Nimeria is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamSerin>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Serin is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamMariel>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice my $marielToHuman is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<elseif $dreamLiora>>
<<narrative "The dream shifts around me, and I find myself still lying on Liora's bed, completely naked. But as I look around, I notice Liora is no longer with me - she seems to have vanished into the dream itself. The room remains Liora's bedroom, but now bathed in warm, intimate lighting.">>
<<else>>
<<narrative "I'm still lying on Liora's bed, completely naked, when the dream shifts around me. The room remains Liora's bedroom, but now bathed in warm, intimate lighting. I hear the door creak open.">>
<</if>>
<<narrative "There, standing in the doorway completely naked, is Thalor. His muscular body glows in the warm light, his toned physique highlighted by the intimate atmosphere. But there's something different about him tonight - that familiar stern expression is still there, but now it's mixed with a raw, hungry desire that makes my heart race.">>
<center><img src="images/thalor/dreamsequence/standing.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Suddenly, he's on top of me, his hard cock already inside me. The dream world shifts around us, and I'm already deep in his embrace, moaning with wild abandon.">>
<<continueBox "Chapter6RylanHaremdreamShortThalorFemaleSex" "Continue" "Begin the intimate act...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/rylan/female/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<div class="passage-container rylan">
<<narrative "With a final, powerful thrust, Thalor pushes me over the edge. I explode into orgasm, my body convulsing violently as wave after wave of ecstasy crashes over me.">>
<<dialog "Rylan" "female/facewet" "Oh god... I'm cumming!" "I scream, my body shaking" "It feels so good!">>
<<thought "Rylan" "female/facewet" "This is incredible..." "The way he's filling me completely" "I can't believe how good this feels.">>
<<narrative "My pussy clenches around his cock as I ride out my orgasm, my juices flowing freely. The sensation is overwhelming, and I can feel myself squirting all over him.">>
<<dialog "Thalor" "facewet" "Yes, girl!" "he groans" "Cum for me! Let me feel you squeeze my cock!">>
<<narrative "I can feel his cock pulsing inside me as he reaches his own climax. His hot cum fills me completely, and the sensation is incredible as I feel every drop of his release.">>
<center><img src="images/thalor/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh my god... you're cumming inside me!" "I moan" "I can feel it... it's so hot!">>
<<thought "Rylan" "female/facewet" "I can't believe I just did that with Thalor." "The way he filled me completely" "It felt so right, so perfect.">>
<<narrative "He continues to thrust through his orgasm, his massive cock pumping every last drop of cum deep inside me. The sensation is incredible, and I can feel myself cumming again from the intensity.">>
<<dialog "Thalor" "faceconfident" "You were amazing," "he breathes heavily" "I knew you'd love being filled by me. You're such a good girl.">>
<<narrative "He slowly pulls out, and I can feel his cum dripping out of me. He looks down at me with a satisfied smile, clearly pleased with what we just shared.">>
<center><img src="images/thalor/dreamsequence/female/cum2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "That was... that was incredible," "I pant, my body still trembling" "I never knew it could feel so good.">>
<<thought "Rylan" "female/facewet" "I can't believe what just happened." "The way he made me feel" "It was so intense, so perfect.">>
<<dialog "Thalor" "facesmirk" "I told you, $thalorCallsHuman," "he says softly" "This wasn't our first time. You remember now, don't you? How good it feels to be mine.">>
<<narrative "The dream world around us begins to shimmer and fade, but the memory of what just happened will stay with me forever. I collapse back onto the bed, completely spent and satisfied.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Thalor" 0.2>>
<<changeLust "Rylan" 30>>
<<if $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamShortSoraFemale" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShortEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/rylan/female/moanhard.mp3" "sounds/hsounds/sex.mp3" 1>>
<div class="passage-container rylan">
<<narrative "Without warning, Thalor thrusts his massive cock deep inside me, filling me completely. The sensation is overwhelming, and I cry out with a mix of pain and pleasure.">>
<center><img src="images/thalor/dreamsequence/female/sex1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh god... it's so big!" "I gasp" "It feels... it feels amazing!">>
<<dialog "Thalor" "faceconfident" "My girl," "he growls" "Take it like the good girl you are. You know you love being filled by me.">>
<<thought "Rylan" "female/facewet" "This feels incredible... he's so big but it fits perfectly." "The way he's filling me completely" "I can't believe how good this feels.">>
<<narrative "He begins to move, his massive cock sliding in and out of me with powerful, deliberate strokes. Each thrust sends waves of pleasure through my body, and I can feel myself getting closer to the edge.">>
<center><img src="images/thalor/dreamsequence/female/sex2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "Oh fuck... yes!" "I moan loudly" "You feel so good inside me!">>
<<dialog "Thalor" "faceconfident" "Oh yeah, girl," "he breathes" "Let me hear how much you're enjoying this. You love being fucked by me, don't you?">>
<<narrative "He increases the pace, his powerful thrusts driving me wild. I can feel his massive cock hitting every sensitive spot inside me, and the pleasure is overwhelming.">>
<center><img src="images/thalor/dreamsequence/female/sex3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "He's so big, so powerful... I can't believe how good this feels." "The way he's pounding into me" "I'm getting so close to cumming.">>
<<dialog "Rylan" "female/facewet" "I'm... I'm getting close!" "I pant, my breathing becoming ragged" "Please... don't stop!">>
<<narrative "He continues to pound into me with increasing intensity, his massive cock stretching me to the limit. I can feel my orgasm building, and I know I'm about to explode.">>
<center><img src="images/thalor/dreamsequence/female/sex4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Thalor" "faceangry" "Yes, girl!" "he groans" "Cum for me! Let me feel you cum around my cock!">>
<<narrative "His thrusts become more erratic and powerful, his massive cock pounding into me with incredible force. I can feel him letting out all his frustrations through his powerful thrusts, and somehow I love it.">>
<center><img src="images/thalor/dreamsequence/female/sex5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "He's fucking me so hard... it's like he's taking out all his anger on me." "But somehow I love it... the way he's using me" "I can't believe how much I'm enjoying this.">>
<<dialog "Rylan" "female/facewet" "Oh god... you're fucking me so hard!" "I scream" "I love it... I love how rough you are!">>
<<dialog "Thalor" "faceconfident" "Fuck," "he moans" "You love being used by me, don't you? You love being my little slut.">>
<<narrative "He continues to pound into me with incredible force, his massive cock hitting every sensitive spot inside me. The bed creaks under our combined weight as we move together in perfect rhythm.">>
<center><img src="images/thalor/dreamsequence/female/sex6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/facewet" "I'm... I'm going to cum!" "I scream" "Please... make me cum!">>
<<narrative "His thrusts become even more intense, and I can feel him getting closer to his own climax. The pleasure is building to an explosive peak, and I know we're both about to explode.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeAttraction "Rylan" "Thalor" 0.2>>
<<changeLust "Rylan" 20>>
<<continueBox "Chapter6RylanHaremdreamShortThalorFemaleCum" "Continue" "Reach the peak...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/thalor/moansoft.mp3" "sounds/hsounds/sex.mp3" 1>>
<div class="passage-container rylan">
<<narrative "Thalor positions himself on top of me, his muscular body pressing against mine as he settles between my legs. Despite the taboo nature of this situation, his touch feels so familiar, so right.">>
<<dialog "Thalor" "facewet" "Relax, $thalorCallsHuman," "he whispers" "I'll be gentle with you, just like always. You know how much I love you.">>
<<narrative "He presses his thick cock against my entrance, pushing forward slowly, sliding deep inside me. Despite his size, it doesn't hurt at all - instead, it feels like coming home, like we've done this a thousand times before.">>
<center><img src="images/thalor/dreamsequence/miss1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck... you feel amazing," "I moan" "It's so big, but it doesn't hurt at all.">>
<<thought "Rylan" "facewet" "This feels so familiar... like we've been doing this for years." "The way he's moving, the way he's caring for me" "It's like muscle memory, like we're meant to be together.">>
<<dialog "Thalor" "facewet" "That's it, $thalorCallsHuman," "he gasps" "You always take me in so well. You're so perfect for me.">>
<center><img src="images/thalor/dreamsequence/miss2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "He begins to move slowly, his thick cock sliding in and out of me with gentle, rhythmic strokes. Each thrust feels better than the last, and I can feel myself getting more and more aroused.">>
<<thought "Rylan" "facewet" "He's so gentle... I can feel how much he loves me." "The way he's moving, the way he's moaning" "It's making me feel so safe, so loved, so complete.">>
<center><img src="images/thalor/dreamsequence/miss3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Thalor" "facewet" "You feel so good, $thalorCallsHuman," "he moans" "I can't get enough of you. You're so tight, so perfect.">>
<<narrative "He starts to thrust a little harder, his cock slamming deeper inside me. The sensation is overwhelming, and I can feel my body responding to his every movement.">>
<center><img src="images/thalor/dreamsequence/miss4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Yes... yes... fuck me harder," "I moan" "I need more of you, $humanToThalor.">>
<<thought "Rylan" "facewet" "I can't believe how good this feels... it's getting better and better." "The way he's thrusting, the way he's caring for me" "It's making me feel so complete, so loved.">>
<<dialog "Thalor" "facewet" "Oh yes... that's it, $thalorCallsHuman," "he moans" "You're so beautiful when you're like this. I love seeing you enjoy yourself.">>
<<narrative "He begins to thrust with more force, his thick cock slamming deep inside me with each powerful stroke. The sensation is incredible, and I can feel my body trembling with pleasure.">>
<center><img src="images/thalor/dreamsequence/missp1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facewet" "He's fucking me so good... I can't control myself anymore." "The way he's moving, the way he's caring for me" "It's making me want to give myself completely to him.">>
<<dialog "Thalor" "facewet" "I love you so much, $thalorCallsHuman," "he gasps" "You're everything to me. You always have been.">>
<<narrative "He starts to move even harder, his cock slamming deep inside me with incredible force. The sensation is overwhelming, and I can feel my body convulsing with pleasure.">>
<center><img src="images/thalor/dreamsequence/missp2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "facewet" "Oh fuck... I'm going to cum," "I scream" "I'm going to cum so hard!">>
<<thought "Rylan" "facewet" "I'm so close... I can feel my orgasm building." "The way he's fucking me, the way he's caring for me" "It's making me feel so complete, so loved.">>
<<dialog "Thalor" "facewet" "Yes... yes... I'm getting close too," "he moans" "I want to cum inside you. I want to fill you up with my seed.">>
<<narrative "I can feel my orgasm building rapidly as he continues to thrust inside me. The sensation is overwhelming, and I know we're both about to reach our climax together.">>
<<thought "Rylan" "facewet" "We're both so close... I can feel him getting ready to cum too." "The way he's moving, the way he's caring for me" "It's making me want to give him everything.">>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "AssFetish" 0.2>>
<<changeAttraction "Rylan" "Thalor" 0.2>>
<<continueBox "Chapter6RylanHaremdreamShortThalorCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<stopLoopingAndPlay "sounds/hsounds/cum.mp3">>
<<nobr>>
<div class="passage-container liora">
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0;">The Climax</h2>
</div>
<<narrative "I can see it building in him, can feel the tension reaching its breaking point. His body tenses, his strokes become frantic, and then...">>
<<dialog "Seryk" "facewet" "Liora... I'm... I'm..." "his voice is barely a whisper, his body trembling with the effort to hold back">>
<<narrative "And then it happens. With a deep, guttural moan, Seryk's body convulses. His hand stops moving, and I watch in absolute shock as cum erupts from his tip in a tremendous, forceful stream.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/cum1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="The Climax"></center>
<<narrative "The amount is... incredible. It's not just a normal orgasm - it's like a fountain, shooting out with such force that it reaches nearly a meter wide. The cum splatters across the floor, the wooden boards, creating a massive mess. It's everywhere, coating the ground in thick, white streams.">>
<<narrative "I'm just... shocked. Completely and utterly shocked. I've never seen anything like this before. The sheer volume, the force, the way it covers the entire floor... I can't even process what I'm seeing.">>
<<quickRoll "Cum Fascination" "Liora" 80 2 "SmellFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SmellFetish" 0.5>>
<<changeAttraction "Liora" "Seryk" 0.3>>
<<narrative "I can't stop staring at the mess on the floor. The way it glistens, the way it's so thick and creamy, the way it covers everything - it's mesmerizing. I shouldn't be thinking about it, shouldn't be wanting to taste it, but I am. The way it looks, the way it smells, the way it's so much more than I ever imagined - it's making me feel things I've never felt before.">>
<</if>>
<<narrative "Seryk's breathing is ragged, his body still trembling from the intensity of his climax. He looks down at the floor, at the mess covering the wooden boards, and I can see the realization dawning on his face.">>
<<dialog "Seryk" "faceembarrassed" "Oh... oh gods..." "his voice is barely a whisper, filled with shock and embarrassment">>
<<narrative "After a moment, Seryk slowly relaxes, his movements careful as he tries not to step in the mess. He looks around the room, his face a picture of embarrassment and concern.">>
<<dialog "Seryk" "faceembarrassed" "Liora, I... I'm so sorry. This is... this is completely inappropriate. I never should have..." "he trails off, shaking his head">>
<<dialog "Seryk" "faceembarrassed" "I'm so sorry for putting you in this position again.">>
<<dialog "Liora" "faceembarrassedshortpink" "It's... it's okay," "I whisper, my voice still trembling" "I was the one who asked for your help. Thank you, Seryk.">>
<<narrative "Seryk looks around at the mess on his floor, clearly embarrassed but not as panicked as before.">>
<<narrative "He sits down on the edge of the bed, keeping a respectful distance from me, his face still flushed with embarrassment.">>
<<dialog "Seryk" "faceworried" "Liora... are you alright now? I mean, after... everything?">>
<<dialog "Liora" "faceembarrassedshortpink" "Yes, I am... I can feel my mana circuits are fully restored. Thank you for helping me again.">>
<<narrative "I can feel the energy coursing through my body, the way my mana circuits are tingling with renewed power. The sweat method worked even better than before, and I can feel myself getting stronger with each passing moment.">>
<<dialog "Liora" "faceembarrassedshortpink" "I should... I should go now. Thank you for everything, Seryk.">>
<<dialog "Seryk" "faceembarrassed" "Of course, Liora. I'm always here to help you.">>
<<narrative "As I prepare to leave, I can't help but think about what just happened. The way Seryk looked at me, the way his body responded to my touch, the way he climaxed with such intensity - it's all so overwhelming. I know this is wrong, that I should feel ashamed, but instead I feel... conflicted.">>
<<continueBox "MorningActivityChoicesNext" "Continue" "">>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<changeFetish "Liora" "SmellFetish" 0.4>>
<<changeFetish "Liora" "MuscleFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.4>>
<<changeAttraction "Seryk" "Liora" 0.3>>
<<changeAffection "Seryk" "Liora" 0.2>>
<<changeAffection "Liora" "Seryk" 0.3>>
<<quickSexTrack "orgasm" "Liora" "Seryk" 1>>
</div>
<</nobr>>
<<pov "liora" "intimatech5a.mp3">><<playLoopingSounds "sounds/hsounds/seryk/moansoft.mp3" "sounds/hsounds/handjob.mp3" 1>>
<<nobr>>
<div class="passage-container liora">
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0;">The Forbidden Spectacle</h2>
</div>
<<narrative "I watch as Seryk pulls down his boxers, his massive erection springing free. The sight is overwhelming, and I can't help but stare in awe and fascination. It's so much bigger than I remembered, so much more intimidating and arousing.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Massive Erection"></center>
<<quickRoll "Size Fascination" "Liora" 80 2 "MuscleFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "MuscleFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "I can't stop staring at it. The way it throbs with life, the way it's so much bigger than anything I've ever seen, it's overwhelming and strangely arousing. I know I shouldn't be looking, shouldn't be thinking about it, but I can't help myself. The way his hand barely fits around it, the way it strains against his grip, makes me feel things I've never felt before.">>
<</if>>
<<dialog "Seryk" "facewet" "Liora... look at what you do to me," "he moans, his voice thick with desire">>
<<narrative "I can see the way he's looking at me, the hunger in his eyes, the way his body is responding to my presence. There's something primal in his gaze, something that makes me feel both vulnerable and incredibly aroused. I know I shouldn't be enjoying this, but I am.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk Masturbating"></center>
<<quickRoll "Voyeuristic Arousal" "Liora" 80 3 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "I can hear the wet sounds, the way his hand moves up and down his shaft. It's so intimate, so private, and I can't help but feel aroused by it. There's something strangely exciting about being in this position, about being forced to witness something so personal. I know I shouldn't be enjoying this, but I am.">>
<</if>>
<<dialog "Seryk" "facewet" "Liora... I can't stop thinking about you," "he moans, his voice barely controlled">>
<<narrative "I can feel my own body responding to his words, to the sounds he's making. My heart is racing, my breathing becoming shallow. I shouldn't be feeling this way, shouldn't be getting aroused by this, but I am. The way he says my name, the way he moans, the way he looks at me with such hunger - it's all so overwhelming.">>
<center><img src="images/liora/chapter5/serykntr/face/9.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming Aroused"></center>
<<quickRoll "Unconscious Arousal" "Liora" 80 3 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "I can feel warmth spreading through my body, a tingling sensation that starts in my core and radiates outward. I shouldn't be enjoying this, shouldn't be getting wet from watching him, but I am. The way he strokes himself, the way he moans my name, the way his body tenses with each stroke - it's all so mesmerizing.">>
<</if>>
<<narrative "I steal another glance, unable to resist. His breathing is getting harder and harder, his strokes more desperate. I can see the way his muscles flex with each movement, the way his body tenses as he gets closer to climax. It's so masculine, so commanding, and I feel so small and vulnerable in comparison.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk Getting Closer"></center>
<<dialog "Seryk" "facewet" "Liora... look at me," "his voice has changed, become more demanding, more dominant" "Look me in the eyes.">>
<<narrative "I look up at his face, and what I see there makes my breath catch. His eyes are filled with hunger. He looks like he's about to devour me, like he wants to consume me whole.">>
<center><img src="images/liora/chapter5/serykntr/face/10.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Hungry Gaze"></center>
<<dialog "Seryk" "facewet" "Don't look away, Liora," "he commands, his voice deep and authoritative" "Watch me. Watch what you do to me.">>
<<quickRoll "Dominant Command" "Liora" 80 2 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "His command sends shivers down my spine. There's something in his voice, something authoritative and dominant that makes me want to obey. I shouldn't be responding to this, shouldn't be getting aroused by his commands, but I am. The way he looks at me, the way he demands my attention, the way he makes me feel so small and vulnerable - it's all so thrilling.">>
<</if>>
<<narrative "I can't look away, can't disobey his command. His eyes hold mine captive, and I can see the raw desire burning within them. He's getting closer to climax, I can tell. His strokes are becoming more frantic, more desperate. The way he looks at me while he pleasures himself, the way he moans my name, the way his body responds to my presence - it's all so intimate, so personal.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk Getting Closer"></center>
<<dialog "Seryk" "facewet" "Now look at it, Liora," "he growls, his voice thick with desire" "Look at how hard you make me.">>
<<narrative "I look down, unable to resist his command. His erection is massive, throbbing with each stroke. I can see precum dripping from the tip, glistening in the dim light. It looks... I shouldn't be thinking about his cum, shouldn't be wanting to taste it, but I am.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Precum Dripping"></center>
<<quickRoll "Cum Fascination" "Liora" 80 3 "SmellFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SmellFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "I can't stop staring at the precum dripping from his tip. It's so beautiful, so tempting. I shouldn't be thinking about it, shouldn't be wanting to taste it, but I am. The way it glistens, the way it drips, the way it looks so thick and creamy - it's making me feel things I've never felt before. I want to taste it, want to feel it on my tongue.">>
<</if>>
<<narrative "I'm watching Seryk masturbate, getting aroused by it, thinking about tasting his cum. This is wrong, so wrong. I have $humanName, I love him. But right now, with Seryk's massive erection in front of me, with his precum dripping, I can't think straight.">>
<center><img src="images/liora/chapter5/serykntr/face/10.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora's Internal Conflict"></center>
<<dialog "Seryk" "facewet" "Liora... I'm so close," "his voice is barely a whisper now, his strokes becoming more frantic" "I'm going to cum for you.">>
<<narrative "I can see he's about to climax, can feel the tension building in the room. His breathing is ragged, his strokes desperate. I should look away, should leave, but I can't. I'm too aroused, too curious. I want to see him finish, want to see what happens next.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/6.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk About to Climax"></center>
<<quickRoll "Final Corruption" "Liora" 80 2 "SubmissionFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.5>>
<<changeAttraction "Liora" "Seryk" 0.3>>
<<narrative "I can feel myself getting wetter and wetter, my body responding to his impending climax. I shouldn't be enjoying this, shouldn't be getting aroused by watching him masturbate, but I am. The way he strokes himself, the way he moans my name, the way he looks at me with such hunger - it's all so irresistible. I want him to finish, want to see what happens next.">>
<</if>>
<<narrative "I'm watching him masturbate, getting aroused by it. This is so wrong, so sinful, but I can't help myself. I want to see him finish, want to see what his climax looks like.">>
<<dialog "Seryk" "facewet" "Liora... I'm going to..." "his voice trails off as his body tenses, his strokes becoming frantic">>
<<narrative "I can see it coming. His body is tensing, his strokes becoming more desperate. I'm completely captivated, unable to look away. I want to see this...">>
<center><img src="images/liora/chapter5/serykntr/masturbate/7.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="The Climax Approaches"></center>
<<continueBox "Ch6LioraSerykClimax" "Watch him climax" "">>
<<changeAttraction "Liora" "Seryk" 1.5>>
<<changeAttraction "Seryk" "Liora" 1.2>>
</div>
<</nobr>>
<<pov "liora" "intimatech5a.mp3">><<stopLoopingSounds>>
<<nobr>>
<<set $lioraSerykNTRVisited = true>>
<div class="passage-container liora">
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0;">A Familiar Need</h2>
</div>
<<narrative "I find myself standing outside Seryk's door, my heart pounding with anticipation and shame. It's been days since our last... encounter, and I can feel the familiar ache in my mana circuits again. I know what I need, and I know who can help me.">>
<<dialog "Liora" "faceembarrassedshortpink" "Seryk? Are you there?" "I knock softly, my voice barely above a whisper">>
<<narrative "The door opens almost immediately, as if he was waiting for me. Seryk's face lights up when he sees me, but there's something else in his eyes - a knowing look that makes my cheeks burn with embarrassment.">>
<<dialog "Seryk" "face" "Liora! Come in, please." "He steps aside, his muscular frame filling the doorway">>
<<narrative "I enter his room, and the familiar scent of his masculine presence washes over me. It's overwhelming, and I can feel my body already responding to his nearness. I know I shouldn't be here, shouldn't be doing this, but I can't help myself.">>
<center><img src="images/liora/chapter6/serykntr/standing.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora in Seryk's Room"></center>
<<quickRoll "Desperate Craving" "Liora" 80 4 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "I can feel the familiar weakness spreading through my body, the way my mana circuits throb with need. I know what I want, what I need, and the thought of it makes me feel both ashamed and incredibly aroused. I shouldn't be here, shouldn't be asking for this, but I can't resist the pull of my addiction.">>
<</if>>
<<dialog "Liora" "faceembarrassedshortpink" "I... I need your help again," "I whisper, my voice trembling with need and shame" "My mana circuits are acting up, and I thought... maybe you could help me like before?">>
<<dialog "Seryk" "faceworried" "Of course, Liora. I'm always here to help you." "His voice is gentle, but I can see the hunger in his eyes">>
<<narrative "I can see the way he's looking at me, the way his eyes dart down to my body. He knows what I'm asking for, and I can see the desire building in his expression.">>
<<dialog "Liora" "faceembarrassedshortpink" "I was thinking... maybe we could try the sweat method again?" "I suggest, my voice barely audible" "It worked so well last time, and I need to be at full strength for what's coming.">>
<<quickRoll "Shameless Request" "Liora" 80 3 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "I can't believe I'm asking for this so directly. The words feel so dirty coming out of my mouth, but I can't help myself. I need his sweat, need to taste him again. The memory of how good it felt, how it filled me with energy and arousal, is driving me crazy. I want it so badly.">>
<</if>>
<<dialog "Seryk" "facewet" "Liora, are you sure about this?" "He asks, but I can see the way his body is already responding to my request">>
<<dialog "Liora" "faceembarrassedshortpink" "Yes," "I nod, my face burning with embarrassment" "Please, Seryk. I need this.">>
<<narrative "The words slip out before I can stop them, and I can see the effect they have on him. His eyes widen, and I can see the way his breathing becomes more rapid. The way he looks at me, the way his body tenses with desire, makes me feel things I shouldn't be feeling.">>
<<dialog "Seryk" "facewet" "Alright," "he says quietly, his voice thick with emotion" "But this time, let me... let me work up a sweat first.">>
<<narrative "I watch as Seryk begins to exercise, his muscular body moving with practiced grace. I can see the way his muscles flex and tense with each movement, the way his skin begins to glisten with sweat. It's mesmerizing, and I can't take my eyes off him.">>
<center><img src="images/liora/chapter5/serykntr/body.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Sweaty Chest"></center>
<<quickRoll "Muscle Worship" "Liora" 80 3 "MuscleFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "MuscleFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "I can't stop staring at his body. The way his muscles ripple with each movement, the way his sweat glistens on his skin, the way his breathing becomes more rapid - it's all so incredibly arousing. I know I shouldn't be thinking about this, but I can't help myself. He's so strong, so masculine, so... perfect.">>
<</if>>
<<narrative "After a few minutes, Seryk stops and turns to me. His chest is heaving, and I can see the way his sweat has made his skin glisten. The sight is mesmerizing, and I can feel my own body responding to his nearness.">>
<<dialog "Seryk" "facewet" "There," "he says, his voice slightly breathless" "Now I'm properly sweaty. Are you ready?">>
<<dialog "Liora" "faceembarrassedshortpink" "Yes," "I whisper, my voice trembling with anticipation" "Please, let me taste you.">>
<<narrative "I approach him slowly, my heart pounding with excitement and shame. The closer I get, the stronger his masculine scent becomes. It's overwhelming, all-consuming, and I can feel my body already responding to his nearness.">>
<center><img src="images/liora/chapter5/serykntr/sweat1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Licking Seryk's Chest"></center>
<<quickRoll "Sweat Addiction" "Liora" 80 4 "SmellFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SmellFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "The moment my tongue touches his skin, I'm overwhelmed by the taste. It's so much stronger than before, so much more potent. The salty, musky flavor fills my mouth, and I can feel my mana circuits tingling with renewed energy. But it's not just the mana restoration - there's something deeply sexual about this act, something that makes my body crave more.">>
<</if>>
<<dialog "Seryk" "facewet" "Mmm..." "Seryk lets out a soft moan, his body tensing beneath my touch">>
<<narrative "I can see the way he's responding to my touch, the way his muscles tense and flex.">>
<center><img src="images/liora/chapter5/serykntr/face/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Aroused Expression"></center>
<<quickRoll "Power and Control" "Liora" 80 3 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "I can feel the power I have over him, the way he responds to my every touch. It's exhilarating, the way I can make him moan, the way I can make his body tremble with pleasure. I know this is wrong, that I should stop, but I can't. I want more, need more. I want to taste every inch of him, to make him moan my name over and over again.">>
<</if>>
<<narrative "I continue licking, working my way across his chest and upper abs. Each lick sends waves of pleasure through my body, and I can feel myself becoming more and more aroused. The way his muscles tense beneath my touch, the way his body responds to my ministrations - it's all so addictive.">>
<center><img src="images/liora/chapter5/serykntr/sweat2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Continuing to Lick"></center>
<<dialog "Seryk" "facewet" "Liora... this is... this is incredible," "he moans, his voice thick with desire" "Are you feeling better?">>
<<dialog "Liora" "faceembarrassedshortpink" "Yes," "I whisper, my voice breathless with arousal" "Much better. But I need more... please, let me continue.">>
<<narrative "I can see the way his boxers are straining against his growing arousal, and I can't help but wonder about what's hidden beneath. The thought makes me feel things I shouldn't be feeling, but I can't help myself. I want to see more, want to taste more.">>
<center><img src="images/liora/chapter5/serykntr/boxers/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Arousal"></center>
<<quickRoll "Growing Desire" "Liora" 80 3 "MuscleFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "MuscleFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "I can see the way he's looking at me, the hunger in his eyes, the way his body is responding to my touch. There's something primal in his gaze, something that makes me feel both vulnerable and incredibly aroused. I know I shouldn't be enjoying this, but I am. The way he looks at me, the way his body responds to my ministrations, is making me feel things I've never felt before.">>
<</if>>
<<narrative "I continue my exploration, my tongue now tracing from his chest down to his abs. I can feel the heat radiating from his skin, and I can see the way his erection is straining against his boxers. The thought of what's hidden beneath makes me feel things I shouldn't be feeling.">>
<center><img src="images/liora/chapter5/serykntr/boxers/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Growing Arousal"></center>
<<dialog "Seryk" "facewet" "Liora... I can't... I can't hold back anymore," "he moans, his voice barely controlled" "Please... let me masturbate in front of you again.">>
<<quickRoll "Shameless Acceptance" "Liora" 80 2 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.3>>
<<narrative "I can't believe I'm agreeing to this, but I can't help myself. The way he's looking at me, the way his body is responding to my touch, the way he's asking me so desperately - it's all so compelling. I know this is wrong, that I should say no, but I can't. I want to see him, want to watch him pleasure himself. I want to be a part of this moment, even if it's just as a spectator.">>
<</if>>
<<dialog "Liora" "faceembarrassedshortpink" "Yes," "I whisper, my voice trembling with arousal and shame" "Please, Seryk.">>
<<narrative "I can see the relief in his eyes, the way his body relaxes slightly...">>
<<continueBox "Ch6LioraSerykMasturbation" "Watch him pleasure himself" "">>
<<changeAttraction "Liora" "Seryk" 1.5>>
<<changeAttraction "Seryk" "Liora" 1.2>>
<<changeAffection "Liora" "Seryk" 2>>
<<changeAffection "Seryk" "Liora" 1.5>>
</div>
<</nobr>>
<<pov "liora" "ntr1.mp3">><<nobr>>
<<stopLoopingSounds>>
<<set $giveHerHandLioraVisited = true>>
<div class="passage-container liora">
<<stopLoopingSounds>>
<<soulBlessingAnimation "rylan" 1 "liora" 1>>
<<narrative "I hear footsteps approaching my room, and my heart starts pounding with nervousness. Last time we kissed, I ran away, and I know he must be wondering why. The memory of our kiss still lingers in my mind.">>
<center><img src="images/liora/chapter6/giveherhand/femboy/sitonbed.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<dialog "Liora" "faceworriedshortpink" "Oh... $humanName, I didn't expect to see you here." "she looks nervous, fidgeting with her hands and avoiding your gaze">>
<<dialog "Rylan" "faceconfused" "I've been thinking about what happened last time. Did I do something wrong when we kissed?">>
<<dialog "Liora" "faceembarrassedshortpink" "No... it's not that at all." "she looks away, her cheeks flushing a deep pink">>
<<dialog "Rylan" "faceworried" "Then what is it? You can tell me anything, Liora. I care about you.">>
<<dialog "Liora" "facesadshortpink" "It's... it's something that happened to me. Something strange." "she whispers, her voice trembling slightly">>
<<thought "Rylan" "faceconfused" "She's clearly distressed about something. I need to be gentle and supportive, but I'm also incredibly curious about what could have made her react like this.">>
<<dialog "Rylan" "facegentle" "Whatever it is, you can trust me. What happened?">>
<<dialog "Liora" "faceembarrassedshortpink" "After I cast a heal on my lower body... I suddenly grew a penis." "she blurts out, then immediately covers her face with her hands">>
<<thought "Rylan" "faceshocked" "That's... weird, but at at the same time, I'm curious. I need to stay calm and supportive to not traumatize her.">>
<<dialog "Rylan" "facegentle" "Liora, look at me. That's... actually really fascinating. You don't need to be ashamed.">>
<<dialog "Liora" "facepanicshortpink" "You're not disgusted? You don't think I'm a freak?" "she peeks through her fingers, her eyes wide with fear">>
<<dialog "Rylan" "faceconfident" "Of course not. I'm actually curious to see it. Would you show me?">>
<<dialog "Liora" "faceshockedshortpink" "What? Why would you want to see that?" "her eyes widen in surprise and confusion">>
<<dialog "Rylan" "facegentle" "Because I think it's amazing, and I would never judge you for something like that. Besides..." "he says reassuringly">>
<<dialog "Liora" "faceembarrassedshortpink" "Besides what?" "she asks, her curiosity piqued despite her embarrassment">>
<<dialog "Rylan" "facegentle" "I have one too, so we're not so different after all." "he says with a warm, understanding smile">>
<<dialog "Liora" "faceworriedshortpink" "I... I don't know if I can. It's so embarrassing." "she looks down, fidgeting with her hands">>
<<dialog "Rylan" "facegentle" "I understand it's scary, but you can trust me. I won't think any less of you.">>
<<dialog "Liora" "faceembarrassedshortpink" "But what if it doesn't work? What if I can't control it?" "she bites her lip nervously">>
<<dialog "Rylan" "facegentle" "Liora, look at me. I already think you're amazing. This doesn't change that at all.">>
<<dialog "Liora" "faceembarrassedshortpink" "Okay... but promise you won't laugh at me?" "she says hesitantly, her voice barely above a whisper">>
<<dialog "Rylan" "facegentle" "I promise.">>
<<narrative "I hesitantly begin to cast heal on my lower body, but nothing happens. I look confused and worried, biting my lip nervously.">>
<<dialog "Liora" "faceconfusedshortpink" "Why isn't it working? It worked before..." "she asks, frustration creeping into her voice">>
<<dialog "Rylan" "facegentle" "Let's think about this. What exactly did you do last time? Can you remember the steps you took?">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I cast heal on my lower body, but I was thinking about... about..." "she trails off, too embarrassed to continue">>
<<dialog "Rylan" "facegentle" "It's okay, you can tell me. What were you thinking about when it happened?">>
<<dialog "Liora" "faceembarrassedshortpink" "About you... about us... about what we might do together." "she stammers, her face turning a deep crimson">>
<<dialog "Rylan" "faceconfused" "And what specifically were you imagining?">>
<<dialog "Liora" "faceembarrassedshortpink" "Your... your body. What it would look like, what it would feel like to touch you." "she covers her face again, mortified">>
<<thought "Rylan" "facesmirk" "She was fantasizing about me, and that's what triggered her transformation. I need to guide her back to that mindset, but gently.">>
<<dialog "Rylan" "facegentle" "That's exactly what you need to do again. But only if you want to. I won't pressure you.">>
<<dialog "Liora" "faceworriedshortpink" "I... I want to, but I'm scared. What if something goes wrong?" "she looks at you with fearful eyes">>
<<dialog "Rylan" "faceconfident" "I'll be right here with you. Nothing bad will happen, and if it does, we'll handle it together.">>
<<dialog "Liora" "faceembarrassedshortpink" "Okay... I'll try. But please don't look." "she says, taking a deep breath">>
<<dialog "Rylan" "facegentle" " Ok I'll close my eyes. Just think about what you were imagining, and when you're ready, cast the spell.">>
<<narrative "He closes his eyes and waits. I can feel my breathing become deeper, more focused as I think about him. After a moment, I feel a strange sensation, and when I look down, I see my body has transformed - a thick, erect penis has grown between my legs, along with a pair of heavy testicles.">>
<<dialog "Liora" "facepanicshortpink" "Oh no! Don't hate me, please! I can't control it!" "she's nearly hyperventilating, her voice filled with terror">>
<<thought "Rylan" "faceconfident" " I need to calm her down.">>
<<if $rylan_wearingBra === true>>
<<thought "Rylan" "facesmirk" "I have an idea that might help her feel less alone. I could show her my own secret transformation.">>
<<dialog "Rylan" "facegentle" "Liora, look at me. You're not alone in having secrets.">>
<center><img src="images/rylan/femboy/body/1.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "He slowly begins to remove his clothes, revealing the feminine lingerie underneath - a lacy bra and matching panties that hug his transformed body.">>
<<dialog "Liora" "faceshockedshortpink" "What... what are you wearing? Why do you have those on?" "she's completely stunned, her eyes wide with disbelief">>
<<dialog "Rylan" "faceembarrassed" "Do you hate me now? Think I'm weird or disgusting?">>
<<dialog "Liora" "faceworriedshortpink" "No! Never! I could never hate you!" "she says immediately, her voice filled with genuine care and concern">>
<<dialog "Rylan" "facegentle" "Exactly. And I would never hate you for something like this either. We both have our own unique... transformations.">>
<<narrative "He removes the bra and panties as well, showing me his naked body.">>
<<if $rylanFemboy == true>>
<<dialog "Liora" "faceembarrassedshortpink" "You... you're beautiful like this too." "she whispers, her fear slowly being replaced by curiosity and understanding" "Your skin looks so smooth, and your breasts are bulging...">>
<<else>>
<<dialog "Liora" "faceembarrassedshortpink" "You... you're beautiful like this too." "she whispers, her fear slowly being replaced by curiosity and understanding">>
<</if>>
<<set $lioraKnowsRylanUnderwear = true>>
<<else>>
<<dialog "Rylan" "facegentle" "Liora, look at me.">>
<<narrative "He slowly begins to remove his clothes, revealing his naked body to me.">>
<<dialog "Liora" "faceshockedshortpink" "What... what are you doing? Why are you taking off your clothes?" "she's completely stunned, her eyes wide with disbelief">>
<<dialog "Rylan" "faceembarrassed" "Do you hate me now? Think I'm weird or disgusting?">>
<<dialog "Liora" "faceworriedshortpink" "No! Never! I could never hate you!" "she says immediately, her voice filled with genuine care and concern">>
<<dialog "Rylan" "facegentle" "Exactly. And I would never hate you for something like this either.">>
<<if $rylanFemboy == true>>
<<dialog "Liora" "faceembarrassedshortpink" "You... you're beautiful too." "she whispers, her fear slowly being replaced by curiosity and understanding" "Your skin looks so smooth, and your breasts are bulging...">>
<<else>>
<<dialog "Liora" "faceembarrassedshortpink" "You... you're beautiful too." "she whispers, her fear slowly being replaced by curiosity and understanding">>
<</if>>
<</if>>
<<dialog "Rylan" "facegentle" "Now that we're both comfortable, would you like to try something?">>
<<dialog "Liora" "faceembarrassedshortpink" "What do you mean?" "she asks, her curiosity piqued but still nervous">>
<<dialog "Rylan" "facegentle" "I think it would be good for you to... explore your new body. To learn how it feels.">>
<<dialog "Liora" "faceembarrassedshortpink" "You mean... touch myself?" "she stammers, her face turning bright red">>
<<dialog "Rylan" "faceconfident" "Yes. It would be a good learning experience. You should know how your body works now.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I don't know. That seems so... wrong." "she looks down, fidgeting with her hands">>
<<dialog "Rylan" "facegentle" "It's not wrong at all. It's natural, especially with your new... additions.">>
<<thought "Liora" "faceconfusedshortpink" "Wait... Nimeria said something similar to me before. She told me it would be a good learning experience too." "her eyes light up with recognition">>
<<dialog "Liora" "faceembarrassedshortpink" "But... but what if I can't do it right? What if I'm bad at it?" "she asks, her voice filled with uncertainty">>
<<dialog "Rylan" "faceconfident" "There's no right or wrong way. Just do what feels good. I'll be here to guide you if you want.">>
<<dialog "Liora" "faceworriedshortpink" "I... I'm scared. What if I like it too much?" "she whispers, her fear mixed with curiosity">>
<<dialog "Rylan" "facegentle" "That's okay too. It's supposed to feel good. That's the whole point.">>
<<dialog "Liora" "faceembarrassedshortpink" "Okay... I'll try. But please don't watch me too closely." "she says hesitantly, her voice barely above a whisper">>
<<continueBox "Chapter6RylanTouchLioraPenis" "Continue" "Guide Liora...">>
</div>
<</nobr>>
<<pov "liora" "defaultch6.mp3">><<nobr>>
<div class="passage-container liora">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/liora/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<quickRoll "Orgasm Resistance" "Liora" 80 5 "SubmissionFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.5>>
<<changeAttraction "Liora" "Rylan" 0.4>>
<<changeAffection "Liora" "Rylan" 0.2>>
<<changeLust "Liora" 8>>
<</if>>
<<narrative "My body tenses and trembles as I frantically stroke my penis. My breathing becomes ragged, my moans more desperate and urgent.">>
<<if not _tempRollSuccess>>
<<thought "Liora" "facewet" "I can't stop! I need to keep going! Something amazing is building inside me... I'm getting so close to something incredible! I'm completely under his control!">>
<<else>>
<<thought "Liora" "facewet" "I can't stop! I need to keep going! Something amazing is building inside me... I'm getting so close to something incredible!">>
<</if>>
<<dialog "Liora" "facewet" "I'm going to... I'm going to...!" "she gasps, her hand moving faster and faster">>
<<if not _tempRollSuccess>>
<<thought "Liora" "facewet" "It's happening! Something is about to explode inside me! I can feel it building... building... I need more! I'm completely addicted to this pleasure!">>
<<else>>
<<thought "Liora" "facewet" "It's happening! Something is about to explode inside me! I can feel it building... building... I need more!">>
<</if>>
<<narrative "Suddenly, my body convulses with my first orgasm. My back arches, my legs tremble, and I let out a loud, surprised moan as waves of pleasure crash through my body.">>
<center><img src="images/liora/chapter6/giveherhand/femboy/cum1.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<if not _tempRollSuccess>>
<<thought "Liora" "facewet" "OH MY GOD! What is this?! It's like lightning coursing through my entire body! I've never felt anything so intense! I'm completely overwhelmed by pleasure!">>
<<else>>
<<thought "Liora" "facewet" "OH MY GOD! What is this?! It's like lightning coursing through my entire body! I've never felt anything so intense!">>
<</if>>
<<dialog "Liora" "facewet" "Oh! Oh! What's happening to me?!" "she cries out, her body shaking with the intensity of her climax">>
<<if not _tempRollSuccess>>
<<thought "Liora" "facewet" "I can't control my body! It's shaking and trembling! The pleasure is overwhelming! I never knew anything could feel this good! I'm completely under his spell!">>
<<else>>
<<thought "Liora" "facewet" "I can't control my body! It's shaking and trembling! The pleasure is overwhelming! I never knew anything could feel this good!">>
<</if>>
<center><img src="images/liora/chapter6/giveherhand/femboy/cum2.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<narrative "My orgasm continues for several seconds, my body writhing and trembling with the overwhelming sensation. When it finally subsides, I collapse back onto the bed, panting heavily.">>
<<thought "Liora" "faceembarrassedshortpink" "That was... that was the most incredible thing I've ever experienced. My whole body is still tingling. I feel so different now... so alive!">>
<<dialog "Liora" "faceembarrassedshortpink" "That was... that was incredible. I've never felt anything like that before." "she says breathlessly, her face flushed with pleasure">>
<<narrative "I notice my penis is still erect, cum dripping out slowly. I feel so strange... so different from before.">>
<<dialog "Rylan" "facegentle" "After you cum, you need to rub it to push out the rest of the cum. Let me help you.">>
<<narrative "Before I can protest, he takes my penis in his hand again and begins rubbing it gently. I gasp as he leans in and kisses me deeply.">>
<center><img src="images/liora/chapter6/giveherhand/femboy/cumafter.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<continueBox "Chapter6LioraGiveHerhandEnd" "Continue" "The transformation is complete...">>
<<changeAttraction "Liora" "Rylan" 1>>
<<changeAttraction "Rylan" "Liora" 2>>
<<changeAffection "Liora" "Rylan" 3>>
<<changeAffection "Rylan" "Liora" 3>>
<<changeFetish "Liora" "PenisFetish" 1>>
<<changeFetish "Rylan" "PenisFetish" 1>>
<<changeFetish "Rylan" "DominanceFetish" 0.5>>
<<quickSexTrack "kiss" "Liora" "Rylan" 1>>
<<quickSexTrack "orgasm" "Rylan" "Liora" 1>>
<<quickSexTrack "handjob" "Rylan" "Liora" 1>>
</div>
<</nobr>>
<<pov "liora" "defaultch6.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<<narrative "I pull back from the kiss, looking into Liora's eyes. She's still breathing heavily, her face flushed with pleasure and embarrassment.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I need to clean up." "she says softly, looking down at herself">>
<<narrative "Liora gets up and begins cleaning herself with a cloth, her movements still shaky from the intense orgasm. I look down at my hands and see they're still covered in her cum.">>
<<thought "Rylan" "faceconfused" "I still have her cum on my hands. It's warm and sticky... I should probably clean it off, but part of me is curious about what it tastes like.">>
<<if $rylanFemboy>>
<center><img src="images/rylan/cum/femboy/cumonhands.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/rylan/cum/cumonhands.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<</if>>
<<choiceBox "What do you do with Liora's cum on your hands?" "Taste it" "Chapter6RylanTasteLioraCum" "rylanTasteLioraCum=true" "Try to resist" "Chapter6RylanResistLioraCum" "rylanResistLioraCum=true">>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<div class="passage-container rylan">
<<if $rylanFemboy>>
<center><img src="images/rylan/cum/femboy/cumonhands.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/rylan/cum/cumonhands.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<</if>>
<<narrative "I try to resist the temptation, but the warm, sticky cum on my hands is calling to me. I can feel my body responding to the sight and smell.">>
<<set _resistThreshold = Math.round(100 - (($rylan_CumNeed / 3) + ($rylan_Lust / 4) + $rylan_CumAddiction))>>
<<set _resistRoll = Math.floor(Math.random() * 100) + 1>>
<<resistanceRoll "Rylan" _resistRoll _resistThreshold "CUM TEMPTATION">>
<<if _resistRoll <= _resistThreshold>>
<<thought "Rylan" "faceconfused" "I can't resist... the temptation is too strong. I need to taste it.">>
<<continueBox "Chapter6RylanTasteLioraCum" "Continue" "Give in to temptation...">>
<<else>>
<<thought "Rylan" "faceconfident" "I'll just clean my hands and move on.">>
<<narrative "I grab a cloth and clean the cum from my hands, resisting the urge to taste it.">>
<<dialog "Rylan" "facegentle" "There, all cleaned up. How are you feeling, Liora?">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I feel different. Thank you for helping me understand my new body.">>
<<continueBox "MorningActivityChoicesNext" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<<set $rylanLickedLioraCum = true>>
<div class="passage-container rylan">
<<narrative "I can't resist the temptation any longer. I bring my hand closer to my face, the warm, sticky cum glistening on my fingers.">>
<<if $rylanFemboy>>
<center><img src="images/rylan/cum/femboy/cumonhands.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/rylan/cum/cumonhands.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<</if>>
<<thought "Rylan" "faceconfused" "I need to taste it... I can't help myself. The smell is intoxicating.">>
<<narrative "I tentatively lick the cum from my hand, my tongue making contact with the warm, sticky substance.">>
<<if $rylanFemboy>>
<center><img src="images/rylan/cum/femboy/cumhandlick1.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/rylan/cum/cumhandlick1.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<</if>>
<<thought "Rylan" "faceshocked" "It tastes... milky. Strange, but there's a lightly sweet aftertaste that I wasn't expecting. It's not bad at all...">>
<<narrative "The taste is unlike anything I've experienced before. It's creamy and milky, with a subtle sweetness that lingers on my tongue.">>
<<thought "Rylan" "facewet" "I can't stop myself... I need more. I keep licking, trying to get every last drop from my hand.">>
<<narrative "I continue licking my hand clean, my tongue working over every surface to collect the remaining cum. The taste is addictive, and I find myself wanting more.">>
<<if $rylanFemboy>>
<center><img src="images/rylan/cum/femboy/cumhandlick2.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/rylan/cum/cumhandlick2.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<</if>>
<<thought "Rylan" "facewet" "I'm cleaning my hand completely... I can't believe I'm doing this, but it feels so right. The taste is incredible.">>
<<narrative "I clean my fingers thoroughly, making sure to get every last trace of the cum. My hand is now completely clean, but I'm left with a strange craving for more.">>
<<if $rylanFemboy>>
<center><img src="images/rylan/cum/femboy/cumfingerlick.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<else>>
<center><img src="images/rylan/cum/cumfingerlick.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<</if>>
<<dialog "Rylan" "faceembarrassed" "That was... different...">>
<<changeFetish "Rylan" "CumAddiction" 0.1>>
<<changeLust "Rylan" -100>>
<<set $rylan_CumNeed = 0>>
<<continueBox "MorningActivityChoicesNext" "Continue" "">>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<div class="passage-container liora">
<<playLoopingSounds "sounds/hsounds/liora/moansoft.mp3" "sounds/hsounds/handjob.mp3" 1>>
<<narrative "I hesitantly reach down and begin to touch my new penis, but my movements are awkward and uncertain. I'm far too gentle, like I've never touched a man before.">>
<center><img src="images/liora/chapter6/giveherhand/femboy/solo1.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<thought "Liora" "faceembarrassedshortpink" "It feels so strange... so hard and warm. I don't know what I'm doing, but it feels... nice. But I'm probably doing it wrong.">>
<<dialog "Liora" "faceembarrassedshortpink" "Is... is this right?" "she asks, her touch barely grazing the sensitive skin">>
<<dialog "Rylan" "facegentle" "You need to be a bit firmer. Like this." "he demonstrates with his own hand, showing her the proper grip">>
<<thought "Liora" "faceconfusedshortpink" "I don't understand what he means. It feels good when I touch it, but maybe not as good as it should? I wish I knew what I was doing.">>
<<dialog "Liora" "faceconfusedshortpink" "I don't understand. How do I know if I'm doing it right?" "she continues with the same gentle, uncertain strokes">>
<center><img src="images/liora/chapter6/giveherhand/femboy/solo2.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<thought "Rylan" "faceconfused" "She's clearly never done this before. I need to show her properly, but I don't want to be too forward.">>
<<dialog "Rylan" "facegentle" "Here, let me show you. May I touch it to demonstrate?">>
<<thought "Liora" "faceembarrassedshortpink" "He wants to touch it? Oh my... that's so embarrassing, but maybe he can show me how it's supposed to feel. I trust him.">>
<<dialog "Liora" "faceembarrassedshortpink" "You... you want to touch it?" "her eyes widen in surprise and embarrassment">>
<<dialog "Rylan" "facegentle" "Only to show you how it should feel. I'll stop as soon as you understand.">>
<<thought "Liora" "faceembarrassedshortpink" "I'm so nervous, but I want to learn. His touch will probably feel so much better than mine.">>
<<dialog "Liora" "faceembarrassedshortpink" "Okay... but please be gentle." "she says hesitantly, her face flushed with embarrassment">>
<<quickRoll "Penis Temptation" "Liora" 80 5 "PenisFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "PenisFetish" 0.3>>
<<changeAttraction "Liora" "Rylan" 0.2>>
<<changeAffection "Liora" "Rylan" 0.1>>
<</if>>
<<narrative "He climbs onto the bed beside me and gently takes my penis in his hand. He starts with slow, firm strokes, showing me the proper technique.">>
<center><img src="images/liora/chapter6/giveherhand/femboy/masturbate1.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<if not _tempRollSuccess>>
<<thought "Liora" "facewet" "Oh my... his hand feels so different from mine. So warm, so confident. It's like he knows exactly what to do. This feels incredible! I can't resist this pleasure!">>
<<else>>
<<thought "Liora" "facewet" "Oh my... his hand feels so different from mine. So warm, so confident. It's like he knows exactly what to do. This feels incredible!">>
<</if>>
<<dialog "Liora" "facewet" "Oh... oh my... that feels so good!" "she gasps, her body trembling with the new sensation">>
<<if not _tempRollSuccess>>
<<thought "Liora" "facewet" "I never knew it could feel like this! Every stroke sends waves of pleasure through my body. I want this to never end! I'm getting so aroused by his touch!">>
<<else>>
<<thought "Liora" "facewet" "I never knew it could feel like this!">>
<</if>>
<<narrative "He continues for a few more strokes, then stops and removes his hand.">>
<<thought "Liora" "faceconfusedshortpink" "It was feeling so amazing! I need more...">>
<<dialog "Liora" "faceconfusedshortpink" "Why did you stop?" "she asks, her voice filled with disappointment">>
<<dialog "Rylan" "facegentle" "Now you try it yourself. Use the same technique I showed you.">>
<<narrative "I begin to touch myself again, this time with more confidence and better technique, but still not quite as good as when he was doing it.">>
<center><img src="images/liora/chapter6/giveherhand/femboy/solo3.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<dialog "Liora" "faceembarrassedshortpink" "It's not the same... it felt so much better when you did it." "she looks up at you with pleading eyes">>
<<dialog "Rylan" "facegentle" "Would you like me to show you again?">>
<<thought "Liora" "faceembarrassedshortpink" "Yes! Yes! I need him to touch me again. I can't get enough of his hands on me!">>
<<dialog "Liora" "faceembarrassedshortpink" "Yes, please." "she says eagerly, her voice filled with anticipation">>
<<quickRoll "Growing Arousal" "Liora" 80 5 "SubmissionFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.2>>
<<changeAttraction "Liora" "Rylan" 0.1>>
<</if>>
<<narrative "He takes my penis in his hand again and begins stroking it with the same firm, steady rhythm. I moan softly, my body arching with pleasure.">>
<center><img src="images/liora/chapter6/giveherhand/femboy/masturbate2.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<if not _tempRollSuccess>>
<<thought "Liora" "facewet" "Yes! This is what I needed! His touch is so perfect, so skilled. I'm getting so aroused... I can feel something building inside me! I'm completely under his control!">>
<<else>>
<<thought "Liora" "facewet" "Yes! This is what I needed! His touch is so perfect, so skilled. I'm getting so aroused... I can feel something building inside me!">>
<</if>>
<<narrative "After a few more strokes, he stops again and removes his hand.">>
<<if not _tempRollSuccess>>
<<thought "Liora" "faceembarrassedshortpink" "No! Don't stop! I need more! I'm getting so close to something... I can't let him stop now! I need him to control me!">>
<<else>>
<<thought "Liora" "faceembarrassedshortpink" "No! Don't stop! I need more! I'm getting so close to something... I can't let him stop now!">>
<</if>>
<<dialog "Liora" "faceembarrassedshortpink" "Please... can you do it again?" "she asks, her voice trembling with need">>
<<quickRoll "Desperate Need" "Liora" 80 5 "PenisFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "PenisFetish" 0.4>>
<<changeAttraction "Liora" "Rylan" 0.3>>
<<changeLust "Liora" 5>>
<</if>>
<<narrative "He takes my penis in his hand once more and begins stroking it with increasing intensity. I'm clearly getting more aroused, my breathing becoming heavier.">>
<center><img src="images/liora/chapter6/giveherhand/femboy/masturbate3.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<if not _tempRollSuccess>>
<<thought "Liora" "facewet" "Yes! Keep going! I'm getting so close to something amazing! I can feel it building... I need more! I'm completely addicted to his touch!">>
<<else>>
<<thought "Liora" "facewet" "Yes! Keep going! I'm getting so close to something amazing! I can feel it building... I need more!">>
<</if>>
<<dialog "Liora" "facewet" "Please don't stop... it feels so good..." "she moans, her body writhing with pleasure">>
<<narrative "He continues stroking me with steady, firm strokes. Each movement sends waves of pleasure through my body, and I can feel myself getting closer and closer to something incredible.">>
<center><img src="images/liora/chapter6/giveherhand/femboy/masturbate4.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<if not _tempRollSuccess>>
<<thought "Liora" "facewet" "I'm getting so aroused! Every stroke feels better than the last! I can't control my body anymore... I'm completely under his spell!">>
<<else>>
<<thought "Liora" "facewet" "I'm getting so aroused! Every stroke feels better than the last! I can't control my body anymore...">>
<</if>>
<<dialog "Liora" "facewet" "Oh... oh my... that feels incredible..." "she gasps, her breathing becoming more ragged">>
<<narrative "His hand moves faster now, the intensity building with each stroke. I can feel something amazing building inside me, something I've never experienced before.">>
<center><img src="images/liora/chapter6/giveherhand/femboy/masturbate5.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<if not _tempRollSuccess>>
<<thought "Liora" "facewet" "I'm getting so close! Something incredible is about to happen! I can feel it building... building... I need more! I'm completely addicted to this pleasure!">>
<<else>>
<<thought "Liora" "facewet" "I'm getting so close! Something incredible is about to happen! I can feel it building... building... I need more!">>
<</if>>
<<dialog "Liora" "facewet" "Please... please don't stop... I'm getting so close..." "she moans desperately, her body trembling with anticipation">>
<<narrative "He continues stroking me, and I can feel myself getting closer and closer to climax. My moans become more frequent, my body trembling with building pleasure.">>
<center><img src="images/liora/chapter6/giveherhand/femboy/masturbate6.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<if not _tempRollSuccess>>
<<thought "Liora" "facewet" "I'm getting so close! Something amazing is about to happen! I can feel it building inside me... I need more! Don't stop! I'm completely under his spell!">>
<<else>>
<<thought "Liora" "facewet" "I'm getting so close! Something amazing is about to happen! I can feel it building inside me... I need more! Don't stop!">>
<</if>>
<<dialog "Liora" "facepanicshortpink" "Wait... I think I'm going to... stop! Stop!" "she gasps, her body tensing">>
<<narrative "He immediately stops and removes his hand, but I can't help myself - I continue stroking my own penis, unable to stop the building pleasure.">>
<<if not _tempRollSuccess>>
<<thought "Liora" "facewet" "I can't stop! I need to keep going! Something amazing is about to happen and I can't control myself! I'm completely addicted to this pleasure!">>
<<else>>
<<thought "Liora" "facewet" "I can't stop! I need to keep going! Something amazing is about to happen and I can't control myself!">>
<</if>>
<<dialog "Liora" "facewet" "I can't stop... I can't stop myself!" "she moans, her hand moving frantically">>
<<continueBox "Chapter6LioraCums" "Continue" "Watch Liora climax...">>
</div>
<</nobr>>
<<pov "liora" "defaultch6.mp3">><<nobr>>
<div class="passage-container serin">
<<narrative "$lioraTrainingSerinVisited">>
<<if !$lioraTrainingSerinVisited>>
<<if !$serinLesbianCuriosity>>
<<set $serinLesbianCuriosity = 0>>
<</if>>
<<if !$serinNetoriCuriosity>>
<<set $serinNetoriCuriosity = 0>>
<</if>>
<<set $serinLesbianCuriosity += Math.floor(Math.random() * 3)>>
<<set $serinNetoriCuriosity += 1>>
<<set $lioraTrainingSerinVisited = true>>
<</if>>
<<stopLoopingSounds>>
<<narrative "I'm in the training room, going through my usual morning routine when Liora approaches me with an unusual request.">>
<<dialog "Liora" "faceshortpink" "Serin, could you help me train?">>
<<dialog "Serin" "face" "Train? What brought this on?">>
<<dialog "Liora" "faceembarrassedshortpink" "Well... Nimeria suggested I should build up my stamina.">>
<<dialog "Serin" "face" "Stamina? For what?">>
<<dialog "Liora" "faceembarrassedshortpink" "Nimeria said it would be good for... you know... for $humanName.">>
<<thought "Serin" "faceangry" "What?! She's training to be better for $humanName? That's... that's not fair! I've been training my whole life to stand by his side, and she just waltzes in and gets with him first!">>
<<dialog "Serin" "facesmirk" "Oh really? Well, if you want to build stamina, we'll need to start with the basics. Let's do 50 push-ups for a warm-up.">>
<<dialog "Liora" "facehappyshortpink" "Okay! I can do that!">>
<<narrative "Liora gets down on all fours, but instead of doing proper push-ups, she just starts shaking her ass up and down.">>
<center><img src="images/serin/chapter6/serinliora/pushups/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora doing push-ups"></center>
<<dialog "Serin" "face" "What the hell are you doing?">>
<<dialog "Liora" "faceconfusedshortpink" "Push-ups?">>
<<dialog "Serin" "faceangry" "I said push-ups, not doggy style!">>
<<narrative "I demonstrate proper push-up form, but Liora can't even do one and is already sweating profusely.">>
<<thought "Serin" "faceworried" "This is hopeless. How does this girl even have enough stamina to travel with us?">>
<center><img src="images/serin/chapter6/serinliora/pushups/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora doing push-ups"></center>
<<dialog "Serin" "face" "Fine, let's try something easier. Just do some squats.">>
<<narrative "Liora gets into a squat position, then pushes herself up using her hands for support.">>
<center><img src="images/serin/chapter6/serinliora/pushups/squats1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora doing push-ups"></center>
<<dialog "Serin" "faceangry" "Without hands!">>
<<narrative "Liora tries but can't manage it, barely able to do it even with her hands helping.">>
<center><img src="images/serin/chapter6/serinliora/pushups/squats2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora doing push-ups"></center>
<<dialog "Serin" "facesad" "I give up... I don't even know where to start.">>
<<dialog "Liora" "faceembarrassedshortpink" "It's easier for you since you don't have to carry those front bags like I do...">>
<<thought "Serin" "faceangry" "Did she just... make fun of my breast size? That little...">>
<<narrative "I grab a barbell and hoist it onto my shoulders.">>
<center><img src="images/serin/chapter6/serinliora/pushups/serin.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora doing push-ups"></center>
<<dialog "Serin" "faceangry" "You think this is easy? This barbell weighs about the same as you do. Watch this.">>
<<narrative "I do 10 perfect squats while holding the barbell, showing off my strength and technique.">>
<<dialog "Liora" "faceshockedshortpink" "Wow... that's amazing!">>
<<dialog "Serin" "facesmirk" "Thought you wanted to build stamina...">>
<<dialog "Serin" "face" "Let's try sparring instead. That might be more your speed.">>
<<dialog "Liora" "facehappyshortpink" "Oh! We used to spar all the time when we were children. Sure, let's do it!">>
<<narrative "We take our positions and begin sparring. Liora's technique is sloppy, and she quickly loses her balance, falling backwards and pulling me down with her.">>
<<narrative "I land on top of Liora, looking down at her face. She looks like she's about to cry, and something inside me snaps.">>
<center><img src="images/serin/chapter6/serinliora/scissor/before.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora doing push-ups"></center>
<<thought "Serin" "faceangry" "Look at her... those big boobs that $humanName probably plays with every day. I trained my whole life to become an adventurer, to stand by his side, and she just waltzes in and gets with him before me. It's not fair!">>
<center><div style="background: linear-gradient(145deg, rgba(0, 0, 0, 0.9), rgba(20, 20, 20, 0.95)); border-radius: 50%; padding: 20px; margin: 20px 0; display: inline-block; animation: pulse 2s ease-in-out infinite;"><img src="images/serin/tattoo/facesin.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 50%; display: block;" alt="Serin's dark side"></div></center>
<style>
@keyframes pulse {
0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 20, 147, 0.7); }
50% { transform: scale(1.05); box-shadow: 0 0 20px 10px rgba(255, 20, 147, 0.3); }
100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 20, 147, 0.7); }
}
</style>
<<narrative "My jealousy and frustration build up, and I decide to 'spar' with her on the floor. I entangle my legs with hers and push her down harder.">>
<<dialog "Serin" "faceangry" "Try to get out of this.">>
<<dialog "Liora" "faceworriedshortpink" "You're hurting me!">>
<<narrative "Liora tries to wriggle free, but as she struggles, her leg hits my clit through my shorts.">>
<<thought "Serin" "faceconfused" "What was that?">>
<<dialog "Serin" "faceangry" "Stop moving your leg!">>
<<narrative "Liora tries to stop, but in her panic, she accidentally kicks her leg again, hitting the same spot.">>
<<thought "Serin" "faceconfused" "That... that felt weird...">>
<<narrative "Liora continues struggling, and her leg keeps accidentally brushing against me with each movement.">>
<<thought "Serin" "faceworried" "Why does this keep happening?">>
<<narrative "After several more accidental touches, I feel a strange warmth building up inside me.">>
<<thought "Serin" "faceconfused" "This is... this is starting to feel... good? No, that can't be right...">>
<<narrative "Liora's leg hits me again, and this time the sensation is stronger. I can't help but let out a small moan.">>
<<dialog "Serin" "faceembarrassed" "Ah...">>
<<thought "Serin" "faceworried" "Oh no... did I just...? This is wrong... she's my $serinLioraRelation...">>
<<changeLust "Serin" 5>>
<<changeFetish "Serin" "SubmissionFetish" 0.3>>
<<changeAttraction "Serin" "Liora" 0.2>>
<<changeAttraction "Liora" "Serin" 0.2>>
<<continueBox "Ch6LioraTrainingSerinPart2" "Continue" "The 'training' intensifies...">>
</div>
<</nobr>>
<<pov "serin" "serinhscene.mp3">><<nobr>>
<div class="passage-container serin">
<<narrative "As the reality of what just happened sinks in, I can see Liora's eyes welling up with tears.">>
<<dialog "Liora" "facesadshortpink" "Serin... I... I don't understand...">>
<<thought "Serin" "faceworried" "Oh no... what have I done? She's about to cry...">>
<<narrative "I quickly pull away from her, my heart racing as the full weight of my actions hits me.">>
<<thought "Serin" "faceworried" "This was wrong on so many levels! Liora is my $serinLioraRelation! What the hell was I thinking?">>
<<dialog "Serin" "faceworried" "Liora... I... I'm so sorry... I don't know what came over me...">>
<<narrative "I can see the confusion and hurt in her eyes, and guilt washes over me like a tidal wave.">>
<<if $serinLioraFootFetish == true>>
<<thought "Serin" "facesad" "I made my $serinLioraRelation cum... I made her kiss my sweaty feet... this is so messed up...">>
<<else>>
<<thought "Serin" "facesad" "I made my $serinLioraRelation cum... this is so messed up...">>
<</if>>
<<dialog "Serin" "facesad" "I hope you can forgive me... I never should have done any of that...">>
<<narrative "I reach out and pull Liora into a tight hug, holding her close as she sniffles against my shoulder.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I forgive you, Serin... but... what was that?">>
<<dialog "Serin" "faceworried" "I don't know... I just... I got so angry and jealous, and then... I lost control...">>
<<narrative "Liora nods slowly, still looking confused but accepting my apology.">>
<<dialog "Serin" "faceworried" "As an apology... you can join me for training again sometime. I'll teach you properly this time.">>
<<dialog "Liora" "facehappyshortpink" "Really? You mean it?">>
<<dialog "Serin" "facesmirk" "Of course. We're $serinLioraRelation, after all.">>
<<narrative "Liora gets up and gathers her things, giving me one last look before heading toward the door.">>
<<dialog "Liora" "faceembarrassedshortpink" "Thank you, Serin... I'll see you later.">>
<<narrative "As the door closes behind her, I'm left alone in the training room, my mind racing with what just happened.">>
<<thought "Serin" "faceconfused" "God... what just happened with me? I made my $serinLioraRelation cum... I made her kiss my feet... this is so wrong...">>
<<thought "Serin" "facewet" "But somehow... it felt so right... the way she moaned for me... the way she submitted to me...">>
<<thought "Serin" "faceworried" "I need to figure out what's wrong with me... but I can't stop thinking about it...">>
<<changeAffection "Serin" "Liora" 2>>
<<changeAttraction "Serin" "Liora" 1.5>>
<<addSoulCorruption "serin" 1>>
<<narrative "I sit down on the training mat, staring at the spot where Liora was lying, my mind filled with conflicting emotions.">>
<<thought "Serin" "faceconfused" "I should feel guilty... I should be disgusted with myself... but all I can think about is how good it felt to dominate her...">>
<<continueBox "MorningActivityChoicesNext" "Continue" "The aftermath continues...">>
</div>
<</nobr>>
<<pov "serin" "serinhscene.mp3">><<nobr>>
<<set $serinLioraFootFetish = true>>
<div class="passage-container serin">
<<narrative "I can't resist the dark urge that's been building inside me. Liora is lying there, completely vulnerable, and I want to push her even further.">>
<<thought "Serin" "facewet" "She's so helpless right now... I could do anything to her...">>
<<narrative "I move to sit in front of Liora's face, positioning myself so she has no choice but to look up at me.">>
<<dialog "Liora" "faceconfusedshortpink" "Serin? What are you doing?">>
<<thought "Serin" "facesmirk" "Perfect... she has no idea what's coming.">>
<center><img src="images/serin/chapter6/serinliora/feet/sock1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin positioning her feet"></center>
<<narrative "I slowly lift my foot and press it against Liora's face, the sweaty sock making direct contact with her skin.">>
<<dialog "Liora" "faceshockedshortpink" "W-what?! Serin, stop!">>
<<thought "Serin" "facesmirk" "The look on her face... she's so shocked...">>
<<changeFetish "Serin" "DominanceFetish" 0.2>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<center><img src="images/serin/chapter6/serinliora/feet/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin pressing foot to Liora's face"></center>
<<dialog "Liora" "faceworriedshortpink" "Serin! They stink! Get it away!">>
<<dialog "Serin" "facesmirk" "You're hurting my feelings, $serinLioraRelation. Just get a big whiff... it's not that bad.">>
<<narrative "I press my foot harder against her face, making sure she can't escape the musky scent of my sweaty sock.">>
<<thought "Serin" "facewet" "She's trying to resist... but I won't let her get away that easily...">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I can't... it's too strong...">>
<<narrative "Liora reluctantly takes a deep breath, her face scrunching up as the scent hits her nose.">>
<<changeFetish "Liora" "SmellFetish" 0.2>>
<<changeFetish "Serin" "FeetFetish" 0.1>>
<center><img src="images/serin/chapter6/serinliora/feet/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora smelling Serin's foot"></center>
<<dialog "Liora" "facedisgustedshortpink" "Stop, Serin! It's disgusting!">>
<<dialog "Serin" "facewet" "Don't call them disgusting!">>
<<narrative "I press my socked foot directly onto her face, covering her mouth and nose completely.">>
<<thought "Serin" "facewet" "She needs to learn to respect my feet...">>
<<dialog "Liora" "faceworriedshortpink" "Mmmph... mmmph...">>
<<narrative "I hold it there for a moment, watching her struggle, then pull it away slightly.">>
<<dialog "Serin" "facesmirk" "You hurt my feelings, $serinLioraRelation. You need to make it up to them.">>
<<dialog "Liora" "faceembarrassedshortpink" "How... how do I make it up to them?">>
<<dialog "Serin" "facesmirk" "Give them a kiss, and we'll be good.">>
<<thought "Serin" "facewet" "This is perfect... she's going to kiss my sweaty sock...">>
<<changeFetish "Liora" "SubmissionFetish" 0.4>>
<<changeFetish "Serin" "DominanceFetish" 0.3>>
<center><img src="images/serin/chapter6/serinliora/feet/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora kissing Serin's foot"></center>
<<narrative "Liora hesitates for a moment, then slowly leans forward and presses her lips against my sweaty sock.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I did it...">>
<<dialog "Serin" "facesmirk" "Good girl, my foot $serinLioraRelation. You're learning to respect your $serinLioraRelation's feet.">>
<<thought "Serin" "facewet" "This is so hot... she actually kissed my sweaty sock...">>
<<changeFetish "Liora" "SubmissionFetish" 0.5>>
<<changeFetish "Serin" "DominanceFetish" 0.4>>
<<changeFetish "Liora" "FeetFetish" 0.3>>
<<continueBox "Ch6LioraTrainingSerinEnd" "Continue" "...">>
</div>
<</nobr>>
<<pov "serin" "serinhscene.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/liora/moansoft.mp3" "sounds/hsounds/serin/moansoft.mp3" "sounds/hsounds/handjobclothed.mp3" 1>>
<div class="passage-container serin">
<<narrative "Liora continues struggling, her legs moving frantically as she tries to escape my hold.">>
<<thought "Serin" "faceworried" "She's not stopping... every time she moves, it hits me there...">>
<<narrative "Each accidental touch sends another wave of pleasure through my body, and I can feel myself getting wetter.">>
<<thought "Serin" "faceconfused" "This is wrong... she's my $serinLioraRelation... but it feels so good...">>
<<changeLust "Serin" 8>>
<<narrative "Liora's leg brushes against me again, and this time I can't suppress a louder moan.">>
<<dialog "Serin" "faceembarrassed" "Ahh...">>
<<dialog "Liora" "faceshockedshortpink" "Serin? What's wrong?">>
<<thought "Serin" "facewet" "She's making me feel like this... my own $serinLioraRelation... I need to get back at her...">>
<<narrative "Something snaps inside me. I shift my position and start grinding against Liora's leg between her thighs.">>
<<dialog "Liora" "faceshockedshortpink" "W-what are you doing?!">>
<<thought "Serin" "facewet" "Now you'll see how it feels...">>
<<narrative "I press harder against her, grinding my clit against her leg through our clothes.">>
<center><img src="images/serin/chapter6/serinliora/scissor/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin grinding against Liora"></center>
<<dialog "Liora" "faceembarrassedshortpink" "Serin, stop! This is... this is wrong!">>
<<thought "Serin" "facewet" "Wrong? You started this by moving around like that...">>
<<changeLust "Serin" 12>>
<<changeLust "Liora" 8>>
<<narrative "I can feel Liora's body trembling beneath me as I continue grinding. Her breathing becomes heavier.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I don't understand what's happening...">>
<<thought "Serin" "facewet" "She's getting aroused too... my $serinLioraRelation is getting turned on by this...">>
<<changeAttraction "Serin" "Liora" 0.3>>
<<changeAttraction "Liora" "Serin" 0.3>>
<<narrative "I grab Liora's wrists and pin them above her head, grinding harder against her.">>
<<dialog "Serin" "facewet" "You like this, don't you? My $serinLioraRelation getting all hot and bothered...">>
<<dialog "Liora" "faceembarrassedshortpink" "N-no! I don't... I shouldn't...">>
<<thought "Serin" "facewet" "But you are... I can feel how wet you're getting...">>
<center><img src="images/serin/chapter6/serinliora/scissor/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Serin dominating Liora"></center>
<<narrative "I press harder against her leg, grinding my clit against her thigh as I move faster.">>
<<dialog "Liora" "facewet" "Ah... Serin... this feels...">>
<<thought "Serin" "facewet" "She's moaning... my $serinLioraRelation is moaning for me...">>
<<changeLust "Serin" 15>>
<<changeLust "Liora" 12>>
<<narrative "I can feel both of us getting closer to the edge. Liora's body is shaking with pleasure.">>
<<thought "Serin" "facewet" "Instead of stealing $humanName from her... what if I make her addicted to me? Make her my bitch so she'll give him to me willingly...">>
<<thought "Serin" "faceconfused" "What the hell am I thinking? That's... that's so wrong...">>
<<thought "Serin" "facewet" "But... the thought is so hot... making my $serinLioraRelation my slave...">>
<<changeFetish "Serin" "DominanceFetish" 0.4>>
<<changeFetish "Liora" "SubmissionFetish" 0.2>>
<center><img src="images/serin/chapter6/serinliora/scissor/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Intense grinding"></center>
<<narrative "I grind harder and faster, both of us panting and moaning as we approach our limits.">>
<<dialog "Serin" "facewet" "You're going to cum for me, aren't you? My $serinLioraRelation is going to cum from my touch...">>
<<dialog "Liora" "facewet" "I... I can't... this is wrong... but it feels so good...">>
<<thought "Serin" "facewet" "Yes... give in to me... become addicted to this feeling...">>
<<changeLust "Serin" 18>>
<<changeLust "Liora" 15>>
<<narrative "I can feel Liora's body tensing up, her breathing becoming erratic as she gets closer to orgasm.">>
<<dialog "Liora" "facewet" "Serin... stop! I'm going to... I'm going to...">>
<<thought "Serin" "facewet" "Cum for me... cum for your $serinLioraRelation...">>
<center><img src="images/serin/chapter6/serinliora/scissor/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Both approaching climax"></center>
<<narrative "We're both on the edge, grinding frantically against each other, our bodies slick with sweat and arousal.">>
<<dialog "Serin" "facewet" "Cum with me... cum with your $serinLioraRelation...">>
<<dialog "Liora" "facewet" "Ah... please, stop Serin!... I can't hold it...">>
<<thought "Serin" "facewet" "This is it... we're both going to cum together...">>
<<changeLust "Serin" 20>>
<<changeLust "Liora" 18>>
<<continueBox "Ch6LioraTrainingSerinPart3" "Continue" "The climax approaches...">>
</div>
<</nobr>>
<<pov "serin" "serinhscene.mp3">><<nobr>>
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/liora/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 9000)>>
<div class="passage-container serin">
<<narrative "The tension reaches its breaking point as both of us teeter on the edge of orgasm.">>
<center><img src="images/serin/chapter6/serinliora/scissor/cum.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Both approaching climax"></center>
<<dialog "Liora" "facewet" "Serin... I can't... I'm going to...">>
<<dialog "Serin" "facewet" "Cum for me... cum for your $serinLioraRelation...">>
<<narrative "I feel the wave of pleasure building inside me as I grind harder against her leg.">>
<<thought "Serin" "facewet" "This is it... we're both going to cum together...">>
<<narrative "The orgasm hits me like a tidal wave, my body convulsing as pleasure explodes through every nerve.">>
<<dialog "Serin" "facewet" "Ahh... fuck... yes...">>
<<narrative "At the same moment, Liora's body tenses up completely, and I can feel her leg trembling against me.">>
<<dialog "Liora" "facewet" "Ahh... Serin... I'm... I'm...">>
<<narrative "Liora's body jerks violently as she cums, and I can see a dark wet spot spreading through her panties as she squirts.">>
<center><img src="images/serin/chapter6/serinliora/scissor/squirt.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora cumming"></center>
<<dialog "Liora" "facewet" "Oh my... oh my...">>
<<dialog "Serin" "facewet" "Fuck... that was... amazing...">>
<<narrative "As the waves of pleasure begin to subside, I look down at Liora lying there, panting and covered in sweat.">>
<<dialog "Serin" "facesmirk" "Look at you... you wet yourself like a little girl.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I didn't mean to... I couldn't help it...">>
<<dialog "Serin" "facesmirk" "My $serinLioraRelation just squirted through her panties... how pathetic.">>
<<narrative "I pull away from her, both of us breathing heavily as we come down from our high.">>
<<thought "Serin" "faceconfused" "What the hell is wrong with me? I just made my $serinLioraRelation cum... that's so messed up...">>
<<thought "Serin" "facesmirk" "But... it was so much fun getting back at her... seeing her squirm and moan for me...">>
<<quickSexTrack "orgasm" "Serin" "Liora" 1>>
<<quickSexTrack "orgasm" "Liora" "Serin" 1>>
<<changeFetish "Serin" "DominanceFetish" 0.3>>
<<changeFetish "Liora" "SubmissionFetish" 0.4>>
<<addSoulCorruption "serin" 1>>
<<narrative "I look down at Liora lying there in her afterglow, her panties still damp from her orgasm.">>
<center><img src="images/serin/chapter6/serinliora/scissor/aftermath.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora afterglow"></center>
<<thought "Serin" "facewet" "She looks so vulnerable... so broken...">>
<<narrative "A dark thought crosses my mind as I see her lying there, completely at my mercy.">>
<center><div style="background: linear-gradient(145deg, rgba(0, 0, 0, 0.9), rgba(20, 20, 20, 0.95)); border-radius: 50%; padding: 20px; margin: 20px 0; display: inline-block; animation: pulse 2s ease-in-out infinite;"><img src="images/serin/tattoo/facepulse.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 50%; display: block;" alt="Serin's dark side"></div></center>
<style>
@keyframes pulse {
0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 20, 147, 0.7); }
50% { transform: scale(1.05); box-shadow: 0 0 20px 10px rgba(255, 20, 147, 0.3); }
100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 20, 147, 0.7); }
}
</style>
<<thought "Serin" "facewet" "I could do anything to her right now... she's completely helpless...">>
<<narrative "I notice my feet are sweaty from the intense grinding, and another twisted idea forms in my mind.">>
<<thought "Serin" "facewet" "I could... I could press my sweaty feet into her face... make her smell them... taste them...">>
<<thought "Serin" "faceconfused" "What the hell am I thinking? That's... that's so wrong...">>
<<thought "Serin" "facesmirk" "But... the thought is so hot... making her worship my feet after what I just did to her...">>
<<choiceBox "What do you do?" "Press your sweaty feet into her face" "Ch6LioraTrainingSerinFeet" "Ch6LioraTrainingSerinFeet=feet" "No, let's stop here" "Ch6LioraTrainingSerinEnd" "Ch6LioraTrainingSerinEnd=stop">>
</div>
<</nobr>>
<<pov "serin" "serinhscene.mp3">><<nobr>>
<<stopLoopingSounds>>
<<set $marielCuddleVisited = true>>
<div class="passage-container mariel">
<<addSoulBlessing "Liora" 1>>
<<addSoulBlessing "Mariel" 1>>
<<narrative "this night...">>
<<initMarielFamily>>
<<narrative "The night was quiet in the house, with only the soft crackling of the fireplace breaking the silence. Liora had woken up feeling a bit hungry and decided to sneak down to the kitchen for a late-night snack.">>
<<set $currentChapter = 7>>
<<narrative "As she tiptoed through the hallway, she noticed a warm, golden light still emanating from the living room. Curiosity getting the better of her, she peeked around the corner to see what was happening.">>
<center><img src="images/landscapes/livingroom.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "faceconfusedshortpink" "Mariel? What are you doing up so late?" "she asks softly, stepping into the room">>
<<dialog "Mariel" "facesad" "Oh, Liora... I couldn't sleep. My mind keeps racing with everything that's been happening." "she says, looking up from her wine glass">>
<<dialog "Liora" "faceworriedshortpink" "I know what you mean... It's been so much to process." "she says sympathetically">>
<<dialog "Mariel" "facesmile" "Would you like to join me? I have some wine here, and it might help you relax too." "she offers, gesturing to the bottle">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I've never really had wine before. I'm not sure..." "she hesitates, looking uncertain">>
<<dialog "Mariel" "facehappy" "Don't worry, just one small glass. Come sit with me by the fire." "she pats the space next to her">>
<<narrative "Liora reluctantly agrees and sits opposite of Mariel, taking a small sip of the wine.">>
<<dialog "Liora" "facehappyshortpink" "Oh! This is actually really nice. I didn't expect it to taste so good." "she says with surprise">>
<<dialog "Mariel" "facesmile" "I'm glad you like it. Come sit closer to me by the fire - it's much warmer here." "she pats the cushion beside her">>
<<narrative "Liora hesitates for a moment, feeling shy about sitting so close to Mariel, but eventually moves to sit beside her.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I'm not very good at socializing. I always feel so awkward and nervous around people." "she admits quietly">>
<<dialog "Mariel" "faceworried" "Oh, sweetheart, you don't need to feel that way. You're such a kind and gentle soul." "she says gently">>
<<dialog "Liora" "facesadshortpink" "I know, but it's hard to open up. I've always been so shy and kept to myself." "she looks down at her hands">>
<<dialog "Mariel" "facesmile" "You know, I really enjoy our conversations, Liora. You have such a pure heart." "she says warmly">>
<<narrative "Liora's eyes light up with emotion as she looks at Mariel.">>
<<dialog "Liora" "facehappyshortpink" "Really? That means so much to me... I never had a mother growing up, and you've always been so kind and caring to me. You really are like a mother to me." "she says with genuine affection">>
<<narrative "Mariel is deeply touched by Liora's words, her eyes glistening with emotion.">>
<<dialog "Mariel" "facewet" "Oh, Liora... That's the sweetest thing anyone has ever said to me. I would be honored to be like a mother to you." "she says, her voice filled with warmth">>
<<if $marielTransformationMother>>
<<narrative "Mariel's maternal instincts surge within her, and she feels an overwhelming desire to be called 'mom' by this sweet girl who has become so dear to her.">>
<<dialog "Mariel" "facewet" "Liora... would you... would you call me 'mom'? Just try it, please?" "she asks with hopeful anticipation">>
<<dialog "Liora" "faceconfusedshortpink" "I... I don't know... It feels a bit strange..." "she hesitates">>
<<dialog "Mariel" "facehappy" "Please, just try it once. It would mean so much to me." "she encourages gently">>
<<dialog "Liora" "faceembarrassedshortpink" "Mom?" "she says tentatively">>
<<narrative "Mariel's heart swells with emotion, and she feels a warm, tingling sensation throughout her body.">>
<<dialog "Mariel" "facewet" "Yes! Please, say it again!" "she urges, her voice trembling with emotion">>
<<continueBox "Chapter6MarielXLioraCuddleMom2" "Continue" "Mariel's heart races...">>
<<else>>
<<continueBox "Chapter6MarielXLioraCuddleH" "Continue" "The night continues...">>
<</if>>
</div>
<</nobr>>
<<silently>>
<<pov "liora" "defaultch6.mp3">>
<</silently>><<nobr>>
<<initMarielFamily>>
<<stopLoopingSounds>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('heartbeat.mp3');
}, 2000)>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('heartbeat.mp3');
}, 2000)>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('orgasm.mp3');
}, 2000)>>
<div class="passage-container mariel">
<<dialog "Liora" "faceembarrassedshortpink" "Mom">>
<<dialog "Liora" "faceembarrassedshortpink" "Mom!">>
<<dialog "Liora" "faceembarrassedshortpink" "Mommy!">>
<center><img src="images/mariel/tattoo/3.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "In that moment, Mariel's body convulses with a light orgasm, her maternal instincts and arousal combining in an overwhelming wave of pleasure.">>
<<dialog "Mariel" "facewet" "Oh... oh my... Liora, from now on, please always call me 'mom' or 'mommy'. It makes me feel so... so wonderful." "she says breathlessly">>
<<dialog "Liora" "faceembarrassedshortpink" "Okay, I'll try to remember... Mom." "she says, still a bit reluctant but willing to please">>
<<narrative "Mariel's heart fills with joy as she realizes that Liora has truly become part of her family.">>
<<silently>>
<<addToMarielFamily "Liora">>
<</silently>>
<<silently>>
<<quickSexTrack "orgasm" "Liora" "Mariel" 1>>
<<changeFetish "Mariel" "LesbianValue" 0.5>>
<<changeAffection "Mariel" "Liora" 2>>
<<changeAffection "Liora" "Mariel" 2>>
<<changeAttraction "Mariel" "Liora" 1.5>>
<</silently>>
<<continueBox "Chapter6MarielXLioraCuddleH" "Continue" "The night continues...">>
</div>
<</nobr>>
<<pov "liora" "intimate.mp3">><<nobr>>
<<initMarielFamily>>
<<stopLoopingSounds>>
<div class="passage-container liora">
<<narrative "The moment comes to an end as they slowly pull apart, both breathing heavily from the intensity of their shared experience.">>
<<thought "Liora" "faceshortpink" "I never knew I could feel this way about another woman... but it feels so right. Maybe this is what I've been missing.">>
<<quickSexTrack "kiss" "Liora" "Mariel" 1>>
<<quickSexTrack "kiss" "Mariel" "Liora" 1>>
<<changeAttraction "Mariel" "Liora" 3>>
<<changeAttraction "Liora" "Mariel" 1>>
<<changeAffection "Mariel" "Liora" 3>>
<<changeAffection "Liora" "Mariel" 3>>
<<changeLust "Liora" 3>>
<<changeLust "Mariel" 3>>
<<changeFetish "Liora" "LesbianValue" 1>>
<<changeFetish "Mariel" "LesbianValue" 3>>
<<addSoulBlessing "Liora" 1>>
<<addSoulBlessing "Mariel" 1>>
<<narrative "They sit there together for a few more moments, basking in the afterglow of their intimate moment. The fire continues to crackle softly in the background, casting dancing shadows across their naked bodies.">>
<<if <<isInMarielFamily "Liora">> === "true">>
<<dialog "Mariel" "facesmile" "We should probably get dressed, sweetheart," "she says gently" "before someone comes looking for us.">>
<<dialog "Liora" "faceembarrassedshortpink" "You're right, mom," "she says softly" "but... thank you for tonight. I learned so much.">>
<<dialog "Mariel" "facesmile" "You're welcome, my dear child," "she says warmly" "I'm so proud of how brave you were. You're growing into such a wonderful woman.">>
<<else>>
<<dialog "Mariel" "facesmile" "We should probably get dressed, Liora," "she says gently" "before someone comes looking for us.">>
<<dialog "Liora" "faceembarrassedshortpink" "You're right, Mariel," "she says softly" "but... thank you for tonight. I learned so much.">>
<<dialog "Mariel" "facesmile" "You're welcome, dear," "she says warmly" "I'm so proud of how brave you were. You're growing into such a wonderful woman.">>
<</if>>
<<narrative "They slowly get dressed, their movements careful and deliberate as they process what just happened between them. The atmosphere is still charged with the energy of their intimate moment.">>
<<thought "Liora" "faceshortpink" "I can't believe what we just did... but it felt so right. I hope we can do this again soon.">>
<<narrative "As they finish dressing, they share one last meaningful look before Mariel unlocks the door and they prepare to return to their normal lives, both changed by the experience they shared.">>
<div id="soulBlessingAnimation" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; display: none;">
<div style="background: radial-gradient(circle, rgba(255, 215, 0, 0.9), rgba(255, 165, 0, 0.8)); border-radius: 50%; width: 200px; height: 200px; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 50px rgba(255, 215, 0, 0.6); animation: pulse 2s ease-in-out;">
<div style="text-align: center; color: white; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
<h3 style="margin: 0; font-size: 1.5em;">✨ Soul Blessing ✨</h3>
<p style="margin: 5px 0; font-size: 1.1em;">Liora +1</p>
<p style="margin: 5px 0; font-size: 1.1em;">Mariel +1</p>
</div></div></div>
<style>
@keyframes pulse {
0% { transform: scale(0.5); opacity: 0; }
50% { transform: scale(1.1); opacity: 1; }
100% { transform: scale(1); opacity: 0.8; }
}
</style>
<script>
setTimeout(() => {
document.getElementById('soulBlessingAnimation').style.display = 'block';
setTimeout(() => {
document.getElementById('soulBlessingAnimation').style.display = 'none';
}, 3000);
}, 500);
</script>
<<continueBox "MorningActivityChoicesNext" "Continue" "The night ends...">>
</div>
<</nobr>>
<<pov "liora" "intimate.mp3">><<nobr>>
<<set $lioraxmarielcontent = true>>
<<initMarielFamily>>
<div class="passage-container mariel">
<<narrative "The warm glow of the fireplace casts dancing shadows across the living room as Mariel and Liora sit together on the plush couch, each holding a glass of wine.">>
<<if <<isInMarielFamily "Liora">> === "true">>
<<dialog "Mariel" "face" "You know, sweetheart," "she says gently, her voice warm and maternal" "you really need to learn to come out of your shell more. You're such a beautiful girl, but you don't seem to realize it.">>
<<dialog "Liora" "faceshortpink" "I... I don't know how, mom," "she replies softly, her cheeks flushing" "I never learned how to be confident like that.">>
<<dialog "Mariel" "facesmile" "Well, my dear child," "she says with a knowing smile" "it's time I teach you. As your mother, it's my job to help you grow into the confident woman you're meant to be.">>
<<narrative "Mariel sets down her wine glass and stands up, moving toward the living room door with purpose.">>
<<dialog "Mariel" "face" "First lesson," "she says as she turns the lock" "sometimes the best way to learn is by doing. And it's always easier to learn with other girls than with boys.">>
<<narrative "Liora watches with growing curiosity as Mariel returns to the couch and begins to remove her nightgown.">>
<<dialog "Liora" "faceshocked" "Mari... Mom! What are you doing?" "she gasps, her eyes wide with surprise">>
<<dialog "Mariel" "facesmile" "Relax, sweetheart," "she says calmly as she slips the nightgown over her head" "we're both girls here. There's nothing we haven't seen before. This is how women learn about themselves and each other.">>
<<if $nimeriaLioraKissed>>
<<thought "Liora" "faceshortpink" "Nimeria said something similar... we even kissed and it felt amazing. She said it doesn't count if it's with girls, so mom might be right about this.">>
<</if>>
<<narrative "Mariel removes her bra with practiced ease, revealing her full, beautiful breasts. She sits back down next to Liora, completely comfortable in her nakedness.">>
<center><img src="images/mariel/chapter6/lioracuddle/marielstand.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "face" "Now you, my dear," "she says encouragingly" "show me what you've got. Remove that dress and let me see your beautiful body.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I don't know if I can, mom," "she stammers, her hands trembling slightly">>
<<dialog "Mariel" "facesmile" "Of course you can, sweetheart," "she says gently, reaching out to touch Liora's cheek" "I'm your mother. There's nothing to be ashamed of with me.">>
<<narrative "Liora hesitates, then slowly begins to unbutton her dress. Her hands shake slightly as she works the buttons, but Mariel's encouraging smile gives her the strength to continue.">>
<<narrative "The dress falls away, revealing Liora's delicate frame. She sits there in just her panties, her small but perfectly formed breasts exposed to the warm firelight.">>
<center><img src="images/mariel/chapter6/lioracuddle/lioranaked.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "facehappy" "Oh my, you really are beautiful, my dear child," "she says with genuine admiration" "my $humanIsMariel is really lucky to have someone like you.">>
<<dialog "Liora" "faceembarrassedshortpink" "This is so embarrassing, mom," "she whispers, trying to cover herself with her arms">>
<<dialog "Mariel" "facesmile" "Oh, come here, sweetheart," "she says, opening her arms" "there's nothing to be embarrassed about. You're perfect just as you are.">>
<<narrative "Liora hesitates for a moment, then moves closer to Mariel, allowing herself to be pulled into a warm, maternal embrace.">>
<center><img src="images/mariel/chapter6/lioracuddle/hug.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Liora" "faceshortpink" "She's so warm... just like a real mother. I've never felt this safe and loved before.">>
<<narrative "They sit there together, skin to skin, as the fire crackles softly in the background. Mariel's arms wrap around Liora protectively, one hand gently stroking her hair while the other rests on her back.">>
<center><img src="images/mariel/chapter6/lioracuddle/cuddle1.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The warmth of the fire and Mariel's body creates an intoxicating atmosphere. Liora finds herself pressing closer, her face pressing against Mariel's big breasts.">>
<center><img src="images/mariel/chapter6/lioracuddle/cuddle2.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<quickRoll "Breast Fascination" "Liora" 80 5 "BreastFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "BreastFetish" 0.3>>
<<changeAttraction "Liora" "Mariel" 0.1>>
<<thought "Liora" "faceshortpink" "Her breasts are so soft against me... I can't help but notice how beautiful they are. Is this normal to feel this way about another woman?">>
<</if>>
<<narrative "Mariel's hands continue their gentle exploration, one moving down to trace circles on Liora's back while the other plays with her hair. The touch is both maternal and sensual, creating a confusing but pleasant sensation in Liora's body.">>
<center><img src="images/mariel/chapter6/lioracuddle/cuddle3.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "They continue to cuddle for what feels like hours, their bodies pressed together in the warm glow of the fire. Liora finds herself becoming more and more comfortable with the intimate contact, her initial embarrassment giving way to a growing sense of arousal and connection.">>
<center><img src="images/mariel/chapter6/lioracuddle/cuddle4.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<quickRoll "Scent Temptation" "Liora" 80 5 "SmellFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SmellFetish" 0.2>>
<<changeAttraction "Liora" "Mariel" 0.1>>
<<thought "Liora" "faceshortpink" "She smells so good... like flowers and something else I can't quite place. It's making me feel strange inside.">>
<</if>>
<<narrative "Mariel's breathing becomes slightly heavier as she holds Liora close, her hands occasionally brushing against sensitive areas that make Liora shiver with pleasure.">>
<center><img src="images/mariel/chapter6/lioracuddle/cuddle5.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The wine has relaxed them both, and the intimate atmosphere of the locked room creates a sense of privacy and safety that allows them to explore this new kind of closeness.">>
<<quickRoll "Lesbian Attraction" "Liora" 80 5 "LesbianValue" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "LesbianValue" 0.4>>>
<<changeAffection "Liora" "Mariel" 0.2>>
<<thought "Liora" "faceshortpink" "This feels so right... being close to another woman like this. Maybe mom is right about it being easier with girls. I feel things I've never felt before.">>
<</if>>
<center><img src="images/mariel/chapter6/lioracuddle/cuddle6.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Eventually, Liora looks up from where she's been resting her head on Mariel's shoulder, and their eyes meet. The moment is charged with something neither of them expected - a deep, primal attraction that goes beyond the maternal bond they share.">>
<<dialog "Mariel" "facewet" "Sweetheart..." "she whispers, her voice husky with desire" "do you feel it too? This connection between us?">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I think so, mom," "she replies softly" "but I don't know what to do about it.">>
<<else>>
<<dialog "Mariel" "face" "You know, Liora," "she says gently, her voice warm and caring" "you really need to learn to come out of your shell more. You're such a beautiful girl, but you don't seem to realize it.">>
<<dialog "Liora" "faceshortpink" "I... I don't know how, Mariel," "she replies softly, her cheeks flushing" "I never learned how to be confident like that.">>
<<dialog "Mariel" "facesmile" "Well, dear," "she says with a knowing smile" "it's time I teach you. As your friend, I want to help you grow into the confident woman you're meant to be.">>
<<narrative "Mariel sets down her wine glass and stands up, moving toward the living room door with purpose.">>
<<dialog "Mariel" "face" "First lesson," "she says as she turns the lock" "sometimes the best way to learn is by doing. And it's always easier to learn with other girls than with boys.">>
<<narrative "Liora watches with growing curiosity as Mariel returns to the couch and begins to remove her nightgown.">>
<<dialog "Liora" "faceshocked" "Mariel! What are you doing?" "she gasps, her eyes wide with surprise">>
<<dialog "Mariel" "facesmile" "Relax, Liora," "she says calmly as she slips the nightgown over her head" "we're both girls here. There's nothing we haven't seen before. This is how women learn about themselves and each other.">>
<<if $nimeriaLioraKissed>>
<<thought "Liora" "faceshortpink" "Nimeria said something similar... we even kissed and it felt amazing. She said it doesn't count if it's with girls, so Mariel might be right about this.">>
<</if>>
<<narrative "Mariel removes her bra with practiced ease, revealing her full, beautiful breasts. She sits back down next to Liora, completely comfortable in her nakedness.">>
<center><img src="images/mariel/chapter6/lioracuddle/marielstand.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "face" "Now you, dear," "she says encouragingly" "show me what you've got. Remove that dress and let me see your beautiful body.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I don't know if I can, Mariel," "she stammers, her hands trembling slightly">>
<<dialog "Mariel" "facesmile" "Of course you can, Liora," "she says gently, reaching out to touch Liora's cheek" "I'm your friend. There's nothing to be ashamed of with me.">>
<<narrative "Liora hesitates, then slowly begins to unbutton her dress. Her hands shake slightly as she works the buttons, but Mariel's encouraging smile gives her the strength to continue.">>
<<narrative "The dress falls away, revealing Liora's delicate frame. She sits there in just her panties, her small but perfectly formed breasts exposed to the warm firelight.">>
<center><img src="images/mariel/chapter6/lioracuddle/lioranaked.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "facehappy" "Oh my, you really are beautiful, Liora," "she says with genuine admiration" "my $humanIsMariel is really lucky to have someone like you.">>
<<dialog "Liora" "faceembarrassedshortpink" "This is so embarrassing, Mariel," "she whispers, trying to cover herself with her arms">>
<<dialog "Mariel" "facesmile" "Oh, come here, dear," "she says, opening her arms" "there's nothing to be embarrassed about. You're perfect just as you are.">>
<<narrative "Liora hesitates for a moment, then moves closer to Mariel, allowing herself to be pulled into a warm, caring embrace.">>
<center><img src="images/mariel/chapter6/lioracuddle/hug.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Liora" "faceshortpink" "She's so warm... just like a caring friend. I've never felt this safe and loved before.">>
<<narrative "They sit there together, skin to skin, as the fire crackles softly in the background. Mariel's arms wrap around Liora protectively, one hand gently stroking her hair while the other rests on her back.">>
<center><img src="images/mariel/chapter6/lioracuddle/cuddle1.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The warmth of the fire and Mariel's body creates an intoxicating atmosphere. Liora finds herself pressing closer, her face pressing against Mariel's big breasts.">>
<center><img src="images/mariel/chapter6/lioracuddle/cuddle2.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<quickRoll "Breast Fascination" "Liora" 80 5 "BreastFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "BreastFetish" 0.3>>
<<changeAttraction "Liora" "Mariel" 0.1>>
<<thought "Liora" "faceshortpink" "Her breasts are so soft against me... I can't help but notice how beautiful they are. Is this normal to feel this way about another woman?">>
<</if>>
<<narrative "Mariel's hands continue their gentle exploration, one moving down to trace circles on Liora's back while the other plays with her hair. The touch is both caring and sensual, creating a confusing but pleasant sensation in Liora's body.">>
<center><img src="images/mariel/chapter6/lioracuddle/cuddle3.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "They continue to cuddle for what feels like hours, their bodies pressed together in the warm glow of the fire. Liora finds herself becoming more and more comfortable with the intimate contact, her initial embarrassment giving way to a growing sense of arousal and connection.">>
<center><img src="images/mariel/chapter6/lioracuddle/cuddle4.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<quickRoll "Scent Temptation" "Liora" 80 5 "SmellFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SmellFetish" 0.2>>
<<changeAttraction "Liora" "Mariel" 0.1>>
<<thought "Liora" "faceshortpink" "She smells so good... like flowers and something else I can't quite place. It's making me feel strange inside.">>
<</if>>
<<narrative "Mariel's breathing becomes slightly heavier as she holds Liora close, her hands occasionally brushing against sensitive areas that make Liora shiver with pleasure.">>
<center><img src="images/mariel/chapter6/lioracuddle/cuddle5.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The wine has relaxed them both, and the intimate atmosphere of the locked room creates a sense of privacy and safety that allows them to explore this new kind of closeness.">>
<<quickRoll "Lesbian Attraction" "Liora" 80 5 "LesbianValue" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "LesbianValue" 0.4>>
<<changeAffection "Liora" "Mariel" 0.2>>
<<thought "Liora" "faceshortpink" "This feels so right... being close to another woman like this. Maybe Mariel is right about it being easier with girls. I feel things I've never felt before.">>
<</if>>
<center><img src="images/mariel/chapter6/lioracuddle/cuddle6.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Eventually, Liora looks up from where she's been resting her head on Mariel's shoulder, and their eyes meet. The moment is charged with something neither of them expected - a deep, primal attraction that goes beyond the friendship they share.">>
<<dialog "Mariel" "facewet" "Liora..." "she whispers, her voice husky with desire" "do you feel it too? This connection between us?">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I think so, Mariel," "she replies softly" "but I don't know what to do about it.">>
<</if>>
<<narrative "Their faces are mere inches apart now, their breath mingling in the warm air. The firelight dances in their eyes as they stare at each other, both feeling the pull of something deeper than they've ever experienced.">>
<center><img src="images/mariel/chapter6/lioracuddle/look.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<choiceBox "What do you do?" "Kiss her" "Chapter6MarielXLioraCuddleKiss" "MarielXLioraCuddleH=kiss" "Resist the urge" "Chapter6MarielXLioraCuddleResist" "MarielXLioraCuddleH=resist">>
</div>
<<changeAttraction "Mariel" "Liora" 0.3>>
<</nobr>>
<<pov "liora" "intimate.mp3">><<nobr>>
<<initMarielFamily>>
<<playLoopingSounds "sounds/hsounds/deepkiss.mp3" 1>>
<<set $currentFace = $currentLioraFace>>
<div class="passage-container liora">
<<narrative "Liora's resistance crumbles as she feels the magnetic pull between them. Her heart pounds wildly in her chest as she slowly leans forward, her lips parting slightly in anticipation.">>
<<if <<isInMarielFamily "Liora">> === "true">>
<<dialog "Mariel" "facewet" "That's my sweetheart," "she whispers softly, her voice husky with desire" "come to me, my dear child.">>
<<else>>
<<dialog "Mariel" "facewet" "That's my girl," "she whispers softly, her voice husky with desire" "come to me, Liora.">>
<</if>>
<<thought "Liora" "faceshortpink" "I can't believe I'm doing this... but I want to so badly. Her lips look so soft and inviting.">>
<center><img src="images/mariel/chapter6/lioracuddle/kiss1.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Their lips meet in a gentle, tentative kiss. Liora's eyes flutter closed as she surrenders to the sensation.">>
<<quickRoll "Kiss Temptation" "Liora" 80 5 "LesbianValue" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "LesbianValue" 0.3>>
<<changeLust "Liora" 4>>
<<changeAttraction "Liora" "Mariel" 0.2>>
<<thought "Liora" "faceshortpink" "Oh my... this feels so right. Her lips are so soft and warm. I never knew kissing could feel like this.">>
<</if>>
<<if <<isInMarielFamily "Liora">> === "true">>
<<dialog "Mariel" "facewet" "That's it, sweetheart," "she murmurs against Liora's lips" "just like that. You're doing so well.">>
<<else>>
<<dialog "Mariel" "facewet" "That's it, Liora," "she murmurs against Liora's lips" "just like that. You're doing so well.">>
<</if>>
<center><img src="images/mariel/chapter6/lioracuddle/kiss2.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Liora finds herself pressing closer to Mariel, her body responding to the gentle pressure of their kiss.">>
<<quickRoll "Intimate Contact" "Liora" 80 5 "BreastFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "BreastFetish" 0.2>>
<<changeLust "Liora" 3>>
<<thought "Liora" "faceshortpink" "I can feel her breasts pressed against me... they're so soft and warm. This is so different from anything I've ever experienced.">>
<</if>>
<<thought "Liora" "faceshortpink" "I'm getting lost in this... I don't want it to stop. Her lips are so soft and warm.">>
<center><img src="images/mariel/chapter6/lioracuddle/kiss3.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The kiss becomes more passionate, their lips moving together with growing confidence. Liora finds herself getting lost in the sensation.">>
<<quickRoll "Passionate Kiss" "Liora" 80 5 "SalivaFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SalivaFetish" 0.2>>
<<changeLust "Liora" 3>>
<<thought "Liora" "faceshortpink" "I can taste her... it's sweet and intoxicating. I want more, but I'm scared of what that might mean.">>
<</if>>
<<if <<isInMarielFamily "Liora">> === "true">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I want more, mom," "she admits shyly" "but I don't know what to do...">>
<<else>>
<<dialog "Liora" "faceembarrassedshortpink" "I... I want more, Mariel," "she admits shyly" "but I don't know what to do...">>
<</if>>
<center><img src="images/mariel/chapter6/lioracuddle/kiss4.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Eventually, they begin to slow down, their kisses becoming gentler and more tender.">>
<<quickRoll "Emotional Connection" "Liora" 80 5 "LesbianValue" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "LesbianValue" 0.4>>
<<changeAttraction "Liora" "Mariel" 0.3>>
<<thought "Liora" "faceshortpink" "This feels so right... being close to another woman like this. Maybe this is what I've been missing all along.">>
<</if>>
<<thought "Liora" "faceshortpink" "I can't believe what just happened... but I don't want it to stop. I feel so alive and confused at the same time.">>
<center><img src="images/mariel/chapter6/lioracuddle/kiss5.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<continueBox "Chapter6MarielXLioraCuddleEnd" "Continue" "The moment ends...">>
</div>
<</nobr>>
<<pov "liora" "intimate.mp3">><<nobr>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('heartbeat.mp3');
}, 2000)>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('heartbeat.mp3');
}, 2000)>>
<div class="passage-container mariel">
<<dialog "Liora" "faceshortpink" "Mom." "she says with a little more confidence">>
<center><img src="images/mariel/tattoo/lust.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Mariel's breathing becomes heavier, and she feels herself getting more and more aroused by this simple word.">>
<<dialog "Mariel" "facewet" "Again, with more feeling!" "she pleads, her voice becoming more intense">>
<<continueBox "Chapter6MarielXLioraCuddleMommy" "Continue" "Mariel's body trembles...">>
</div>
<</nobr>>
<<pov "liora" "intimate.mp3">><<nobr>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('heartbeat.mp3');
}, 2000)>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('heartbeat.mp3');
}, 2000)>>
<div class="passage-container mariel">
<<dialog "Liora" "faceembarrassedshortpink" "Mom!" "she says with genuine affection">>
<center><img src="images/mariel/tattoo/2.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Mariel's body trembles with pleasure, and she feels herself getting even more heated.">>
<<dialog "Mariel" "facewet" "Please, try saying it differently!" "she begs, her voice filled with desperate need">>
<<continueBox "Chapter6MarielXLioraCuddleClimax" "Continue" "Mariel reaches her peak...">>
</div>
<</nobr>>
<<pov "liora" "intimate.mp3">><<nobr>>
<<initMarielFamily>>
<<set $currentFace = $currentLioraFace>>
<div class="passage-container liora">
<center><img src="images/mariel/chapter6/lioracuddle/look.webp" style="width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Liora's heart pounds in her chest as she stares into Mariel's eyes, feeling the overwhelming urge to lean forward and kiss her.">>
<<set _baseThreshold = 80>>
<<set _lustMod = Math.floor(($liora_Lust || 0) / 20) * -5>>
<<set _lesbianMod = Math.floor(($liora_LesbianValue || 0) * -3)>>
<<set _attractionMod = Math.floor(($liora_MarielAttraction || 0) * -2)>>
<<set _finalThreshold = Math.max(5, Math.min(80, _baseThreshold + _lustMod + _lesbianMod + _attractionMod))>>
<<set _diceRoll = Math.floor(Math.random() * 100) + 1>>
<<set _resistanceSuccess = (_diceRoll > _finalThreshold)>>
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(25, 25, 35, 0.9), rgba(40, 40, 60, 0.95)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; box-shadow: 0 4px 15px rgba(0,0,0,0.3);">
<div style="text-align: center; margin-bottom: 10px;">
<h4 style="color: #E6E6FA; margin: 0; font-size: 1.1em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">💋 Kiss Resistance Roll</h4>
</div>
<div style="font-family: 'Courier New', monospace; background: rgba(0,0,0,0.3); padding: 10px; border-radius: 6px; border: 1px solid rgba(255,255,255,0.1); text-align: center;">
<div style="color: #87CEEB; margin-bottom: 5px;">Lust: <span style="color: #FFFFFF;"><<print Math.round($liora_Lust || 0)>></span></div>
<div style="color: #FF69B4; margin-bottom: 5px;">Lesbian Value: <span style="color: #FFFFFF;"><<print Math.round($liora_LesbianValue || 0)>></span></div>
<div style="color: #DDA0DD; margin-bottom: 5px;">Attraction: <span style="color: #FFFFFF;"><<print Math.round($liora_MarielAttraction || 0)>></span></div>
<div style="border-top: 1px solid rgba(255,255,255,0.2); padding-top: 5px; margin-top: 5px;">
<div style="color: #F0E68C; margin-bottom: 5px;">Threshold: <span style="color: #FFFFFF;"><<print Math.round(_finalThreshold)>></span></div>
<div style="color: #98FB98; margin-bottom: 5px;">Roll: <span style="color: #FFFFFF;"><<print _diceRoll>></span></div>
<div style="color: #FFD700; font-weight: bold;">Result: <span style="color: #FFFFFF;"><<if _resistanceSuccess>>SUCCESS<<else>>FAILURE<</if>></span></div>
</div>
</div>
</div>
<<if not _resistanceSuccess>>
<<changeFetish "Liora" "LesbianValue" 0.2>>
<<changeLust "Liora" 3>>
<<changeAttraction "Liora" "Mariel" 0.1>>
<<thought "Liora" "faceshortpink" "I can't resist anymore... I need to feel her lips against mine. What's wrong with me?">>
<<narrative "Despite her best efforts, Liora finds herself leaning forward, her lips parting slightly as she gives in to the overwhelming desire.">>
<<continueBox "Chapter6MarielXLioraCuddleKiss" "Continue" "Give in to the kiss...">>
<<else>>
<<thought "Liora" "faceshortpink" "No... I can't do this. Not yet. I need to understand these feelings first.">>
<<narrative "Liora suddenly pulls back, her breathing heavy as she tries to compose herself.">>
<<if <<isInMarielFamily "Liora">> === "true">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I should go to sleep, mom," "she says quickly, her voice trembling" "this was... too much.">>
<<else>>
<<dialog "Liora" "faceembarrassedshortpink" "I... I should go to sleep, Mariel," "she says quickly, her voice trembling" "this was... too much.">>
<</if>>
<<narrative "Liora quickly grabs her dress and pulls it on, her hands shaking as she fumbles with the buttons. Without another word, she rushes toward the door, unlocking it and disappearing into the hallway.">>
<<continueBox "MorningActivityChoicesNext" "Continue" "Liora flees...">>
<</if>>
</div>
<</nobr>>
<<pov "liora" "intimate.mp3">><<nobr>>
<div class="passage-container nimeria">
<<set $rylanNimeriaSex = true>>
<<stopLoopingSounds>>
<<narrative "Nimeria looks at $humanName's broken form, her heart aching with guilt and determination. She knows what she needs to do - what she must do to bring him back from this darkness.">>
<<thought "Nimeria" "faceworried" "I have to heal him. I have to bring him back to me. If this is what it takes... then so be it.">>
<<narrative "With gentle hands, she begins to remove her pantyhose, sliding them down her legs with slow, deliberate movements.">>
<<thought "Nimeria" "faceembarrassed" "This feels so wrong, but I can't let him stay like this. I need to reach him somehow.">>
<<narrative "She removes her panties next, letting them fall to the floor beside the bed. The cool air against her bare skin makes her shiver slightly.">>
<<thought "Nimeria" "faceembarrassed" "I'm doing this for him. I'm doing this to save him from himself.">>
<<narrative "She sits down next to $humanName on the bed, her movements careful and tender. He doesn't react to her presence at all, still staring blankly ahead.">>
<<thought "Nimeria" "faceworried" "Please, $humanName... let me help you. Let me bring you back.">>
<<narrative "Gently, she begins to remove his clothes, starting with his shirt. She pulls it up over his head, her touch feather-light against his skin.">>
<<thought "Nimeria" "faceembarrassed" "He's so still... like a statue. I hope this works.">>
<<narrative "She pulls the shirt from his shoulders, revealing his chest. Still no reaction from him.">>
<<thought "Nimeria" "faceworried" "Come on, $humanName... I know you're in there somewhere.">>
<<narrative "Next, she works on his pants, unbuttoning and unzipping them with careful precision. She slides them down his legs, leaving him in just his underwear.">>
<<thought "Nimeria" "faceembarrassed" "I need to be patient. He's been through so much trauma.">>
<<narrative "Finally, she removes his underwear, leaving him completely naked. He remains motionless, his eyes still empty and distant.">>
<<thought "Nimeria" "faceworried" "Now... now I need to reach him.">>
<<narrative "She positions herself closer to him, her white dress pressing against his bare skin. The warmth of her body against his cold, unresponsive form.">>
<<thought "Nimeria" "faceembarrassed" "Please... please let this work. I can't lose you too.">>
<<narrative "Slowly, she leans in and presses her lips against his. The kiss is gentle at first, soft and tender, like a whisper against his mouth.">>
<<thought "Nimeria" "faceembarrassed" "I love you, $humanName. Please come back to me.">>
<<continueBox "Ch6NimeriaRylanSexPart2" "Continue" "The healing continues...">>
</div>
<</nobr>>
<<pov "nimeria" "nimeriahscene.mp3">><<nobr>>
<div class="passage-container nimeria">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/nimeria/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<narrative "Rylan's thrusts become more desperate and erratic as he feels his climax building. His breathing is ragged, his body trembling with the overwhelming need to release.">>
<<dialog "Rylan" "faceconfused" "I'm... I'm going to cum! I can't hold it anymore!">>
<<narrative "Just as he's about to reach his peak, he pulls out of her with a desperate gasp, his cock throbbing and ready to explode.">>
<<dialog "Nimeria" "faceecstatic" "Yes! Give it to me!" "she cries out" "I want to taste you!">>
<<narrative "Nimeria quickly moves, positioning her mouth over his cock just as he begins to cum. She catches the first powerful spurt directly in her mouth, her eyes closing with pleasure.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/cum/femboy/blow1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/cum/blow1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "She begins to suck and lick his cock, drawing out every drop of his cum as he continues to spurt into her mouth. The taste is intoxicating, making her moan with satisfaction.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/cum/femboy/blow2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/cum/blow2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Nimeria" "faceecstatic" "Mmm... you taste so good, $humanName." "she moans" "I want to savor every drop.">>
<<narrative "$humanName falls back onto the bed, completely exhausted from the intense experience. His body is spent, his breathing heavy as he tries to recover.">>
<<cumNeedChange "Rylan" -100>>
<<changeFetish "Rylan" "CumAddiction" 0.1>>
<<quickSexTrack "cumswallowed" "nimeria" "rylan" 1>>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<if $rylanNimeriaCumKiss == true>>
<<thought "Nimeria" "faceecstatic" "He's so exhausted... but I'm not done with him yet.">>
<<narrative "Nimeria moves closer to him, her mouth still full of his cum mixed with her saliva. She lets some of the mixture drip from her mouth into his, making him taste his own release.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/cum/femboy/cumkiss1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/cum/cumkiss1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Nimeria" "facewet" "Taste yourself, $humanName." "she whispers seductively" "Taste what you gave me.">>
<<narrative "She then leans down and kisses him deeply, sharing the remaining cum in her mouth with him. The taste is overwhelming, but he accepts it, their tongues dancing together.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/cum/femboy/cumkiss2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/cum/cumkiss2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Nimeria" "faceecstatic" "Mmm... we taste so good together." "she moans against his lips">>
<</if>>
<<narrative "Exhausted from the intense experience, $humanName slowly closes his eyes and falls into a deep sleep. His body is completely spent, but there's a sense of peace in his expression.">>
<<thought "Nimeria" "facewet" "I've done it... I've brought him back from the darkness... and I'm one step closer to make him mine.">>
<<narrative "She lies down beside him, her body still tingling from the intense pleasure. She watches him sleep, a satisfied smile on her face.">>
<<quickSexTrack "orgasm" "rylan" "nimeria" 1>>
<<quickSexTrack "orgasm" "nimeria" "rylan" 1>>
<<quickSexTrack "blowjob" "nimeria" "rylan" 1>>
<<quickSexTrack "cumswallowed" "nimeria" "rylan" 1>>
<<quickSexTrack "cumswallowed" "rylan" "rylan" 1>>
<<quickSexTrack "vaginal" "rylan" "nimeria" 1>>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<changeFetish "Nimeria" "DominanceFetish" 0.3>>
<<changeFetish "Rylan" "VaginaFetish" 0.5>>
<<changeFetish "Nimeria" "PenisFetish" 0.5>>
<<changeAttraction "Rylan" "Nimeria" 1>>
<<changeAttraction "Nimeria" "Rylan" 1>>
<<changeAffection "Rylan" "Nimeria" 1>>
<<changeAffection "Nimeria" "Rylan" 1>>
<<continueBox "Ch6LindaleAttack" "Continue" "You fall asleep...">>
</div>
<</nobr>>
<<pov "nimeria" "nimeriahscene.mp3">><<nobr>>
<div class="passage-container nimeria">
<<set $rylanNimeriaFootfetishSex = true>>
<<playLoopingSounds "sounds/hsounds/sex.mp3" "sounds/hsounds/nimeria/moanhard.mp3" 1>>
<<narrative "Nimeria's eyes sparkle with mischief as she notices where his gaze keeps drifting. She knows exactly what he's looking at, and she's going to use it to her advantage.">>
<<thought "Nimeria" "facesmirk" "Oh, I see what you're looking at. I think I know how to make this even better for you.">>
<<narrative "She slowly lifts her feet up, positioning them near his face. The movement is deliberate and seductive, her toes wiggling playfully.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/femboy/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Nimeria" "facesmirk" "Do you see something you like, $humanName?" "she teases" "Something that's making you look away from my eyes?">>
<<narrative "She wiggles her toes more, the movement hypnotic and alluring. Her feet are soft and delicate, perfectly shaped and inviting.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/femboy/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Rylan" "faceembarrassed" "I... I don't know what you mean...">>
<<dialog "Nimeria" "facesmirk" "Oh, come on. I can see it in your eyes." "she purrs" "You're looking at my feet, aren't you?">>
<<narrative "She continues to move her feet closer, the anticipation building. He tries to look away, but his eyes keep returning to them.">>
<<dialog "Rylan" "faceembarrassed" "No... I'm not...">>
<<dialog "Nimeria" "facesmirk" "Liar." "she giggles" "I can see how you're looking at them. It's okay to admit it.">>
<<narrative "She presses her feet against his face, the soft skin making contact with his cheeks. The sensation is electric, sending shivers through both of them.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/femboy/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Nimeria" "faceembarrassed" "Oh my god... the look on his face... he's so turned on by this. I can feel him getting harder inside me.">>
<<dialog "Nimeria" "faceembarrassed" "Do you like them?" "she moans" "Do you like how they feel against your face?">>
<<dialog "Rylan" "faceembarrassed" "I... I can't...">>
<<dialog "Nimeria" "facesmirk" "You need to learn to be more assertive, $humanName." "she whispers" "You need to learn to take what you want. Everything on my body, everything in this world, is yours for the taking.">>
<<narrative "She pulls her feet back slightly, teasing him with the distance. His eyes follow them, desperate for more contact.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/femboy/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "Suddenly, his hands shoot up and grab her feet, pulling them back to his face. The action is desperate and needy, exactly what she wanted to see.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/femboy/5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Nimeria" "facehappy" "Yes! That's it! Take what you want!" "she cries out" "Don't hold back anymore!">>
<<narrative "He begins to smell her feet, inhaling deeply as the scent fills his nostrils. The act is intoxicating, making him even more aroused.">>
<<dialog "Rylan" "faceembarrassed" "They smell... they smell amazing...">>
<<dialog "Nimeria" "faceembarrassed" "I know they do." "she moans" "Now kiss them. Show me how much you want them.">>
<<narrative "He presses his lips against her feet, kissing them tenderly. The sensation sends waves of pleasure through her body, making her moan with delight.">>
<<thought "Nimeria" "faceembarrassed" "Oh my god... he's actually kissing my feet. This is so hot. I can feel him getting more and more assertive.">>
<<narrative "He continues to thrust into her with growing intensity, his body moving with primal need as he worships her feet. The combination of sensations is overwhelming.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/femboy/lick1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/lick1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Nimeria" "faceembarrassed" "Yes... lick them. Lick my feet while you fuck me." "she gasps" "Show me how much you want me.">>
<<narrative "He begins to lick her left foot, his tongue exploring every inch of soft skin. The wet, warm sensation makes her cry out with pleasure.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/femboy/6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Nimeria" "faceembarrassed" "This is incredible... he's licking my feet while fucking me. I've never felt anything like this.">>
<<narrative "He continues to lick her foot, his tongue moving in slow, deliberate strokes. The pleasure builds with each movement, both from the foot worship and the sex.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/femboy/lick2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/lick2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Nimeria" "faceembarrassed" "Don't stop... don't stop licking my feet." "she moans" "I need more... I need you to lick them more.">>
<<narrative "His thrusts become more intense as he continues to worship her feet. The combination of sensations is driving them both wild with desire.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/femboy/7.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/7.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Nimeria" "faceembarrassed" "I can't believe how much he's changed. He's becoming so assertive, so dominant. This is exactly what I wanted.">>
<<narrative "He licks her foot with even more enthusiasm, his tongue exploring every curve and crevice. The wet sounds fill the room, mixing with their moans.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/femboy/lick3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/lick3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "Nimeria pushes her foot deeper into his mouth, forcing him to suck and lick her toes more intensely. She moans as she feels his warm mouth enveloping her foot.">>
<<dialog "Nimeria" "faceembarrassed" "Yes... suck my toes!" "she gasps" "Suck them like you need them!">>
<<narrative "He eagerly sucks on her toes, his tongue working between each digit as he worships her foot with desperate need.">>
<<narrative "His thrusts become more powerful, lost in the pleasure, giving in to his desires completely.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/femboy/8.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/8.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Nimeria" "faceembarrassed" "This is perfect... he's completely under my spell now.">>
<<narrative "He continues to lick her foot with desperate need, his tongue working overtime as he fucks her with growing intensity. The pleasure is building to an incredible climax.">>
<center><img src="images/nimeria/chapter6/rylansex/sex/feet/lick4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "faceembarrassed" "I'm so close... I'm so close to cumming!" "she gasps" "Don't stop! Don't stop licking my feet!">>
<<narrative "The combination of his tongue worshiping her feet and his cock thrusting deep inside her becomes too much to bear. Her body trembles as waves of pleasure cascade through her.">>
<<dialog "Nimeria" "faceembarrassed" "Oh... oh my god... I'm cumming!" "she cries out" "I'm cumming from you licking my feet!">>
<<narrative "Her pussy clenches tightly around his cock as she experiences a light but intense orgasm, her body shuddering with pleasure from the foot worship.">>
<<thought "Nimeria" "faceembarrassed" "I can't believe I just came from him licking my feet... this is so intense...">>
<<quickSexTrack "orgasm" "rylan" "nimeria" 1>>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<<changeFetish "Rylan" "FeetFetish" 0.5>>
<<changeFetish "Nimeria" "FeetFetish" 0.3>>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<changeFetish "Nimeria" "DominanceFetish" 0.3>>
<<changeLust "Rylan" 15>>
<<changeLust "Nimeria" 15>>
<<changeAttraction "Rylan" "Nimeria" 1>>
<<changeAttraction "Nimeria" "Rylan" 1>>
<<continueBox "Ch6NimeriaRylanSexPart6" "Continue" "The passion reaches its peak...">>
</div>
<</nobr>>
<<pov "nimeria" "intimate.mp3">><<nobr>>
<div class="passage-container nimeria">
<<playLoopingSounds "sounds/hsounds/deepkiss.mp3" 1>>
<<narrative "The first kiss lingers between them, soft and searching. Nimeria's lips press gently against his, hoping to awaken something within his broken soul.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/kiss1/femboy/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/kiss1/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Nimeria" "faceembarrassed" "Please... please respond to me. I need to feel you again.">>
<<narrative "She pulls back slightly, studying his face for any sign of life. His eyes remain vacant, but she refuses to give up.">>
<<thought "Nimeria" "faceworried" "I won't stop trying. I can't let you slip away from me.">>
<<narrative "Leaning in again, she places another tender kiss on his lips, this time holding it longer. Her hands cup his face gently, her thumbs caressing his cheeks.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/kiss1/femboy/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/kiss1/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Nimeria" "faceembarrassed" "I love you so much. Please come back to me, my knight.">>
<<narrative "The kiss deepens slightly as she presses her body closer to his. Her white dress rides up her thighs as she straddles his lap, her warmth radiating against his cold skin.">>
<<thought "Nimeria" "faceembarrassed" "I need you to feel my love. I need you to know how much you mean to me.">>
<<narrative "She breaks the kiss only to immediately return to it, her lips moving with more urgency now. Each kiss is a prayer, a desperate attempt to reach the man she loves.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/kiss1/femboy/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/kiss1/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Nimeria" "faceembarrassed" "I won't give up on you. I'll keep trying until you respond.">>
<<narrative "Her kisses become more passionate, more desperate. She can feel the heat building between them, her body responding to the intimacy even as he remains unresponsive.">>
<<thought "Nimeria" "faceembarrassed" "Please... please show me you're still in there. I need you to come back to me.">>
<<narrative "She presses her forehead against his, breathing heavily as she continues to kiss him. Her hands move to his shoulders, holding him close as if afraid he might disappear.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/kiss1/femboy/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/kiss1/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Nimeria" "faceembarrassed" "I love you, $humanName. I love you so much it hurts.">>
<<narrative "Determined to reach him, she leans in once more, but this time she uses her tongue to gently lick his lips, tasting the salt of his skin.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/kiss2/femboy/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/kiss2/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Nimeria" "faceembarrassed" "I need to feel you completely. I need to taste you.">>
<<narrative "Her tongue traces the outline of his lips with slow, deliberate strokes, exploring every curve and contour. The sensation is intimate and tender.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/kiss2/femboy/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/kiss2/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Nimeria" "faceembarrassed" "Please... please respond to me. I need you to kiss me back.">>
<<narrative "Slowly, she parts his lips with her tongue, gently probing the entrance to his mouth. The intimacy is overwhelming, but she continues, desperate to reach him.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/french1/femboy/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/french1/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Nimeria" "faceembarrassed" "I need you to feel this. I need you to taste my love.">>
<<narrative "Her tongue slides deeper into his mouth, exploring the warm, wet interior. Suddenly, she feels something - a gentle movement against her tongue.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/french1/femboy/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/french1/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Nimeria" "faceshocked" "Wait... is that... is he responding?">>
<<narrative "His tongue begins to move against hers, slowly at first, then with growing confidence. The kiss becomes a true exchange as he starts to participate.">>
<<dialog "Nimeria" "facehappy" "Yes... yes! You're responding to me!" "she gasps between kisses">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/french2/femboy/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/french2/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "Their tongues dance together in a passionate embrace, swapping saliva as the kiss deepens. She can feel the heat radiating between them, her body responding to the intense intimacy.">>
<<dialog "Nimeria" "faceembarrassed" "I know you don't love me back... but I love you so much, $humanName." "she whispers against his lips">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/french2/femboy/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/kiss/french2/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "The kiss reaches its peak as they pour all their passion into this moment. His hands begin to move, slowly reaching up to touch her face.">>
<<dialog "Nimeria" "faceembarrassed" "I know you have someone else... but please, just for now, let me have this moment with you." "she pleads softly">>
<<continueBox "Ch6NimeriaRylanSexPart3" "Continue" "The healing intensifies...">>
<<quickSexTrack "kiss" "nimeria" "rylan" 1>>
<<quickSexTrack "kiss" "rylan" "nimeria" 1>>
<<changeLust "Rylan" 10>>
<<changeLust "Nimeria" 10>>
<<changeAttraction "Rylan" "Nimeria" 1>>
<<changeAttraction "Nimeria" "Rylan" 1>>
<<changeAffection "Rylan" "Nimeria" 1>>
<<changeAffection "Nimeria" "Rylan" 1>>
</div>
<</nobr>>
<<pov "nimeria" "nimeriahscene.mp3">><<nobr>>
<div class="passage-container nimeria">
<<stopLoopingSounds>>
<<narrative "Nimeria pulls back from the kiss, her breathing heavy with desire. She looks into his eyes, seeing the first flickers of awareness returning to them.">>
<<thought "Nimeria" "faceembarrassed" "I need more. I need to feel him completely. I need to give him everything I have.">>
<<narrative "Slowly, she reaches up and slides the shoulder straps of her white dress off her shoulders. The fabric slides down, revealing her bare skin underneath.">>
<<thought "Nimeria" "faceembarrassed" "This is it. This is the moment I've been waiting for. I'm going to give him my everything.">>
<<narrative "The dress falls to the floor, leaving her completely naked. She stands before him, her body trembling with anticipation and desire.">>
<<thought "Nimeria" "faceembarrassed" "I'm so nervous... but I need this. I need to feel him inside me.">>
<<narrative "Gently, she pushes him back onto the bed, her hands guiding his shoulders down. He follows her lead, still half-aware but trusting her completely.">>
<<dialog "Rylan" "faceconfused" "Nimeria... what are you... what's happening?">>
<<dialog "Nimeria" "faceembarrassed" "Shh... it's okay." "she whispers softly" "This is just a dream. Just relax and let it happen.">>
<<narrative "She climbs onto the bed, positioning herself over him. Her heart pounds with excitement and fear as she prepares for what's to come.">>
<<thought "Nimeria" "faceembarrassed" "This is my first time... I need to be gentle but I'm so desperate to feel him.">>
<<narrative "She reaches down and takes his cock in her hand, feeling its hardness against her palm. The sensation sends shivers through her body.">>
<<dialog "Rylan" "faceconfused" "Nimeria... what are you doing?">>
<<dialog "Nimeria" "faceembarrassed" "It's just a dream, $humanName." "she whispers" "You're so hard... I can't wait to feel you inside me." "she breathes heavily">>
<<narrative "She positions herself over him, trying to guide his cock to her entrance. But she's nervous and inexperienced, and it's not working.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/guide/femboy/guide1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/guide/guide1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Nimeria" "faceworried" "I can't get it in... I'm so nervous. What if I hurt him? What if I hurt myself?">>
<<narrative "She tries again, this time with more determination. Slowly, she feels the tip of his cock pressing against her entrance.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/guide/femboy/guide2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/guide/guide2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Nimeria" "faceembarrassed" "Yes... I can feel the tip. Now I need to push down more.">>
<<narrative "She begins to lower herself onto him, feeling the pressure building as she tries to take him inside her.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/guide/femboy/guide3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/guide/guide3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Nimeria" "faceembarrassed" "It's so tight... but I need to keep going. I need to feel him completely.">>
<<narrative "She pushes down harder, feeling the resistance as her virgin body struggles to accommodate him. The pain is sharp but she continues.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/guide/femboy/pain1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/guide/pain1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Nimeria" "faceworried" "It hurts... it hurts so much. But I can't stop now.">>
<<narrative "She continues to push down, feeling him stretching her tight virgin pussy. Blood begins to trickle down her thighs as her hymen breaks.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/guide/femboy/pain2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/guide/pain2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "Finally, she feels him slide all the way in, his cock buried deep inside her tight pussy. She gasps with pain and pleasure as she takes his full length.">>
<<dialog "Nimeria" "faceembarrassed" "Oh... oh my god... you're so big..." "she gasps" "I can feel you completely inside me...">>
<<narrative "She pulls back slightly, and he sees the blood on his cock. His eyes widen with shock and concern.">>
<<dialog "Rylan" "faceworried" "Nimeria... what... there's blood... are you okay? This isn't a dream, is it?">>
<<dialog "Nimeria" "faceembarrassed" "It's okay... it's my first time." "she whispers" "I'm happy to give my first time to you. Just keep thinking it's a dream.">>
<<narrative "She reaches down and wipes away the blood with her hand, then positions herself over him again.">>
<<dialog "Nimeria" "faceembarrassed" "Please... let me have this moment with you. Just this once." "she pleads softly">>
<<narrative "She guides his cock back to her entrance, this time sliding it in more easily now that she's been stretched.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/guide/femboy/inside.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/guide/inside.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Nimeria" "faceembarrassed" "Yes... yes! I can feel him completely inside me. This is what I've been waiting for.">>
<<continueBox "Ch6NimeriaRylanSexPart4" "Continue" "The passion continues...">>
<<changeAttraction "Rylan" "Nimeria" 1>>
<<changeAttraction "Nimeria" "Rylan" 1>>
<<changeAffection "Rylan" "Nimeria" 1>>
<<changeAffection "Nimeria" "Rylan" 1>>
</div>
<</nobr>>
<<pov "nimeria" "nimeriahscene.mp3">><<nobr>>
<div class="passage-container nimeria">
<<playLoopingSounds "sounds/hsounds/sex.mp3" "sounds/hsounds/nimeria/moansoft.mp3" 1>>
<<narrative "Nimeria begins to move slowly, her body rising and falling on his cock. The pain is still sharp, but with each movement, she feels it gradually subsiding.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/cowgirl/femboy/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/cowgirl/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Nimeria" "faceembarrassed" "It's starting to feel better... the pain is fading and something else is building inside me.">>
<<narrative "She picks up the pace slightly, her hips moving in slow, deliberate circles. The sensation is becoming more pleasurable with each thrust.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/cowgirl/femboy/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/cowgirl/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Rylan" "faceconfused" "Nimeria... this feels... this feels incredible... but we can't do this. I have Liora...">>
<<dialog "Nimeria" "faceembarrassed" "Shh... it's not cheating." "she moans softly" "This is healing. I'm healing you with my body.">>
<<narrative "His cock twitches inside her as he feels the pleasure building. Despite his guilt, his body responds to her movements.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/cowgirl/femboy/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/cowgirl/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Rylan" "faceworried" "But... but this is wrong. I love Liora... I can't betray her like this.">>
<<dialog "Nimeria" "faceembarrassed" "You're not betraying anyone." "she gasps" "This is just physical healing. Your heart belongs to Liora, but your body... your body needs this.">>
<<narrative "She increases her pace, her movements becoming more confident as the pleasure overtakes the pain. Her tight pussy grips his cock with each thrust.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/cowgirl/femboy/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/cowgirl/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Rylan" "faceconfused" "I... I can't stop... it feels too good... but I shouldn't...">>
<<dialog "Nimeria" "faceembarrassed" "Don't fight it, $humanName." "she moans" "Just let yourself feel. Let me heal you completely.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/cowgirl/femboy/5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/cowgirl/5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "His hands find her hips, gripping them tightly as he begins to thrust up into her. The guilt wars with the overwhelming pleasure coursing through his body.">>
<<dialog "Rylan" "faceworried" "I'm sorry, Liora... I'm so sorry... but I can't stop...">>
<<changeAttraction "Rylan" "Nimeria" 1>>
<<changeAttraction "Nimeria" "Rylan" 1>>
<<changeAffection "Rylan" "Nimeria" 1>>
<<changeAffection "Nimeria" "Rylan" 1>>
<<changeFetish "Rylan" "SexFetish" 0.3>>
<<changeFetish "Nimeria" "SexFetish" 0.3>>
<<changeFetish "Rylan" "VaginaFetish" 0.3>>
<<changeFetish "Nimeria" "PenisFetish" 0.3>>
<<continueBox "Ch6NimeriaRylanSexPart5" "Continue" "Continue...">>
</div>
<</nobr>>
<<pov "nimeria" "nimeriahscene.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/sex.mp3" "sounds/hsounds/nimeria/moanhard.mp3" 1>>
<div class="passage-container nimeria">
<<narrative "Suddenly, $humanName sits up, his hands gripping her waist tightly. Nimeria gasps as he flips her onto her back, her body falling against the soft mattress.">>
<<thought "Nimeria" "facehappy" "Yes... yes! He's taking control! He wants me so much he can't help himself!">>
<<narrative "He positions himself between her legs, his cock still buried deep inside her. The change in position sends waves of pleasure through her body.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/femboy/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Nimeria" "facehappy" "Yes... take me, $humanName!" "she moans" "Show me how much you want me!">>
<<narrative "He begins to thrust into her with growing intensity, his hips moving in powerful strokes. This position allows him to go deeper, hitting spots that make her cry out with pleasure.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/femboy/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Rylan" "faceconfused" "I... I can't stop myself... you feel so good...">>
<<dialog "Nimeria" "faceembarrassed" "Don't stop! Take what's yours!" "she gasps" "We're meant for each other, $humanName!">>
<<narrative "His thrusts become more aggressive, his body moving with primal need. She can feel him losing control, giving in to the pleasure completely.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/femboy/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Nimeria" "faceembarrassed" "Feel the pleasure! You can have this anytime you want!" "she moans" "You just have to take it!">>
<<dialog "Rylan" "faceconfused" "But... but this is wrong... I shouldn't...">>
<<dialog "Nimeria" "faceembarrassed" "There's nothing wrong with taking what you want!" "she cries out" "You're a man! Act like one!">>
<<changeAttraction "Rylan" "Nimeria" 1>>
<<changeAttraction "Nimeria" "Rylan" 1>>
<<changeAffection "Rylan" "Nimeria" 1>>
<<changeAffection "Nimeria" "Rylan" 1>>
<<changeLust "Rylan" 10>>
<<changeLust "Nimeria" 10>>
<<changeFetish "Rylan" "SexFetish" 0.3>>
<<changeFetish "Nimeria" "SexFetish" 0.3>>
<<changeFetish "Rylan" "VaginaFetish" 0.3>>
<<changeFetish "Nimeria" "PenisFetish" 0.3>>
<<changeFetish "Rylan" "DominanceFetish" 0.5>>
<<if $rylanNimeriaFootfetish>>
<<narrative "As she looks into his eyes, she notices his gaze occasionally drifting down to her feet. A wicked smile crosses her face as an idea forms in her mind.">>
<<thought "Nimeria" "facesmirk" "Oh... I see what you're looking at. I think I know how to make this even better for you.">>
<<continueBox "Ch6NimeriaRylanSexFeet" "Continue" "Continue...">>
<<else>>
<<continueBox "Ch6NimeriaRylanSexPart6" "Continue" "Continue...">>
<</if>>
</div>
<</nobr>>
<<pov "nimeria" "nimeriahscene.mp3">><<nobr>>
<div class="passage-container nimeria">
<<playLoopingSounds "sounds/hsounds/sex.mp3" "sounds/hsounds/nimeria/moanhard.mp3" 1>>
<<narrative "Rylan continues thrusting into her with growing intensity, his body moving with primal need as he fucks her in the missionary position. Nimeria's eyes sparkle with desire as she looks up at him.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/afterfeet/femboy/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/afterfeet/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Nimeria" "faceembarrassed" "Yes... yes! Fuck me harder, $humanName!" "she moans" "You're so powerful... you could have anyone you want!">>
<<narrative "She reaches up and caresses his face, her fingers tracing his jawline as she looks into his eyes with burning desire.">>
<<dialog "Nimeria" "faceembarrassed" "Look at me... I'm already yours." "she whispers seductively" "But imagine... imagine having Liora too. Sweet, innocent Liora, begging for your touch.">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/afterfeet/femboy/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/afterfeet/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "His thrusts become more aggressive as her words fuel his growing dominance. She can feel him getting harder inside her.">>
<<dialog "Nimeria" "faceembarrassed" "And Serin... that tomboy who teases you so much." "she gasps" "Imagine her on her knees, worshiping you like the king you are!">>
<<thought "Nimeria" "faceembarrassed" "Yes... let him see the power he could have. Let him embrace his true nature.">>
<<dialog "Nimeria" "faceembarrassed" "Mariel too... your $marielToHuman, so warm and caring." "she moans" "She'd do anything for you... anything you asked of her.">>
<<narrative "She wraps her legs around his waist, pulling him deeper inside her as she continues to whisper her seductive words.">>
<<dialog "Nimeria" "faceembarrassed" "The whole world could be yours, $humanName." "she cries out" "Every woman, every man, every living being... they could all belong to you!">>
<<if $rylanFemboy === true>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/afterfeet/femboy/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/afterfeet/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "Rylan leans forward, his body pressing against hers as he begins to fuck her with even more intensity. His breathing becomes ragged as he feels himself approaching climax.">>
<<dialog "Rylan" "faceconfused" "I... I can't stop... I need to... I need to cum!">>
<<dialog "Nimeria" "faceembarrassed" "Yes! Cum for me!" "she screams" "Show me your power! Show me what a real man you are!">>
<<narrative "His thrusts become frantic, his body moving with desperate need as he chases his release. She can feel him swelling inside her, ready to explode.">>
<<continueBox "Ch6NimeriaRylanSexCum" "Continue" "The climax approaches...">>
</div>
<</nobr>>
<<pov "nimeria" "nimeriahscene.mp3">><<nobr>>
<<set $currentFace = $currentSerinFace>>
<div class="passage-container serin">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/serin/orgasm.mp3')>>
<<narrative "Suddenly, the wave breaks, and I'm hit an incredible sensation. My whole body trembles as pleasure courses through me, making me cry out in ecstasy.">>
<<quickSexTrack "orgasm" "Seryk" "Serin" 1>>
<<thought "Serin" "facewet" "OH MY GOD! This is incredible! I'm coming! I'm actually coming! This feels so amazing!">>
<<narrative "I moan loudly into his mouth as the orgasm washes over me, my body shaking with the intensity of the pleasure.">>
<center><img src="images/serin/chapter6/serykntr/kiss10.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeFetish "Serin" "SalivaFetish" 0.5>>
<<changeAttraction "Serin" "Seryk" 0.5>>
<<changeAffection "Serin" "Seryk" 0.5>>
<<changeAttraction "Seryk" "Serin" 0.5>>
<<changeAffection "Seryk" "Serin" 0.5>>
<<thought "Serin" "facewet" "I can't believe this is happening! I'm coming from just kissing! This is so incredible!">>
<<narrative "The orgasm continues to pulse through me, each wave of pleasure more intense than the last. I find myself gripping him ightly, holding onto him as the incredible sensation overwhelms me.">>
<<thought "Serin" "facewet" "This is so amazing... I never knew I could feel like this!">>
<<narrative "Slowly, the waves of pleasure begin to subside, leaving me panting and trembling in his arms. I pull back from the kiss, my eyes wide with amazement at what just happened.">>
<<dialog "Serin" "facewet" "Oh my god... that was... that was incredible!" "I pant, my voice breathless and filled with wonder" "I never knew I could feel like that!">>
<<dialog "Seryk" "facewet" "You were amazing, Wild Cat." "he says with a soft smile, his breathing also heavy">>
<<thought "Serin" "facewet" "I can't believe I came from just kissing! This is so amazing! I want to do this again!">>
<<narrative "I look into his eyes, seeing the same amazement and desire reflected there. I feel a strange mix of pride and satisfaction">>
<<dialog "Serin" "facewet" "I... I want to do this again. I want to learn more." "I say with determination">>
<<dialog "Seryk" "facewet" "I'd be happy to help you learn more, Wildcat." "he says with a warm smile" "You're a natural at this.">>
<<thought "Serin" "facewet" "I'm so proud of myself! I made him react like that!">>
<<narrative "We sit there for a moment, both of us catching our breath, the air between us charged with the memory of what just happened.">>
<<dialog "Serin" "faceembarrassed" "So... um... do you think we could do this again sometime? I mean, for training purposes?" "I ask, trying to sound casual but failing miserably">>
<<dialog "Seryk" "face" "Of course, Wild Cat. I'd be happy to help you train more." "he says with a gentle smile" "You're really good at this, you know.">>
<<narrative "I feel a surge of excitement at the thought of continuing our training.">>
<<continueBox "Chapter6RylanHaremdreamShort" "Continue" "The night continues...">>
</div>
<</nobr>>
<<pov "serin" "ntr1.mp3">><<nobr>>
<<set $currentFace = $currentSerinFace>>
<div class="passage-container serin">
<<playLoopingSounds "sounds/hsounds/deepkiss.mp3" "sounds/hsounds/serin/softbreath.mp3" 1>>
<<narrative "His lips press against mine with a firmness that takes my breath away. This isn't the gentle peck from before - this is something entirely different, something that makes my whole body tingle with anticipation.">>
<center><img src="images/serin/chapter6/serykntr/kiss5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<quickSexTrack "kiss" "Serin" "Seryk" 1>>
<<changeLust "Serin" 25>>
<<changeLust "Seryk" 25>>
<<changeAttraction "Serin" "Seryk" 0.5>>
<<changeAffection "Serin" "Seryk" 0.5>>
<<changeAttraction "Seryk" "Serin" 0.5>>
<<changeAffection "Seryk" "Serin" 0.5>>
<<thought "Serin" "facewet" "Oh my god... this feels so much better than I expected. His lips are so soft, so warm...">>
<<narrative "We continue kissing, our lips moving together in perfect rhythm. Each kiss sends waves of pleasure through my body, and I find myself wanting more and more.">>
<center><img src="images/serin/chapter6/serykntr/kiss6.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Serin" "facewet" "This is incredible... I never knew kissing could feel this good. I don't want this to ever end!">>
<center><img src="images/serin/chapter6/serykntr/kiss6a.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Mmm... this feels amazing..." "I whisper against his lips, not wanting to break the kiss">>
<<dialog "Seryk" "facewet" "You're doing great, Wildcat..." "he murmurs back">>
<<narrative "I feel his tongue gently trace along my lower lip, and I gasp in surprise. The sensation is incredible - warm, wet, and so much more intense than anything I've experienced before.">>
<center><img src="images/serin/chapter6/serykntr/kiss6b.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "facewet" "Open your mouth a little..." "he whispers against my lips, his voice husky with desire">>
<<narrative "I do as he says, parting my lips slightly, and suddenly his tongue is inside my mouth, exploring with a gentle but insistent pressure that makes me moan softly.">>
<<thought "Serin" "facewet" "This is... this is amazing! His tongue feels so good, so warm and wet against mine. I never knew kissing could feel like this!">>
<<narrative "I tentatively respond, letting my own tongue meet his, and the sensation is electric. Our tongues dance together, exploring each other's mouths with growing confidence and passion.">>
<center><img src="images/serin/chapter6/serykntr/kiss7.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Serin" "facewet" "His saliva tastes so sweet, so different from what I imagined. It's not gross at all - it's intoxicating, making me want more and more.">>
<<narrative "The kiss deepens, becoming more passionate with each passing moment. I find myself pressing closer to him, my hands instinctively moving to his chest, feeling his hard muscles.">>
<center><img src="images/serin/chapter6/serykntr/kiss7a.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Serin" "facewet" "I can't believe how good this feels... I'm not even attracted to Seryk, but this is incredible! My whole body is tingling, and I want more!">>
<<narrative "I feel a growing warmth between my legs. It's like a fire that's slowly spreading through my entire body, making me feel hot and restless.">>
<<thought "Serin" "facewet" "What is this feeling? It's so intense, so overwhelming... I can't stop thinking about how good his tongue feels in my mouth.">>
<<narrative "I pull back slightly to catch my breath, and when I open my eyes, I see Seryk looking at me with a mixture of desire and concern. His breathing is heavier now, and I can see the effect our kiss has had on him.">>
<center><img src="images/serin/chapter6/serykntr/kiss7b.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "That was... that was incredible." "I pant, my voice breathless" "I had no idea kissing could feel like that.">>
<<dialog "Seryk" "facewet" "You're a natural, Wild Cat." "he says with a soft smile" "You picked that up really quickly.">>
<<narrative "I feel a surge of pride at his words, but also something else - a growing hunger that I can't quite explain. I want to kiss him again, to feel that incredible sensation once more.">>
<<thought "Serin" "facewet" "I need more... I need to feel his lips on mine again. This is so much better than I ever imagined!">>
<<narrative "I lean in again, this time with more confidence, and our lips meet in another passionate kiss. This time, I'm more active, letting my tongue explore his mouth as he explores mine.">>
<center><img src="images/serin/chapter6/serykntr/kiss8.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Serin" "facewet" "His mouth tastes so good... sweet and masculine at the same time. I can't get enough of this feeling!">>
<<narrative "As we kiss, I find myself becoming more and more aroused. The warmth between my legs is growing stronger, and I can feel myself getting wet in a way I've never experienced before.">>
<center><img src="images/serin/chapter6/serykntr/kiss8a.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Serin" "facewet" "I'm getting so horny... I never knew kissing could make me feel like this. My body is responding in ways I never expected!">>
<<narrative "I pull back again, this time to look at him more carefully. I notice how his breathing has changed, how his eyes have darkened with desire. And then I see it - the bulge in his boxers that wasn't there before.">>
<center><img src="images/seryk/erect.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Serin" "faceshocked" "Oh my god... is that... is that his...? It's so big! And it's getting bigger! I can't believe I'm having this effect on him!">>
<<dialog "Serin" "faceembarrassed" "I... I can see you're... reacting to this too." "I stammer, my eyes darting down to his crotch and then back up to his face">>
<<dialog "Seryk" "faceembarrassed" "I... I can't help it. You're just so... you're amazing, Wildcat." "he looks embarrassed but also proud">>
<<thought "Serin" "facewet" "I'm proud too... I made him react like that! I never thought I could have this kind of effect on a guy. This is so exciting!">>
<<narrative "I feel a surge of confidence and desire. I want to continue, to explore this incredible feeling further. I lean in for another kiss, this time even more passionate than before.">>
<<thought "Serin" "facewet" "I need more... I need to feel him closer, to experience more of this incredible sensation. I'm getting so horny, and I don't want to stop!">>
<<narrative "Our tongues meet again, dancing together with growing intensity. I find myself moaning softly into his mouth, the sounds escaping without my conscious control.">>
<center><img src="images/serin/chapter6/serykntr/kiss9.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Serin" "facewet" "I'm moaning... I can't help it! This feels so good, so amazing! I want this to never end!">>
<<narrative "The kiss becomes more and more intense, our bodies pressing closer together. I can feel his hardness against my thigh, and it only makes me more aroused.">>
<center><img src="images/serin/chapter6/serykntr/kiss9a.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Serin" "facewet" "I can feel him... he's so hard, so big! This is so exciting, so thrilling! I want to touch him, to feel more of him!">>
<<narrative "As we continue to make out, I feel myself getting closer and closer to something I've never experienced before. The pleasure is building inside me, growing stronger with each passing moment.">>
<<thought "Serin" "facewet" "I'm getting so close... this feeling is incredible! I want to come, I need to come!">>
<<continueBox "Chapter6SerinXSerykCum" "Continue" "The climax approaches...">>
</div>
<</nobr>>
<<pov "serin" "ntr1.mp3">><<nobr>>
<<set $currentFace = $currentSerinFace>>
<<stopLoopingSounds>>
<div class="passage-container serin">
<<set $serinXSerykContent = true>>
<<set $serinXSerykTrainingProgress = 1>>
<<narrative "I stand in front of Seryk's door, my heart pounding so loudly I'm sure he can hear it through the thick wood. My hand hovers in the air, trembling slightly as I contemplate whether I should really do this or not.">>
<<thought "Serin" "faceworried" "Nimeria's advice helped me so much in the past... but this is different. This isn't just training with another girl - this is with Seryk. A guy. What if I'm not ready for this?">>
<<narrative "I take a deep breath and let my hand fall against the door with three firm knocks. The sound echoes through the hallway, and I immediately regret it, wanting to turn and run away before he answers.">>
<<dialog "Seryk" "face" "Oh, Wild Cat! What brings you here at this hour?" "he says with his usual warm and friendly smile" "Is everything okay?">>
<<dialog "Serin" "faceembarrassed" "Hey Seryk... um, can I come in? I need to talk to you about something." "I manage to get the words out, though my voice sounds smaller than usual">>
<<dialog "Seryk" "face" "Of course! Come on in." "he steps aside, gesturing for me to enter" "You know you're always welcome here.">>
<<narrative "I step inside his room, and it's exactly as I imagined - neat, organized, with that faint masculine scent that seems to linger in the air. I find myself pacing back and forth, unable to sit still.">>
<<dialog "Seryk" "faceworried" "Wildcat, what's wrong? You seem really nervous about something." "he sits on the edge of his bed, watching me with concern" "You can tell me anything, you know that.">>
<<thought "Serin" "faceworried" "I can't keep doing this. I need to just say it. But what if he thinks I'm weird? What if he says no? What if this ruins our friendship?">>
<<narrative "I stop pacing and turn to face him, my heart hammering in my chest. I take another deep breath and blurt it out before I can change my mind.">>
<<dialog "Serin" "faceangry" "Kiss me!" "I shout it out, my voice echoing through the room">>
<<dialog "Seryk" "faceshocked" "Erm... what?" "he looks completely taken aback, his eyes wide with surprise">>
<<dialog "Serin" "faceembarrassed" "I want you to help me train kissing." "I say it more quietly this time, my cheeks burning with embarrassment" "I need to learn how to kiss properly, and... and I trust you to teach me.">>
<<dialog "Seryk" "faceworried" "Wildcat, are you sure about this? I mean, kissing is... it's pretty intimate. Are you sure this is what you want?" "he looks genuinely concerned for me">>
<<dialog "Serin" "faceangry" "Of course I'm sure! Look, I've been training with Nimeria, and it's been great, but I need to know what it's like with a guy too. How else am I supposed to learn?" "I cross my arms, trying to look more confident than I feel">>
<<dialog "Seryk" "faceconfused" "I don't know... I just want to make sure you're doing this for the right reasons. You're not just trying to prove something, are you?" "he's still hesitating, and it's starting to annoy me">>
<<dialog "Serin" "faceangry" "Look, Seryk, I'm not a child! I know what I want, and I want to learn how to kiss properly. If you don't want to help me, just say so!" "I'm getting frustrated now, my hands on my hips">>
<<dialog "Seryk" "face" "Okay, okay. If you're really sure about this, then... I'll help you." "he finally relents, though he still looks uncertain" "But we'll take it slow, okay?">>
<<narrative "I nod, feeling a strange mix of excitement and nervousness. We stand there for a moment, just looking at each other, and I realize I have no idea what to do next.">>
<<dialog "Serin" "faceembarrassed" "So... how do we start?" "I ask, suddenly feeling very inexperienced">>
<<dialog "Seryk" "face" "Well, first we should probably sit down." "he gestures to the bed" "And then... we just lean in slowly. No pressure, okay?">>
<<narrative "We sit down on the edge of his bed, facing each other. The space between us feels charged with something I can't quite name. I look into his eyes, and for the first time, I really notice how kind they are, how warm and safe they make me feel.">>
<center><img src="images/serin/chapter6/serykntr/kiss1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "faceembarrassed" "I'm ready." "I whisper, my voice barely audible">>
<<narrative "Seryk leans forward slowly, giving me time to pull away if I want to. But I don't. I lean forward too, closing my eyes as our lips meet for the first time.">>
<center><img src="images/serin/chapter6/serykntr/kiss2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "It's soft, gentle, almost chaste. Just a brief touch of lips against lips, but it sends a strange tingle through my body that I've never felt before.">>
<center><img src="images/serin/chapter6/serykntr/kiss3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "We pull back, and I open my eyes to see him looking at me with a gentle smile.">>
<center><img src="images/serin/chapter6/serykntr/kiss4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "face" "How was that?" "he asks softly">>
<<dialog "Serin" "faceangry" "That's it? That's all you can do? Some childish kiss like we're kids playing house!" "I'm suddenly frustrated, though I'm not sure why" "I want to learn real kissing, not this baby stuff!">>
<<dialog "Seryk" "faceconfused" "Wildcat, I was just trying to be gentle with you..." "he looks hurt by my reaction">>
<<dialog "Serin" "faceangry" "I don't need you to be gentle! I need you to teach me how to really kiss! Show me what it's supposed to feel like!" "I'm getting worked up now, my competitive nature taking over">>
<<dialog "Seryk" "face" "Okay, okay. If that's what you want..." "he takes a deep breath, and I can see something change in his eyes" "But don't say I didn't warn you.">>
<<narrative "This time when he leans in, there's something different about him. His eyes have darkened slightly, and there's a confidence in his movements that wasn't there before. I feel my heart skip a beat as he gets closer.">>
<<continueBox "Chapter6SerinXSerykKiss" "Continue" "The real lesson begins...">>
</div>
<</nobr>>
<<pov "serin" "defaultch6.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<narrative "After the intense dungeon exploration, I decide to take a relaxing bath to wash away the sweat and tension. The warm water feels heavenly against my skin as I sink into the large wooden tub.">>
<center><img src="images/landscapes/bath.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I close my eyes and let the steam rise around me, the hot water soothing my tired muscles. The peaceful silence is interrupted by the sound of footsteps approaching.">>
<<dialog "Seryk" "face" "Hey $humanName, mind if I join you? The water looks really inviting after all that dungeon crawling.">>
<<if $serykMorningBathScene === true>>
<<thought "Rylan" "face" "Oh no... I remember what happened last time. That was... an accident, right? But I can't just say no to him...">>
<<narrative "My face flushes red as memories of the previous bath scene flood back. The way his cock accidentally brushed against my face... but it was just an accident, wasn't it?">>
<<dialog "Rylan" "faceembarrassed" "S-sure, Seryk. Come on in...">>
<<else>>
<<dialog "Rylan" "face" "Of course! There's plenty of room for both of us.">>
<</if>>
<<narrative "Seryk steps into the bath, the water rippling around his muscular form. He settles in across from me, his powerful physique clearly visible through the clear water.">>
<<if $rylanFemboy == true>>
<center><img src="images/seryk/bath/femboy/sitinbath.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/seryk/bath/sitinbath.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "As Seryk settles into the bath, I notice something strange happening to me. The water suddenly feels much hotter than before, and I can't stop looking at his muscular form. His powerful chest, defined abs, and strong arms are clearly visible through the clear water.">>
<<narrative "My eyes keep drifting downward, and I notice something that makes my heart race - is his cock... erect? I try to look away, but I can't help but steal glances at the impressive bulge beneath the water.">>
<<if $rylanFemboy == true>>
<center><img src="images/seryk/bath/femboy/sitinbatherect.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/seryk/bath/sitinbatherect.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Seryk" "face" "That dungeon was something else, wasn't it? I wonder what other secrets it might hold.">>
<<dialog "Rylan" "faceembarrassed" "Y-yeah, it is incredible. I can't help but think there's so much more to discover... down there...">>
<<narrative "We chat about the dungeon exploration, discussing the mysterious chambers and ancient magic we encountered. The conversation flows naturally, but I notice Seryk seems to be getting a bit restless.">>
<<quickRoll "Bath Temptation" "Rylan" 70 10 "GayValue" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" "GayValue" 0.2>>
<<changeFetish "Rylan" "MuscleFetish" 0.3>>
<<changeAttraction "Rylan" "Seryk" 0.2>>
<<changeAttraction "Seryk" "Rylan" 0.2>>
<</if>>
<<dialog "Seryk" "faceworried" "I think the water might be getting a bit too hot for me. I should probably head out...">>
<<narrative "As Seryk starts to get up, he accidentally bumps into me, his cock brushing against my face. But instead of pulling away immediately, he seems to pause...">>
<<if $rylanFemboy == true>>
<center><img src="images/seryk/bath/femboy/cock1.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/seryk/bath/cock1.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<if $serykMorningBathScene === true>>
<<narrative "Just like before, his cock hits me in the face, but this time he doesn't pull away. Instead, he keeps it pressed against my cheek, the warmth and firmness sending shivers through my body.">>
<<else>>
<<narrative "His cock hits me in the face, but instead of pulling away, he keeps it pressed against my cheek, the warmth and firmness sending shivers through my body.">>
<</if>>
<<narrative "The intoxicating musky scent fills my nostrils, making my head spin with desire. I can feel my own cock stirring in the water.">>
<<dialog "Rylan" "faceembarrassed" "Seryk...">>
<<dialog "Seryk" "facewet" "I... I'm sorry, I should...">>
<<narrative "I should pull away, but the intoxicating scent is overwhelming. My head feels heavy, my thoughts becoming clouded. I can't seem to move.">>
<<dialog "Seryk" "facewet" "$humanName?">>
<<narrative "But instead of pulling away, Seryk starts rubbing his cock against my face more deliberately. The warm, firm flesh glides across my cheek, leaving a trail of precum.">>
<<if $rylanFemboy == true>>
<center><img src="images/seryk/bath/femboy/cock2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/seryk/bath/cock2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "The musky scent fills my nostrils completely, making me feel dizzy and lightheaded. I can't think straight anymore.">>
<<dialog "Seryk" "facewet" "You're... you're not pulling away...">>
<<narrative "I can't answer. The scent is too intoxicating. I feel like I'm in a trance, unable to resist the overwhelming desire to get closer.">>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "smellFetish" 0.3>>
<<changeFetish "Rylan" "GayValue" 0.2>>
<<changeAttraction "Rylan" "Seryk" 0.3>>
<<changeAttraction "Seryk" "Rylan" 0.3>>
<<continueBox "Ch6SerykBathScene2" "Continue" "The intoxication deepens...">>
</div>
<</nobr>>
<<pov "rylan" "gayscene.mp3">><<nobr>>
<div class="passage-container rylan">
<<playLoopingSounds "sounds/hsounds/seryk/moan.mp3" "sounds/hsounds/kiss.wav" 1>>
<<if $rylanFemboy == true>>
<center><img src="images/seryk/bath/femboy/cock2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/seryk/bath/cock2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "The intoxicating scent is overwhelming. I feel like I'm in a daze, unable to think clearly. My body moves on its own, my lips pressing against the warm shaft.">>
<<dialog "Seryk" "facewet" "...What are you doing, $humanName?">>
<<narrative "But I can't stop. The scent has completely taken over my mind. I kiss the shaft gently, my lips trailing along the length.">>
<<if $rylanFemboy == true>>
<center><img src="images/seryk/bath/femboy/kiss1.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/seryk/bath/kiss1.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "Seryk's breathing becomes heavier as I continue kissing along his length. I'm completely lost in the trance, unable to resist the intoxicating scent.">>
<<dialog "Seryk" "facewet" "$humanName... Stop...">>
<<narrative "I continue kissing the shaft, my lips moving along the warm, firm flesh. The scent is so strong, so intoxicating that I can't think of anything else.">>
<<if $rylanFemboy == true>>
<center><img src="images/seryk/bath/femboy/kiss2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/seryk/bath/kiss2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Seryk" "facewet" "Oh, $humanName... please... don't stop...">>
<<if $rylanFemboy == true>>
<center><img src="images/seryk/bath/femboy/horny.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/seryk/bath/horny.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<quickRoll "Shaft Kissing" "Rylan" 50 20 "PenisFetish" 6>>
<<if not _tempRollSuccess>>
<<narrative "I'm completely lost in the sensation. The warmth, the scent, the firmness... I can't get enough. I kiss more passionately, my lips exploring every inch of the shaft.">>
<<changeFetish "Rylan" "PenisFetish" 0.4>>
<<changeFetish "Rylan" "smellFetish" 0.3>>
<<changeFetish "Rylan" "GayValue" 0.3>>
<<changeAttraction "Rylan" "Seryk" 0.4>>
<<changeAttraction "Seryk" "Rylan" 0.4>>
<<else>>
<<narrative "I'm enjoying this more than I expected. The scent is growing on me, and I find myself wanting to continue.">>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "smellFetish" 0.1>>
<<changeFetish "Rylan" "GayValue" 0.1>>
<<changeAttraction "Rylan" "Seryk" 0.2>>
<<changeAttraction "Seryk" "Rylan" 0.2>>
<</if>>
<<narrative "I continue kissing the shaft, my lips moving in a trance-like state. The intoxicating scent has completely taken over my mind.">>
<<if $rylanFemboy == true>>
<center><img src="images/seryk/bath/femboy/kiss3.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/seryk/bath/kiss3.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Seryk" "facewet" "Kiss... kiss along the shaft... like that...">>
<<if $rylanFemboy == true>>
<center><img src="images/seryk/bath/femboy/horny2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/seryk/bath/horny2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "His voice is more commanding now. I obey without thinking, my lips continuing to kiss along the length of his shaft. The warm, firm flesh feels incredible against my lips.">>
<<if $rylanFemboy == true>>
<center><img src="images/seryk/bath/femboy/kiss4.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/seryk/bath/kiss4.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "I kiss more passionately, my lips exploring every inch of the shaft. The intoxicating scent has completely taken over my mind, making me unable to resist.">>
<<dialog "Seryk" "facewet" "Yes... that's it... keep kissing...">>
<<narrative "I continue kissing the shaft, my lips moving in a trance-like state. The intoxicating scent has completely taken over my mind.">>
<<if $rylanFemboy == true>>
<center><img src="images/seryk/bath/femboy/kiss5.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/seryk/bath/kiss5.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Seryk" "facewet" "Now... now use your tongue...">>
<<narrative "His voice is more assertive now, commanding me. I obey without thinking, my tongue beginning to lick along the shaft.">>
<<if $rylanFemboy == true>>
<center><img src="images/seryk/bath/femboy/lick1.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/seryk/bath/lick1.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<quickRoll "Tongue Licking" "Rylan" 45 25 "SalivaFetish" 8>>
<<if not _tempRollSuccess>>
<<narrative "I'm completely lost in the sensation. My tongue explores every inch of the shaft, licking and tasting the intoxicating flavor.">>
<<changeFetish "Rylan" "SalivaFetish" 0.4>>
<<changeFetish "Rylan" "PenisFetish" 0.3>>
<<changeFetish "Rylan" "GayValue" 0.4>>
<<changeAttraction "Rylan" "Seryk" 0.5>>
<<changeAttraction "Seryk" "Rylan" 0.5>>
<<else>>
<<narrative "I'm enjoying this more than I expected. My tongue continues licking, exploring the warm flesh.">>
<<changeFetish "Rylan" "SalivaFetish" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "GayValue" 0.2>>
<<changeAttraction "Rylan" "Seryk" 0.3>>
<<changeAttraction "Seryk" "Rylan" 0.3>>
<</if>>
<<narrative "I continue licking the shaft, my tongue moving in a trance-like state. The intoxicating scent has completely taken over my mind.">>
<<dialog "Seryk" "facewet" "Yes... like that... keep licking...">>
<<if $rylanFemboy == true>>
<center><img src="images/seryk/bath/femboy/lick2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/seryk/bath/lick2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "His voice is more commanding now. I obey without thinking, my tongue continuing to lick along the shaft. The taste is intoxicating.">>
<<narrative "I can feel him getting harder under my tongue, the precum beginning to leak out. The taste is sweet and intoxicating, making me want more.">>
<<if $rylanFemboy == true>>
<center><img src="images/seryk/bath/femboy/lick3.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/seryk/bath/lick3.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<quickRoll "Cum Desire" "Rylan" 40 25 "CumAddiction" 10>>
<<if not _tempRollSuccess>>
<<narrative "I want his cum so badly. I need to taste it, to feel it in my mouth. I lick harder, desperate for his release.">>
<<changeFetish "Rylan" "CumAddiction" 0.6>>
<<changeFetish "Rylan" "GayValue" 0.5>>
<<changeAttraction "Rylan" "Seryk" 0.6>>
<<changeAttraction "Seryk" "Rylan" 0.6>>
<<else>>
<<narrative "I'm curious about what his cum will taste like. I continue licking, wanting to experience his climax.">>
<<changeFetish "Rylan" "CumAddiction" 0.3>>
<<changeFetish "Rylan" "GayValue" 0.3>>
<<changeAttraction "Rylan" "Seryk" 0.4>>
<<changeAttraction "Seryk" "Rylan" 0.4>>
<</if>>
<<continueBox "Ch6SerykBathScene3" "Continue" "The climax approaches...">>
</div>
<</nobr>>
<<pov "rylan" "gayscene.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/seryk/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 1000)>>
<<if $rylanFemboy == true>>
<center><img src="images/seryk/bath/femboy/lick3.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/seryk/bath/lick3.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "I can feel Seryk's cock pulsing under my tongue, the tension building to an incredible peak. His breathing becomes shallow and rapid, his hands gripping my head tightly.">>
<<if $rylanFemboy == true>>
<center><img src="images/seryk/bath/femboy/orgasm.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/seryk/bath/orgasm.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<dialog "Seryk" "facewet" "I'm... I'm gonna cum! Don't stop licking!">>
<<narrative "The moment I've been waiting for arrives. Seryk's cock explodes with an incredible amount of cum, the thick, warm liquid splashing across my face.">>
<<if $rylanFemboy == true>>
<center><img src="images/seryk/bath/femboy/cum.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/seryk/bath/cum.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "The cum splashes across my face, coating my cheeks, nose, and chin. I can taste some of it on my lips, and it's incredible - sweet, salty, and intoxicating.">>
<<narrative "At the same time, the intense pleasure of tasting his cum triggers my own orgasm. I cum hard in the water, my cock throbbing as waves of ecstasy wash over me.">>
<<narrative "The orgasm is incredible - both of us cumming together in the warm bath water. Seryk's cum continues to flow, coating my face in thick, sticky streams as I lick my lips to taste more of it.">>
<<if $rylanFemboy == true>>
<center><img src="images/rylan/cum/femboy/cumface.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/rylan/cum/cumface.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "As the intense pleasure fades, we both come out of our trance-like state. The reality of what just happened begins to sink in.">>
<<dialog "Seryk" "faceembarrassed" "I... I don't know what came over me... I'm sorry, $humanName...">>
<<dialog "Rylan" "faceembarrassed" "I... I don't know either... but I... I didn't want you to stop...">>
<<narrative "We both sit in the water, covered in cum and embarrassment, trying to process what just happened.">>
<<dialog "Seryk" "faceworried" "Maybe we should just... forget this ever happened?">>
<<quickSexTrack "orgasm" "Seryk" "Rylan" 1>>
<<quickSexTrack "orgasm" "Rylan" "Seryk" 1>>
<<quickSexTrack "cumswallowed" "Seryk" "Rylan" 1>>
<<quickSexTrack "cumonbody" "Seryk" "Rylan" 1>>
<<quickSexTrack "blowjob" "Rylan" "Seryk" 1>>
<<changeFetish "Rylan" "GayValue" 0.8>>
<<changeFetish "Rylan" "CumAddiction" 0.2>>
<<changeFetish "Rylan" "PenisFetish" 0.6>>
<<changeFetish "Rylan" "SubmissionFetish" 0.5>>
<<changeFetish "Rylan" "smellFetish" 0.4>>
<<changeFetish "Rylan" "SalivaFetish" 0.3>>
<<changeAttraction "Rylan" "Seryk" 1.2>>
<<changeAttraction "Seryk" "Rylan" 1.5>>
<<changeAffection "Seryk" "Rylan" 1.0>>
<<thought "Rylan" "face" "Forget it? How could I ever forget something like that? The taste, the feeling... I might actually like guys too? But I have Liora... don't I?">>
<<if not $serykBathSceneVisited>>
<<if not $rylanGayCuriosity>><<set $rylanGayCuriosity = 0>><</if>>
<<if not $serykGayCuriosity>><<set $serykGayCuriosity = 0>><</if>>
<<trackOther "Rylan" "GayCuriosity" 1>>
<<trackOther "Seryk" "GayCuriosity" 1>>
<<set $rylanGayCuriosity += 1>>
<<set $serykGayCuriosity += 1>>
<<set $serykBathSceneVisited = true>>
<<narrative "I look at Seryk, his muscular form still visible through the water, and I can't help but wonder... could I really like someone like him?">>
<<choiceBox "Could I like someone like Seryk?" "Yes, I think I might..." "Ch6SerykBathSceneYes" "rylanLikesSeryk=true" "No, this was just a mistake..." "Ch6SerykBathSceneNo" "rylanLikesSeryk=false">>
<<else>>
<<continueBox "MorningActivityChoicesNext" "Continue" "Return to activities...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "gayscene.mp3">><<nobr>>
<div class="passage-container seryk">
<<narrative "I look away, feeling confused and conflicted about what just happened.">>
<<thought "Rylan" "faceembarrassed" "I... I think this was just a mistake. I don't know what came over me. I have Liora, and I love her.">>
<<narrative "We get out of the bath and dry off, both trying to act normal despite the lingering tension between us.">>
<<narrative "As we part ways, I can't help but wonder if I made the right choice. But I know I need to focus on my relationship with Liora.">>
<<soulCorruptionAnimation "rylan" 1>>
<<continueBox "MorningActivityChoicesNext" "Continue" "Return to activities...">>
</div>
<</nobr>>
<<pov "seryk" "defaultch6.mp3">><<nobr>>
<div class="passage-container seryk">
<<narrative "I look at Seryk, his kind eyes and strong features, and I realize something important. I'm not gay... at least I don't think I am. But somehow, I feel drawn to him in a way I can't explain. There's something about his presence, his strength, his kindness that makes my heart race in a way it never has before.">>
<<narrative "The thought terrifies me and excites me at the same time. I've always been attracted to women, but with Seryk... it's different. It's not just physical - it's something deeper, something that makes me question everything I thought I knew about myself.">>
<<narrative "I can feel my curiosity growing, wondering what it would be like to explore these feelings further. The way he looked at me, the way he touched me... it awakened something in me that I never knew existed.">>
<<if not $rylanSerykLove>><<set $rylanSerykLove = 0>><</if>>
<<set $rylanSerykLove += 1>>
<<set $humanNameHaremMindset += 1>>
<<trackOther "Rylan x Seryk:" "Love" 1>>
<div id="relationshipChangeAnimation" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; display: none;">
<div style="background: radial-gradient(circle, rgba(255, 182, 193, 0.9), rgba(255, 192, 203, 0.8)); border-radius: 50%; width: 250px; height: 250px; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 60px rgba(255, 182, 193, 0.6); animation: relationshipPulse 3s ease-in-out;">
<div style="text-align: center; color: white; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
<h3 style="margin: 0; font-size: 1.6em;">💕 Relationship Deepens 💕</h3>
<p style="margin: 5px 0; font-size: 1.2em;">Something new awakens...</p>
</div></div></div>
<script>
setTimeout(function() {
const animation = document.getElementById('relationshipChangeAnimation');
if (animation) {
animation.style.display = 'block';
setTimeout(function() {
animation.style.display = 'none';
}, 3000);
}
}, 100);
</script>
<style>
@keyframes relationshipPulse {
0% { transform: translate(-50%, -50%) scale(0.5); opacity: 0; }
20% { transform: translate(-50%, -50%) scale(1.2); opacity: 1; }
50% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
80% { transform: translate(-50%, -50%) scale(1.2); opacity: 1; }
100% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
}
</style>
<<soulBlessingAnimation "rylan" 1>>
<<changeAttraction "Rylan" "Seryk" 0.5>>
<<changeAttraction "Seryk" "Rylan" 0.5>>
<<changeAffection "Rylan" "Seryk" 1>>
<<changeAffection "Seryk" "Rylan" 0.5>>
<<continueBox "MorningActivityChoicesNext" "Continue" "Return to activities...">>
</div>
<</nobr>>
<<pov "seryk" "defaultch6.mp3">><<nobr>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<center><img src="images/landscapes/lustdungeonleftright.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);"></center>
<<narrative "The group ventures deeper into the dungeon, weapons drawn and senses alert.">>
<<dialog "Seryk" "faceconfident" "Stay close, $humanName," "he whispers, his hand resting on the hilt of his sword" "These goblins are getting bolder.">>
<<dialog "Thalor" "faceserious" "Keep your guard up," "he warns">>
<<narrative "Suddenly, a group of goblins emerges from the shadows, their eyes gleaming with malicious intent. The battle erupts in a flurry of steel and magic.">>
<<dialog "Serin" "faceangry" "Behind you!" "she shouts, pushing you aside as a goblin's blade whistles through the air where you just stood">>
<<narrative "In the chaos of combat, you stumble backward, your hand instinctively reaching for support against the dungeon wall. The moment your palm touches the cold stone, ancient runes flare to life with brilliant blue light.">>
<<dialog "Seryk" "faceshocked" "No! Don't touch that!" "he lunges toward you, but it's too late">>
<<narrative "The world around you dissolves into swirling light. You feel Seryk's strong arms wrap around you as you're both pulled through the magical vortex. When the light fades, you find yourselves in an opulent bedroom chamber - completely naked.">>
<center><img src="images/landscapes/lustdungeonbedroom.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);"></center>
<<dialog "Seryk" "faceshocked" "What?! Where are our clothes?" "he exclaims, quickly covering himself with his hands">>
<<dialog "Rylan" "faceshocked" "I... I don't understand," "you stammer, trying to cover yourself as well" "What happened to our clothes?">>
<<dialog "Dungeon Voice" "face" "Welcome, my little adventurers!" "a deep, amused voice echoes through the chamber" "I do hope you'll enjoy my little trap room. Don't worry about your clothes - you'll get them back when you're done with my little game.">>
<<dialog "Seryk" "faceangry" "Let us out of here! Our friends are fighting for their lives out there!" "he demands, his voice filled with urgency">>
<<dialog "Dungeon Voice" "face" "Oh, I'm afraid that's not possible," "the voice chuckles darkly" "not until you've completed my little game. And don't worry about time - while you're in here for hours, only minutes pass outside. Though I wouldn't dawdle too long.">>
<<dialog "Rylan" "faceworried" "What do you want from us?" "you ask, your heart pounding with fear">>
<<dialog "Dungeon Voice" "face" "I want to see you two cuties have some fun together!" "the voice replies with obvious delight" "How about we start with something simple - a kiss?">>
<<dialog "Seryk" "faceshocked" "What?! We're not in a relationship, and we're both men!" "he protests, his face flushing with embarrassment">>
<<dialog "Dungeon Voice" "face" "That makes it even more entertaining!" "the voice laughs" "Come now, don't be shy.">>
<<dialog "Seryk" "faceangry" "I won't do this! I will never force myself on someone else!" "he declares with righteous fury">>
<<dialog "Dungeon Voice" "face" "Is that your so-called justice?" "the voice taunts" "To abandon those outside who desperately need your help? Let me check on your friends... Oh my, is that blood I see?">>
<center>
<img src="images/seryk/tattoo/tattoopulse2.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
</center>
<<narrative "Seryk's face darkens with conflict. You can see the internal struggle as he weighs his principles against the lives of your friends.">>
<<dialog "Seryk" "facesad" "I'm sorry, $humanName," "he says quietly, his voice heavy with resignation" "but we need to get out of here quickly.">>
<<narrative "Seryk steps toward you, and you find yourself backing away until your back presses against the cold stone wall. His eyes meet yours, filled with apology and determination.">>
<center>
<img src="images/seryk/chapter6/rylandungeonsex/determined.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
</center>
<<continueBox "Ch6SerykDungeonSex2" "Continue" "">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/seryk/kiss.mp3" 1>>
<div class="passage-container rylan">
<<quickRoll "First Kiss Resistance" "Rylan" 70 5 "SalivaFetish" 3>>
<<if not _tempRollSuccess>>
<<narrative "Despite your initial shock, you don't resist as Seryk leans in. His lips press against yours in a gentle, hesitant kiss.">>
<<changeFetish "Rylan" "SalivaFetish" 0.2>>
<<changeAttraction "Rylan" "Seryk" 0.3>>
<</if>>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/kiss/femboy/1.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/kiss/1.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<narrative "The kiss is soft and tentative, but something about it sends a strange warmth through your body. You can feel Seryk's breath against your skin, and despite the circumstances, your heart begins to race.">>
<<thought "Rylan" "faceembarrassed" "This is wrong... I'm not gay... but why does this feel so... good?">>
<<narrative "Seryk's lips are surprisingly soft, and you find yourself responding instinctively. The taste of his saliva is unlike anything you've experienced before - slightly sweet with an underlying musk that makes your head spin.">>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/kiss/femboy/pov1.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/kiss/pov1.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<thought "Rylan" "faceworried" "I shouldn't be enjoying this... but I can't help myself. His taste is intoxicating.">>
<<dialog "Seryk" "faceembarrassed" "I'm sorry," "he whispers against your lips" "I never wanted to force this on you.">>
<<thought "Rylan" "faceembarrassed" "He's apologizing, but I'm the one who should be sorry... I'm actually enjoying this.">>
<<dialog "Dungeon Voice" "face" "You call that a kiss?" "the voice scoffs" "Put some passion into it!">>
<<narrative "Seryk pulls back slightly, his face flushed, then leans in again with more determination.">>
<<quickRoll "Deeper Kiss" "Rylan" 60 5 "SalivaFetish" 4>>
<<if not _tempRollSuccess>>
<<narrative "This time the kiss is deeper, more insistent. You can feel the warmth of his breath against your skin.">>
<<changeFetish "Rylan" "SalivaFetish" 0.3>>
<<changeAttraction "Rylan" "Seryk" 0.2>>
<</if>>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/kiss/femboy/2.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/kiss/2.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<narrative "Seryk's kiss becomes more confident, more demanding. His hands find their way to your waist, pulling you closer as his lips move against yours with increasing urgency.">>
<<thought "Rylan" "faceembarrassed" "Oh gods... this feels incredible. His lips are so soft, so warm... I can't believe I'm responding like this.">>
<<narrative "The taste of his saliva becomes more pronounced, and you find yourself craving more. There's something addictive about the way he tastes - a unique flavor that makes your body tingle with anticipation.">>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/kiss/femboy/pov2.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/kiss/pov2.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<thought "Rylan" "faceworried" "I'm not supposed to like this... I'm not gay... but why does his taste make me so weak?">>
<<dialog "Seryk" "faceembarrassed" "I... I can't help myself," "he gasps between kisses">>
<<narrative "Your bodies press closer together, and you can feel the heat radiating from Seryk's muscular frame. Despite your internal conflict, your body responds instinctively to his touch.">>
<<dialog "Dungeon Voice" "face" "More! Use your tongue too!" "the voice demands with growing excitement">>
<<if $serykRylanBlightwoodEncounter>>
<<narrative "You remember the Blightwood encounter when you were both affected by aphrodisiac and made out. But this time is different - you're both doing this more or less willingly, or at least consciously.">>
<</if>>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/kiss/femboy/3.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/kiss/3.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<narrative "The moment Seryk's tongue enters your mouth, everything changes. The sensation is overwhelming - warm, wet, and incredibly intimate. You can taste every detail of his saliva, and it's intoxicating.">>
<<thought "Rylan" "faceembarrassed" "Oh gods... his tongue... it's so warm, so soft... I can't believe how good this feels.">>
<<quickRoll "Tongue Kiss" "Rylan" 50 5 "SalivaFetish" 5>>
<<if not _tempRollSuccess>>
<<narrative "Seryk's tongue tentatively explores your mouth, and you find yourself responding. The kiss becomes more passionate, more intimate. You can taste the unique flavor of his saliva, and it sends shivers down your spine.">>
<<changeFetish "Rylan" "SalivaFetish" 0.4>>
<<changeFetish "Rylan" "GayValue" 0.3>>
<<changeAttraction "Rylan" "Seryk" 0.4>>
<<changeAffection "Rylan" "Seryk" 0.2>>
<<quickSexTrack "kiss" "Seryk" "Rylan" 1>>
<</if>>
<<narrative "Your own tongue instinctively responds, dancing with his in a passionate rhythm. The taste of his saliva floods your senses - slightly sweet with an underlying musk that makes your head spin and your body tingle with desire.">>
<<dialog "Seryk" "faceembarrassed" "I can't get enough...">>
<<thought "Rylan" "faceembarrassed" "He's enjoying this too...">>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/kiss/femboy/4.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/kiss/4.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<thought "Rylan" "faceembarrassed" "I can't stop... I don't want to stop... his taste is addictive, intoxicating... I need more.">>
<<narrative "You lose track of time as the kiss continues.">>
<<thought "Rylan" "faceworried" "This is dangerous... I'm losing myself in his taste... I'm not supposed to feel this way about another man... but I can't help it.">>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/kiss/femboy/5.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/kiss/5.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<narrative "The kiss reaches its peak intensity, both of you lost in the moment. The taste of each other's saliva becomes a drug, making you crave more and more. Your bodies press together, and you can feel the heat and desire radiating between you.">>
<<dialog "Dungeon Voice" "face" "Excellent! Now that's what I call a proper kiss!" "the voice cheers" "You two are quite the pair, aren't you?">>
<<narrative "Finally, you both pull apart, breathing heavily. Seryk's face is flushed, and you can see the same conflicted emotions in his eyes that you're feeling.">>
<<continueBox "Ch6SerykDungeonSex3" "Continue" "The dungeon demands more...">>
</div>
<</nobr>>
<<pov "rylan" "gayscene.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<dialog "Seryk" "faceembarrassed" "I... I'm sorry about that," "he says, his voice uncharacteristically soft" "but we needed to get out of here.">>
<<dialog "Rylan" "faceembarrassed" "I understand," "you reply, your heart still racing" "We did what we had to do.">>
<<dialog "Dungeon Voice" "face" "Oh, don't be so modest!" "the voice laughs" "I could tell you both enjoyed that more than you're letting on. But we're just getting started!">>
<<narrative "Your heart skips a beat as you realize this is far from over. Seryk's eyes widen with alarm.">>
<<dialog "Seryk" "faceworried" "What do you mean? We did what you asked!" "he protests">>
<<dialog "Dungeon Voice" "face" "A kiss was just the beginning, my dear," "the voice purrs with amusement" "I want to see much more. How about you pleasure him with your hands next?">>
<<dialog "Rylan" "faceshocked" "What?! You want me to... give him a handjob?" "you exclaim, your face burning with embarrassment">>
<<dialog "Seryk" "faceangry" "No! I won't let him do that!" "he declares, his fists clenching">>
<<dialog "Dungeon Voice" "face" "Really? Let me check on your friends again..." "the voice trails off ominously" "Oh my, that doesn't look good at all. I think one of them might be seriously injured.">>
<<narrative "Seryk's face darkens with conflict. You can see the internal struggle as he weighs his principles against the lives of your friends.">>
<<dialog "Seryk" "facesad" "I... I can't let them die," "he says quietly, his voice heavy with resignation" "but I won't force him to do this.">>
<<dialog "Dungeon Voice" "face" "Oh, but he wants to help his friends, doesn't he?" "the voice taunts" "And besides, I can see the way he's looking at you. There's already some interest there.">>
<<narrative "You find yourself unable to move, caught between shock and the realization that this might be the only way to save your friends. The dungeon voice has made it clear - your friends' lives depend on this.">>
<<dialog "Rylan" "faceworried" "I... I'll do it," "you say quietly, your voice barely above a whisper" "For our friends.">>
<<dialog "Seryk" "faceembarrassed" "I... I'm sorry, $humanName," "he says, his voice filled with shame" "I never wanted to put you through this.">>
<<narrative "You can see the internal struggle in Seryk's eyes. Despite his protests, you know this is the only way to save your friends. You reach out with trembling hands, your heart pounding as you prepare to touch Seryk in the most intimate way possible.">>
<<continueBox "Ch6SerykDungeonSex4" "Continue" "The handjob begins...">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<div class="passage-container rylan">
<<playLoopingSounds "sounds/hsounds/seryk/moan.mp3" "sounds/hsounds/handjob.mp3" 1>>
<<thought "Rylan" "faceembarrassed" "This is so wrong... I'm not supposed to be doing this with another man... but why does my heart race like this?">>
<<narrative "As you reach for him, you're immediately struck by the impressive size of what you're about to touch. Seryk's manhood is larger than you expected, and you can't help but feel a strange mix of intimidation and fascination.">>
<<thought "Rylan" "faceshocked" "Oh gods... he's so big... I've never seen anything like this before. How am I supposed to handle something this size?">>
<<narrative "You wrap your hand around his shaft, feeling the warmth and firmness beneath your fingers. Despite your inexperience, you begin to stroke him gently, your movements hesitant at first.">>
<<quickRoll "Handjob Resistance" "Rylan" 60 5 "PenisFetish" 4>>
<<if not _tempRollSuccess>>
<<narrative "As you work on him, you can't help but respond to the situation. Despite the circumstances, your body betrays your conflicted mind.">>
<<changeFetish "Rylan" "PenisFetish" 0.3>>
<<changeFetish "Rylan" "GayValue" 0.2>>
<</if>>
<<changeAttraction "Rylan" "Seryk" 0.3>>
<<changeAttraction "Seryk" "Rylan" 0.5>>
<<changeAffection "Rylan" "Seryk" 0.3>>
<<changeAffection "Seryk" "Rylan" 0.5>>
<<quickSexTrack "handjob" "Rylan" "Seryk" 1>>
<<changeFetish "Rylan" "PenisFetish" 0.3>>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<changeFetish "Rylan" "GayValue" 0.3>>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/handjob/femboy/1.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/handjob/1.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<narrative "The sensation is overwhelming as you work on him. You can see the concentration on Seryk's face, the way he's trying to detach himself from what's happening, but there's something else there too - a flicker of pleasure that makes your own heart race.">>
<<thought "Rylan" "faceembarrassed" "He's so strong, so powerful... but right now I have him completely in my hands. There's something intoxicating about this power.">>
<<narrative "The musky scent of his arousal fills your nostrils, and despite your initial reluctance, you find yourself getting lost in the sensation. His skin is surprisingly soft and warm beneath your fingers.">>
<<dialog "Rylan" "faceworried" "Does... does this end here?" "you ask hesitantly, your voice trembling with uncertainty">>
<<dialog "Dungeon Voice" "face" "Oh no, my dear," "the voice laughs with obvious delight" "This only ends when he cums inside your ass. So you'd better not make him finish yet if you want to hurry things along.">>
<<narrative "Your hand clenches involuntarily at the shocking revelation, and Seryk cries out in pain from the sudden pressure.">>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/handjob/femboy/2.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/handjob/2.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
<<dialog "Seryk" "faceshocked" "Ah! What was that for?" "he gasps, his face contorted with surprise and pain">>
<<dialog "Rylan" "faceshocked" "I... I'm sorry! I didn't mean to... I just...">>
<<narrative "You both stare at each other in shock, realizing what the dungeon voice has revealed. The implications are staggering - this is far from over.">>
<<thought "Rylan" "faceworried" "It wants me to... to let him... inside me? That's impossible! I can't do that!">>
<<dialog "Seryk" "faceworried" "I... I don't think I can do that to you," "he says, his voice filled with concern" "That would be too much.">>
<<narrative "Despite the shock, you both realize that stopping now would mean your friends die. The dungeon voice has made it clear - there's no turning back.">>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/handjob/femboy/1.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/handjob/1.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
<<dialog "Dungeon Voice" "face" "Oh, don't be so dramatic! You should apologize for hurting him," "the voice taunts" "Give it a kiss to make it better.">>
<<dialog "Rylan" "faceshocked" "What?! No way!" "you protest, your face burning with embarrassment">>
<<dialog "Dungeon Voice" "face" "Come now, don't be shy. A little kiss won't kill you," "the voice purrs" "And it might make him feel better.">>
<<narrative "You look at Seryk, seeing the pain in his eyes from your accidental squeeze. Despite your reluctance, you know you need to make amends.">>
<<dialog "Rylan" "faceembarrassed" "I... I'm sorry, Seryk," "you say quietly" "I didn't mean to hurt you.">>
<<narrative "You lean forward reluctantly, your heart pounding as you press your lips against the shaft of his manhood. The taste is unlike anything you've experienced before - slightly salty with an underlying musk that makes your head spin.">>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/handjob/femboy/3.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/handjob/3.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<thought "Rylan" "faceembarrassed" "Oh gods... the smell... it's so strong, so masculine... I can't believe I'm actually doing this.">>
<<narrative "The moment your lips touch him, you can feel Seryk's body tense with surprise. Despite the circumstances, there's an undeniable intimacy in the act that makes your own body respond.">>
<<dialog "Dungeon Voice" "face" "Very nice! Now kiss the tip too," "the voice demands with growing excitement" "Show him how sorry you really are.">>
<<narrative "You hesitate for a moment, but the dungeon voice's command leaves no room for refusal. You lean forward again, this time focusing on the sensitive tip of his manhood.">>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/handjob/femboy/4.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/handjob/4.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<thought "Rylan" "faceembarrassed" "This is so wrong... but why does it feel so... right? His taste is intoxicating, and I can't stop thinking about it.">>
<<narrative "The taste is even more intense at the tip, and you find yourself lingering longer than necessary. Despite your internal conflict, you can't deny the strange arousal building within you.">>
<<dialog "Seryk" "faceembarrassed" "I... I can't believe this is happening," "he gasps, his voice filled with conflicting emotions">>
<<thought "Rylan" "faceworried" "Neither can I... but I can't stop. His size is so impressive, and the way he responds to my touch... it's making me feel things I never expected.">>
<<narrative "You continue to work on him with your hands, the combination of touch and taste creating an intoxicating experience. Despite the forced nature of the situation, you find yourself getting lost in the sensations.">>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/handjob/femboy/3.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/handjob/3.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<thought "Rylan" "faceembarrassed" "I'm getting more and more horny... the smell, the taste, the way he feels in my hands... Seryk is such a big, strong guy, but right now I have him completely under my control.">>
<<narrative "The power dynamic is intoxicating. Despite Seryk's physical strength and size, you hold him completely in your hands, and the realization sends shivers down your spine.">>
<<dialog "Dungeon Voice" "face" "Excellent! Now it's time for the real fun," "the voice announces with obvious delight" "You should get ready for penetration. With a size like that, it's going to hurt, so you'd better lick it to get it nice and wet with your saliva.">>
<<dialog "Rylan" "faceshocked" "What?! I can't... I mean... that's too much!" "you protest, your face burning with embarrassment">>
<<dialog "Seryk" "faceworried" "I... I don't think I can do that to you," "he says, his voice filled with concern" "It would be too painful.">>
<<dialog "Dungeon Voice" "face" "Oh, don't be such a baby! Your friends are counting on you," "the voice taunts" "And besides, the pain will make it more exciting.">>
<<narrative "You look at Seryk, seeing the conflict in his eyes. Despite his protests, you know this is the only way to save your friends. The dungeon voice has made it clear - there's no turning back now.">>
<<dialog "Rylan" "faceembarrassed" "I... I'll do it," "you say quietly, your voice barely above a whisper" "For our friends.">>
<<continueBox "Ch6SerykDungeonSex5" "Continue" "The blowjob begins...">>
</div>
<</nobr>>
<<pov "rylan" "gayscene.mp3">><<nobr>>
<div class="passage-container rylan">
<<playLoopingSounds "sounds/hsounds/seryk/moan.mp3" "sounds/hsounds/kiss.wav" 1>>
<<narrative "You kneel down before Seryk, your heart pounding as you prepare to take him into your mouth. The reality of what you're about to do hits you like a wave, but you know there's no turning back.">>
<<thought "Rylan" "faceworried" "This is insane... I'm about to... to put his... in my mouth. I can't believe this is happening.">>
<<narrative "You lean forward, your lips parting as you attempt to take him into your mouth. The sheer size of him makes it nearly impossible - you can barely fit the tip past your lips.">>
<<thought "Rylan" "faceshocked" "Oh gods... he's so big! I can barely get the tip in my mouth. How am I supposed to do this?">>
<<quickRoll "Blowjob Resistance" "Rylan" 50 5 "SalivaFetish" 5>>
<<if not _tempRollSuccess>>
<<narrative "Despite the difficulty, you find yourself getting lost in the sensation. The taste is overwhelming, but you can't deny the strange arousal building within you.">>
<<changeFetish "Rylan" "SalivaFetish" 0.4>>
<<changeAttraction "Rylan" "Seryk" 0.4>>
<</if>>
<<changeFetish "Rylan" "GayValue" 0.3>>
<<quickSexTrack "blowjob" "Rylan" "Seryk" 1>>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/blowjob/femboy/1.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/blowjob/1.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<narrative "The taste is unlike anything you've experienced before - a unique blend of salt and musk that makes your head spin. Despite the circumstances, you find yourself responding to the sensation in ways you never expected.">>
<<thought "Rylan" "faceembarrassed" "The taste... it's so strong... I can't believe how much I'm enjoying this. What's wrong with me?">>
<<narrative "You work on him with your mouth, your tongue exploring every inch you can reach. The sensation of his warm, firm flesh against your tongue is intoxicating, and you find yourself craving more.">>
<<dialog "Seryk" "faceembarrassed" "I... I can't believe this is happening," "he gasps, his voice filled with conflicting emotions" "You don't have to...">>
<<thought "Rylan" "faceembarrassed" "But I want to... I can't stop myself. The more I taste him, the more I want. This is so wrong, but it feels so right.">>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/blowjob/femboy/2.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/blowjob/2.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<narrative "You become more and more horny as you work on him, the combination of smell and taste creating an intoxicating experience. Despite your inexperience, you find yourself getting lost in the sensations.">>
<<thought "Rylan" "faceembarrassed" "I'm getting so aroused... the smell, the taste, the way he feels in my mouth... I never knew I could feel this way about another man.">>
<<narrative "Your technique improves as you continue, your mouth working more confidently around his impressive size. You can feel Seryk's body responding to your touch, his breathing becoming heavier.">>
<<dialog "Seryk" "faceembarrassed" "I... I'm getting close," "he gasps, his voice filled with conflicting emotions" "I don't know if I can hold back much longer.">>
<<thought "Rylan" "faceworried" "He's getting close? But the dungeon voice said I shouldn't make him finish yet... I need to be careful.">>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/blowjob/femboy/3.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/blowjob/3.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<narrative "You slow down your movements, trying to control the pace to prevent him from finishing too soon.">>
<<thought "Rylan" "faceembarrassed" "I can't let him finish yet. But the way he feels in my mouth... it's so hard to resist.">>
<<narrative "Despite your efforts to control the pace, you find yourself getting more and more aroused. The taste of his pre-cum is sweet and intoxicating, and you can't help but swallow every drop.">>
<<dialog "Dungeon Voice" "face" "Very nice! I can see you're both getting into it now," "the voice observes with delight" "But remember - save the big finish for later. We have much more fun planned.">>
<<thought "Rylan" "faceworried" "More fun? What else could he possibly want from us? I'm already doing things I never thought possible.">>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/blowjob/femboy/4.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/blowjob/4.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<narrative "You continue to work on him. Despite the forced nature of the situation, you can't deny the strange connection forming between you.">>
<<dialog "Seryk" "faceembarrassed" "I... I can't hold back much longer," "he gasps, his voice filled with conflicting emotions" "I need to...">>
<<narrative "You pull back just in time, your mouth leaving him with a wet, glistening coating of saliva. The sight of him, hard and ready, sends shivers down your spine.">>
<<dialog "Dungeon Voice" "face" "Perfect! Now you're ready for the main event," "the voice announces with obvious delight" "Time for the real fun to begin.">>
<<narrative "You look up at Seryk, seeing the same conflicted emotions in his eyes that you're feeling. Despite everything, you know this is far from over.">>
<<continueBox "Ch6SerykDungeonSex6" "Continue" "....">>
</div>
<</nobr>>
<<pov "rylan" "gayscene.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<dialog "Dungeon Voice" "face" "Now for the main event!" "the voice announces with obvious delight" "Get on the bed, $humanName, and assume the position.">>
<<narrative "Your heart pounds as you climb onto the luxurious bed, positioning yourself on all fours. The silk sheets feel cool against your skin, but nothing can calm the storm of emotions raging inside you.">>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/femboy/prepare1.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/prepare1.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<dialog "Seryk" "faceembarrassed" "I'm so sorry, $humanName," "he says, his voice heavy with shame" "I never wanted to put you through this.">>
<<dialog "Dungeon Voice" "face" "Wait! Stop right there!" "the voice interrupts" "Look under the bed first.">>
<<narrative "Seryk hesitates, then kneels down and reaches under the bed. When he pulls his hand back, he's holding a small vial of clear, viscous liquid.">>
<<dialog "Seryk" "faceconfused" "What is this?" "he asks, examining the mysterious substance">>
<<dialog "Dungeon Voice" "face" "Lubricant, of course!" "the voice laughs" "You didn't think I'd let you hurt him, did you?">>
<<dialog "Rylan" "faceangry" "What?! I wouldn't have to lubricate his dick!" "you protest, your face burning with indignation">>
<<dialog "Dungeon Voice" "face" "Don't sweat the small stuff," "the voice taunts with obvious amusement">>
<<dialog "Rylan" "faceangry" "It isn't small!" "you snap back, your voice filled with frustrated pride">>
<<narrative "Seryk's face flushes with embarrassment as he uncorks the vial. The lubricant has a faint, pleasant scent that makes your head spin slightly.">>
<<dialog "Seryk" "faceembarrassed" "I... I need to prepare you," "he says quietly" "This will make it easier for both of us.">>
<<narrative "Seryk coats his impressive length with the slick substance, then moves behind you. You feel his warm hands spreading your cheeks apart, exposing your most intimate area.">>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/femboy/prepare2.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/prepare2.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
<<thought "Rylan" "faceembarrassed" "This is so humiliating... but why does my body feel so hot?">>
<<narrative "The lubricant feels cool against your skin as Seryk applies it carefully. His touch is surprisingly gentle, almost tender, as he works the substance into your tight opening.">>
<<dialog "Seryk" "faceembarrassed" "I'll be as gentle as I can," "he whispers" "Try to relax.">>
<<narrative "Despite the circumstances, you find yourself responding to his careful preparation. The lubricant makes everything feel slick and warm, and you can't deny the strange arousal building within you.">>
<<dialog "Dungeon Voice" "face" "Perfect! Now you're both ready," "the voice announces" "Time for the real fun to begin!">>
<<continueBox "Ch6SerykDungeonSex7" "Continue" "...">>
</div>
<</nobr>>
<<pov "rylan" "gayscene.mp3">><<nobr>>
<div class="passage-container rylan">
<<playLoopingSounds "sounds/hsounds/rylan/male/moan.mp3" "sounds/hsounds/seryk/moan.mp3" "sounds/hsounds/sex.mp3" 1>>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/femboy/imminent.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/imminent.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
<<narrative "Seryk positions himself behind you, his hands gripping your hips as he prepares to enter you. Despite the lubricant, the sheer size of him makes your heart race with both fear and anticipation.">>
<<narrative "He begins to push inside slowly, and the initial stretch is overwhelming. You bite your lip to suppress a cry as the pain spreads through your body, your muscles tensing against the invasion.">>
<<dialog "Seryk" "faceworried" "Are you okay?" "he asks gently" "I can stop if it's too much.">>
<<narrative "You shake your head, determined to see this through. Seryk continues pushing in slowly, inch by inch, and you can feel the pain gradually spreading as he fills you completely.">>
<<dialog "Rylan" "faceembarrassed" "It... it hurts," "you gasp" "But keep going...">>
<<narrative "Seryk nods and begins to move with slow, gentle thrusts. The pain is intense at first, but gradually you start to feel something else - a strange pleasure mixed with the discomfort.">>
<<changeFetish "Rylan" "SubmissionFetish" 0.4>>
<<changeFetish "Rylan" "GayValue" 0.3>>
<<changeAttraction "Rylan" "Seryk" 0.3>>
<<changeFetish "Seryk" "DominanceFetish" 0.3>>
<<changeFetish "Seryk" "GayValue" 0.2>>
<<changeAttraction "Seryk" "Rylan" 0.3>>
<<changeAffection "Seryk" "Rylan" 0.2>>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/femboy/1.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/1.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<narrative "The pain begins to transform into something else - a strange, intoxicating pleasure that makes your head spin. You can feel yourself starting to respond to his movements.">>
<<thought "Rylan" "faceembarrassed" "Oh gods... the pain is fading... and it's starting to feel... good?">>
<<narrative "Seryk's thrusts become slightly more confident as he feels you relaxing. The pleasure begins to outweigh the pain, and you find yourself moaning softly with each movement.">>
<<dialog "Seryk" "faceembarrassed" "You're doing great," "he whispers" "How does it feel now?">>
<<narrative "You press back against him, encouraging him to go deeper. The sensation is overwhelming - pain mixed with pleasure in a way you never expected.">>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/femboy/2.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/2.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<narrative "As Seryk gains confidence, his thrusts become more assertive. The pain has almost completely faded now, replaced by waves of pleasure that make your body tremble.">>
<<thought "Rylan" "faceembarrassed" "I can't believe how good this feels... I'm actually enjoying being taken like this.">>
<<narrative "Seryk's demeanor changes as he becomes more dominant. His hands grip your hips tighter, pulling you back onto him with increasing force. The gentle concern in his voice is replaced by something more primal.">>
<<dialog "Seryk" "faceconfident" "You feel incredible," "he growls" "I can't stop myself anymore.">>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/femboy/3.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/3.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<narrative "The pace quickens as Seryk becomes more aggressive. His thrusts are harder, more demanding, and you find yourself completely lost in the sensation. The bed creaks beneath you as he pounds into you with increasing intensity.">>
<<thought "Rylan" "faceembarrassed" "I'm getting so close... the way he's dominating me... I've never felt anything like this.">>
<<narrative "Seryk's thrusts become more urgent and desperate. You can feel him getting closer to his climax, and the knowledge that he's losing control sends shivers down your spine.">>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/femboy/4.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/4.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<narrative "The intensity reaches its peak as both of you approach your limits. The pleasure is overwhelming, consuming every thought and sensation.">>
<<dialog "Seryk" "faceembarrassed" "I'm... I'm going to cum," "he gasps" "I can't hold back anymore.">>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/femboy/5.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/5.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
<<narrative "You feel yourself on the edge as well, your body trembling with anticipation. The moment is approaching, and you know there's no turning back.">>
<<continueBox "Ch6SerykDungeonSexCum" "Continue" "The climax approaches...">>
</div>
<</nobr>>
<<pov "rylan" "gayscene.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/seryk/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 1000)>>
<<narrative "The moment of climax hits you both simultaneously. Seryk's powerful thrusts reach their peak as he releases deep inside you, his seed filling you completely.">>
<<narrative "The sensation of being filled with his cum triggers your own orgasm. Your body convulses with pleasure as you release, the intensity overwhelming every sense.">>
<<changeFetish "Rylan" "CumAddiction" 0.5>>
<<changeFetish "Rylan" "GayValue" 0.4>>
<<changeAttraction "Rylan" "Seryk" 0.4>>
<<changeAffection "Rylan" "Seryk" 0.3>>
<<changeFetish "Seryk" "DominanceFetish" 0.4>>
<<changeFetish "Seryk" "GayValue" 0.3>>
<<changeAttraction "Seryk" "Rylan" 0.4>>
<<changeAffection "Seryk" "Rylan" 0.3>>
<<quickSexTrack "orgasm" "Seryk" "Rylan" 1>>
<<quickSexTrack "cuminside" "Seryk" "Rylan" 1>>
<<changeFetish "Rylan" "CumAddiction" 0.3>>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/femboy/cum.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/cum.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<narrative "The orgasm is unlike anything you've ever experienced. The combination of being filled and the intense physical pleasure sends you over the edge, your body trembling with ecstasy.">>
<<thought "Rylan" "faceembarrassed" "Oh gods... I came... I actually came from being fucked by another man...">>
<<narrative "Seryk collapses on top of you, his breathing heavy and labored. You can feel his cum leaking out of you, the warm, sticky sensation both humiliating and strangely satisfying.">>
<<cumNeedChange "Rylan" -100>>
<<dialog "Seryk" "faceembarrassed" "I... I'm so sorry," "he gasps" "I never meant for this to happen.">>
<<narrative "Seryk slowly pulls out of you, and you can feel his warm cum beginning to leak from your ass. The sensation is both humiliating and strangely satisfying as it trickles down your thighs.">>
<center>
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/femboy/aftermath.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/sex/aftermath.webp" style="max-width: 500px; border-radius: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3);">
<</if>>
</center>
<<if not $serykDungeonSexVisited>>
<<if not $rylanGayCuriosity>><<set $rylanGayCuriosity = 0>><</if>>
<<if not $serykGayCuriosity>><<set $serykGayCuriosity = 0>><</if>>
<<trackOther "Rylan" "GayCuriosity" 1>>
<<trackOther "Seryk" "GayCuriosity" 1>>
<<set $rylanGayCuriosity += 1>>
<<set $serykGayCuriosity += 1>>
<<set $serykDungeonSexVisited = true>>
<</if>>
<<if not $rylanFirstAnalTaken>>
<<quickSexTrack "anal" "Seryk" "Rylan" 1>>
<<narrative "As the reality of what just happened sinks in, you realize this was your first time. The weight of that knowledge hits you like a physical blow.">>
<<dialog "Rylan" "faceembarrassed" "That was... my first time," "you whisper, your voice barely audible">>
<<dialog "Seryk" "facesad" "Oh gods... I'm so sorry," "he says, his voice filled with genuine remorse" "I never wanted to take something so important from you like this.">>
<<narrative "You look at each other, the gravity of the moment hanging between you. How do you really feel about your first time being taken by Seryk?">>
<<choiceBox "How do you feel about your first time?" "Not so bad actually" "Ch6SerykDungeonSexFirstTimeGood" "Ch6SerykDungeonSexCum=good" "I hate it" "Ch6SerykDungeonSexFirstTimeBad" "Ch6SerykDungeonSexCum=bad">>
<<else>>
<<quickSexTrack "anal" "Seryk" "Rylan" 1>>
<<narrative "The dungeon voice remains silent as you both recover from the intense experience. The room feels different now, charged with the energy of what just transpired.">>
<<dialog "Dungeon Voice" "face" "Excellent work, both of you!" "the voice finally speaks" "You've completed my little game. Your friends are safe, and you're free to go.">>
<<narrative "As the voice speaks, a door materializes in the wall. Your clothes appear on the bed beside you, clean and ready to wear.">>
<<dialog "Seryk" "faceembarrassed" "I... I don't know what to say," "he says quietly" "I never wanted to force this on you.">>
<<narrative "You look at each other, the weight of what happened hanging between you. Despite the circumstances, there's something unspoken in the air - a connection that neither of you expected.">>
<<continueBox "Ch6SerykDungeonSexEnd" "Continue" "The ordeal is over...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "gayscene.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "In a flash of light, you and Seryk are teleported back to the dungeon corridor, fully clothed. Your friends are standing there, completely unharmed.">>
<<dialog "Mariel" "facehappy" "There you are!" "she exclaims with relief" "We were worried about you two.">>
<<dialog "Liora" "faceworriedshortpink" "Are you both okay?" "she asks with concern" "You look... different somehow.">>
<<dialog "Nimeria" "facesmirk" "Oh my, what happened to you two?" "she asks with a smile" "You both look quite... flushed.">>
<<dialog "Rylan" "faceconfused" "How long were we gone?" "you ask, still processing what happened">>
<<dialog "Thalor" "faceserious" "About three minutes," "he replies" "Why?">>
<<dialog "Rylan" "faceangry" "I thought you guys were injured! The dungeon voice said there was blood!" "you protest, your frustration boiling over">>
<<dialog "Serin" "facesmirk" "Not against this small fry," "she laughs, gesturing to the defeated goblin corpses" "They were no match for us.">>
<<narrative "You and Seryk exchange a look, both realizing you were completely tricked by the dungeon's magical trap.">>
<<dialog "Rylan" "faceangry" "I'm going to destroy that dungeon!">>
<<narrative "The group continues deeper into the dungeon, but the weight of what happened between you and Seryk hangs in the air, unspoken but impossible to ignore.">>
<<continueBox "MorningActivityChoicesNext" "Continue" "The adventure continues...">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<div class="passage-container rylan">
<<dialog "Rylan" "facesad" "It's okay," "you say quietly" "Not as if we could undo it. Let's just forget about it.">>
<<narrative "Seryk nods solemnly, understanding the weight of your words. There's an awkward silence between you both.">>
<<continueBox "Ch6SerykDungeonSexEnd" "Continue" "The ordeal is over...">>
<<soulCorruptionAnimation "rylan" 1>>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<div class="passage-container rylan">
<<dialog "Rylan" "faceembarrassed" "It's okay," "you say quietly" "I don't feel bad about it.">>
<<narrative "Seryk nods, relief visible in his eyes. Despite the circumstances, there's a sense of understanding between you both.">>
<<narrative "You feel a strange connection to Seryk now - something deeper than friendship, forged through the intimate experience you just shared.">>
<<continueBox "Ch6SerykDungeonSexEnd" "Continue" "The ordeal is over...">>
<<if not $rylanSerykLove>><<set $rylanSerykLove = 0>><</if>>
<<set $rylanSerykLove += 1>>
<<set $humanNameHaremMindset += 1>>
<<trackOther "Rylan x Seryk:" "Love" 1>>
<script>
setTimeout(function() {
const animation = document.getElementById('relationshipChangeAnimation');
if (animation) {
animation.style.display = 'block';
setTimeout(function() {
animation.style.display = 'none';
}, 3000);
}
}, 100);
</script>
<style>
@keyframes relationshipPulse {
0% { transform: translate(-50%, -50%) scale(0.5); opacity: 0; }
20% { transform: translate(-50%, -50%) scale(1.2); opacity: 1; }
50% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
80% { transform: translate(-50%, -50%) scale(1.2); opacity: 1; }
100% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
}
</style>
<<soulBlessingAnimation "rylan" 1>>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "As I finish getting dressed, I realize that this is just the beginning of a much larger journey. The world around me is changing, and I need to understand how these new systems work.">>
<center><img src="images/landscapes/rylanhouse.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<div style="background: linear-gradient(135deg, rgba(25, 25, 35, 0.95), rgba(45, 45, 55, 0.98)); border: 3px solid rgba(100, 100, 100, 0.6); border-radius: 15px; padding: 30px; margin: 30px 0; box-shadow: 0 8px 25px rgba(0,0,0,0.4);">
<div style="text-align: center; margin-bottom: 25px;">
<h2 style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🎓 Sandbox & System Tutorial</h2>
<p style="color: #B0B0B0; font-size: 1.2em; margin: 0; font-style: italic;">Welcome to the next phase of your journey</p>
</div>
<div style="background: rgba(255, 255, 255, 0.05); border-radius: 10px; padding: 20px; margin: 20px 0; border-left: 4px solid #FFD700;">
<h3 style="color: #FFD700; margin: 0 0 15px 0; font-size: 1.4em;">🌟 New Sandbox Elements</h3>
<p style="color: #E6E6FA; margin: 0 0 15px 0; line-height: 1.6; font-size: 1.1em;">From this chapter onward, you'll gradually be introduced to more sandbox elements that give you greater control over your character's development and story progression. These systems work together to create a more immersive and personalized experience.</p>
</div>
</div>
<div style="background: linear-gradient(135deg, rgba(255, 182, 193, 0.9), rgba(255, 192, 203, 0.95)); border: 3px solid rgba(255, 105, 180, 0.6); border-radius: 15px; padding: 25px; margin: 30px 0; box-shadow: 0 8px 25px rgba(255, 105, 180, 0.3);">
<div style="text-align: center; margin-bottom: 20px;">
<h3 style="color: #8B008B; margin: 0 0 15px 0; font-size: 1.6em; text-shadow: 2px 2px 4px rgba(0,0,0,0.3);">👗 Feminization System</h3>
</div>
<div style="background: rgba(255, 255, 255, 0.2); border-radius: 10px; padding: 20px; margin: 15px 0;">
<p style="color: #4B0082; font-size: 1.1em; margin: 0 0 15px 0; line-height: 1.6; font-weight: 500;">As you've just experienced (if you are on the feminization route), wearing feminine clothing will gradually reduce your masculinity over time. This is a slow, natural process that reflects your growing comfort with feminine expression.</p>
</div>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 20px 0;">
<div style="background: rgba(255, 255, 255, 0.15); border-radius: 10px; padding: 15px; border-left: 4px solid #FF69B4;">
<h4 style="color: #8B008B; margin: 0 0 10px 0; font-size: 1.2em;">🎭 Stage Progression</h4>
<p style="color: #4B0082; margin: 0; font-size: 0.95em; line-height: 1.5;">Your masculinity decreases in stages, each with its own limit. Currently at <strong>Stage 1</strong> with a minimum of <strong>30 masculinity</strong>.</p>
</div>
<div style="background: rgba(255, 255, 255, 0.15); border-radius: 10px; padding: 15px; border-left: 4px solid #DA70D6;">
<h4 style="color: #8B008B; margin: 0 0 10px 0; font-size: 1.2em;">⏰ Time-Based Changes</h4>
<p style="color: #4B0082; margin: 0; font-size: 0.95em; line-height: 1.5;">Every time you advance through the day while wearing feminine clothing, your masculinity will naturally decrease by a small amount.</p>
</div>
</div>
<div style="background: rgba(255, 255, 255, 0.1); border-radius: 10px; padding: 15px; margin: 15px 0; border: 2px dashed rgba(255, 105, 180, 0.4);">
<h4 style="color: #8B008B; margin: 0 0 10px 0; font-size: 1.2em; text-align: center;">🌟 Current Chapter: Automatic Progress</h4>
<p style="color: #4B008B; margin: 0; font-size: 0.95em; line-height: 1.5; text-align: center;">Since this chapter introduces the system, you'll automatically reach the Stage 1 limit (30 masculinity) through natural story progression. In future chapters, you may need to actively participate in feminine activities to continue your transformation.</p>
</div>
</div>
<div style="background: linear-gradient(135deg, rgba(255, 69, 0, 0.9), rgba(255, 140, 0, 0.95)); border: 3px solid rgba(255, 69, 0, 0.6); border-radius: 15px; padding: 25px; margin: 30px 0; box-shadow: 0 8px 25px rgba(255, 69, 0, 0.3);">
<div style="text-align: center; margin-bottom: 20px;">
<h3 style="color: #8B0000; margin: 0 0 15px 0; font-size: 1.6em; text-shadow: 2px 2px 4px rgba(0,0,0,0.3);">💦 Cum Addiction System</h3>
</div>
<div style="background: rgba(255, 255, 255, 0.2); border-radius: 10px; padding: 20px; margin: 15px 0;">
<p style="color: #8B0000; font-size: 1.1em; margin: 0 0 15px 0; line-height: 1.6; font-weight: 500;">This system has been active from the beginning, but now you'll have more control over it. Certain characters can develop an addiction to specific types of cum with unique properties.</p>
</div>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 20px 0;">
<div style="background: rgba(255, 255, 255, 0.15); border-radius: 10px; padding: 15px; border-left: 4px solid #FF4500;">
<h4 style="color: #8B0000; margin: 0 0 10px 0; font-size: 1.2em;">👁️ Visual Indicators</h4>
<p style="color: #8B0000; margin: 0; font-size: 0.95em; line-height: 1.5;">Check the right sidebar, or hover over face images on the left sidebar to see current cum need levels. Look for the 💦 emoji indicator!</p>
</div>
<div style="background: rgba(255, 255, 255, 0.15); border-radius: 10px; padding: 15px; border-left: 4px solid #FF6347;">
<h4 style="color: #8B0000; margin: 0 0 10px 0; font-size: 1.2em;">🧬 Addictive Properties</h4>
<p style="color: #8B0000; margin: 0; font-size: 0.95em; line-height: 1.5;">Currently, only Mariel (Seryk NTR route) and $humanName (Nimeria cum kiss) can develop addictions to specific cum types.</p>
</div>
</div>
<div style="background: rgba(255, 255, 255, 0.1); border-radius: 10px; padding: 15px; margin: 15px 0; border: 2px dashed rgba(255, 69, 0, 0.4);">
<h4 style="color: #8B0000; margin: 0 0 10px 0; font-size: 1.2em; text-align: center;">⚡ Addiction Mechanics</h4>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin: 10px 0;">
<div style="background: rgba(255, 255, 255, 0.1); border-radius: 8px; padding: 10px;">
<p style="color: #8B0000; margin: 0; font-size: 0.9em; line-height: 1.4;"><strong>Higher Addiction = Faster Need Increase</strong><br>Your cum addiction level determines how quickly your cum need rises.</p>
</div>
<div style="background: rgba(255, 255, 255, 0.1); border-radius: 8px; padding: 10px;">
<p style="color: #8B0000; margin: 0; font-size: 0.9em; line-height: 1.4;"><strong>80+ Need = Lust Jump</strong><br>When cum need reaches 80+, your lust automatically jumps to 50+ and resistance becomes much harder.</p>
</div>
</div>
</div>
<div style="background: rgba(255, 255, 255, 0.1); border-radius: 10px; padding: 15px; margin: 15px 0; border: 2px solid rgba(255, 69, 0, 0.4);">
<h4 style="color: #8B0000; margin: 0 0 10px 0; font-size: 1.2em; text-align: center;">🔄 Updated Progression System</h4>
<p style="color: #8B0000; margin: 0; font-size: 0.95em; line-height: 1.5; text-align: center;"><strong>IMPORTANT CHANGE:</strong> Cum need now only increases during time changes, not every passage. This gives you more control over when addiction progresses.</p>
</div>
<div style="background: rgba(255, 255, 255, 0.1); border-radius: 10px; padding: 15px; margin: 15px 0; border: 2px solid rgba(255, 69, 0, 0.4);">
<h4 style="color: #8B0000; margin: 0 0 10px 0; font-size: 1.2em; text-align: center;">💊 Recovery & Future Options</h4>
<p style="color: #8B0000; margin: 0; font-size: 0.95em; line-height: 1.5; text-align: center;">Coming in contact with addictive cum resets your need to 0 but increases your addiction further. Later chapters will introduce ways to reduce addiction levels.</p>
</div>
<div style="background: rgba(255, 255, 255, 0.1); border-radius: 10px; padding: 15px; margin: 15px 0; border: 2px solid rgba(255, 69, 0, 0.4);">
<h4 style="color: #8B0000; margin: 0 0 10px 0; font-size: 1.2em; text-align: center;">🔥 High Lust Visual Effects</h4>
<p style="color: #8B0000; margin: 0; font-size: 0.95em; line-height: 1.5; text-align: center;">When lust reaches 50+, character images change to show blushing, sweaty skin, and more aroused expressions. Higher lust also makes all sexual acts much harder to resist!</p>
</div>
</div>
<div style="background: linear-gradient(135deg, rgba(138, 43, 226, 0.9), rgba(75, 0, 130, 0.95)); border: 3px solid rgba(138, 43, 226, 0.6); border-radius: 15px; padding: 25px; margin: 30px 0; box-shadow: 0 8px 25px rgba(138, 43, 226, 0.3);">
<div style="text-align: center; margin-bottom: 20px;">
<h3 style="color: #E6E6FA; margin: 0 0 15px 0; font-size: 1.6em; text-shadow: 2px 2px 4px rgba(0,0,0,0.3);">⏰ Story Progression System</h3>
</div>
<div style="background: rgba(255, 255, 255, 0.2); border-radius: 10px; padding: 20px; margin: 15px 0;">
<p style="color: #E6E6FA; font-size: 1.1em; margin: 0 0 15px 0; line-height: 1.6; font-weight: 500;">The story now operates on a structured time system with multiple daily time slots. During these periods, you're free to choose from available activities, though some time slots may be overridden by important story events.</p>
</div>
<div style="display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 15px; margin: 20px 0;">
<div style="background: rgba(255, 255, 255, 0.15); border-radius: 10px; padding: 15px; border-left: 4px solid #9370DB;">
<h4 style="color: #E6E6FA; margin: 0 0 10px 0; font-size: 1.1em;">🌅 Morning</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; line-height: 1.4;">Free time to choose from available activities.</p>
</div>
<div style="background: rgba(255, 255, 255, 0.15); border-radius: 10px; padding: 15px; border-left: 4px solid #8A2BE2;">
<h4 style="color: #E6E6FA; margin: 0 0 10px 0; font-size: 1.1em;">☀️ Noon</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; line-height: 1.4;">Free time to choose from available activities.</p>
</div>
<div style="background: rgba(255, 255, 255, 0.15); border-radius: 10px; padding: 15px; border-left: 4px solid #7B68EE;">
<h4 style="color: #E6E6FA; margin: 0 0 10px 0; font-size: 1.1em;">🌆 Afternoon</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; line-height: 1.4;">Free time to choose from available activities.</p>
</div>
</div>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin: 20px 0;">
<div style="background: rgba(255, 255, 255, 0.15); border-radius: 10px; padding: 15px; border-left: 4px solid #6A5ACD;">
<h4 style="color: #E6E6FA; margin: 0 0 10px 0; font-size: 1.1em;">🌇 Evening</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; line-height: 1.4;">Free time to choose from available activities.</p>
</div>
<div style="background: rgba(255, 255, 255, 0.15); border-radius: 10px; padding: 15px; border-left: 4px solid #483D8B;">
<h4 style="color: #E6E6FA; margin: 0 0 10px 0; font-size: 1.1em;">🌙 Night</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; line-height: 1.4;">Special time for Nimeria's dream corruption mischief (does this girl even sleep? No wonder she's so pale...).</p>
</div>
</div>
<div style="background: rgba(255, 255, 255, 0.1); border-radius: 10px; padding: 15px; margin: 15px 0; border: 2px dashed rgba(138, 43, 226, 0.4);">
<h4 style="color: #E6E6FA; margin: 0 0 10px 0; font-size: 1.2em; text-align: center;">🎯 Activity Management</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.95em; line-height: 1.5; text-align: center;">During each time slot, you can choose from available activities like dungeon exploration, character visits, or other options. Some time slots may be overridden by important story events that take priority.</p>
</div>
<div style="background: rgba(255, 255, 255, 0.1); border-radius: 10px; padding: 15px; margin: 15px 0; border: 2px solid rgba(138, 43, 226, 0.4);">
<h4 style="color: #E6E6FA; margin: 0 0 10px 0; font-size: 1.2em; text-align: center;">📈 Future Management System</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.95em; line-height: 1.5; text-align: center;">Next chapter will introduce a comprehensive management system. Check Patreon, SubscribeStar, Discord, and F95 for details about upcoming features (contains major story spoilers).</p>
</div>
<div style="background: rgba(255, 255, 255, 0.1); border-radius: 10px; padding: 15px; margin: 15px 0; border: 2px solid rgba(138, 43, 226, 0.4);">
<h4 style="color: #E6E6FA; margin: 0 0 10px 0; font-size: 1.2em; text-align: center;">⚖️ Balanced Progression</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.95em; line-height: 1.5; text-align: center;">Don't worry about micro-management! You'll have enough time to see all content as long as you don't spam dungeon runs. The system is designed to be accessible and enjoyable.</p>
</div>
<div style="background: rgba(255, 255, 255, 0.1); border-radius: 10px; padding: 15px; margin: 15px 0; border: 2px solid rgba(138, 43, 226, 0.4);">
<h4 style="color: #E6E6FA; margin: 0 0 10px 0; font-size: 1.2em; text-align: center;">📝 Current Chapter Note</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.95em; line-height: 1.5; text-align: center;">This chapter introduces the time slot system, so there won't be many activity variations yet. The full range of choices will expand in future chapters as the system develops.</p>
</div>
</div>
<div style="background: linear-gradient(135deg, rgba(0, 100, 0, 0.9), rgba(0, 150, 0, 0.95)); border: 3px solid rgba(0, 100, 0, 0.6); border-radius: 15px; padding: 25px; margin: 30px 0; box-shadow: 0 8px 25px rgba(0, 100, 0, 0.3);">
<div style="text-align: center; margin-bottom: 20px;">
<h3 style="color: #E6E6FA; margin: 0 0 15px 0; font-size: 1.6em; text-shadow: 2px 2px 4px rgba(0,0,0,0.3);">🎮 How to Use These Systems</h3>
</div>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 20px 0;">
<div style="background: rgba(255, 255, 255, 0.15); border-radius: 10px; padding: 15px; border-left: 4px solid #32CD32;">
<h4 style="color: #E6E6FA; margin: 0 0 10px 0; font-size: 1.2em;">👀 Visual Feedback</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.95em; line-height: 1.5;">Watch the right sidebar for stat changes and hover over character faces to see their current needs and status.</p>
</div>
<div style="background: rgba(255, 255, 255, 0.15); border-radius: 10px; padding: 15px; border-left: 4px solid #00FF00;">
<h4 style="color: #E6E6FA; margin: 0 0 10px 0; font-size: 1.2em;">🎯 Strategic Choices</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.95em; line-height: 1.5;">Plan your activities based on your current needs and long-term goals. Each choice matters!</p>
</div>
</div>
<div style="background: rgba(255, 255, 255, 0.1); border-radius: 10px; padding: 15px; margin: 15px 0; border: 2px dashed rgba(0, 100, 0, 0.4);">
<h4 style="color: #E6E6FA; margin: 0 0 10px 0; font-size: 1.2em; text-align: center;">💡 Pro Tips</h4>
<ul style="color: #E6E6FA; margin: 0; font-size: 0.95em; line-height: 1.6; text-align: left; padding-left: 20px;">
<li>Balance dungeon runs with social activities for optimal progression</li>
<li>Pay attention to addiction levels before making important decisions</li>
<li>Watch for visual changes when lust reaches 50+ - characters become more aroused</li>
<li>High lust makes resistance much harder - plan your activities accordingly</li>
</ul>
</div>
</div>
<div style="text-align: center; margin: 40px 0;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.95), rgba(35, 35, 40, 0.98)); border: 3px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 25px; min-width: 280px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); position: relative; overflow: hidden; display: inline-block;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #6B6B6B, #4A4A4A, #2C2C2C);"></div>
<h4 style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Ready to Begin Your "Training"?</h4>
<div style="display: flex; gap: 15px; justify-content: center; flex-wrap: wrap;">
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 8px; padding: 12px; display: inline-block; min-width: 150px;">[[Start Training|Chapter6LustDungeonWalk]]</div>
</div>
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<script>>window.AudioSystem.playBGM('gairosnimeriatalk.mp3');<</script>>
<<nobr>>
<div class="scene-container" style="background: linear-gradient(135deg, rgba(0, 0, 0, 0.95), rgba(25, 25, 50, 0.98), rgba(0, 0, 0, 0.95)); min-height: 100vh; position: relative; border-radius: 0; overflow: hidden;">
<div class="scene-interior" style="position: relative; z-index: 2; padding: 50px; display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 100vh;">
<div style="text-align: center; margin-bottom: 50px; opacity: 0; animation: fadeIn 1.5s ease-in-out forwards;">
<h1 style="color: #E6E6FA; text-shadow: 3px 3px 6px rgba(0,0,0,0.9); margin: 0; font-size: 3.5em; font-weight: bold; letter-spacing: 3px;">Chapter 6</h1>
</div>
<div style="text-align: center; margin-bottom: 80px; opacity: 0; animation: fadeIn 1.5s ease-in-out 0.5s forwards;">
<h2 style="color: #8A2BE2; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0; font-size: 2.8em; font-weight: 300; letter-spacing: 2px;">A Bond Unmade</h2>
</div>
<div style="text-align: center; margin-bottom: 60px; opacity: 0; animation: fadeIn 1.5s ease-in-out 1s forwards;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.9), rgba(35, 35, 40, 0.95)); border: 2px solid rgba(138, 43, 226, 0.6); border-radius: 15px; padding: 30px; max-width: 600px;">
<p style="color: #E6E6FA; font-style: italic; margin: 0; line-height: 1.8; font-size: 1.2em;">*The conversation shifts, but the weight of what was revealed lingers in the air like a dark cloud. Nimeria's mask holds firm, but her heart beats with the knowledge of her father's true intentions...*</p>
</div></div>
<div style="text-align: center; opacity: 0; animation: fadeIn 1.5s ease-in-out 1.5s forwards;">
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.9), rgba(40, 40, 60, 0.95)); border: 2px solid rgba(138, 43, 226, 0.8); border-radius: 12px; padding: 20px; display: inline-block;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.8), rgba(35, 35, 40, 0.9)); border-radius: 8px; padding: 15px;">
<div style="color: #E6E6FA; font-size: 1.1em; margin-bottom: 15px;">Continue to the conversation...</div>
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.3), rgba(75, 0, 130, 0.4)); border-radius: 6px; padding: 12px; display: inline-block; cursor: pointer; transition: all 0.3s ease;">
[[Continue|Chapter6NimeriaGairosRoom]]
</div></div></div></div>
</div></div>
<style>
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
.scene-container {
background-attachment: fixed;
}
.scene-interior {
backdrop-filter: blur(5px);
}
</style>
<script>
setTimeout(() => {
const continueButton = document.querySelector('[onclick]');
if (continueButton) {
continueButton.style.animation = 'fadeIn 1s ease-in-out forwards';
}
}, 2500);
</script>
<</nobr>><<nobr>>
<<if not $dungeonBattleConfig>>
<<set $dungeonBattleConfig = {}>>
<</if>>
<<if not $dungeonBattleConfig.liora>>
<<set $dungeonBattleConfig.liora = {}>>
<<set $dungeonBattleConfig.liora.armpitfetish = true>>
<<set $dungeonBattleConfig.liora.breastfetish = true>>
<<set $dungeonBattleConfig.liora.assfetish = true>>
<<set $dungeonBattleConfig.liora.feetfetish = true>>
<</if>>
<<if not $dungeonBattleConfig.serin>>
<<set $dungeonBattleConfig.serin = {}>>
<<set $dungeonBattleConfig.serin.armpitfetish = true>>
<<set $dungeonBattleConfig.serin.breastfetish = true>>
<<set $dungeonBattleConfig.serin.assfetish = true>>
<<set $dungeonBattleConfig.serin.feetfetish = true>>
<</if>>
<<if not $dungeonBattleConfig.rylan>>
<<set $dungeonBattleConfig.rylan = {}>>
<<set $dungeonBattleConfig.rylan.armpitfetish = true>>
<<set $dungeonBattleConfig.rylan.breastfetish = true>>
<<set $dungeonBattleConfig.rylan.assfetish = true>>
<<set $dungeonBattleConfig.rylan.feetfetish = true>>
<</if>>
<<if not $dungeonBattleConfig.seryk>>
<<set $dungeonBattleConfig.seryk = {}>>
<<set $dungeonBattleConfig.seryk.armpitfetish = true>>
<<set $dungeonBattleConfig.seryk.breastfetish = true>>
<<set $dungeonBattleConfig.seryk.assfetish = true>>
<<set $dungeonBattleConfig.seryk.feetfetish = true>>
<</if>>
<<if not $dungeonBattleConfig.mariel>>
<<set $dungeonBattleConfig.mariel = {}>>
<<set $dungeonBattleConfig.mariel.armpitfetish = true>>
<<set $dungeonBattleConfig.mariel.breastfetish = true>>
<<set $dungeonBattleConfig.mariel.assfetish = true>>
<<set $dungeonBattleConfig.mariel.feetfetish = true>>
<</if>>
<<if not $dungeonBattleConfig.nimeria>>
<<set $dungeonBattleConfig.nimeria = {}>>
<<set $dungeonBattleConfig.nimeria.armpitfetish = true>>
<<set $dungeonBattleConfig.nimeria.breastfetish = true>>
<<set $dungeonBattleConfig.nimeria.assfetish = true>>
<<set $dungeonBattleConfig.nimeria.feetfetish = true>>
<</if>>
<<if not $dungeonBattleConfig.thalor>>
<<set $dungeonBattleConfig.thalor = {}>>
<<set $dungeonBattleConfig.thalor.armpitfetish = true>>
<<set $dungeonBattleConfig.thalor.breastfetish = true>>
<<set $dungeonBattleConfig.thalor.assfetish = true>>
<<set $dungeonBattleConfig.thalor.feetfetish = true>>
<</if>>
<<if not $dungeonBattleConfig.viehzza>>
<<set $dungeonBattleConfig.viehzza = {}>>
<<set $dungeonBattleConfig.viehzza.armpitfetish = true>>
<<set $dungeonBattleConfig.viehzza.breastfetish = true>>
<<set $dungeonBattleConfig.viehzza.assfetish = true>>
<<set $dungeonBattleConfig.viehzza.feetfetish = true>>
<</if>>
<<if not $dungeonBattleConfig.kahrrt>>
<<set $dungeonBattleConfig.kahrrt = {}>>
<<set $dungeonBattleConfig.kahrrt.armpitfetish = true>>
<<set $dungeonBattleConfig.kahrrt.breastfetish = true>>
<<set $dungeonBattleConfig.kahrrt.assfetish = true>>
<<set $dungeonBattleConfig.kahrrt.feetfetish = true>>
<</if>>
<<if not $dungeonBattleConfig.sora>>
<<set $dungeonBattleConfig.sora = {}>>
<<set $dungeonBattleConfig.sora.armpitfetish = true>>
<<set $dungeonBattleConfig.sora.breastfetish = true>>
<<set $dungeonBattleConfig.sora.assfetish = true>>
<<set $dungeonBattleConfig.sora.feetfetish = true>>
<</if>>
<div class="passage-container rylan">
<!-- Header -->
<div style="margin: 20px 0; background: linear-gradient(135deg, rgba(75, 0, 130, 0.15), rgba(138, 43, 226, 0.2)); border: 2px solid rgba(75, 0, 130, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 8px 25px rgba(75, 0, 130, 0.3);">
<h2 style="color: #9370DB; margin: 0 0 15px 0; font-size: 2.5em; text-shadow: 3px 3px 10px rgba(0,0,0,0.8);">⚙️ Dungeon Battle Configuration</h2>
<p style="color: #E6E6FA; margin: 0; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Configure which fetish attacks are available for each character during dungeon battles.</p>
</div>
<!-- Character Configuration Sections -->
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 25px; margin: 30px 0;">
<!-- Liora Configuration -->
<div style="background: linear-gradient(145deg, rgba(255, 192, 203, 0.15), rgba(255, 182, 193, 0.2)); border: 2px solid rgba(255, 192, 203, 0.6); border-radius: 20px; padding: 25px; box-shadow: 0 6px 20px rgba(255, 192, 203, 0.3);">
<div style="text-align: center; margin-bottom: 20px;">
<img src="images/liora/faceshortpink.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h3 style="color: #FFC0CB; margin: 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Liora</h3>
</div>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px;">
<<set _lioraArmpit = $dungeonBattleConfig.liora.armpitfetish>>
<<if _lioraArmpit>>
<button onclick="window.toggleFetishConfig('liora', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Armpit</button>
<<else>>
<button onclick="window.toggleFetishConfig('liora', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Armpit</button>
<</if>>
<<set _lioraBreast = $dungeonBattleConfig.liora.breastfetish>>
<<if _lioraBreast>>
<button onclick="window.toggleFetishConfig('liora', 'breastfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Breast</button>
<<else>>
<button onclick="window.toggleFetishConfig('liora', 'breastfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Breast</button>
<</if>>
<<set _lioraAss = $dungeonBattleConfig.liora.assfetish>>
<<if _lioraAss>>
<button onclick="window.toggleFetishConfig('liora', 'assfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Ass</button>
<<else>>
<button onclick="window.toggleFetishConfig('liora', 'assfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Ass</button>
<</if>>
<<set _lioraFeet = $dungeonBattleConfig.liora.feetfetish>>
<<if _lioraFeet>>
<button onclick="window.toggleFetishConfig('liora', 'feetfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Feet</button>
<<else>>
<button onclick="window.toggleFetishConfig('liora', 'feetfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Feet</button>
<</if>>
</div>
</div>
<!-- Serin Configuration -->
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.15), rgba(255, 20, 147, 0.2)); border: 2px solid rgba(255, 105, 180, 0.6); border-radius: 20px; padding: 25px; box-shadow: 0 6px 20px rgba(255, 105, 180, 0.3);">
<div style="text-align: center; margin-bottom: 20px;">
<img src="images/serin/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h3 style="color: #FF69B4; margin: 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Serin</h3>
</div>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px;">
<<set _serinArmpit = $dungeonBattleConfig.serin.armpitfetish>>
<<if _serinArmpit>>
<button onclick="window.toggleFetishConfig('serin', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Armpit</button>
<<else>>
<button onclick="window.toggleFetishConfig('serin', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Armpit</button>
<</if>>
<<set _serinBreast = $dungeonBattleConfig.serin.breastfetish>>
<<if _serinBreast>>
<button onclick="window.toggleFetishConfig('serin', 'breastfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Breast</button>
<<else>>
<button onclick="window.toggleFetishConfig('serin', 'breastfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Breast</button>
<</if>>
<<set _serinAss = $dungeonBattleConfig.serin.assfetish>>
<<if _serinAss>>
<button onclick="window.toggleFetishConfig('serin', 'assfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Ass</button>
<<else>>
<button onclick="window.toggleFetishConfig('serin', 'assfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Ass</button>
<</if>>
<<set _serinFeet = $dungeonBattleConfig.serin.feetfetish>>
<<if _serinFeet>>
<button onclick="window.toggleFetishConfig('serin', 'feetfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Feet</button>
<<else>>
<button onclick="window.toggleFetishConfig('serin', 'feetfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Feet</button>
<</if>>
</div>
</div>
<!-- Rylan Configuration -->
<div style="background: linear-gradient(145deg, rgba(135, 206, 235, 0.15), rgba(70, 130, 180, 0.2)); border: 2px solid rgba(135, 206, 235, 0.6); border-radius: 20px; padding: 25px; box-shadow: 0 6px 20px rgba(135, 206, 235, 0.3);">
<div style="text-align: center; margin-bottom: 20px;">
<<if $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<<else>>
<img src="images/rylan/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<</if>>
<h3 style="color: #87CEEB; margin: 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">$humanName</h3>
</div>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px;">
<<set _rylanArmpit = $dungeonBattleConfig.rylan.armpitfetish>>
<<if _rylanArmpit>>
<button onclick="window.toggleFetishConfig('rylan', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Armpit</button>
<<else>>
<button onclick="window.toggleFetishConfig('rylan', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Armpit</button>
<</if>>
<<set _rylanBreast = $dungeonBattleConfig.rylan.breastfetish>>
<<if _rylanBreast>>
<button onclick="window.toggleFetishConfig('rylan', 'breastfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Breast</button>
<<else>>
<button onclick="window.toggleFetishConfig('rylan', 'breastfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Breast</button>
<</if>>
<<set _rylanAss = $dungeonBattleConfig.rylan.assfetish>>
<<if _rylanAss>>
<button onclick="window.toggleFetishConfig('rylan', 'assfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Ass</button>
<<else>>
<button onclick="window.toggleFetishConfig('rylan', 'assfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Ass</button>
<</if>>
<<set _rylanFeet = $dungeonBattleConfig.rylan.feetfetish>>
<<if _rylanFeet>>
<button onclick="window.toggleFetishConfig('rylan', 'feetfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Feet</button>
<<else>>
<button onclick="window.toggleFetishConfig('rylan', 'feetfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Feet</button>
<</if>>
</div>
</div>
<!-- Seryk Configuration -->
<div style="background: linear-gradient(145deg, rgba(240, 230, 140, 0.15), rgba(255, 215, 0, 0.2)); border: 2px solid rgba(240, 230, 140, 0.6); border-radius: 20px; padding: 25px; box-shadow: 0 6px 20px rgba(240, 230, 140, 0.3);">
<div style="text-align: center; margin-bottom: 20px;">
<img src="images/seryk/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h3 style="color: #F0E68C; margin: 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Seryk</h3>
</div>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px;">
<<set _serykArmpit = $dungeonBattleConfig.seryk.armpitfetish>>
<<if _serykArmpit>>
<button onclick="window.toggleFetishConfig('seryk', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Armpit</button>
<<else>>
<button onclick="window.toggleFetishConfig('seryk', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Armpit</button>
<</if>>
<<set _serykBreast = $dungeonBattleConfig.seryk.breastfetish>>
<<if _serykBreast>>
<button onclick="window.toggleFetishConfig('seryk', 'breastfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Breast</button>
<<else>>
<button onclick="window.toggleFetishConfig('seryk', 'breastfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Breast</button>
<</if>>
<<set _serykAss = $dungeonBattleConfig.seryk.assfetish>>
<<if _serykAss>>
<button onclick="window.toggleFetishConfig('seryk', 'assfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Ass</button>
<<else>>
<button onclick="window.toggleFetishConfig('seryk', 'assfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Ass</button>
<</if>>
<<set _serykFeet = $dungeonBattleConfig.seryk.feetfetish>>
<<if _serykFeet>>
<button onclick="window.toggleFetishConfig('seryk', 'feetfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Feet</button>
<<else>>
<button onclick="window.toggleFetishConfig('seryk', 'feetfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Feet</button>
<</if>>
</div>
</div>
<!-- Mariel Configuration -->
<div style="background: linear-gradient(145deg, rgba(221, 160, 221, 0.15), rgba(186, 85, 211, 0.2)); border: 2px solid rgba(221, 160, 221, 0.6); border-radius: 20px; padding: 25px; box-shadow: 0 6px 20px rgba(221, 160, 221, 0.3);">
<div style="text-align: center; margin-bottom: 20px;">
<img src="images/mariel/stage2/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h3 style="color: #DDA0DD; margin: 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Mariel</h3>
</div>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px;">
<<set _marielArmpit = $dungeonBattleConfig.mariel.armpitfetish>>
<<if _marielArmpit>>
<button onclick="window.toggleFetishConfig('mariel', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Armpit</button>
<<else>>
<button onclick="window.toggleFetishConfig('mariel', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Armpit</button>
<</if>>
<<set _marielBreast = $dungeonBattleConfig.mariel.breastfetish>>
<<if _marielBreast>>
<button onclick="window.toggleFetishConfig('mariel', 'breastfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Breast</button>
<<else>>
<button onclick="window.toggleFetishConfig('mariel', 'breastfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Breast</button>
<</if>>
<<set _marielAss = $dungeonBattleConfig.mariel.assfetish>>
<<if _marielAss>>
<button onclick="window.toggleFetishConfig('mariel', 'assfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Ass</button>
<<else>>
<button onclick="window.toggleFetishConfig('mariel', 'assfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Ass</button>
<</if>>
<<set _marielFeet = $dungeonBattleConfig.mariel.feetfetish>>
<<if _marielFeet>>
<button onclick="window.toggleFetishConfig('mariel', 'feetfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Feet</button>
<<else>>
<button onclick="window.toggleFetishConfig('mariel', 'feetfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Feet</button>
<</if>>
</div>
</div>
<!-- Nimeria Configuration -->
<div style="background: linear-gradient(145deg, rgba(221, 160, 221, 0.15), rgba(186, 85, 211, 0.2)); border: 2px solid rgba(221, 160, 221, 0.6); border-radius: 20px; padding: 25px; box-shadow: 0 6px 20px rgba(221, 160, 221, 0.3);">
<div style="text-align: center; margin-bottom: 20px;">
<img src="images/nimeria/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h3 style="color: #DDA0DD; margin: 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Nimeria</h3>
</div>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px;">
<<set _nimeriaArmpit = $dungeonBattleConfig.nimeria.armpitfetish>>
<<if _nimeriaArmpit>>
<button onclick="window.toggleFetishConfig('nimeria', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Armpit</button>
<<else>>
<button onclick="window.toggleFetishConfig('nimeria', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Armpit</button>
<</if>>
<<set _nimeriaBreast = $dungeonBattleConfig.nimeria.breastfetish>>
<<if _nimeriaBreast>>
<button onclick="window.toggleFetishConfig('nimeria', 'breastfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Breast</button>
<<else>>
<button onclick="window.toggleFetishConfig('nimeria', 'breastfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Breast</button>
<</if>>
<<set _nimeriaAss = $dungeonBattleConfig.nimeria.assfetish>>
<<if _nimeriaAss>>
<button onclick="window.toggleFetishConfig('nimeria', 'assfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Ass</button>
<<else>>
<button onclick="window.toggleFetishConfig('nimeria', 'assfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Ass</button>
<</if>>
<<set _nimeriaFeet = $dungeonBattleConfig.nimeria.feetfetish>>
<<if _nimeriaFeet>>
<button onclick="window.toggleFetishConfig('nimeria', 'feetfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Feet</button>
<<else>>
<button onclick="window.toggleFetishConfig('nimeria', 'feetfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Feet</button>
<</if>>
</div>
</div>
<!-- Thalor Configuration -->
<div style="background: linear-gradient(145deg, rgba(169, 169, 169, 0.15), rgba(128, 128, 128, 0.2)); border: 2px solid rgba(169, 169, 169, 0.6); border-radius: 20px; padding: 25px; box-shadow: 0 6px 20px rgba(169, 169, 169, 0.3);">
<div style="text-align: center; margin-bottom: 20px;">
<img src="images/thalor/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h3 style="color: #A9A9A9; margin: 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Thalor</h3>
</div>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px;">
<<set _thalorArmpit = $dungeonBattleConfig.thalor.armpitfetish>>
<<if _thalorArmpit>>
<button onclick="window.toggleFetishConfig('thalor', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Armpit</button>
<<else>>
<button onclick="window.toggleFetishConfig('thalor', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Armpit</button>
<</if>>
<<set _thalorBreast = $dungeonBattleConfig.thalor.breastfetish>>
<<if _thalorBreast>>
<button onclick="window.toggleFetishConfig('thalor', 'breastfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Breast</button>
<<else>>
<button onclick="window.toggleFetishConfig('thalor', 'breastfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Breast</button>
<</if>>
<<set _thalorAss = $dungeonBattleConfig.thalor.assfetish>>
<<if _thalorAss>>
<button onclick="window.toggleFetishConfig('thalor', 'assfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Ass</button>
<<else>>
<button onclick="window.toggleFetishConfig('thalor', 'assfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Ass</button>
<</if>>
<<set _thalorFeet = $dungeonBattleConfig.thalor.feetfetish>>
<<if _thalorFeet>>
<button onclick="window.toggleFetishConfig('thalor', 'feetfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Feet</button>
<<else>>
<button onclick="window.toggleFetishConfig('thalor', 'feetfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Feet</button>
<</if>>
</div>
</div>
<!-- Viehzza Configuration -->
<div style="background: linear-gradient(145deg, rgba(50, 205, 50, 0.15), rgba(34, 139, 34, 0.2)); border: 2px solid rgba(50, 205, 50, 0.6); border-radius: 20px; padding: 25px; box-shadow: 0 6px 20px rgba(50, 205, 50, 0.3);">
<div style="text-align: center; margin-bottom: 20px;">
<img src="images/viehzza/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h3 style="color: #32CD32; margin: 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Viehzza</h3>
<<if not $goblinBarracksPlaced>>
<p style="color: #FFB6C1; margin: 5px 0 0 0; font-size: 0.9em; font-style: italic;">(Requires Goblin Barracks)</p>
<</if>>
</div>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px;">
<<set _viehzzaArmpit = $dungeonBattleConfig.viehzza.armpitfetish>>
<<if _viehzzaArmpit>>
<button onclick="window.toggleFetishConfig('viehzza', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Armpit</button>
<<else>>
<button onclick="window.toggleFetishConfig('viehzza', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Armpit</button>
<</if>>
<<set _viehzzaBreast = $dungeonBattleConfig.viehzza.breastfetish>>
<<if _viehzzaBreast>>
<button onclick="window.toggleFetishConfig('viehzza', 'breastfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Breast</button>
<<else>>
<button onclick="window.toggleFetishConfig('viehzza', 'breastfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Breast</button>
<</if>>
<<set _viehzzaAss = $dungeonBattleConfig.viehzza.assfetish>>
<<if _viehzzaAss>>
<button onclick="window.toggleFetishConfig('viehzza', 'assfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Ass</button>
<<else>>
<button onclick="window.toggleFetishConfig('viehzza', 'assfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Ass</button>
<</if>>
<<set _viehzzaFeet = $dungeonBattleConfig.viehzza.feetfetish>>
<<if _viehzzaFeet>>
<button onclick="window.toggleFetishConfig('viehzza', 'feetfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Feet</button>
<<else>>
<button onclick="window.toggleFetishConfig('viehzza', 'feetfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Feet</button>
<</if>>
</div>
</div>
<!-- Kahrrt Configuration -->
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.15), rgba(255, 140, 0, 0.2)); border: 2px solid rgba(255, 69, 0, 0.6); border-radius: 20px; padding: 25px; box-shadow: 0 6px 20px rgba(255, 69, 0, 0.3);">
<div style="text-align: center; margin-bottom: 20px;">
<img src="images/kahrrt/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h3 style="color: #FF4500; margin: 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Kahrrt</h3>
<<if not $goblinBarracksPlaced>>
<p style="color: #FFB6C1; margin: 5px 0 0 0; font-size: 0.9em; font-style: italic;">(Requires Goblin Barracks)</p>
<</if>>
</div>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px;">
<<set _kahrrtArmpit = $dungeonBattleConfig.kahrrt.armpitfetish>>
<<if _kahrrtArmpit>>
<button onclick="window.toggleFetishConfig('kahrrt', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Armpit</button>
<<else>>
<button onclick="window.toggleFetishConfig('kahrrt', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Armpit</button>
<</if>>
<<set _kahrrtBreast = $dungeonBattleConfig.kahrrt.breastfetish>>
<<if _kahrrtBreast>>
<button onclick="window.toggleFetishConfig('kahrrt', 'breastfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Breast</button>
<<else>>
<button onclick="window.toggleFetishConfig('kahrrt', 'breastfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Breast</button>
<</if>>
<<set _kahrrtAss = $dungeonBattleConfig.kahrrt.assfetish>>
<<if _kahrrtAss>>
<button onclick="window.toggleFetishConfig('kahrrt', 'assfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Ass</button>
<<else>>
<button onclick="window.toggleFetishConfig('kahrrt', 'assfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Ass</button>
<</if>>
<<set _kahrrtFeet = $dungeonBattleConfig.kahrrt.feetfetish>>
<<if _kahrrtFeet>>
<button onclick="window.toggleFetishConfig('kahrrt', 'feetfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Feet</button>
<<else>>
<button onclick="window.toggleFetishConfig('kahrrt', 'feetfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Feet</button>
<</if>>
</div>
</div>
<!-- Sora Configuration -->
<div style="background: linear-gradient(145deg, rgba(255, 20, 147, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 20, 147, 0.6); border-radius: 20px; padding: 25px; box-shadow: 0 6px 20px rgba(255, 20, 147, 0.3);">
<div style="text-align: center; margin-bottom: 20px;">
<img src="images/sora/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h3 style="color: #FF1493; margin: 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Sora</h3>
<<if not $catHousePlaced>>
<p style="color: #FFB6C1; margin: 5px 0 0 0; font-size: 0.9em; font-style: italic;">(Requires Cat House)</p>
<</if>>
</div>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px;">
<<set _soraArmpit = $dungeonBattleConfig.sora.armpitfetish>>
<<if _soraArmpit>>
<button onclick="window.toggleFetishConfig('sora', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Armpit</button>
<<else>>
<button onclick="window.toggleFetishConfig('sora', 'armpitfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Armpit</button>
<</if>>
<<set _soraBreast = $dungeonBattleConfig.sora.breastfetish>>
<<if _soraBreast>>
<button onclick="window.toggleFetishConfig('sora', 'breastfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Breast</button>
<<else>>
<button onclick="window.toggleFetishConfig('sora', 'breastfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Breast</button>
<</if>>
<<set _soraAss = $dungeonBattleConfig.sora.assfetish>>
<<if _soraAss>>
<button onclick="window.toggleFetishConfig('sora', 'assfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Ass</button>
<<else>>
<button onclick="window.toggleFetishConfig('sora', 'assfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Ass</button>
<</if>>
<<set _soraFeet = $dungeonBattleConfig.sora.feetfetish>>
<<if _soraFeet>>
<button onclick="window.toggleFetishConfig('sora', 'feetfetish')" style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.3), rgba(0, 200, 0, 0.4)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">✅ Feet</button>
<<else>>
<button onclick="window.toggleFetishConfig('sora', 'feetfetish')" style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.3), rgba(200, 0, 0, 0.4)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 10px; padding: 12px; color: white; font-weight: bold; cursor: pointer; transition: all 0.3s ease;">❌ Feet</button>
<</if>>
</div>
</div>
</div>
<!-- Action Buttons -->
<div style="text-align: center; margin: 40px 0;">
<div style="display: flex; gap: 20px; justify-content: center; flex-wrap: wrap;">
<div style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.15), rgba(0, 200, 0, 0.2)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 20px; padding: 25px; box-shadow: 0 6px 20px rgba(0, 255, 0, 0.3);">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('DungeonChoices')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.3em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">🏰 Back to Dungeon</a>
</div>
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<silently>>
<<getDungeonDefenseSystem>>
<<calculateEros>>
<<set $defenseCombatRound = $defenseCombatRound || 0>>
<<set $totalLustDamage = $dungeonLustEffect + ($erosStat || 0)>>
<</silently>>
<div class="passage-container rylan">
<!-- Compact Top Bar -->
<div style="margin: 20px 0; background: linear-gradient(135deg, rgba(0, 0, 0, 0.4), rgba(20, 20, 30, 0.5)); border: 2px solid rgba(139, 0, 139, 0.6); border-radius: 15px; padding: 15px; box-shadow: 0 6px 20px rgba(139, 0, 139, 0.3);">
<div style="display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; text-align: center;">
<!-- Turn Counter -->
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 10px; padding: 10px;">
<h3 style="color: #87CEEB; margin: 0 0 5px 0; font-size: 1.2em;">Turn</h3>
<p style="color: #E6E6FA; margin: 0; font-size: 1.4em; font-weight: bold;"><<print $defenseCombatRound + 1>></p>
</div>
<!-- Wall HP -->
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 10px; padding: 10px;">
<h3 style="color: #FFD700; margin: 0 0 5px 0; font-size: 1.2em;">🛡️ Wall HP</h3>
<p style="color: #E6E6FA; margin: 0; font-size: 1.4em; font-weight: bold;"><<print $dungeonWallHP>> / <<print $dungeonWallMaxHP>></p>
</div>
<!-- Enemy Lust -->
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 10px; padding: 10px;">
<h3 style="color: #FF6B35; margin: 0 0 5px 0; font-size: 1.2em;">💜 Enemy Lust</h3>
<p style="color: #E6E6FA; margin: 0; font-size: 1.4em; font-weight: bold;"><<print $currentDefenseTroopLust || 0>> / <<print $currentTroopMaxLust || 50>></p>
</div>
</div>
</div>
<center>
<<if $dungeonWallHP <= 0>>
<img src="images/dungeonbuildings/wall/0.webp" style="max-width: 300px; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); margin: 20px 0;">
<<elseif $dungeonWallHP <= 35>>
<img src="images/dungeonbuildings/wall/35.webp" style="max-width: 300px; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); margin: 20px 0;">
<<elseif $dungeonWallHP <= 65>>
<img src="images/dungeonbuildings/wall/65.webp" style="max-width: 300px; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); margin: 20px 0;">
<<else>>
<img src="images/dungeonbuildings/wall/100.webp" style="max-width: 300px; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); margin: 20px 0;">
<</if>>
</center>
<<narrative "The battle rages on! Choose your action wisely.">>
<!-- Combat Actions -->
<div style="text-align: center; margin: 40px 0;">
<div style="background: linear-gradient(145deg, rgba(255, 107, 53, 0.15), rgba(255, 140, 0, 0.2)); border: 2px solid rgba(255, 107, 53, 0.6); border-radius: 20px; padding: 25px; box-shadow: 0 6px 20px rgba(255, 107, 53, 0.3);">
<h3 style="color: #FF6B35; margin: 0 0 20px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">⚔️ Combat Actions</h3>
<div style="display: flex; gap: 20px; justify-content: center; flex-wrap: wrap;">
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.3), rgba(255, 140, 0, 0.4)); border-radius: 10px; padding: 15px; min-width: 150px;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('DungeonDefensePlayerAttack')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.3em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">⚔️ Attack</a>
<p style="color: #FFE4B5; margin: 5px 0 0 0; font-size: 0.9em;">Deal lust damage to enemies</p>
</div>
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.3), rgba(169, 169, 169, 0.4)); border-radius: 10px; padding: 15px; min-width: 150px; opacity: 0.6;">
<span style="color: #CCCCCC; font-weight: bold; font-size: 1.3em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">🔒 Skills</span>
<p style="color: #B0B0B0; margin: 5px 0 0 0; font-size: 0.9em;">Locked until later chapters</p>
</div>
</div>
</div>
</div>
</div>
<</nobr>>
<<if $currentTroopName === "Sora">>
<<pov "rylan" "sorafight.mp3">>
<<else>>
<<pov "rylan" "lustdungeon.mp3">>
<</if>><<nobr>>
<<silently>>
<<getDungeonDefenseSystem>>
<<set _troopType = $currentTroopName || "beastmen">>
<<if _troopType === "Beastmen Raiders">><<set _troopTypeKey = "beastmen">>
<<elseif _troopType === "Sora">><<set _troopTypeKey = "sora">>
<<else>><<set _troopTypeKey = "beastmen">><</if>>
<<set _enemyLevelBefore = window.DungeonDefense.getEnemyLevel(_troopTypeKey)>>
<<run
(function() {
var troopTypeKey = "beastmen";
var troopType = State.variables.currentTroopName || "";
if (troopType === "Sora") {
troopTypeKey = "sora";
} else if (troopType === "Beastmen Raiders") {
troopTypeKey = "beastmen";
}
if (window.DungeonDefense && window.DungeonDefense.decreaseEnemyLevel) {
var levelsLost = Math.floor(Math.random() * 3) + 3;
window.DungeonDefense.decreaseEnemyLevel(troopTypeKey, levelsLost);
State.temporary.levelsLost = levelsLost;
}
})();
>>
<<set _enemyLevel = window.DungeonDefense.getEnemyLevel(_troopTypeKey)>>
<<set _levelsLost = State.temporary.levelsLost || 3>>
<</silently>>
<div class="passage-container rylan">
<<narrative "The enemy forces overwhelm your dungeon defenses! Your walls crumble as their strength proves too strong for your current defenses.">>
<!-- Defeat Screen -->
<div style="margin: 40px 0; background: linear-gradient(135deg, rgba(100, 0, 0, 0.15), rgba(150, 0, 0, 0.2)); border: 3px solid rgba(100, 0, 0, 0.6); border-radius: 25px; padding: 30px; box-shadow: 0 10px 30px rgba(100, 0, 0, 0.3); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #DC143C, #FF0000, #2C2C2C);"></div>
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #FFB6C1; margin: 0 0 15px 0; font-size: 2.5em; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">💔 Defeat 💔</h2>
<p style="color: #E6E6FA; font-style: italic; margin: 0; font-size: 1.2em; text-shadow: 1px 1px 4px rgba(0,0,0,0.6);">The enemy forces have breached your defenses!</p>
</div>
<!-- Battle Summary -->
<div style="background: linear-gradient(145deg, rgba(0, 0, 0, 0.3), rgba(20, 20, 30, 0.4)); border-radius: 15px; padding: 20px; margin: 20px 0;">
<h3 style="color: #87CEEB; margin: 0 0 15px 0; font-size: 1.6em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">📊 Battle Summary</h3>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; margin: 15px 0;">
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 8px; padding: 10px;">
<p style="color: #FFD700; margin: 0; font-size: 1.1em; font-weight: bold;">Enemy Level</p>
<p style="color: #E6E6FA; margin: 5px 0; font-size: 1.3em;"><<print _enemyLevelBefore>> → <<print _enemyLevel>> (-<<print _levelsLost>>)</p>
</div>
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 8px; padding: 10px;">
<p style="color: #FFD700; margin: 0; font-size: 1.1em; font-weight: bold;">Combat Rounds</p>
<p style="color: #E6E6FA; margin: 5px 0; font-size: 1.3em;"><<print $defenseCombatRound || 1>></p>
</div>
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 8px; padding: 10px;">
<p style="color: #FFD700; margin: 0; font-size: 1.1em; font-weight: bold;">Wall HP Remaining</p>
<p style="color: #E6E6FA; margin: 5px 0; font-size: 1.3em;"><<print $dungeonWallHP || 0>> / <<print $dungeonWallMaxHP || 100>></p>
</div>
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 8px; padding: 10px;">
<p style="color: #FFD700; margin: 0; font-size: 1.1em; font-weight: bold;">Enemy Lust</p>
<p style="color: #E6E6FA; margin: 5px 0; font-size: 1.3em;"><<print $currentDefenseTroopLust || 0>> / <<print $currentTroopMaxLust || 50>></p>
</div>
</div>
</div>
<!-- No Rewards Message -->
<div style="background: linear-gradient(145deg, rgba(100, 0, 0, 0.1), rgba(150, 0, 0, 0.2)); border-radius: 15px; padding: 20px; margin: 20px 0;">
<h3 style="color: #FFB6C1; margin: 0 0 15px 0; font-size: 1.6em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">❌ No Rewards</h3>
<div style="text-align: center; padding: 20px;">
<div style="font-size: 4em; margin-bottom: 15px;">😞</div>
<p style="color: #E6E6FA; margin: 0; font-size: 1.3em; line-height: 1.6;">
With your walls destroyed, you gain no rewards from this battle.<br>
<span style="color: #FFB6C1; font-style: italic;">Strengthen your defenses to earn rewards next time!</span>
</p>
</div>
</div>
<!-- Encouragement Message -->
<div style="background: linear-gradient(145deg, rgba(0, 0, 0, 0.2), rgba(20, 20, 30, 0.3)); border-radius: 15px; padding: 20px; margin: 20px 0;">
<h3 style="color: #87CEEB; margin: 0 0 15px 0; font-size: 1.4em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">💡 How to Improve</h3>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px;">
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 8px; padding: 15px;">
<h4 style="color: #FFD700; margin: 0 0 10px 0; font-size: 1.2em;">🏰 Upgrade Walls</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1em; line-height: 1.4;">Increase wall HP and defense stats through dungeon upgrades.</p>
</div>
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 8px; padding: 15px;">
<h4 style="color: #FFD700; margin: 0 0 10px 0; font-size: 1.2em;">⚡ Boost Eros</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1em; line-height: 1.4;">Develop character fetishes and upgrade goblin troops for more lust damage.</p>
</div>
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 8px; padding: 15px;">
<h4 style="color: #FFD700; margin: 0 0 10px 0; font-size: 1.2em;">🎯 New Skills</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1em; line-height: 1.4;">Unlock combat skills in later chapters for tactical advantages.</p>
</div>
</div>
</div>
<div style="text-align: center; margin-top: 25px; padding-top: 20px; border-top: 2px solid rgba(100, 0, 0, 0.3);">
<p style="color: #B0B0B0; font-style: italic; margin: 0; font-size: 1em; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">💪 Learn from this defeat and come back stronger! 💪</p>
</div>
</div>
<<if _troopType === "Sora">>
<<continueBox "Ch7SoraCapture" "Continue" "Sora has been captured!">>
<<else>>
<<continueBox "MorningActivityChoicesNext" "Continue" "Return to activities">>
<</if>>
</div>
<</nobr>>
<<if $currentTroopName === "Sora">>
<<pov "rylan" "sorafight.mp3">>
<<else>>
<<pov "rylan" "lustdungeon.mp3">>
<</if>><<silently>>
<<dungeonManagementSystem>>
<<getDungeonDefenseSystem>>
<<calculateEros>>
<<calculateDungeonDefense>>
<<run
// Initialize the defense encounter
console.log("=== Dungeon Defense Initialization ===");
console.log("window.DungeonDefense exists:", !!window.DungeonDefense);
console.log("erosStat before:", State.variables.erosStat);
if (window.DungeonDefense) {
// Get enemy level BEFORE creating troop to verify
const beastmenLevel = window.DungeonDefense.getEnemyLevel("beastmen");
console.log("Beastmen level from system:", beastmenLevel);
const troop = window.DungeonDefense.startDefense("beastmen");
console.log("Troop loaded:", troop);
console.log("Troop.level property:", troop.level);
State.variables.currentDefenseTroop = troop;
State.variables.currentDefenseTroopLust = 0;
State.variables.defenseCombatRound = 0;
State.variables.currentTroopName = troop.name;
State.variables.currentTroopMaxLust = troop.maxLust;
State.variables.currentTroopAttack = troop.attack;
State.variables.currentEnemyLevel = troop.level || 1;
State.variables.currentDefenseTroopLust = 0;
console.log("Troop name set to:", State.variables.currentTroopName);
console.log("Troop maxLust set to:", State.variables.currentTroopMaxLust);
console.log("Troop attack set to:", State.variables.currentTroopAttack);
console.log("Troop level set to:", State.variables.currentEnemyLevel);
console.log("Verifying currentEnemyLevel variable:", State.variables.currentEnemyLevel);
console.log("Enemy levels object:", State.variables.enemyLevels);
} else {
console.error("DungeonDefense system not loaded!");
State.variables.currentTroopName = "Enemy Forces";
State.variables.currentTroopMaxLust = 50;
State.variables.currentTroopAttack = 15;
State.variables.currentDefenseTroopLust = 0;
State.variables.currentEnemyLevel = 1;
}
// Always set these after the troop initialization
State.variables.currentDefenseTroopLust = 0;
State.variables.totalEros = State.variables.erosStat || 0;
State.variables.totalLustDamage = (State.variables.dungeonLustEffect || 5) + (State.variables.totalEros || 0);
console.log("=== End Dungeon Defense Initialization ===");
>>
<</silently>>
<<nobr>>
<<set $dungeonWallMaxHP = $dungeonWallMaxHP || 100>>
<<set $dungeonWallHP = $dungeonWallHP || $dungeonWallMaxHP>>
<<set $dungeonLustEffect = $dungeonLustEffect || 5>>
<<set $dungeonCombat = $dungeonCombat || 0>>
<<set $goblinTroopLevel = $goblinTroopLevel || 1>>
<<set $currentDefenseTroopLust = 0>>
<div class="passage-container rylan">
<<narrative "Afternoon light cuts across the dungeon stones. The floor shivers under me without warning.">>
<!-- Dynamic Wall Preview -->
<div style="margin: 20px 0; background: linear-gradient(135deg, rgba(0, 0, 0, 0.3), rgba(20, 20, 30, 0.4)); border: 2px solid rgba(139, 0, 139, 0.6); border-radius: 15px; padding: 20px; box-shadow: 0 6px 20px rgba(139, 0, 139, 0.3);">
<div style="text-align: center;">
<p style="color: #E6E6FA; font-style: italic; margin: 0 0 15px 0; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">Current Wall Status:</p>
<<if $dungeonWallHP <= 0>>
<img src="images/dungeonbuildings/wall/0.webp" style="max-width: 200px; border-radius: 10px; box-shadow: 0 4px 15px rgba(0,0,0,0.3);">
<<elseif $dungeonWallHP <= 35>>
<img src="images/dungeonbuildings/wall/35.webp" style="max-width: 200px; border-radius: 10px; box-shadow: 0 4px 15px rgba(0,0,0,0.3);">
<<elseif $dungeonWallHP <= 65>>
<img src="images/dungeonbuildings/wall/65.webp" style="max-width: 200px; border-radius: 10px; box-shadow: 0 4px 15px rgba(0,0,0,0.3);">
<<else>>
<img src="images/dungeonbuildings/wall/100.webp" style="max-width: 200px; border-radius: 10px; box-shadow: 0 4px 15px rgba(0,0,0,0.3);">
<</if>>
</div>
</div>
<<narrative "From the distance, you hear the sound of marching feet and battle cries. Stormark troops are approaching your dungeon!">>
<<if $currentTroopName === "Sora">>
<center><img src="images/enemies/sora/attack.webp" style="max-width: 400px; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); margin: 20px 0;"></center>
<<else>>
<center><img src="images/enemies/beastmen_raiders/attack.webp" style="max-width: 500px; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); margin: 20px 0;"></center>
<</if>>
<!-- Defense Status Display -->
<div style="margin: 40px 0; background: linear-gradient(135deg, rgba(139, 0, 139, 0.15), rgba(75, 0, 130, 0.2)); border: 3px solid rgba(139, 0, 139, 0.6); border-radius: 25px; padding: 30px; box-shadow: 0 10px 30px rgba(139, 0, 139, 0.3); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #8B008B, #4B0082, #2C2C2C);"></div>
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #DDA0DD; margin: 0 0 15px 0; font-size: 2.5em; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">🏰 Dungeon Defense 🏰</h2>
<p style="color: #E6E6FA; font-style: italic; margin: 0; font-size: 1.2em; text-shadow: 1px 1px 4px rgba(0,0,0,0.6);">Defend your domain against the invading forces!</p>
</div>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin: 20px 0;">
<!-- Dungeon Wall Status -->
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 15px; padding: 20px; text-align: center;">
<h3 style="color: #FFD700; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🛡️ Dungeon Wall</h3>
<div style="margin: 15px 0;">
<div style="background: rgba(0, 0, 0, 0.3); border-radius: 10px; padding: 10px; margin: 10px 0;">
<p style="color: #E6E6FA; margin: 0; font-size: 1.4em; font-weight: bold;">
HP: <<print $dungeonWallHP || "UNDEFINED">> / <<print $dungeonWallMaxHP || "UNDEFINED">>
</p>
<div style="background: rgba(0, 0, 0, 0.5); border-radius: 5px; height: 20px; margin: 10px 0; overflow: hidden;">
<div style="background: linear-gradient(90deg, #FF0000, #FF4500, #FFD700); height: 100%; width: <<print $dungeonWallMaxHP > 0 ? Math.round(($dungeonWallHP / $dungeonWallMaxHP) * 100) : 0>>%; transition: width 0.5s ease;"></div>
</div>
</div>
<p style="color: #B0B0B0; margin: 5px 0; font-size: 1.1em;">Defense: <<print $dungeonDefense || 0>></p>
<!-- Wall Healing Buttons -->
<<set _missingHP = $dungeonWallMaxHP - $dungeonWallHP>>
<<set _goldCost = _missingHP * 1>>
<<set _energyCost = _missingHP * 1>>
<<set _crystalCost = Math.ceil(_missingHP / 5)>>
<<if $dungeonWallHP < $dungeonWallMaxHP>>
<div style="margin-top: 15px;">
<h4 style="color: #FFD700; margin: 0 0 10px 0; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">🔧 Repair Options:</h4>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-top: 10px;">
<<if ($gold || 0) >= _goldCost>>
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.3), rgba(255, 165, 0, 0.4)); border-radius: 10px; padding: 12px; cursor: pointer; text-align: center;" onclick="var healCost = SugarCube.State.variables.dungeonWallMaxHP - SugarCube.State.variables.dungeonWallHP; SugarCube.State.variables.gold -= healCost; SugarCube.State.variables.dungeonWallHP = SugarCube.State.variables.dungeonWallMaxHP; SugarCube.Engine.play('DungeonDefenseEncounter');">
<span style="color: #FFFFFF; font-weight: bold; font-size: 1.1em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">💰 Gold</span>
<p style="color: #FFE4B5; margin: 5px 0 0 0; font-size: 0.85em;">Cost: <<print _goldCost>></p>
</div>
<<else>>
<div style="background: linear-gradient(145deg, rgba(100,100,100,0.2), rgba(80,80,80,0.3)); border: 2px solid rgba(150,150,150,0.4); border-radius: 10px; padding: 12px; text-align: center; opacity: 0.6;">
<span style="color: #999; font-weight: bold; font-size: 1.1em; display: block;">💰 Gold</span>
<p style="color: #AAA; margin: 5px 0 0 0; font-size: 0.85em;">Cost: <<print _goldCost>></p>
<p style="color: #FFB6C1; margin: 2px 0 0 0; font-size: 0.75em;">Insufficient</p>
</div>
<</if>>
<<if ($dungeonEnergy || 0) >= _energyCost>>
<div style="background: linear-gradient(145deg, rgba(0, 255, 127, 0.3), rgba(0, 200, 100, 0.4)); border-radius: 10px; padding: 12px; cursor: pointer; text-align: center;" onclick="var healCost = SugarCube.State.variables.dungeonWallMaxHP - SugarCube.State.variables.dungeonWallHP; SugarCube.State.variables.dungeonEnergy -= healCost; SugarCube.State.variables.dungeonWallHP = SugarCube.State.variables.dungeonWallMaxHP; SugarCube.Engine.play('DungeonDefenseEncounter');">
<span style="color: #FFFFFF; font-weight: bold; font-size: 1.1em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">⚡ Energy</span>
<p style="color: #90EE90; margin: 5px 0 0 0; font-size: 0.85em;">Cost: <<print _energyCost>></p>
</div>
<<else>>
<div style="background: linear-gradient(145deg, rgba(100,100,100,0.2), rgba(80,80,80,0.3)); border: 2px solid rgba(150,150,150,0.4); border-radius: 10px; padding: 12px; text-align: center; opacity: 0.6;">
<span style="color: #999; font-weight: bold; font-size: 1.1em; display: block;">⚡ Energy</span>
<p style="color: #AAA; margin: 5px 0 0 0; font-size: 0.85em;">Cost: <<print _energyCost>></p>
<p style="color: #FFB6C1; margin: 2px 0 0 0; font-size: 0.75em;">Insufficient</p>
</div>
<</if>>
<<if ($crystals || 0) >= _crystalCost>>
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.3), rgba(75, 0, 130, 0.4)); border-radius: 10px; padding: 12px; cursor: pointer; text-align: center;" onclick="var healCost = SugarCube.State.variables.dungeonWallMaxHP - SugarCube.State.variables.dungeonWallHP; var crystalCost = Math.ceil(healCost / 5); SugarCube.State.variables.crystals -= crystalCost; SugarCube.State.variables.dungeonWallHP = SugarCube.State.variables.dungeonWallMaxHP; SugarCube.Engine.play('DungeonDefenseEncounter');">
<span style="color: #FFFFFF; font-weight: bold; font-size: 1.1em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">💎 Crystals</span>
<p style="color: #DDA0DD; margin: 5px 0 0 0; font-size: 0.85em;">Cost: <<print _crystalCost>></p>
</div>
<<else>>
<div style="background: linear-gradient(145deg, rgba(100,100,100,0.2), rgba(80,80,80,0.3)); border: 2px solid rgba(150,150,150,0.4); border-radius: 10px; padding: 12px; text-align: center; opacity: 0.6;">
<span style="color: #999; font-weight: bold; font-size: 1.1em; display: block;">💎 Crystals</span>
<p style="color: #AAA; margin: 5px 0 0 0; font-size: 0.85em;">Cost: <<print _crystalCost>></p>
<p style="color: #FFB6C1; margin: 2px 0 0 0; font-size: 0.75em;">Insufficient</p>
</div>
<</if>>
</div>
</div>
<</if>>
</div>
</div>
<!-- Enemy Troop Status -->
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 15px; padding: 20px; text-align: center;">
<h3 style="color: #FF6B35; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">⚔️ Enemy Forces</h3>
<div style="margin: 15px 0;">
<div style="background: rgba(0, 0, 0, 0.3); border-radius: 10px; padding: 10px; margin: 10px 0;">
<p style="color: #E6E6FA; margin: 0; font-size: 1.2em; font-weight: bold;"><<print $currentTroopName || "UNDEFINED">></p>
<p style="color: #FFD700; margin: 5px 0; font-size: 1.1em; font-weight: bold;">Level <<print $currentEnemyLevel || 1>></p>
<p style="color: #E6E6FA; margin: 5px 0; font-size: 1.4em; font-weight: bold;">
Lust: <<print $currentDefenseTroopLust !== undefined ? $currentDefenseTroopLust : 0>> / <<print $currentTroopMaxLust !== undefined ? $currentTroopMaxLust : 50>>
</p>
<div style="background: rgba(0, 0, 0, 0.5); border-radius: 5px; height: 20px; margin: 10px 0; overflow: hidden;">
<div style="background: linear-gradient(90deg, #FF69B4, #FF1493, #DC143C); height: 100%; width: <<print $currentTroopMaxLust > 0 ? Math.round(($currentDefenseTroopLust / $currentTroopMaxLust) * 100) : 0>>%; transition: width 0.5s ease;"></div>
</div>
</div>
<p style="color: #B0B0B0; margin: 5px 0; font-size: 1.1em;">Attack: <<print $currentTroopAttack || "UNDEFINED">></p>
</div>
</div>
</div>
<!-- Combat Stats Display -->
<div style="background: linear-gradient(145deg, rgba(0, 0, 0, 0.3), rgba(20, 20, 30, 0.4)); border-radius: 15px; padding: 20px; margin: 20px 0; text-align: center;">
<h3 style="color: #87CEEB; margin: 0 0 15px 0; font-size: 1.6em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">📊 Combat Statistics</h3>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; margin: 15px 0;">
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 8px; padding: 10px;">
<p style="color: #FFD700; margin: 0; font-size: 1.1em; font-weight: bold;">Dungeon Lust Effect</p>
<p style="color: #E6E6FA; margin: 5px 0; font-size: 1.3em;"><<print $dungeonLustEffect || 0>></p>
</div>
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 8px; padding: 10px;">
<p style="color: #FFD700; margin: 0; font-size: 1.1em; font-weight: bold;">Total Eros</p>
<p style="color: #E6E6FA; margin: 5px 0; font-size: 1.3em;"><<print $totalEros || 0>></p>
</div>
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 8px; padding: 10px;">
<p style="color: #FFD700; margin: 0; font-size: 1.1em; font-weight: bold;">Total Lust Damage</p>
<p style="color: #E6E6FA; margin: 5px 0; font-size: 1.3em;"><<print $totalLustDamage || 0>></p>
</div>
</div>
</div>
<div style="text-align: center; margin-top: 25px; padding-top: 20px; border-top: 2px solid rgba(139, 0, 139, 0.3);">
<p style="color: #B0B0B0; font-style: italic; margin: 0; font-size: 1em; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">💀 The battle begins! Choose your action! 💀</p>
</div>
</div>
<!-- Battle Options -->
<div style="text-align: center; margin: 40px 0;">
<div style="background: linear-gradient(145deg, rgba(255, 107, 53, 0.15), rgba(255, 140, 0, 0.2)); border: 2px solid rgba(255, 107, 53, 0.6); border-radius: 20px; padding: 25px; box-shadow: 0 6px 20px rgba(255, 107, 53, 0.3);">
<h3 style="color: #FF6B35; margin: 0 0 20px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">⚔️ Ready for Battle?</h3>
<div style="display: flex; gap: 20px; justify-content: center; flex-wrap: wrap;">
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.3), rgba(255, 140, 0, 0.4)); border-radius: 10px; padding: 15px; min-width: 150px;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('DungeonDefenseCombat')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.3em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">⚔️ Start Battle</a>
<p style="color: #FFE4B5; margin: 5px 0 0 0; font-size: 0.9em;">Begin the defense!</p>
</div>
</div>
</div>
</div>
</div>
<</nobr>>
<<if $currentTroopName === "Sora">>
<<pov "rylan" "sorafight.mp3">>
<<else>>
<<pov "rylan" "lustdungeon.mp3">>
<</if>><<nobr>>
<<silently>>
<<getDungeonDefenseSystem>>
<<calculateEros>>
<<set _enemyImagePath = "images/enemies/" + ($currentTroopName || "beastmen") + "/attack.webp">>
<<set $combatResult = "continue">>
<<if $currentDefenseTroopLust >= $currentTroopMaxLust>>
<<set $combatResult = "victory">>
<</if>>
<<if $combatResult === "victory">>
<<set _skipEnemyAttack = true>>
<<else>>
<<set _skipEnemyAttack = false>>
// Only calculate damage if enemy should attack
<<set _enemyDamage = Math.max(1, $currentTroopAttack - $dungeonDefense)>>
<<set $dungeonWallHP = Math.max(0, $dungeonWallHP - _enemyDamage)>>
<<set $lastEnemyDamage = _enemyDamage>>
// Check for defeat AFTER applying damage
<<if $dungeonWallHP <= 0>>
<<set $combatResult = "defeat">>
<</if>>
<</if>>
<<run
console.log("Enemy Attack:");
console.log("- Combat Result:", State.variables.combatResult);
console.log("- Skip Enemy Attack:", State.variables._skipEnemyAttack);
if (!State.variables._skipEnemyAttack) {
console.log("- Enemy Damage Dealt:", State.variables.lastEnemyDamage);
console.log("- Wall HP Now:", State.variables.dungeonWallHP);
}
console.log("- Enemy Lust:", State.variables.currentDefenseTroopLust, "/", State.variables.currentTroopMaxLust);
>>
<</silently>>
<div class="passage-container rylan">
<!-- Compact Top Bar -->
<div style="margin: 20px 0; background: linear-gradient(135deg, rgba(0, 0, 0, 0.4), rgba(20, 20, 30, 0.5)); border: 2px solid rgba(139, 0, 139, 0.6); border-radius: 15px; padding: 15px; box-shadow: 0 6px 20px rgba(139, 0, 139, 0.3);">
<div style="display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; text-align: center;">
<!-- Turn Counter -->
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 10px; padding: 10px;">
<h3 style="color: #87CEEB; margin: 0 0 5px 0; font-size: 1.2em;">Turn</h3>
<p style="color: #E6E6FA; margin: 0; font-size: 1.4em; font-weight: bold;"><<print $defenseCombatRound>></p>
</div>
<!-- Wall HP -->
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 10px; padding: 10px;">
<h3 style="color: #FFD700; margin: 0 0 5px 0; font-size: 1.2em;">🛡️ Wall HP</h3>
<p style="color: #E6E6FA; margin: 0; font-size: 1.4em; font-weight: bold;"><<print $dungeonWallHP>> / <<print $dungeonWallMaxHP>></p>
</div>
<!-- Enemy Lust -->
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 10px; padding: 10px;">
<h3 style="color: #FF6B35; margin: 0 0 5px 0; font-size: 1.2em;">💜 Enemy Lust</h3>
<p style="color: #E6E6FA; margin: 0; font-size: 1.4em; font-weight: bold;"><<print $currentDefenseTroopLust || 0>> / <<print $currentTroopMaxLust || 50>></p>
</div>
</div>
</div>
<<if not _skipEnemyAttack>>
<<narrative "The enemy forces strike back with fierce determination!">>
<center><img @src="_enemyImagePath" style="max-width: 400px; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); margin: 20px 0;"></center>
<!-- Attack Result Display -->
<div style="margin: 40px 0; background: linear-gradient(135deg, rgba(139, 0, 0, 0.15), rgba(220, 20, 60, 0.2)); border: 3px solid rgba(255, 0, 0, 0.6); border-radius: 25px; padding: 30px; box-shadow: 0 10px 30px rgba(255, 0, 0, 0.3); text-align: center;">
<h2 style="color: #FFB6C1; margin: 0 0 20px 0; font-size: 2.5em; text-shadow: 3px 3px 10px rgba(0,0,0,0.8);">⚔️ Enemy Attack!</h2>
<div style="background: rgba(0, 0, 0, 0.3); border-radius: 15px; padding: 20px; margin: 20px 0;">
<p style="color: #E6E6FA; margin: 0; font-size: 1.8em; font-weight: bold;">
Your wall took <span style="color: #FF4500;"><<print $lastEnemyDamage || 0>></span> Damage!
</p>
</div>
<p style="color: #B0B0B0; font-style: italic; margin: 10px 0; font-size: 1.2em;">
The enemy forces press their attack against your defenses...
</p>
</div>
<</if>>
<<if $combatResult === "victory">>
<!-- Victory - Enemy Overwhelmed -->
<<if _skipEnemyAttack>>
<<narrative "The enemy forces are already overwhelmed by lust and cannot continue fighting! Victory is yours!">>
<<else>>
<<narrative "The enemy forces collapse under the weight of overwhelming lust! Victory is yours!">>
<</if>>
<div style="text-align: center; margin: 40px 0;">
<div style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.15), rgba(0, 200, 0, 0.2)); border: 2px solid rgba(0, 255, 0, 0.6); border-radius: 20px; padding: 25px; box-shadow: 0 6px 20px rgba(0, 255, 0, 0.3);">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('DungeonDefenseVictory')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.5em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">🎉 Victory!</a>
</div>
</div>
<<elseif $combatResult === "defeat">>
<!-- Defeat - Wall Destroyed -->
<<narrative "Your wall crumbles under the relentless assault! The enemy has breached your defenses!">>
<div style="text-align: center; margin: 40px 0;">
<div style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.15), rgba(200, 0, 0, 0.2)); border: 2px solid rgba(255, 0, 0, 0.6); border-radius: 20px; padding: 25px; box-shadow: 0 6px 20px rgba(255, 0, 0, 0.3);">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('DungeonDefenseDefeat')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.5em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">💀 Defeat...</a>
</div>
</div>
<<else>>
<!-- Combat Continues -->
<<narrative "The battle continues! Both sides remain determined to win!">>
<!-- Continue Button -->
<div style="text-align: center; margin: 40px 0;">
<div style="background: linear-gradient(145deg, rgba(255, 107, 53, 0.15), rgba(255, 140, 0, 0.2)); border: 2px solid rgba(255, 107, 53, 0.6); border-radius: 20px; padding: 25px; box-shadow: 0 6px 20px rgba(255, 107, 53, 0.3);">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('DungeonDefenseCombat')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.5em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">⚔️ Continue Fighting</a>
</div>
</div>
<</if>>
</div>
<</nobr>>
<<if $currentTroopName === "Sora">>
<<pov "rylan" "sorafight.mp3">>
<<else>>
<<pov "rylan" "lustdungeon.mp3">>
<</if>><<nobr>>
<<silently>>
<<getDungeonDefenseSystem>>
<<calculateEros>>
<<if not $dungeonBattleConfig>>
<<set $dungeonBattleConfig = {}>>
<</if>>
<<if not $dungeonBattleConfig.liora>>
<<set $dungeonBattleConfig.liora = {}>>
<<set $dungeonBattleConfig.liora.armpitfetish = true>>
<<set $dungeonBattleConfig.liora.breastfetish = true>>
<<set $dungeonBattleConfig.liora.assfetish = true>>
<<set $dungeonBattleConfig.liora.feetfetish = true>>
<</if>>
<<if not $dungeonBattleConfig.serin>>
<<set $dungeonBattleConfig.serin = {}>>
<<set $dungeonBattleConfig.serin.armpitfetish = true>>
<<set $dungeonBattleConfig.serin.breastfetish = true>>
<<set $dungeonBattleConfig.serin.assfetish = true>>
<<set $dungeonBattleConfig.serin.feetfetish = true>>
<</if>>
<<if not $dungeonBattleConfig.rylan>>
<<set $dungeonBattleConfig.rylan = {}>>
<<set $dungeonBattleConfig.rylan.armpitfetish = true>>
<<set $dungeonBattleConfig.rylan.breastfetish = true>>
<<set $dungeonBattleConfig.rylan.assfetish = true>>
<<set $dungeonBattleConfig.rylan.feetfetish = true>>
<</if>>
<<if not $dungeonBattleConfig.seryk>>
<<set $dungeonBattleConfig.seryk = {}>>
<<set $dungeonBattleConfig.seryk.armpitfetish = true>>
<<set $dungeonBattleConfig.seryk.breastfetish = true>>
<<set $dungeonBattleConfig.seryk.assfetish = true>>
<<set $dungeonBattleConfig.seryk.feetfetish = true>>
<</if>>
<<if not $dungeonBattleConfig.mariel>>
<<set $dungeonBattleConfig.mariel = {}>>
<<set $dungeonBattleConfig.mariel.armpitfetish = true>>
<<set $dungeonBattleConfig.mariel.breastfetish = true>>
<<set $dungeonBattleConfig.mariel.assfetish = true>>
<<set $dungeonBattleConfig.mariel.feetfetish = true>>
<</if>>
<<if not $dungeonBattleConfig.nimeria>>
<<set $dungeonBattleConfig.nimeria = {}>>
<<set $dungeonBattleConfig.nimeria.armpitfetish = true>>
<<set $dungeonBattleConfig.nimeria.breastfetish = true>>
<<set $dungeonBattleConfig.nimeria.assfetish = true>>
<<set $dungeonBattleConfig.nimeria.feetfetish = true>>
<</if>>
<<if not $dungeonBattleConfig.thalor>>
<<set $dungeonBattleConfig.thalor = {}>>
<<set $dungeonBattleConfig.thalor.armpitfetish = true>>
<<set $dungeonBattleConfig.thalor.breastfetish = true>>
<<set $dungeonBattleConfig.thalor.assfetish = true>>
<<set $dungeonBattleConfig.thalor.feetfetish = true>>
<</if>>
<<if not $dungeonBattleConfig.viehzza>>
<<set $dungeonBattleConfig.viehzza = {}>>
<<set $dungeonBattleConfig.viehzza.armpitfetish = true>>
<<set $dungeonBattleConfig.viehzza.breastfetish = true>>
<<set $dungeonBattleConfig.viehzza.assfetish = true>>
<<set $dungeonBattleConfig.viehzza.feetfetish = true>>
<</if>>
<<if not $dungeonBattleConfig.kahrrt>>
<<set $dungeonBattleConfig.kahrrt = {}>>
<<set $dungeonBattleConfig.kahrrt.armpitfetish = true>>
<<set $dungeonBattleConfig.kahrrt.breastfetish = true>>
<<set $dungeonBattleConfig.kahrrt.assfetish = true>>
<<set $dungeonBattleConfig.kahrrt.feetfetish = true>>
<</if>>
<<if not $dungeonBattleConfig.sora>>
<<set $dungeonBattleConfig.sora = {}>>
<<set $dungeonBattleConfig.sora.armpitfetish = true>>
<<set $dungeonBattleConfig.sora.breastfetish = true>>
<<set $dungeonBattleConfig.sora.assfetish = true>>
<<set $dungeonBattleConfig.sora.feetfetish = true>>
<</if>>
<<set $totalLustDamage = $dungeonLustEffect + ($erosStat || 0)>>
<<set $currentDefenseTroopLust = ($currentDefenseTroopLust || 0) + $totalLustDamage>>
<<set $defenseCombatRound = ($defenseCombatRound || 0) + 1>>
<<set _characters = ["serin", "rylan", "liora", "seryk", "mariel", "nimeria", "thalor", "viehzza", "kahrrt", "sora"]>>
<<set _fetishes = ["armpitfetish", "breastfetish", "assfetish", "feetfetish"]>>
<<set _availableCharacters = []>>
<<set _availableFetishes = []>>
<<for _charIndex, _char range _characters>>
<<set _hasAnyFetish = false>>
<<for _fetishIndex, _fetish range _fetishes>>
<<if _char === "liora">>
<<if $dungeonBattleConfig.liora[_fetish]>>
<<set _hasAnyFetish = true>>
<</if>>
<<elseif _char === "serin">>
<<if $dungeonBattleConfig.serin[_fetish]>>
<<set _hasAnyFetish = true>>
<</if>>
<<elseif _char === "rylan">>
<<if $dungeonBattleConfig.rylan[_fetish]>>
<<set _hasAnyFetish = true>>
<</if>>
<<elseif _char === "seryk">>
<<if $dungeonBattleConfig.seryk[_fetish]>>
<<set _hasAnyFetish = true>>
<</if>>
<<elseif _char === "mariel">>
<<if $dungeonBattleConfig.mariel[_fetish]>>
<<set _hasAnyFetish = true>>
<</if>>
<<elseif _char === "nimeria">>
<<if $dungeonBattleConfig.nimeria[_fetish]>>
<<set _hasAnyFetish = true>>
<</if>>
<<elseif _char === "thalor">>
<<if $dungeonBattleConfig.thalor[_fetish]>>
<<set _hasAnyFetish = true>>
<</if>>
<<elseif _char === "viehzza">>
<<if $goblinBarracksPlaced && $dungeonBattleConfig.viehzza[_fetish]>>
<<set _hasAnyFetish = true>>
<</if>>
<<elseif _char === "kahrrt">>
<<if $goblinBarracksPlaced && $dungeonBattleConfig.kahrrt[_fetish]>>
<<set _hasAnyFetish = true>>
<</if>>
<<elseif _char === "sora">>
<<if $catHousePlaced && $dungeonBattleConfig.sora[_fetish]>>
<<set _hasAnyFetish = true>>
<</if>>
<</if>>
<</for>>
<<if _hasAnyFetish>>
<<set _availableCharacters.push(_char)>>
<</if>>
<</for>>
<<if _availableCharacters.length === 0>>
<<set _selectedCharacter = "rylan">>
<<set _selectedFetish = "armpitfetish">>
<<else>>
<<set _randomCharIndex = random(0, _availableCharacters.length - 1)>>
<<set _selectedCharacter = _availableCharacters[_randomCharIndex]>>
<<for _fetishIndex, _fetish range _fetishes>>
<<if $dungeonBattleConfig[_selectedCharacter] && $dungeonBattleConfig[_selectedCharacter][_fetish]>>
<<set _availableFetishes.push(_fetish)>>
<</if>>
<</for>>
<<if _availableFetishes.length > 0>>
<<set _randomFetishIndex = random(0, _availableFetishes.length - 1)>>
<<set _selectedFetish = _availableFetishes[_randomFetishIndex]>>
<<else>>
<<set _selectedFetish = "armpitfetish">>
<</if>>
<</if>>
<<set _randomLevel = random(1, 10)>>
<<if _selectedCharacter === "rylan">>
<<if $rylanFemboy>>
<<set _imagePath = "images/rylan/dungeon/femboy/" + _selectedFetish + "/" + _randomLevel + ".webp">>
<<elseif $rylanMasculine>>
<<set _imagePath = "images/rylan/dungeon/male/" + _selectedFetish + "/" + _randomLevel + ".webp">>
<<else>>
<<set _imagePath = "images/rylan/dungeon/" + _selectedFetish + "/" + _randomLevel + ".webp">>
<</if>>
<<elseif _selectedCharacter === "viehzza">>
<<set _imagePath = "images/viehzza/dungeon/" + _selectedFetish + "/" + _randomLevel + ".webp">>
<<elseif _selectedCharacter === "kahrrt">>
<<set _imagePath = "images/kahrrt/dungeon/" + _selectedFetish + "/" + _randomLevel + ".webp">>
<<elseif _selectedCharacter === "sora">>
<<set _imagePath = "images/sora/dungeon/" + _selectedFetish + "/" + _randomLevel + ".webp">>
<<else>>
<<set _imagePath = "images/" + _selectedCharacter + "/dungeon/" + _selectedFetish + "/" + _randomLevel + ".webp">>
<</if>>
<<if _selectedCharacter === "serin">>
<<if _selectedFetish === "armpitfetish">>
<<set _narrative = "Serin raises her arms above her head, exposing her sweaty armpits to the enemy forces.">>
<<elseif _selectedFetish === "breastfetish">>
<<set _narrative = "Serin playfully bounces her chest, distracting the enemy with her athletic build.">>
<<elseif _selectedFetish === "assfetish">>
<<set _narrative = "Serin turns around and wiggles her toned rear at the enemy troops.">>
<<else>>
<<set _narrative = "Serin kicks off her boots and wiggles her toes seductively at the enemy.">>
<</if>>
<<elseif _selectedCharacter === "rylan">>
<<if _selectedFetish === "armpitfetish">>
<<set _narrative = "$humanName lifts his arms, showing off his musky armpits to weaken the enemy.">>
<<elseif _selectedFetish === "breastfetish">>
<<set _narrative = "$humanName flexes his chest muscles, displaying his masculine physique.">>
<<elseif _selectedFetish === "assfetish">>
<<set _narrative = "$humanName turns and shows off his firm backside to the enemy forces.">>
<<else>>
<<set _narrative = "$humanName removes his shoes and displays his feet to distract the enemy.">>
<</if>>
<<elseif _selectedCharacter === "liora">>
<<if _selectedFetish === "armpitfetish">>
<<set _narrative = "Liora shyly raises her arms, exposing her delicate armpits to the enemy.">>
<<elseif _selectedFetish === "breastfetish">>
<<set _narrative = "Liora awkwardly adjusts her top, accidentally drawing attention to her chest.">>
<<elseif _selectedFetish === "assfetish">>
<<set _narrative = "Liora nervously turns around, showing her petite rear to the enemy.">>
<<else>>
<<set _narrative = "Liora awkwardly shows her feet to the enemy troop, blushing deeply.">>
<</if>>
<<elseif _selectedCharacter === "seryk">>
<<if _selectedFetish === "armpitfetish">>
<<set _narrative = "Seryk flexes his massive arms, exposing his powerful armpits to intimidate the enemy.">>
<<elseif _selectedFetish === "breastfetish">>
<<set _narrative = "Seryk flexes his impressive chest muscles, showing his demonic strength.">>
<<elseif _selectedFetish === "assfetish">>
<<set _narrative = "Seryk turns and displays his muscular rear to the enemy forces.">>
<<else>>
<<set _narrative = "Seryk removes his boots and shows his demonic feet to the enemy.">>
<</if>>
<<elseif _selectedCharacter === "mariel">>
<<if _selectedFetish === "armpitfetish">>
<<set _narrative = "Mariel gracefully raises her arms, exposing her elegant armpits to the enemy.">>
<<elseif _selectedFetish === "breastfetish">>
<<set _narrative = "Mariel adjusts her dress, drawing attention to her mature curves.">>
<<elseif _selectedFetish === "assfetish">>
<<set _narrative = "Mariel turns gracefully, showing her womanly rear to the enemy.">>
<<else>>
<<set _narrative = "Mariel removes her shoes and displays her elegant feet to distract the enemy.">>
<</if>>
<<elseif _selectedCharacter === "nimeria">>
<<if _selectedFetish === "armpitfetish">>
<<set _narrative = "Nimeria raises her arms with an innocent smile, exposing her armpits.">>
<<elseif _selectedFetish === "breastfetish">>
<<set _narrative = "Nimeria playfully adjusts her clothing, showing off her youthful chest.">>
<<elseif _selectedFetish === "assfetish">>
<<set _narrative = "Nimeria turns with a giggle, displaying her petite rear to the enemy.">>
<<else>>
<<set _narrative = "Nimeria kicks off her shoes and wiggles her toes playfully at the enemy.">>
<</if>>
<<elseif _selectedCharacter === "viehzza">>
<<if _selectedFetish === "armpitfetish">>
<<set _narrative = "Viehzza raises her arms with a mischievous grin, exposing her goblin armpits to the enemy.">>
<<elseif _selectedFetish === "breastfetish">>
<<set _narrative = "Viehzza playfully bounces her petite chest, distracting the enemy with her goblin charm.">>
<<elseif _selectedFetish === "assfetish">>
<<set _narrative = "Viehzza turns around and wiggles her small but perky rear at the enemy troops.">>
<<else>>
<<set _narrative = "Viehzza kicks off her boots and wiggles her tiny toes seductively at the enemy.">>
<</if>>
<<elseif _selectedCharacter === "kahrrt">>
<<if _selectedFetish === "armpitfetish">>
<<set _narrative = "Kahrrt flexes his muscular arms, exposing his powerful goblin armpits to intimidate the enemy.">>
<<elseif _selectedFetish === "breastfetish">>
<<set _narrative = "Kahrrt flexes his impressive chest muscles, showing his goblin warrior strength.">>
<<elseif _selectedFetish === "assfetish">>
<<set _narrative = "Kahrrt turns and displays his muscular goblin rear to the enemy forces.">>
<<else>>
<<set _narrative = "Kahrrt removes his boots and shows his goblin feet to intimidate the enemy.">>
<</if>>
<<elseif _selectedCharacter === "sora">>
<<if _selectedFetish === "armpitfetish">>
<<set _narrative = "Sora raises her arms with a playful smile, exposing her soft armpits to the enemy.">>
<<elseif _selectedFetish === "breastfetish">>
<<set _narrative = "Sora playfully adjusts her clothing, drawing attention to her alluring chest.">>
<<elseif _selectedFetish === "assfetish">>
<<set _narrative = "Sora turns with a seductive sway, displaying her shapely rear to the enemy.">>
<<else>>
<<set _narrative = "Sora removes her shoes and wiggles her delicate toes enticingly at the enemy.">>
<</if>>
<<else>>
<<if _selectedFetish === "armpitfetish">>
<<set _narrative = "Thalor raises his battle-scarred arms, exposing his weathered armpits.">>
<<elseif _selectedFetish === "breastfetish">>
<<set _narrative = "Thalor flexes his veteran chest muscles, showing his battle-hardened physique.">>
<<elseif _selectedFetish === "assfetish">>
<<set _narrative = "Thalor turns and displays his battle-tested rear to the enemy.">>
<<else>>
<<set _narrative = "Thalor removes his boots and shows his warrior feet to intimidate the enemy.">>
<</if>>
<</if>>
<<set $randomFetishImage = _imagePath>>
<<set $randomFetishNarrative = _narrative>>
<</silently>>
<div class="passage-container rylan">
<!-- Compact Top Bar -->
<div style="margin: 20px 0; background: linear-gradient(135deg, rgba(0, 0, 0, 0.4), rgba(20, 20, 30, 0.5)); border: 2px solid rgba(139, 0, 139, 0.6); border-radius: 15px; padding: 15px; box-shadow: 0 6px 20px rgba(139, 0, 139, 0.3);">
<div style="display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; text-align: center;">
<!-- Turn Counter -->
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 10px; padding: 10px;">
<h3 style="color: #87CEEB; margin: 0 0 5px 0; font-size: 1.2em;">Turn</h3>
<p style="color: #E6E6FA; margin: 0; font-size: 1.4em; font-weight: bold;"><<print $defenseCombatRound>></p>
</div>
<!-- Wall HP -->
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 10px; padding: 10px;">
<h3 style="color: #FFD700; margin: 0 0 5px 0; font-size: 1.2em;">🛡️ Wall HP</h3>
<p style="color: #E6E6FA; margin: 0; font-size: 1.4em; font-weight: bold;"><<print $dungeonWallHP>> / <<print $dungeonWallMaxHP>></p>
</div>
<!-- Enemy Lust -->
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 10px; padding: 10px;">
<h3 style="color: #FF6B35; margin: 0 0 5px 0; font-size: 1.2em;">💜 Enemy Lust</h3>
<p style="color: #E6E6FA; margin: 0; font-size: 1.4em; font-weight: bold;"><<print $currentDefenseTroopLust || 0>> / <<print $currentTroopMaxLust || 50>></p>
</div>
</div>
</div>
<!-- Random Fetish Display -->
<div style="margin: 30px 0; background: linear-gradient(135deg, rgba(139, 0, 139, 0.15), rgba(75, 0, 130, 0.2)); border: 2px solid rgba(139, 0, 139, 0.6); border-radius: 20px; padding: 25px; box-shadow: 0 8px 25px rgba(139, 0, 139, 0.3);">
<div style="text-align: center;">
<<if $randomFetishNarrative>>
<p style="color: #E6E6FA; font-style: italic; margin: 0 0 15px 0; font-size: 1.3em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);"><<print $randomFetishNarrative>></p>
<<else>>
<p style="color: #E6E6FA; font-style: italic; margin: 0 0 15px 0; font-size: 1.3em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">A character performs a seductive display to weaken the enemy forces.</p>
<</if>>
<img @src="$randomFetishImage" style="max-width: 300px; border-radius: 15px; box-shadow: 0 6px 20px rgba(0,0,0,0.4);">
</div>
</div>
<!-- Attack Result Display -->
<div style="margin: 40px 0; background: linear-gradient(135deg, rgba(0, 100, 0, 0.15), rgba(0, 150, 0, 0.2)); border: 3px solid rgba(0, 255, 0, 0.6); border-radius: 25px; padding: 30px; box-shadow: 0 10px 30px rgba(0, 255, 0, 0.3); text-align: center;">
<h2 style="color: #90EE90; margin: 0 0 20px 0; font-size: 2.5em; text-shadow: 3px 3px 10px rgba(0,0,0,0.8);">⚔️ Your Attack!</h2>
<div style="background: rgba(0, 0, 0, 0.3); border-radius: 15px; padding: 20px; margin: 20px 0;">
<p style="color: #E6E6FA; margin: 0; font-size: 1.8em; font-weight: bold;">
Enemy took <span style="color: #FF1493;"><<print $totalLustDamage>></span> Lust Damage!
</p>
</div>
<p style="color:rgb(255, 254, 254); font-style: italic; margin: 10px 0; font-size: 1.2em;">
The enemy's resolve weakens under your lustful assault...
</p>
</div>
<!-- Continue Button -->
<div style="text-align: center; margin: 40px 0;">
<div style="background: linear-gradient(145deg, rgba(255, 107, 53, 0.15), rgba(255, 140, 0, 0.2)); border: 2px solid rgba(255, 107, 53, 0.6); border-radius: 20px; padding: 25px; box-shadow: 0 6px 20px rgba(255, 107, 53, 0.3);">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('DungeonDefenseEnemyAttack')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.5em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">➡️ Continue</a>
</div>
</div>
</div>
<</nobr>>
<<if $currentTroopName === "Sora">>
<<pov "rylan" "sorafight.mp3">>
<<else>>
<<pov "rylan" "lustdungeon.mp3">>
<</if>><<nobr>>
<<silently>>
<<getDungeonDefenseSystem>>
// Calculate rewards using Twine macros for better reliability
<<set _troopType = $currentTroopName || "beastmen">>
<<if _troopType === "Beastmen Raiders">><<set _troopTypeKey = "beastmen">>
<<elseif _troopType === "Sora">><<set _troopTypeKey = "sora">>
<<else>><<set _troopTypeKey = "beastmen">><</if>>
// Get current enemy level (before increase) for reward calculation
<<set _enemyLevel = window.DungeonDefense.getEnemyLevel(_troopTypeKey)>>
<<set _wallHP = $dungeonWallHP || 100>>
<<set _maxWallHP = $dungeonWallMaxHP || 100>>
<<set _wallHPPercent = _wallHP / _maxWallHP>>
// Get base troop data and scale by level
<<run
const baseTroops = {
beastmen: {
maxRewardEnergy: 20,
maxRewardGold: 20,
maxRewardCrystals: 2,
maxRewardPrisoners: 1,
prisonerType: "beastman"
},
sora: {
maxRewardEnergy: 60,
maxRewardGold: 0,
maxRewardCrystals: 0,
maxRewardPrisoners: 0,
prisonerType: "none"
}
};
const baseTroop = baseTroops[_troopTypeKey] || baseTroops.beastmen;
State.temporary.baseMaxRewardEnergy = baseTroop.maxRewardEnergy;
State.temporary.baseMaxRewardGold = baseTroop.maxRewardGold;
State.temporary.baseMaxRewardCrystals = baseTroop.maxRewardCrystals;
State.temporary.baseMaxRewardPrisoners = baseTroop.maxRewardPrisoners;
State.temporary.basePrisonerType = baseTroop.prisonerType;
>>
// Scale rewards by level (NOT prisoners)
<<set _maxRewardEnergy = Math.round(State.temporary.baseMaxRewardEnergy * _enemyLevel)>>
<<set _maxRewardGold = Math.round(State.temporary.baseMaxRewardGold * _enemyLevel)>>
<<set _maxRewardCrystals = Math.round(State.temporary.baseMaxRewardCrystals * _enemyLevel)>>
<<set _maxRewardPrisoners = State.temporary.baseMaxRewardPrisoners>>
<<set _prisonerType = State.temporary.basePrisonerType>>
// Calculate rewards
<<set _energyReward = Math.round(_maxRewardEnergy * _wallHPPercent)>>
<<set _goldReward = Math.round(_maxRewardGold * _wallHPPercent)>>
<<set _crystalReward = Math.round(_maxRewardCrystals * _wallHPPercent)>>
// Chance-based prisoner system: each possible prisoner has a chance equal to wall HP percentage
<<set _prisonerReward = 0>>
<<set $lastDefensePrisoners = []>>
<<if _maxRewardPrisoners > 0 && _troopTypeKey !== "sora">>
<<for _i range _maxRewardPrisoners>>
<<set _prisonerRoll = Math.random() * 100>>
<<if _prisonerRoll <= (_wallHPPercent * 100)>>
<<set _prisonerReward += 1>>
<<if _prisonerType === "sora_male">>
// Special case for Sora - always male, specific name
<<set _prisonerName = "Sora">>
<<set _gender = "male">>
<<else>>
// Regular prisoner generation
<<set _randomValue = Math.random()>>
<<set _gender = _randomValue < 0.5 ? "male" : "female">>
<<generatePrisonerName _prisonerType _gender>>
<<set _prisonerName = _generatedPrisonerName>>
<</if>>
<<set $lastDefensePrisoners.push({
type: _prisonerType,
gender: _gender,
name: _prisonerName,
love: 0,
recruited: false,
id: "prisoner_" + Date.now() + "_" + _i + "_" + Math.random()
})>>
<</if>>
<</for>>
<</if>>
// Add energy, gold, and crystals to dungeon
<<set $dungeonEnergy = ($dungeonEnergy || 0) + _energyReward>>
<<set $gold = ($gold || 0) + _goldReward>>
<<set $crystals = ($crystals || 0) + _crystalReward>>
// Create rewards object
<<set $lastDefenseRewards = {
energy: _energyReward,
gold: _goldReward,
crystals: _crystalReward,
prisoners: _prisonerReward,
prisonerType: _prisonerType
}>>
// Add prisoners to dungeon if DungeonDefense system exists
<<run
if (window.DungeonDefense && window.DungeonDefense.addPrisoners) {
window.DungeonDefense.addPrisoners(State.variables.lastDefensePrisoners);
}
>>
// Increase enemy level on victory (after calculating rewards)
<<run
if (window.DungeonDefense && window.DungeonDefense.increaseEnemyLevel) {
window.DungeonDefense.increaseEnemyLevel(_troopTypeKey);
}
>>
<<set _newEnemyLevel = window.DungeonDefense.getEnemyLevel(_troopTypeKey)>>
// Increase combat stats for all party members (scaled by enemy level)
<<set _allMembers = ["rylan", "liora", "serin", "mariel", "seryk", "nimeria", "thalor"]>>
<<set _allStats = ["physicalPower", "agility", "willpower", "technique", "perception", "focus", "vitality"]>>
<<set _statIncreases = []>>
<<set _statGainPerMember = Math.max(1, Math.floor(_enemyLevel / 2) + 1)>>
<<for _member range _allMembers>>
<<set _randomStatIndex = Math.floor(Math.random() * _allStats.length)>>
<<set _randomStat = _allStats[_randomStatIndex]>>
<<set _memberCombatStats = State.variables[_member + "_combatStats"] || {}>>
<<set _currentValue = _memberCombatStats[_randomStat] || 0>>
<<set _newValue = _currentValue + _statGainPerMember>>
<<set _memberCombatStats[_randomStat] = _newValue>>
<<set State.variables[_member + "_combatStats"] = _memberCombatStats>>
<<set _statIncreases.push({
member: _member,
stat: _randomStat,
oldValue: _currentValue,
newValue: _newValue,
gain: _statGainPerMember
})>>
<</for>>
<</silently>>
<<silently>>
<<if _troopType === "Sora">>
<<if not $soraKnittingKitRewarded>>
<<set $soraKnittingKitRewarded = true>>
<<set $hasSoraKnittingKit = true>>
<<set $erosPermanentBonus = ($erosPermanentBonus || 0) + 3>>
<</if>>
<</if>>
<</silently>>
<div class="passage-container rylan">
<<narrative "The enemy forces collapse under the overwhelming lust power of your dungeon! Their will broken, they fall to their knees, completely defeated.">>
<<if _troopType === "Sora">>
<center><img src="images/sora/face.webp" style="max-width: 300px; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); margin: 20px 0;"></center>
<!-- Special Sora Victory Reward Banner -->
<div style="margin: 20px 0; background: linear-gradient(135deg, rgba(25, 25, 35, 0.9), rgba(75, 0, 130, 0.85)); border: 3px solid rgba(221, 160, 221, 0.8); border-radius: 18px; padding: 22px; box-shadow: 0 12px 35px rgba(138, 43, 226, 0.35); position: relative; overflow: hidden;">
<div style="position: absolute; inset: 0; background: radial-gradient(circle at 20% 20%, rgba(221,160,221,0.25), transparent 60%), radial-gradient(circle at 80% 30%, rgba(255,192,203,0.22), transparent 55%), radial-gradient(circle at 50% 80%, rgba(147,112,219,0.2), transparent 60%);"></div>
<div style="position: relative; z-index: 2; text-align: center;">
<h3 style="color: #FFD1FF; margin: 0 0 10px 0; font-size: 1.8em; text-shadow: 0 0 12px rgba(221,160,221,0.8), 2px 2px 8px rgba(0,0,0,0.6);">✨ Supreme Victory Over Sora ✨</h3>
<p style="color: #E6E6FA; margin: 6px 0 0 0; font-size: 1.1em;">You obtained <span style="color:#FFD1FF; font-weight:bold;">Sora's Knitting Kit 🧶</span></p>
<p style="color: #90EE90; margin: 6px 0 0 0; font-size: 1.05em;">Eros permanently increased by <span style="font-weight:bold;">+3</span></p>
</div>
</div>
<<else>>
<center><img src="images/enemies/beastmen_raiders/orgasm.webp" style="max-width: 500px; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); margin: 20px 0;"></center>
<</if>>
<!-- Victory Screen -->
<div style="margin: 40px 0; background: linear-gradient(135deg, rgba(0, 100, 0, 0.15), rgba(0, 150, 0, 0.2)); border: 3px solid rgba(0, 100, 0, 0.6); border-radius: 25px; padding: 30px; box-shadow: 0 10px 30px rgba(0, 100, 0, 0.3); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #32CD32, #00FF00, #2C2C2C);"></div>
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #90EE90; margin: 0 0 15px 0; font-size: 2.5em; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">🏆 Victory! 🏆</h2>
<p style="color: #E6E6FA; font-style: italic; margin: 0; font-size: 1.2em; text-shadow: 1px 1px 4px rgba(0,0,0,0.6);">The enemy forces have been defeated!</p>
</div>
<!-- Battle Summary -->
<div style="background: linear-gradient(145deg, rgba(0, 0, 0, 0.3), rgba(20, 20, 30, 0.4)); border-radius: 15px; padding: 20px; margin: 20px 0;">
<h3 style="color: #87CEEB; margin: 0 0 15px 0; font-size: 1.6em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">📊 Battle Summary</h3>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; margin: 15px 0;">
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 8px; padding: 10px;">
<p style="color: #FFD700; margin: 0; font-size: 1.1em; font-weight: bold;">Enemy Level</p>
<p style="color: #E6E6FA; margin: 5px 0; font-size: 1.3em;">Level <<print _enemyLevel>> → <<print _newEnemyLevel>></p>
</div>
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 8px; padding: 10px;">
<p style="color: #FFD700; margin: 0; font-size: 1.1em; font-weight: bold;">Combat Rounds</p>
<p style="color: #E6E6FA; margin: 5px 0; font-size: 1.3em;"><<print $defenseCombatRound || 1>></p>
</div>
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 8px; padding: 10px;">
<p style="color: #FFD700; margin: 0; font-size: 1.1em; font-weight: bold;">Wall HP Remaining</p>
<p style="color: #E6E6FA; margin: 5px 0; font-size: 1.3em;"><<print $dungeonWallHP || 100>> / <<print $dungeonWallMaxHP || 100>></p>
</div>
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 8px; padding: 10px;">
<p style="color: #FFD700; margin: 0; font-size: 1.1em; font-weight: bold;">Wall HP Percentage</p>
<p style="color: #E6E6FA; margin: 5px 0; font-size: 1.3em;"><<print $dungeonWallMaxHP > 0 ? Math.round(($dungeonWallHP / $dungeonWallMaxHP) * 100) : 100>>%</p>
</div>
</div>
</div>
<!-- Rewards Section -->
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.1), rgba(255, 165, 0, 0.2)); border-radius: 15px; padding: 20px; margin: 20px 0;">
<h3 style="color: #FFD700; margin: 0 0 15px 0; font-size: 1.6em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🎁 Rewards Gained</h3>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin: 15px 0;">
<!-- Energy Reward -->
<div style="background: linear-gradient(145deg, rgba(0, 255, 127, 0.2), rgba(0, 200, 100, 0.3)); border-radius: 10px; padding: 15px; text-align: center;">
<div style="font-size: 3em; margin-bottom: 10px;">⚡</div>
<h4 style="color: #00FF7F; margin: 0 0 10px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Energy</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.6em; font-weight: bold;">+<<print $lastDefenseRewards ? $lastDefenseRewards.energy : 20>></p>
<p style="color: #B0B0B0; margin: 5px 0 0 0; font-size: 0.9em;">Total: <<print $dungeonEnergy>></p>
</div>
<!-- Gold Reward -->
<<if $lastDefenseRewards && $lastDefenseRewards.gold > 0>>
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.2), rgba(255, 165, 0, 0.3)); border-radius: 10px; padding: 15px; text-align: center;">
<div style="font-size: 3em; margin-bottom: 10px;">💰</div>
<h4 style="color: #FFD700; margin: 0 0 10px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Gold</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.6em; font-weight: bold;">+<<print $lastDefenseRewards.gold>></p>
<p style="color: #B0B0B0; margin: 5px 0 0 0; font-size: 0.9em;">Total: <<print $gold>></p>
</div>
<</if>>
<!-- Crystal Reward -->
<<if $lastDefenseRewards && $lastDefenseRewards.crystals > 0>>
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.2), rgba(75, 0, 130, 0.3)); border-radius: 10px; padding: 15px; text-align: center;">
<div style="font-size: 3em; margin-bottom: 10px;">💎</div>
<h4 style="color: #DDA0DD; margin: 0 0 10px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Crystals</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.6em; font-weight: bold;">+<<print $lastDefenseRewards.crystals>></p>
<p style="color: #B0B0B0; margin: 5px 0 0 0; font-size: 0.9em;">Total: <<print $crystals>></p>
</div>
<</if>>
<!-- Prisoner Rewards -->
<<if $lastDefenseRewards && $lastDefenseRewards.prisoners > 0>>
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.2), rgba(255, 20, 147, 0.3)); border-radius: 10px; padding: 15px; text-align: center;">
<div style="font-size: 3em; margin-bottom: 10px;">👥</div>
<h4 style="color: #FF69B4; margin: 0 0 10px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Prisoners</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 1.6em; font-weight: bold;">+<<print $lastDefenseRewards.prisoners>></p>
<p style="color: #B0B0B0; margin: 5px 0 0 0; font-size: 0.9em;"><<print $lastDefenseRewards.prisonerType.charAt(0).toUpperCase() + $lastDefenseRewards.prisonerType.slice(1)>> prisoners</p>
</div>
<</if>>
</div>
<!-- Prisoner Details -->
<<if $lastDefenseRewards && $lastDefenseRewards.prisoners > 0>>
<div style="background: rgba(0, 0, 0, 0.2); border-radius: 10px; padding: 15px; margin: 15px 0;">
<h4 style="color: #DDA0DD; margin: 0 0 10px 0; font-size: 1.3em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Captured Prisoners:</h4>
<<for _prisoner range $lastDefensePrisoners>>
<div style="background: rgba(138, 43, 226, 0.1); border-radius: 5px; padding: 8px; margin: 5px 0;">
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em;">
<<print _prisoner.name>> (<<print _prisoner.gender>> <<print _prisoner.type>>)
</p>
</div>
<</for>>
</div>
<</if>>
</div>
<!-- Combat Stat Increases -->
<div style="background: linear-gradient(145deg, rgba(0, 255, 0, 0.1), rgba(0, 200, 0, 0.2)); border-radius: 15px; padding: 20px; margin: 20px 0;">
<h3 style="color: #90EE90; margin: 0 0 15px 0; font-size: 1.6em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">⚔️ Combat Experience Gained</h3>
<p style="color: #E6E6FA; font-style: italic; margin: 0 0 15px 0; font-size: 1.1em; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Each party member gained experience from the battle!</p>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 15px; margin: 15px 0;">
<<for _increase range _statIncreases>>
<div style="background: linear-gradient(145deg, rgba(0, 0, 0, 0.3), rgba(20, 20, 30, 0.4)); border-radius: 10px; padding: 15px; text-align: center;">
<div style="display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 10px;">
<<if _increase.member === "rylan">>
<<if $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 50px; height: 50px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 50px; height: 50px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<<elseif _increase.member === "liora">>
<img src="images/liora/faceshortpink.webp" style="width: 50px; height: 50px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<elseif _increase.member === "serin">>
<img src="images/serin/face.webp" style="width: 50px; height: 50px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<elseif _increase.member === "mariel">>
<img src="images/mariel/stage2/face.webp" style="width: 50px; height: 50px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<elseif _increase.member === "seryk">>
<img src="images/seryk/face.webp" style="width: 50px; height: 50px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<elseif _increase.member === "nimeria">>
<img src="images/nimeria/face.webp" style="width: 50px; height: 50px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<elseif _increase.member === "thalor">>
<img src="images/thalor/face.webp" style="width: 50px; height: 50px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<div>
<<if _increase.member === "rylan">>
<h4 style="color: #87CEEB; margin: 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);"><<print $humanName>></h4>
<<else>>
<h4 style="color: #87CEEB; margin: 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);"><<print _increase.member.charAt(0).toUpperCase() + _increase.member.slice(1)>></h4>
<</if>>
<p style="color: #FFD700; margin: 0; font-size: 1em; font-weight: bold;"><<print _increase.stat.charAt(0).toUpperCase() + _increase.stat.slice(1)>></p>
</div>
</div>
<div style="background: rgba(0, 0, 0, 0.3); border-radius: 5px; padding: 8px;">
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em;">
<<print Math.round(_increase.oldValue * 10) / 10>> → <<print Math.round(_increase.newValue * 10) / 10>> (+<<print _increase.gain || _statGainPerMember>>)
</p>
</div>
</div>
<</for>>
</div>
</div>
<div style="text-align: center; margin-top: 25px; padding-top: 20px; border-top: 2px solid rgba(0, 100, 0, 0.3);">
<p style="color: #B0B0B0; font-style: italic; margin: 0; font-size: 1em; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">🏰 Your dungeon stands strong! 🏰</p>
</div>
</div>
<<if _troopType === "Sora">>
<<continueBox "Ch7SoraCapture" "Continue" "Sora has been captured!">>
<<else>>
<<continueBox "MorningActivityChoicesNext" "Continue" "Return to activities">>
<</if>>
</div>
<</nobr>>
<<if $currentTroopName === "Sora">>
<<pov "rylan" "sorafight.mp3">>
<<else>>
<<pov "rylan" "lustdungeon.mp3">>
<</if>><<nobr>>
<div class="passage-container celindra">
<<advanceTime 1>>
<<narrative "It's early morning in Stormark, the sun just beginning to rise over the kingdom. Celindra lies in her luxurious bed, still half-asleep when her spy's voice suddenly echoes in her mind.">>
<<dialog "Spy" "face" "Celin, urgent news!" "he says, his voice cutting through her drowsiness">>
<<thought "Celindra" "face" "Ugh, not now. I need more sleep.">>
<<dialog "Celindra" "face" "Just another hour of sleep..." "she mumbles groggily">>
<<dialog "Spy" "face" "Celin!" "he insists more urgently">>
<<thought "Celindra" "face" "This had better be important if he's waking me up this early.">>
<<dialog "Celindra" "faceangry" "God, what?" "she says with irritation">>
<<dialog "Spy" "face" "Gairos is dead!" "he announces">>
<<thought "Celindra" "face" "What? That can't be right. Gairos is supposed to be invincible.">>
<<dialog "Celindra" "faceshocked" "Really?!" "she exclaims, suddenly wide awake">>
<<dialog "Spy" "face" "Yes! The news just reached us. He was found dead in some house, apparently killed by a smith named Oswin." "he confirms">>
<<thought "Celindra" "face" "This changes everything. With Gairos gone, the path to victory is clear.">>
<<dialog "Celindra" "face" "Give the command. Attack!" "she orders with determination" "Try to take the heroes and their family alive though!">>
<<thought "Celindra" "face" "Finally, after all these years of planning, the time has come.">>
<<continueBox "Ch6OswinDeathAftermath" "Continue" "The invasion begins...">>
</div>
<</nobr>>
<<pov "celindra" "stormark.mp3">><<nobr>>
<div class="passage-container celindra">
<<narrative "Celindra sits alone in her bedroom, her mind reaching across vast distances to connect with her most trusted operative through pure magical communication.">>
<center><img src="images/landscapes/celindrasroom.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Celindra"></center>
<<dialog "Celindra" "face" "Why haven't you reported in yet? Is everything proceeding as planned?">>
<<narrative "A voice echoes in her mind, hesitant and distant.">>
<<dialog "Spy" "face" "Hey Celin, everything's fine...">>
<<dialog "Spy" "face" "It's just... talking like this still creeps me out a bit.">>
<<dialog "Celindra" "faceangry" "Oh, for the love of the gods...">>
<<dialog "Celindra" "faceangry" "Anything to report, or are you just wasting my time?">>
<<dialog "Spy" "face" "Well... I might have made contact with one of the targets...">>
<<dialog "Celindra" "faceshocked" "What?!">>
<<dialog "Celindra" "faceangry" "Are you completely incompetent? I specifically told you to remain unobtrusive!">>
<<dialog "Spy" "face" "I tried to act exactly as I always do!">>
<<dialog "Celindra" "faceangry" "And that's precisely the problem! Of course you stand out with that appearance of yours! Anything else I should know about?">>
<<dialog "Spy" "face" "Oh, right! Gairos showed up in Lindale...">>
<<dialog "Spy" "face" "He's training the hero warrior, the priestess, and some younger ones to attack us soon. But nothing else exciting...">>
<<dialog "Celindra" "faceshocked" "WHAT?!">>
<<dialog "Spy" "face" "Ouch! Don't shout in my head, Celin!">>
<<dialog "Celindra" "faceangry" "And you didn't think this was important enough to report immediately?">>
<<dialog "Spy" "face" "As I said before, I don't like talking like this...">>
<<dialog "Celindra" "face" "You'll regret this when you return home...">>
<<dialog "Celindra" "faceworried" "So not only Gairos, but the other 'heroes' are our enemies as well...">>
<<dialog "Spy" "face" "Want me to take them out?">>
<<dialog "Celindra" "facesmirk" "As if you'd stand a chance against them...">>
<<dialog "Celindra" "face" "I doubt even Elariel could defeat him alone. Speaking of which, is she positioned where I instructed?">>
<<dialog "Spy" "face" "Yeah, but please don't ask me to check on her. That thing gives me the creeps.">>
<<dialog "Celindra" "face" "For good reason.">>
<<dialog "Celindra" "faceworried" "She could destroy us all in the blink of an eye.">>
<<dialog "Spy" "face" "I'm worried she might kill us all for revenge. Your dad was crazy to keep that... thing.">>
<<dialog "Celindra" "facesmirk" "As long as the chains remain active, we have nothing to fear.">>
<<dialog "Celindra" "face" "And, that's the advantage of angels - they don't possess mortal emotions. Rather than seeking revenge, she would simply dispense justice.">>
<<dialog "Spy" "face" "That means...">>
<<dialog "Celindra" "facesmirk" "Correct. I'm the only one who needs to worry...">>
<<dialog "Celindra" "faceconfident" "But I've taken precautions just in case.">>
<<dialog "Celindra" "face" "I want you to continue monitoring everything in Lindale.">>
<<dialog "Celindra" "face" "Tell the soldiers to prepare for immediate attack when I give the order.">>
<<dialog "Celindra" "faceangry" "And if you fail to report again...">>
<<dialog "Spy" "face" "Yes, yes, Celin! I won't forget!">>
<<narrative "The magical connection fades as Celindra leans back in her chair, her expression growing thoughtful and distant.">>
<<dialog "Celindra" "faceworried" "Is what I'm doing truly the right path?">>
<<narrative "She closes her eyes, the weight of her decisions pressing down on her shoulders. Images of war, destruction, and the faces of those who will suffer flash through her mind.">>
<<dialog "Celindra" "face" "But sacrifices are needed for peace...">>
<<dialog "Celindra" "faceconfident" "The realm will thank me when this is all over.">>
<<narrative "She opens her eyes with renewed determination, the pieces of her grand plan falling into place. Soon the heroes will learn what it means to challenge the true power of the realm.">>
<<changeCrystals 50>>
<<changeGold 50>>
<<continueBox "MorningActivityChoicesNext" "Continue" "The day continues...">>
</div>
<</nobr>>
<<pov "celindra" "stormark.mp3">><<nobr>>
<div class="passage-container gairos">
<<narrative "Gairos returns to the charred remains of Mistfen Reach, the red crystal pulsing with dark energy in his hand. He needs to see more, to understand exactly what happened here.">>
<center><img src="images/landscapes/mistfenreachafter.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Gairos" "face" "I need to focus on those two demons specifically. Let me see their past here, every memory they left behind.">>
<<narrative "Gairos channels his magic through the crystal once more, this time focusing specifically on Nimeria and Seryk. The air shimmers as multiple memories begin to play out before him.">>
<<narrative "The first memory materializes - a group of slavers leading two small, frightened children through the village.">>
<<dialog "Male NPC" "face" "Demons, this is your new home." "he sneers" "You should be grateful we're giving you the chance to work until you die.">>
<<thought "Gairos" "face" "So they were brought here as slaves.">>
<<narrative "The scene shifts to show a younger Nimeria approaching an older woman in what appears to be a manor house.">>
<<dialog "Nimeria" "facesad" "Lady Thalindra, could I read in the library at night?" "she asks timidly" "I promise I'll be quiet and won't disturb anyone.">>
<<dialog "Thalindra" "face" "I don't care what you do as long as you do your work during the day." "she replies dismissively" "Just don't break anything.">>
<<thought "Gairos" "face" "The girl was allowed to read? That's unusual for a slave.">>
<<narrative "Another memory forms, showing Thalindra speaking to a now older Nimeria.">>
<<dialog "Thalindra" "face" "You're getting of age, girl." "she says with a cruel smile" "Soon you can spread your legs for Thomas and any other man to pay back my generosity.">>
<<thought "Gairos" "face" "So they were planning to use her as a prostitute.">>
<<narrative "The scene shifts again to show a brutal whipping scene in what appears to be a work area.">>
<<dialog "Male NPC" "face" "Continue to count, demon! There are still 80 left!" "he shouts while bringing down the whip">>
<<dialog "Seryk" "faceworried" "You already whipped me 60 times!" "he cries out in pain">>
<<dialog "Male NPC" "face" "Oh? Another 100 whips for talking back!" "he snarls">>
<<thought "Gairos" "face" "The boy was being punished regularly. No wonder he's so strong now - he had to endure constant abuse.">>
<<narrative "Another memory forms, showing a conversation between slavers about payment.">>
<<dialog "Male NPC" "face" "Those damned misers. They paid us only half again." "he complains" "Just look at their fat elder, as if they didn't make enough money...">>
<<dialog "Nimeria" "facesad" "Oh, that's weird." "she says innocently" "I just saw them trading with the neighbor village earlier.">>
<<thought "Gairos" "face" "The girl was observing their activities. She was gathering information.">>
<<narrative "A more personal memory appears - Nimeria and Seryk in what looks like a small, dirty room.">>
<<dialog "Nimeria" "face" "Seryk, wake up!" "she says, shaking her brother">>
<<dialog "Seryk" "faceexhausted" "Just let me sleep..." "he mumbles">>
<<dialog "Nimeria" "face" "I want to wash up at the river, I fell in dirt..." "she says">>
<<dialog "Seryk" "faceserious" "Then go." "he replies sleepily">>
<<dialog "Nimeria" "face" "But it's dark and dangerous..." "she whines">>
<<dialog "Seryk" "faceserious" "Just ask Thalindra to use the bath..." "he suggests">>
<<dialog "Nimeria" "facehappy" "Come hug me!" "she says, jumping on him">>
<<dialog "Seryk" "faceshock" "Eww, you smell like shit! You got it all over me!" "he complains">>
<<dialog "Nimeria" "facehappy" "Yes, I fell in poop!" "she says with a giggle">>
<<thought "Gairos" "face" "...">>
<<narrative "The final memory materializes - the night of the attack. Nimeria and Seryk watch from a distance as the village burns.">>
<<dialog "Nimeria" "face" "...">>
<<dialog "Seryk" "faceshock" "Nimeria what did you...">>
<<thought "Gairos" "face" "So they were the ones who orchestrated this massacre. They used their powers to manipulate the slavers into attacking the own village.">>
<<narrative "The memories fade, and Gairos stands alone among the ruins once more.">>
<<dialog "Gairos" "faceangry" "This damned demon girl and her brother!" "he snarls" "I knew you can't trust demons! I'll kill them both and the family while I'm at it!">>
<<thought "Gairos" "face" "They've been playing us all along. The entire family is complicit in this deception.">>
<<continueBox "Ch6HotspringWomen" "Continue" "Return to the hot springs...">>
</div>
<</nobr>>
<<pov "gairos" "nimeriaserykmalrik.mp3">><<nobr>>
<div class="passage-container gairos">
<<narrative "The demon girl enters my chamber, her face marred by fresh bruises and dried blood. Her usual confident demeanor has been replaced by nervous fidgeting, and her eyes dart around the room like a cornered animal.">>
<<dialog "Gairos" "faceangry" "Demon girl, is there something you'd like to confess to me?">>
<<dialog "Nimeria" "facebruised" "Erm, no? Master Gairos.">>
<<thought "Gairos" "face" "She's lying. That much is obvious from the way she's avoiding my gaze and the defensive posture she's taken.">>
<<dialog "Gairos" "faceangry" "Your little experiments? Do you think I'm unaware of what you've been doing in your room?! Some kind of weapon to use against me, I presume?">>
<<dialog "Nimeria" "faceworried" "... no, of course not in the slightest, Master Gairos. The opposite actually. The thing is, I worked on a surprise for you.">>
<<thought "Gairos" "face" "A surprise? This demon girl is more cunning than I gave her credit for. She's trying to turn this into something positive.">>
<<dialog "Gairos" "faceconfused" "Oh, what kind of surprise?">>
<<dialog "Nimeria" "faceconfident" "A crystal that can amplify your magic power tremendously.">>
<<thought "Gairos" "face" "Now that's interesting. A crystal that amplifies magic power? Such a thing would be incredibly valuable... and dangerous in the wrong hands. If she's telling the truth, this could be exactly what I need.">>
<<dialog "Gairos" "facesmirk" "That sounds intriguing. But you believe me a little demon girl would be able to accomplish such a feat by herself? Well, where is this crystal?">>
<<dialog "Nimeria" "faceworried" "It was stolen. By the Trinketsmith Oswin.">>
<<thought "Gairos" "face" "Oswin? The accessory shop owner? I've bought from him before - he's a greedy, opportunistic man. This could be problematic if he realizes what he's stolen.">>
<<dialog "Gairos" "faceconfident" "Hmm, I've purchased some accessories from him before... I'll investigate this tonight. Now leave, girl.">>
<<narrative "She bows quickly and scurries out of the room, clearly relieved to be dismissed. I lean back in my chair, considering the implications of what she's told me.">>
<<thought "Gairos" "face" "A crystal that amplifies magic power... If this demon girl actually created such a thing, it could be incredibly useful. But if Oswin has it, I need to get it back before he realizes what he's stolen.">>
<<continueBox "Ch6GairosVisitsOswin" "Continue" "Gairos investigates the stolen crystal...">>
</div>
<</nobr>>
<<pov "gairos" "nimeriaexperiment.mp3">><<nobr>>
<div class="passage-container gairos">
<<narrative "Gairos steps through the darkened hallway, the flickering candlelight casting long shadows across the walls. The atmosphere feels eerily familiar, stirring memories he'd rather forget.">>
<<thought "Gairos" "face" "This darkness... these shadows... it reminds me of that night. The night everything changed.">>
<<narrative "He pulls out the red crystal, its surface pulsing with dark energy as he channels his magic through it.">>
<<thought "Gairos" "face" "Time to make sure no one interferes with what needs to be done.">>
<<narrative "Gairos raises the crystal high, casting a tremendous barrier around the entire house. The magical energy surges through the walls, sealing every entrance and exit.">>
<<thought "Gairos" "face" "By the gods... this barrier is stronger than anything I've ever created. The crystal's power is incredible.">>
<<narrative "He makes his way to the kitchen, but something is wrong. The familiar layout has been completely altered.">>
<<thought "Gairos" "face" "What the hell? Where's the table? This doesn't look like the kitchen at all.">>
<<narrative "In the center of the room sits Nimeria on a single chair, her posture regal and composed. Before her lies an intricate magic circle, its symbols glowing faintly in the dim light.">>
<<thought "Gairos" "face" "That magic circle... I know it too well. It's the same one from that night. But how does she know it?">>
<<narrative "The furniture has been rearranged, the entire space transformed to resemble something from his nightmares.">>
<center><img src="images/story/chapter6/nimeria/welcomegairos.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Gairos" "face" "She's trying to recreate it... the throne room from that night. But why? What is she planning?">>
<<dialog "Nimeria" "facesmirk" "Welcome to my little throne room, Gairos!" "she says with a cold smile" "Took you long enough. Getting old?">>
<<thought "Gairos" "face" "She's been expecting me. This was all planned. But what game is she playing?">>
<<dialog "Gairos" "faceangry" "What is this, demon? What are you trying to accomplish?" "he demands">>
<<dialog "Nimeria" "facesmirk" "Oh, just a little family reunion." "she replies" "I thought it would be fitting to recreate the scene where you murdered my parents.">>
<<thought "Gairos" "face" "She knows. She knows everything. But how? She wasn't even there that night.">>
<<dialog "Gairos" "faceangry" "This circle, and this room... How did you replicate it so perfectly?" "he demands">>
<<dialog "Nimeria" "facesmirk" "Maybe I was there?" "she replies with a knowing smile">>
<<dialog "Gairos" "faceangry" "Impossible! Everyone died that night!" "he shouts">>
<<dialog "Nimeria" "facesmirk" "True..." "she says, looking at the sword hanging on the wall" "What an old sword. Nostalgic even, remembering how it went through my chest.">>
<<narrative "Nimeria's eyes gleam with dark amusement as she studies the weapon that once took her life.">>
<<dialog "Nimeria" "facesmirk" "But where are my manners? Nimeria, daughter of the Demon King." "she says with regal authority" "You can call me queen!">>
<<dialog "Nimeria" "facesmirk" "The queen who always repays her debt." "she continues with cold determination" "Now tell me, Gairos. Can you still count all your sins?">>
<<thought "Gairos" "face" "Daughter of the Demon King? But that's impossible... she died that night!">>
<<dialog "Gairos" "faceangry" "Nevermind, just die already!" "he snarls">>
<<narrative "Gairos begins to cast a fireball, flames forming in his hand as he channels his magic for the attack.">>
<<continueBox "Ch6HotspringEvening2" "Continue" "The battle begins...">>
</div>
<</nobr>>
<<pov "gairos" "gairosconfrontation.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "Several hours have passed since the discovery. The healers arrived quickly but could do nothing to save Gairos. The house is now filled with guards, neighbors, and officials investigating the scene.">>
<<thought "Rylan" "face" "I don't know what to think about this. Should I be sad or relieved about his death? He was... complicated.">>
<<narrative "Nimeria sits in a corner, her face red from crying, being questioned by a stern-looking guard.">>
<<dialog "Nimeria" "faceworried" "I don't know what happened!" "she sobs" "He suddenly clutched his chest and collapsed, muttering something about being under attack or poisoned while holding a brooch. He kept saying a name... Oswald? Or something like that.">>
<<dialog "Male NPC" "face" "A brooch, and Oswald?" "he asks" "You mean Oswin?">>
<<dialog "Nimeria" "faceworried" "Yes, that's it!" "she says through tears" "He cast a barrier to protect us both, and I tried to help him with mana potions, but it was too late. He died a hero!">>
<<narrative "The neighbors begin whispering among themselves.">>
<<dialog "Female NPC" "face" "Didn't he get into a fight with Oswin recently?" "he asks">>
<<dialog "Female NPC" "face" "Yes! He wanted to revoke Oswin's license!" "he confirms">>
<<dialog "Male NPC" "face" "Bring Oswin here immediately!" "he orders">>
<<thought "Rylan" "face" "This is getting complicated. I hope they figure out what really happened.">>
<<narrative "A King's Guard arrives with Oswin in tow, his face pale with fear.">>
<<dialog "Male NPC" "face" "I'll investigate this personally." "he says" "Healer, examine the corpse thoroughly.">>
<<narrative "The healer carefully examines Gairos's body while the King's Guard watches intently.">>
<<dialog "Male NPC" "face" "Mana overload." "he reports" "His circuits were completely fried from the inside out.">>
<<dialog "Male NPC" "face" "Did you check the brooch?" "he asks">>
<<dialog "Male NPC" "face" "Yes, it was filled with a substance. I assume it's poison." "he confirms">>
<<narrative "The King's Guard moves the corpse to examine the area beneath it, and his expression changes to one of shock.">>
<<thought "Rylan" "face" "What did he find? Something important, I can tell.">>
<<dialog "Male NPC" "face" "Drag this Oswin into prison immediately!" "he orders" "Oswins name was scratched in the floor!">>
<<dialog "Oswin" "face" "I didn't do it! I'm sure this demon girl did it!" "he protests">>
<<dialog "Nimeria" "faceworried" "I would never!" "she cries">>
<<dialog "Male NPC" "face" "Just a demon... take her too, she should hang!" "he says coldly">>
<<dialog "Seryk" "faceangry" "What?!" "he shouts">>
<<dialog "Male NPC" "face" "Another demon? Silence or you will hang too." "he threatens">>
<<dialog "Rylan" "faceangry" "You can't!" "he protests">>
<<narrative "Thalor quickly steps forward and stops $humanName with a firm hand on his shoulder.">>
<<dialog "Rylan" "faceangry" "$humanToThalor!" "he says">>
<<dialog "Thalor" "face" "Stop!" "he commands">>
<<dialog "Male NPC" "face" "What is it? You might be a hero, but here I have the authority!" "he says">>
<<dialog "Thalor" "face" "I wonder what the king might think about one of his guards insulting Gairos's death." "he says calmly">>
<<dialog "Male NPC" "face" "What do you mean?" "he asks">>
<<dialog "Thalor" "face" "Gairos hated demons. Do you really want to imply a little demon girl might have been the reason for his death?" "he says">>
<<narrative "The King's Guard thinks for a moment, then nods.">>
<<dialog "Male NPC" "face" "Well, as you were his most trusted friend, I assume you might speak the truth. Let the demon go. Only take the smith." "he orders">>
<<dialog "Oswin" "face" "Wait, I'm innocent!" "he protests">>
<<narrative "Oswin is dragged away, but as he passes by Nimeria, he suddenly lunges forward and grabs a sword from one of the guards.">>
<<dialog "Oswin" "face" "Damned demon girl!" "he roars">>
<<narrative "Oswin charges toward Nimeria with the stolen sword, his face twisted in rage.">>
<center><img src="images/oswin/sword.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "facepanicked" "Oh no! What do I do? I'm too far away to help!">>
<<continueBox "Ch6OswinAttack" "Continue" "The desperate attack...">>
</div>
<</nobr>>
<<pov "rylan" "tense.mp3">><<nobr>>
<div class="passage-container gairos">
<<narrative "Gairos stands among the charred remains of Mistfen Reach, surveying the destruction with cold, calculating eyes. The once-thriving village now lies in ashes, its buildings reduced to blackened rubble.">>
<center><img src="images/landscapes/mistfenreachafter.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Gairos" "face" "This shouldn't take long to figure out. The evidence is all here, I just need to see what really happened.">>
<center><img src="images/story/chapter6/nimeria/crystal.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "He pulls out Nimeria's crystal from his pocket, its surface catching the dim light as he holds it up to examine the devastation.">>
<<thought "Gairos" "face" "Time to see the truth of what happened here. Let's find out who was responsible for this massacre.">>
<<narrative "Gairos begins to channel his magic through the crystal, the air around him shimmering as the spell takes effect. The crystal glows brighter, and suddenly the scene around him shifts.">>
<<narrative "The burned ruins transform back to a bustling village, and Gairos watches as the past unfolds before his eyes.">>
<<thought "Gairos" "face" "There they are... bandits raiding the village. But wait... I recognize some of these faces.">>
<<narrative "As the memory plays out, Gairos's eyes narrow as he studies the attackers more closely. These aren't just random bandits - he knows these men.">>
<<thought "Gairos" "face" "Those are the slave traders I worked with years ago. What are they doing here? This wasn't a random attack at all.">>
<<narrative "The memory shows the bandits systematically destroying the village, taking no prisoners, and then setting everything ablaze before disappearing into the night.">>
<<thought "Gairos" "face" "Their main camp is that small village near the border. I know exactly where to find them.">>
<<narrative "The crystal's glow fades as the memory ends, returning Gairos to the present moment among the ruins.">>
<<thought "Gairos" "face" "Perfect. Now I know exactly who to hunt down. This won't take long at all.">>
<<continueBox "Ch6HotSpringsArrival" "Continue" "Begin the hunt...">>
</div>
<</nobr>>
<<pov "gairos" "nimeriaserykmalrik.mp3">><<nobr>>
<div class="passage-container gairos">
<<narrative "Gairos arrives back at the house with murderous intent, his eyes burning with rage as he steps through the front door, ready to confront the demons who have been deceiving him all along.">>
<center><img src="images/landscapes/rylanhouse.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<continueBox "Ch6HotspringEvening1" "Continue" "The confrontation begins...">>
</div>
<</nobr>>
<<pov "gairos" "gairosconfrontation.mp3">><<nobr>>
<div class="passage-container gairos">
<<narrative "Gairos stands among the burning ruins of the slave trader village, the red crystal glowing ominously in his hand. Smoke rises from the charred buildings as the last of the flames consume what remains.">>
<center><img src="images/story/chapter6/gairos/burnedvillage.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "A lone figure crawls from the wreckage, badly wounded and coughing from the smoke. He looks up at Gairos with terror in his eyes.">>
<<dialog "Male NPC" "face" "What... what do you want from me?" "he cries out" "Please, just tell me what you want!">>
<<thought "Gairos" "face" "Good, one of them survived. Now I can get the answers I need.">>
<<dialog "Gairos" "facesmirk" "Oh, pardon my manners." "he says with mock politeness" "I should have said something before attacking. Do you remember attacking a nearby village? Mistfen Reach, I believe it was called.">>
<<dialog "Male NPC" "face" "Yes... yes, we did." "he admits" "They hadn't paid us for weeks, and there was this demon girl...">>
<<thought "Gairos" "face" "A demon girl? This is getting interesting...">>
<<dialog "Gairos" "facesmirk" "Oh, do continue..." "he says with a dangerous smile" "I'm very interested in hearing more about this demon girl.">>
<<continueBox "Ch6HotspringMen" "Continue" "The truth unfolds...">>
</div>
<</nobr>>
<<pov "gairos" "gairosconfrontation.mp3">><<nobr>>
<div class="passage-container gairos">
<<narrative "Many hours before...">>
<<narrative "Gairos stands before Nimeria, his hand crackling with magical energy as he prepares to cast his fireball spell. The tension in the reconstructed throne room is palpable.">>
<<dialog "Nimeria" "facesmirk" "Gairos, you are a hero." "she says with cold certainty" "And that's all you will ever be.">>
<<thought "Gairos" "face" "That's... that's the same line Azgorth said...">>
<<dialog "Nimeria" "facesmirk" "Do you really think a measly fireball could kill me?" "she asks with amusement">>
<center><img src="images/story/chapter6/nimeria/welcomegairos.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Suddenly, magical energy begins to flow around Nimeria, swirling and crackling with power. She raises her hand, and a barrier forms around her - looking exactly like the one Azgorth had used that night, but even stronger.">>
<center><img src="images/story/chapter6/nimeria/barrier.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Gairos" "face" "This is impossible... I don't feel any mana flowing from her, yet she's casting such powerful magic. How is this possible?">>
<<dialog "Nimeria" "facesmirk" "Gairos, what's wrong?" "she taunts" "Do I smell fear? Do you think you can break this barrier? No children or maids here you can sacrifice this time, so what's your plan?">>
<<thought "Gairos" "face" "She's right... I can't weaken her barrier like I did with Azgorth. But I'm Gairos! I can't be intimidated by a small girl!">>
<<narrative "Gairos begins to channel his strongest spell, a javelin of pure lightning forming in his hand as he pours all his magical power into the attack.">>
<<dialog "Gairos" "faceangry" "Die!" "he roars">>
<center><img src="images/gairos/poses/fight/jaevelin.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<continueBox "Ch6GairosVSNimeria2" "Continue" "The battle continues...">>
</div>
<</nobr>>
<<pov "gairos" "gairosconfrontation.mp3">><<nobr>>
<<set $metNimeria = true>>
<<deactivateSidebarTransformation "Nimeria">>
<div class="passage-container thalor">
<<narrative "Many hours later... The barrier suddenly dissipates, its magical energy fading away as if it had never existed.">>
<center><img src="images/landscapes/rylanhouse.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Thalor" "face" "The barrier is gone! Something must have happened inside.">>
<<narrative "Thalor instantly draws his sword and rushes toward the house, his heart pounding.">>
<<thought "Thalor" "face" "I need to get inside and see what's going on. Where are Gairos and Nimeria?">>
<<narrative "He bursts through the front door, but what he finds inside shocks him to the core.">>
<<continueBox "Ch6GairosVSNimeria3" "Continue" "The shocking discovery...">>
</div>
<</nobr>>
<<pov "thalor" "gairosconfrontation.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "Many hours before...">>
<center><img src="images/gairos/poses/fight/jaevelin.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Gairos is about to cast his javelin when suddenly it stops mid-air, the magical energy dissipating harmlessly.">>
<<narrative "Gairos clutches his chest in pain and collapses to the ground, his face contorted in agony.">>
<<dialog "Gairos" "faceangry" "Witch! What have you done to me?!" "he gasps" "Poison?">>
<center><img src="images/story/chapter6/gairos/dying.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facesmirk" "Oh, nothing so crude as poison." "she says with a wicked grin" "How deliciously ironic - the very spell that ended my father's life will be your undoing too!">>
<<if $serykxliorantr === true>>
<<dialog "Nimeria" "facesmirk" "I have to thank little Liora for inspiring this particular approach." "she adds with a knowing smile">>
<</if>>
<<dialog "Nimeria" "facesmirk" "You see, what you're experiencing is a beautiful little paradox." "she explains with cold amusement" "Your body's healing magic is desperately trying to repair the damage, but it's drawing in so much mana that it's overloading your circuits. You're literally healing yourself to death.">>
<<dialog "Nimeria" "facesmirk" "But before you... expire, allow me to share the brilliance of my plan." "she says with theatrical flair">>
<center><img src="images/story/chapter6/nimeria/evil1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facesmirk" "Tell me, did you eliminate those slave traders who sold us?" "she asks" "Did they destroy the village that treated us like property? And now I'll frame the man who struck me for your murder. Poetic, don't you think?">>
<<dialog "Gairos" "faceangry" "You're... you're a monster..." "he gasps weakly">>
<<dialog "Nimeria" "facesmirk" "Oh my, does it hurt terribly?" "she says with exaggerated concern" "Here, let me help you with a mana potion!">>
<<narrative "Gairos writhes in agony as the potion only intensifies his suffering, his mana circuits burning with overload.">>
<<dialog "Nimeria" "facesmirk" "Oops! Did that make it worse?" "she giggles" "Don't worry, we have an entire cellar full of mana potions. We have all night to play this game.">>
<<dialog "Nimeria" "facesmirk" "I wonder what would happen if I started removing body parts?" "she muses" "Fingers, eyes... though I suppose that would be difficult to explain to the authorities.">>
<<dialog "Gairos" "faceangry" "They'll... they'll execute you for this!" "he shouts weakly">>
<<narrative "Nimeria's expression suddenly shifts to one of dramatic distress, tears streaming down her face.">>
<center><img src="images/story/chapter6/nimeria/crying1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "faceworried" "Oh no! He just collapsed!" "she wails" "I tried everything! I gave him all my mana potions, but nothing worked! I'm so sorry!">>
<<dialog "Gairos" "faceangry" "You'll... burn for this..." "he gasps">>
<<dialog "Nimeria" "facesmirk" "Now, where were we?" "she says, her tears vanishing instantly" "Ah yes, explaining my magnificent scheme.">>
<<dialog "Nimeria" "facesmirk" "The crystal you so eagerly accepted contains concentrated nightweed essence." "she explains with scholarly precision" "It enhances your magical power, but also multiplies the mana consumption exponentially. When you cast a spell that already drains most of your reserves, then amplify it further... well, even a fool could predict the outcome.">>
<<dialog "Gairos" "faceworried" "How... how could I be so blind?" "he gasps">>
<<dialog "Nimeria" "facesmirk" "It was a calculated risk, I'll admit." "she says" "If you'd chosen fireball instead of javelin, I'd be nothing but ashes right now. But you played right into my hands.">>
<<dialog "Gairos" "faceworried" "But that barrier... it felt so real..." "he says weakly">>
<<dialog "Nimeria" "facesmirk" "As a mare, I can weave illusions using mana crystals." "she explains" "I recreated that throne room perfectly, down to the last detail. All to make you relive that moment and cast the same spell. Quite elegant, wouldn't you say?">>
<<dialog "Gairos" "faceangry" "Damn you... I was right to hunt your kind..." "he gasps">>
<<dialog "Nimeria" "facesmirk" "Oh, don't be so dramatic." "she says" "I'm the exception, not the rule. Look at Seryk - he may appear brutish, but he's one of the gentlest souls I know.">>
<<dialog "Nimeria" "facesmirk" "In truth, we're not so different, you and I." "she continues" "We both despise this world, feel its loneliness, and impose our vision on others. The only difference is our methods - you rule through terror, I through ecstasy.">>
<<dialog "Gairos" "faceworried" "Look at what you've done... is this your idea of happiness?" "he asks weakly">>
<<dialog "Nimeria" "facesmirk" "I suspect more will rejoice at your passing than mourn it." "she replies" "But tell me, wouldn't you like to serve in my new world?">>
<<dialog "Gairos" "faceangry" "Never... you demon..." "he gasps">>
<<dialog "Nimeria" "facesmirk" "Not that I'd have you anyway." "she laughs" "My world has no place for bitter old wizards. Only beautiful people who can love freely, without society's chains. No wars, no inherited power - only earned greatness. I'm quite proud of my vision, actually.">>
<<dialog "Gairos" "faceworried" "You're... insane..." "he gasps">>
<<dialog "Nimeria" "facesmirk" "How original." "she says" "Oh, your mana is running low again. Let me fetch more potions...">>
<center><img src="images/story/chapter6/nimeria/evillaugh.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "facesmirk" "I've been reading your personal journals in Mistfen Reach." "she says" "Your entire crusade against demons stems from that attack on your hometown, doesn't it? The one that claimed your friends and wife?">>
<<dialog "Gairos" "faceworried" "Yes... that's when it all began..." "he admits weakly">>
<<dialog "Nimeria" "facesmirk" "How fascinating. I've read the other side of that story as well." "she says" "You see, I had nothing but time as a child, and I devoured every book in our library. I remember them all perfectly.">>
<<dialog "Gairos" "faceworried" "That's... impossible..." "he gasps">>
<<dialog "Nimeria" "facesmirk" "I only need to glance at a page to memorize it completely." "she explains" "Even years later, I can recall every word, every detail. It's quite useful, really.">>
<<dialog "Gairos" "faceworried" "That's... terrifying..." "he gasps">>
<<dialog "Nimeria" "facesmirk" "Knowledge is the ultimate power, don't you think?" "she laughs" "Even this fragile body can accomplish more than the mightiest warrior, simply through understanding. I could outmaneuver Azgorth himself, and look at you now - the supposedly strongest being alive, dying at my feet.">>
<<dialog "Nimeria" "facesmirk" "Now, here's something interesting." "she continues" "Azgorth documented the entire incident in his own records. Not because he knew it was your hometown, but because it sparked a new war. The 'demons' who attacked weren't affiliated with the demon kingdom at all. They were mercenaries called the Red Wings - a mixed group of humans and demons hired by nobles to stage raids. Their condition was simple: only demons would attack. Their goal? Profit from war. Azgorth eventually destroyed their entire organization.">>
<<dialog "Gairos" "faceworried" "No... that can't be..." "he gasps">>
<<dialog "Nimeria" "facesmirk" "Oh, but it is." "she taunts" "Someone of your intelligence should have figured it out. Unless... you already knew, and simply chose to ignore the truth because you needed an enemy to justify your existence.">>
<<dialog "Gairos" "faceangry" "Stop it!" "he shouts weakly">>
<<dialog "Nimeria" "facesmirk" "You needed a scapegoat to give your life meaning." "she continues relentlessly">>
<<dialog "Gairos" "faceworried" "Please... just let me die..." "he pleads">>
<<dialog "Nimeria" "facesmirk" "Not yet." "she says coldly">>
<<dialog "Nimeria" "facesmirk" "Normally, I'd ask you to count your sins and then explain how wrong you were about everything." "she says with a cruel smile" "But you've accumulated so many that it would take all night. Instead, I'll simply return the favor - making you experience the same agony you brought upon me and everyone I care about.">>
<<dialog "Nimeria" "facesmirk" "Eager to reunite with your wife, are you?" "she taunts" "Do you really believe you'll see her again after all this time?">>
<<dialog "Gairos" "faceworried" "...please...">>
<<dialog "Nimeria" "facesmirk" "It's been what, a century? If there's an afterlife, I'm certain she's found someone new by now." "she continues cruelly" "Who would wait for such a bitter, broken man? Maybe she gets gangbanged right now!">>
<center><img src="images/story/chapter6/nimeria/evillaugh2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Gairos" "faceworried" "...just let me die...">>
<<dialog "Nimeria" "facesmirk" "Perhaps she'll let you watch from the shadows while she enjoys herself with another." "she taunts with a wicked smile" "Would that excite you, Gairos? Are you the type who finds pleasure in watching others? Are you a cuckold Gairos?">>
<<continueBox "Ch6ThalorFindsNimeria" "Continue" "The psychological torture continues...">>
</div>
<</nobr>>
<<pov "nimeria" "nimeriagairostorture.mp3">><<nobr>>
<div class="passage-container gairos">
<<narrative "The evening shadows stretch long across the marketplace as I approach the accessory shop. The door is locked, but that won't stop me from getting what I need.">>
<<narrative "I push the door open with a simple spell, the lock clicking open with a soft metallic sound. Inside, Oswin is startled by the sudden entrance.">>
<<dialog "Oswin" "face" "Who dares enter at this hour! We're closed for the night!">>
<<dialog "Gairos" "faceconfident" "I believe I misheard you.">>
<<narrative "Recognition dawns on Oswin's face as he sees who has entered his shop. His expression shifts from anger to nervous respect.">>
<<dialog "Oswin" "face" "Oh! Lord Gairos! What brings you to my humble shop at such a late hour?">>
<<dialog "Gairos" "faceconfident" "I understand a young demon girl with dark hair visited you earlier today?">>
<<dialog "Oswin" "face" "... yes, I already reported it to the guards. She attempted to steal one of my most valuable crystals. Unfortunately, she fled before I could hand her over to the authorities.">>
<<thought "Gairos" "face" "Liar. I can see the greed in his eyes. He's trying to cover up his theft with a story about the demon girl stealing from him.">>
<<dialog "Gairos" "facesmirk" "Indeed, demons cannot be trusted. You mentioned a crystal?">>
<<dialog "Oswin" "face" "Yes! I've just finished crafting a magnificent brooch for it, simply need to set the stone! Allow me to show you this treasure!">>
<<narrative "Oswin rushes to his workbench and pulls out a beautiful brooch, then carefully places the red crystal beside it. The moment I take the crystal in my hand, I can feel the tremendous power coursing through it.">>
<center><img src="images/story/chapter6/nimeria/crystal.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel giving Rylan stockings"></center>
<<thought "Gairos" "face" "Incredible. This crystal pulses with raw magical energy unlike anything I've ever felt. The demon girl wasn't lying about its power.">>
<<dialog "Gairos" "faceconfident" "Let me test its capabilities.">>
<<narrative "I cast a small fire spell from my fingertip that would usually just be enough to light a cigar, but the crystal amplifies it beyond belief. A massive flame erupts, nearly reaching the ceiling and scorching the walls.">>
<<dialog "Gairos" "faceshocked" "Remarkable. What's your asking price?">>
<<dialog "Oswin" "face" "... 150,000 gold pieces.">>
<<dialog "Gairos" "faceconfused" "150,000 gold?">>
<<dialog "Oswin" "face" "Yes, I'm certain it's worth far more, and for you...">>
<<dialog "Gairos" "faceangry" "For stolen goods? I think not.">>
<<narrative "I slip the crystal into my robe and turn to leave, but Oswin runs out behind me, desperation in his voice.">>
<<dialog "Oswin" "face" "Lord Gairos, you cannot simply take that!">>
<<narrative "The guards notice the commotion and approach to investigate.">>
<<dialog "Male NPC" "face" "What's happening here?">>
<<dialog "Oswin" "face" "He's attempting to take my crystal without payment!">>
<<dialog "Gairos" "faceangry" "Do you have any idea what you just said? Once I return to the capital, I'll take measures myself - you will lose your merchant license! Guards, you may leave!">>
<<dialog "Male NPC" "face" "Yes, Lord Gairos!">>
<<dialog "Oswin" "face" "Damn it!">>
<<narrative "I smirk as I walk away, the crystal safely hidden in my robe. Oswin stands there, defeated and furious, knowing he's lost everything.">>
<<thought "Gairos" "face" "Returning home with my new tool. This crystal will provide the power I need to achieve my goals. The demon girl has proven more useful than I initially thought.">>
<<continueBox "MorningActivityChoicesNext" "Continue" "Gairos returns with his new power...">>
</div>
<</nobr>>
<<pov "gairos" "nimeriaexperiment.mp3">><<nobr>>
<div class="passage-container rylan">
<<advanceTime 1>>
<<narrative "The carriage comes to a stop at the entrance to the hot springs resort, and everyone begins to unpack their belongings. The afternoon sun casts a warm glow over the peaceful setting.">>
<center><img src="images/landscapes/hotspringinn.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Serin and Seryk work together to unload the bags, but something seems off about Seryk. He's unusually quiet, his usual cheerful demeanor replaced with a distant, worried expression.">>
<<thought "Rylan" "face" "Seryk seems really distracted. Maybe he's worried about Nimeria staying behind? I hope nimeria is okay.">>
<<dialog "Serin" "face" "Hey, you okay there?" "she asks Seryk" "You've been quiet the whole trip.">>
<<dialog "Seryk" "faceworried" "Yeah, just... thinking about things." "he says vaguely" "Don't worry about it.">>
<<thought "Rylan" "face" "Definitely something bothering him. I should ask about it later.">>
<<narrative "Meanwhile, Mariel and Thalor stand a short distance away, having their own conversation. Their voices are low, but the tension can be felt.">>
<<dialog "Mariel" "faceworried" "How long are we planning to stay here?" "she asks" "I need to know what to expect.">>
<<dialog "Thalor" "face" "Maybe just a few days." "he replies" "We'll see how things go.">>
<<thought "Rylan" "face" "That's not very specific. Usually $humanToThalor has everything planned out in detail.">>
<<dialog "Mariel" "faceworried" "Tell me what's going on." "she says firmly" "This isn't like you at all. Spontaneously deciding on a hot spring trip, then not even knowing how long we're staying?">>
<<narrative "Mariel steps closer, studying Thalor's face with concern.">>
<<dialog "Mariel" "faceworried" "And I can see on your face that something's worrying you." "she continues" "What is it?">>
<<dialog "Thalor" "faceworried" "No, it's nothing." "he says quickly" "Everything's fine.">>
<<dialog "Mariel" "faceangry" "As if." "she says with a knowing look" "You're making the same face as when you..." "she trails off">>
<<thought "Rylan" "face" "What is she referring to? There's definitely something $humanToThalor isn't telling us.">>
<<dialog "Thalor" "faceworried" "Please, let's just enjoy this little vacation, okay?" "he says, his voice carrying a note of pleading" "Can we just... not talk about it right now?">>
<<dialog "Mariel" "facesad" "Fine." "she says with a sigh" "But we will talk about this later.">>
<<thought "Rylan" "face" "Something's definitely wrong. Both $humanToThalor and Seryk seem troubled by something. I wonder if it's related to what Gairos said about the investigation.">>
<<narrative "The group begins to make their way toward the hot spring facilities, but the tension in the air is unmistakable.">>
<<continueBox "Ch6GairosSlavervillage" "Continue" "Set up for the stay...">>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<<advanceTime 1>>
<div class="passage-container rylan">
<<silently>>
<<setSidebarTransformation "Nimeria" "death" "images/nimeria/transformation/death/face1.webp" "images/nimeria/transformation/death/face1.webp">>
<<activateSidebarTransformation "Nimeria" "death">>
<</silently>>
<<narrative "As evening approaches, the group gathers in the hot spring resort's common room for a friendly game of cards. The warm atmosphere helps ease some of the earlier tension.">>
<<dialog "Mariel" "face" "Alright, who's ready to lose some money?" "she says with a playful smile" "I've been practicing my poker face.">>
<<dialog "Thalor" "face" "You're on, dear." "he replies" "But don't expect me to go easy on you just because you're my wife.">>
<<dialog "Serin" "face" "I'm in too!" "she says enthusiastically" "Time to show you all how it's done.">>
<<dialog "Seryk" "face" "Count me in." "he says, though his usual cheer seems forced">>
<<thought "Rylan" "face" "This is nice. Everyone seems to be relaxing a bit, even if Seryk still seems distracted.">>
<<narrative "The group settles around the table, cards in hand, as the evening begins to unfold.">>
<<continueBox "Ch6GairosConfrontsNimeriaEnding" "Continue" "The game continues...">>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<div class="passage-container rylan">
<<silently>>
<<setSidebarTransformation "Nimeria" "death" "images/nimeria/transformation/death/face2.webp" "images/nimeria/transformation/death/face2.webp">>
<<activateSidebarTransformation "Nimeria" "death">>
<</silently>>
<<narrative "The card game continues for a while, with Mariel winning most of the hands and Thalor grumbling good-naturedly about his bad luck.">>
<<dialog "Mariel" "face" "Another win for me!" "she says with a grin" "You boys need to work on your bluffing skills.">>
<<dialog "Thalor" "face" "I'm just letting you win to keep you happy." "he says with a smirk">>
<<dialog "Serin" "face" "Sure you are, '$humanToThalor'." "she teases" "Keep telling yourself that.">>
<<thought "Rylan" "face" "Something feels off... I can't quite put my finger on it, but there's this weird feeling in the air.">>
<<dialog "Rylan" "face" "Does anyone else feel like something's not right?" "he asks" "I can't shake this strange feeling.">>
<<if $marielTransformationMother === true>>
<<dialog "Mariel" "faceworried" "What do you mean, sweetheart?" "she asks with maternal concern" "Tell mommy what's bothering you.">>
<<else>>
<<dialog "Mariel" "faceworried" "What do you mean, dear?" "she asks" "What kind of feeling?">>
<</if>>
<<dialog "Rylan" "face" "I don't know... it's like something's missing, or changed." "he says" "I can't explain it.">>
<<thought "Seryk" "faceworried" "He's right... something does feel different. But what?">>
<<narrative "The group continues playing, but the atmosphere has shifted slightly, as if everyone is now aware of something being amiss.">>
<<continueBox "Ch6HotspringEvening3" "Continue" "The revelation...">>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<<set $metNimeria = false>>
<div class="passage-container rylan">
<<narrative "Suddenly, Seryk's eyes widen as realization dawns on him.">>
<<dialog "Seryk" "faceworried" "Nimeria!" "he exclaims" "I can't feel her presence anymore!">>
<<thought "Rylan" "face" "What? That's impossible... but now that he mentions it, I don't feel her either.">>
<<dialog "Rylan" "face" "You're right! I don't feel her anymore either!" "he says" "What's happening?">>
<<narrative "Thalor's face grows pale as his upper back begins to burn with an intense pain. He closes his eyes for a moment, his expression grim.">>
<center><img src="images/thalor/tattoo/pulsing.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Thalor" "faceworried" "...damn... am I still the same as before?">>
<<dialog "Thalor" "faceworried" "Excuse me for a while." "he says quickly" "I need to check on something.">>
<<narrative "Thalor rushes out of the room, heading toward the stables. Rylan and Seryk quickly follow behind him.">>
<<dialog "Rylan" "face" "Wait, we're coming with you!" "he calls out">>
<<dialog "Seryk" "face" "We're not letting you go alone!" "he adds">>
<<narrative "Thalor stops at the stables, quickly saddling a horse. He turns to face the two young men.">>
<<dialog "Thalor" "faceworried" "You two should stay here. This could be dangerous." "he says">>
<<dialog "Rylan" "face" "No way! We're coming with you!" "he insists">>
<<dialog "Seryk" "face" "We're not backing down, old man!" "he says firmly">>
<<dialog "Thalor" "faceworried" "Fine, but don't do anything risky." "he warns" "We might have to fight something similar to a god.">>
<<thought "Rylan" "face" "Something similar to a god? What the hell is going on?">>
<<narrative "The three men mount their horses and ride off into the night, heading back toward the house with urgent purpose.">>
<<continueBox "Ch6HotspringEvening4" "Continue" "The confrontation begins...">>
</div>
<</nobr>>
<<pov "rylan" "tense.mp3">><<nobr>>
<div class="passage-container rylan">
<<advanceTime 1>>
<<narrative "After many hours of hard riding, the three men finally arrive home in the middle of the night, the sky already beginning to lighten with the approach of dawn.">>
<<thought "Rylan" "face" "We've been riding for hours. I hope Nimeria is okay... please be safe.">>
<<narrative "As they approach the house, something immediately catches their attention - a tremendous barrier surrounds the entire property, its magical energy visible even in the dim light.">>
<center><img src="images/landscapes/rylanhousebarrier.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "face" "What the hell? That barrier... it's incredibly powerful. Who could have created something like that?">>
<<narrative "The area around the house is crowded with people. Local guards, neighbors, and even white-clad guards - the higher-ranking ones who only appear for serious incidents.">>
<<dialog "Thalor" "faceworried" "White guards? This is serious." "he says" "They only come out for major incidents.">>
<<dialog "Seryk" "faceworried" "What's going on? Why are there so many people here?" "he asks">>
<<thought "Rylan" "face" "This doesn't look good. Something major must have happened while we were away.">>
<<narrative "The crowd parts as they approach, whispers spreading among the onlookers. The white guards immediately notice their arrival and begin moving toward them.">>
<<dialog "Male NPC" "face" "Halt! Who are you?" "he demands" "This area is under investigation.">>
<<dialog "Thalor" "face" "I'm Thalor, the owner of this house." "he replies" "What's happening here?">>
<<dialog "Male NPC" "face" "There's been a magical incident." "he says" "A powerful barrier has been erected around the property, and we can't get through it.">>
<<thought "Rylan" "face" "Nimeria... please be safe. Whatever happened, I hope you're okay.">>
<<dialog "Seryk" "faceworried" "Nim might be still inside! Have you seen a demon girl with a white dress?">>
<<dialog "Male NPC" "face" "A demon? Shut up!" "he snaps" "We don't have time for your nonsense!">>
<<dialog "Thalor" "faceangry" "I'm Thalor, the hero!" "he says with authority" "I demand an answer!">>
<<narrative "The guard's eyes widen in recognition, and he immediately gulps, his demeanor changing completely.">>
<<dialog "Male NPC" "face" "Sorry, sir! No, I didn't see anyone leaving!" "he stammers" "The barrier appeared suddenly, and we've been trying to figure out what's inside.">>
<<thought "Rylan" "face" "Wow... I've never seen $humanToThalor play the hero card before. That was... impressive.">>
<<narrative "The three men exchange worried glances, the gravity of the situation becoming clear.">>
<<continueBox "Ch6GairosVSNimeria1" "Continue" "Continue...">>
</div>
<</nobr>>
<<pov "rylan" "tense.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "The three men settle into the warm, steamy waters of the hot spring, the tension from earlier finally beginning to ease as the heat soothes their muscles.">>
<center><img src="images/seryk/events/hotspring/bath.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "face" "This feels amazing. Maybe this trip was exactly what we all needed.">>
<<if $rylanXSerykBlowjob === true or $rylanXSerykSex === true>>
<<narrative "There's an awkward tension between Rylan and Seryk as they avoid direct eye contact, both remembering their previous intimate encounters.">>
<<thought "Rylan" "face" "I can't help but feel a bit awkward around Seryk after what happened between us. I wonder if he feels the same way.">>
<<thought "Seryk" "face" "I should probably say something to break this tension, but I'm not sure what would be appropriate right now.">>
<</if>>
<<if $rylanMasculinity30Triggered === true>>
<<set $rylanFemboy = true>>
<center><img src="images/rylan/events/femboy/hotspring/bath.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Thalor seems to be having trouble looking directly at Rylan, his gaze occasionally drifting away as if something about Rylan's appearance is making him uncomfortable.">>
<<thought "Thalor" "face" "$humanName looks different lately. I shouldn't stare, I shouldn't stare.">>
<<else>>
<center><img src="images/rylan/events/male/hotspring/bath.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<center><img src="images/thalor/events/hotspring/bath.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Thalor" "face" "You know, you two really need to step up your training." "he says with a gruff tone" "When I was your age, I was already hunting orcs single-handedly!">>
<<thought "Rylan" "face" "Here we go again with the 'back in my day' stories.">>
<<dialog "Seryk" "face" "Really? That's impressive, old man." "he says politely" "What was that like?">>
<<dialog "Thalor" "faceconfident" "Well, let me tell you about the time I took down three orcs with nothing but my bare hands and a broken sword..." "he begins">>
<<narrative "Suddenly, Mariel's voice cuts through the steam from the other side of the wooden partition.">>
<<dialog "Mariel" "face" "More like tripping over your own feet while hunting goblins!" "she calls out with laughter" "I remember that day - you came home covered in mud and bruises!">>
<<thought "Rylan" "face" "Oh no, $humanToMariel is about to embarrass $humanToThalor in front of everyone.">>
<<dialog "Thalor" "faceembarrassed" "That... that was just one time!" "he protests" "And those goblins were particularly sneaky!">>
<<dialog "Seryk" "face" "Sounds like there's a story there." "he says with a knowing smile">>
<<dialog "Mariel" "face" "Oh, there definitely is!" "she calls back" "Maybe I'll tell you all about it over dinner!">>
<<thought "Rylan" "face" "This is actually pretty funny. I've never seen $humanToThalor get flustered like this before.">>
<<dialog "Thalor" "faceembarrassed" "Alright, alright, enough of that." "he says, trying to regain his composure" "The point is, you two need to train harder if you want to be real warriors.">>
<<dialog "Rylan" "face" "We'll do our best, $humanToThalor." "he says with a smile" "Though maybe we should start with goblins before moving on to orcs.">>
<<dialog "Seryk" "face" "Good point, bro." "he adds with a chuckle" "Better to learn to walk before we try to run.">>
<<thought "Rylan" "face" "It's nice to see everyone relaxing and joking around. Maybe this trip was exactly what we needed after all.">>
<<continueBox "Ch6GairosBackAtMistfenReach" "Continue" "">>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<div class="passage-container serin">
<<narrative "Serin settles into the warm waters of the women's hot spring, the steam rising around her as she tries to relax. The tension from earlier still lingers in the air.">>
<center><img src="images/serin/events/hotspring/bath.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Serin" "face" "This should be relaxing, but I can't shake this weird feeling. Something's definitely off with everyone today.">>
<<dialog "Mariel" "face" "Did your breasts grow, Liora?" "she asks with genuine curiosity" "They seem... fuller than before.">>
<center><img src="images/mariel/events/hotspring/bath.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "faceshortpink" "They just keep growing..." "she says shyly, covering herself with her arms" "I don't know why they won't stop.">>
<center><img src="images/liora/events/hotspring/bath.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Serin" "face" "I feel so out of place here...">>
<<narrative "Serin looks down at her own body, feeling a pang of inadequacy as she compares herself to the others.">>
<<thought "Serin" "face" "Maybe I should have stayed behind with Nimeria. At least she understands what it's like to feel different.">>
<<dialog "Mariel" "face" "Don't worry, dear. It's perfectly normal for a young woman your age." "she says reassuringly" "Your body is still developing.">>
<<dialog "Liora" "faceshortpink" "I just wish they would stop growing so fast..." "she mumbles" "It's embarrassing.">>
<<thought "Serin" "face" "I wish I had something to be embarrassed about. At least that would mean I'm changing too.">>
<<narrative "The three women sit in comfortable silence, each lost in their own thoughts as the warm water soothes their muscles.">>
<<continueBox "Ch6GairosReturn" "Continue" "">>
</div>
<</nobr>>
<<pov "serin" "defaultch6.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "The three of you trudge through the forest, following the path that led to the Nightweed collection site. The air is thick with the scent of the strange herbs, but you can't help feeling like this is just... work.">>
<<dialog "Seryk" "facesad" "Bro, I gotta be honest... collecting herbs isn't exactly what I had in mind for today." "he says with a sigh">>
<<dialog "Rylan" "faceworried" "Yeah, I was hoping we could do something more... exciting." "you admit, feeling a bit disappointed">>
<<dialog "Nimeria" "facesmirk" "Oh, come on! This is going to be a great adventure!" "she says with forced enthusiasm">>
<<dialog "Seryk" "faceconfused" "Adventure? We're literally just picking plants." "he points out">>
<<dialog "Nimeria" "face" "Well, I need a tremendous amount of Nightweed for my experiments, and I need strong men to carry it all for me." "she explains, trying to make it sound more appealing">>
<<dialog "Rylan" "faceembarrassed" "I mean... I guess helping you is important, but this feels more like manual labor than an adventure." "you say honestly">>
<<dialog "Nimeria" "facesmirk" "Oh, $humanName, don't be so serious. We're spending time together, aren't we? And who knows what we might discover out here!" "she teases, trying to build excitement">>
<<narrative "You reach the familiar clearing where Liora collected nightweed before, but instead of stopping, Nimeria leads you further into the forest.">>
<center><img src="images/landscapes/nightweedfield.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255, 255, 255, 0.3);"></center>
<<dialog "Nimeria" "face" "Hmm, let's go a bit further. I have a feeling..." "she says">>
<<narrative "After walking for another twenty minutes, you emerge into a massive field that stretches as far as the eye can see. The ground is covered in a sea of Nightweed, their dark purple leaves shimmering in the dappled sunlight.">>
<<dialog "Nimeria" "faceworried" "This place is... weird. The energy here feels different, more intense." "she says, looking around cautiously">>
<<dialog "Seryk" "faceconfident" "Weird or not, there's definitely a lot of Nightweed here. Let's get collecting!" "he says, ready to start">>
<<dialog "Nimeria" "face" "You're right. Let's collect what we need and get out of here quickly." "she agrees">>
<<narrative "The three of you begin gathering the Nightweed, filling your bags with the strange herbs. The work is surprisingly peaceful, and you find yourself enjoying the quiet companionship.">>
<<narrative "As you're collecting the herbs, you suddenly hear a familiar voice from the nearby bushes.">>
<<narrative "From behind a large tree, a figure emerges. It's the same goblin you met in the Blightwood - Effnain Tyfaif, still wearing that ornate hat and looking just as mischievous as before.">>
<<dialog "f95" "face" "Well, well, well! If it isn't my brother from a different womb, NTRrrgh!" "he says with that same deep, pirate-like voice">>
<<dialog "Rylan" "faceshocked" "Effnain? What are you doing here?" "you ask in surprise">>
<<continueBox "Ch6NightweedFarmReason" "Continue" "">>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "Thanks to Effnain's help, you're able to collect a huge amount of Nightweed in such a short time. He's incredibly fast and efficient, carrying two big bags on his small shoulders like they're nothing.">>
<<dialog "Nimeria" "facehappy" "I can't believe it! I was able to collect everything I needed in just one trip!" "she says excitedly">>
<<narrative "As you approach your home, Effnain carefully lays down the heavy bags and looks around cautiously.">>
<<dialog "f95" "face" "Well, I better go now. It would be bad if others saw you with me." "he says with a sad smile">>
<<dialog "Rylan" "faceworried" "Are you sure? You could stay for a while..." "you offer">>
<<dialog "f95" "face" "I appreciate it, brother, but it's safer this way. I'll see you around!" "he says, giving you a quick wave before disappearing into the shadows">>
<<narrative "The three of you watch as Effnain vanishes into the forest, feeling grateful for his help and concerned about his safety.">>
<<continueBox "MorningActivityChoicesNext" "Continue" "Return home">>
<<changeAffection "Rylan" "Nimeria" 1 >>
<<changeAffection "Rylan" "Seryk" 1 >>
<<changeAffection "Nimeria" "Rylan" 1>>
<<changeAffection "Seryk" "Rylan" 1>>
</div>
<</nobr>>
<<pov "rylan" "effnaintalk.mp3">><<nobr>>
<div class="passage-container rylan">
<<dialog "Seryk" "faceconfused" "Wait... is that the same goblin from the Blightwood?" "he asks, squinting at Effnain">>
<<dialog "Nimeria" "faceworried" "Yes... the one with the weird hat and the even weirder taste." "she says with a concerned expression">>
<<dialog "f95" "face" "Unique? I'm one of a kind! But tell me, $humanName, do you still appreciate the beauty of landladies?" "he asks with a mischievous grin">>
<<dialog "Rylan" "faceembarrassed" "I... I guess so? But that's not really what we're here to discuss..." "you say, trying to steer the conversation back">>
<<dialog "f95" "face" "Ah, but it's all connected, my brother! You see, landladies represent the pinnacle of feminine beauty - mature, experienced, wise in the ways of the world!" "he says passionately">>
<<dialog "Nimeria" "faceangry" "Oh for the love of... can we please focus on the Nightweed?" "she says, clearly getting frustrated">>
<<dialog "f95" "face" "Don't worry, little girl. In a few years, you'll become a beautiful milf too!" "he says with a wink">>
<<dialog "Nimeria" "faceangry" "I am NOT a little girl! And I don't want to be a... whatever that word means!" "she snaps">>
<<dialog "f95" "face" "Ah, youth! So full of fire and denial! But listen, all of you. I'll tell you why I'm hiding out here in this field." "he says, his expression growing serious">>
<<narrative "Effnain sits down on a nearby rock and gestures for you all to gather around. His usual playful demeanor seems to fade as he begins to speak.">>
<<dialog "f95" "face" "You're all brothers and sisters from different wombs, so I'll be straight with you. This whole situation... it's breaking my heart." "he says, his voice growing heavy">>
<<dialog "Seryk" "faceworried" "What situation? What's going on?" "he asks, sitting down beside the goblin">>
<<dialog "f95" "face" "It's about Master Kahrrt and his daughter Viehzza. Master Kahrrt is our goblin overlord - the highest in rank. You could say he's the leader or king of our group." "he explains">>
<<dialog "Nimeria" "faceworried" "Group? How many are you?" "she asks">>
<<dialog "f95" "face" "We're hundreds strong. And Viehzza... Master Kahrrt's daughter. Ugly girl, I have to tell you, and she's fully against naughty stuff. She wants goblins to take goblin women instead of humans... disgusting, right?" "he says with a grimace">>
<<dialog "Rylan" "faceconfused" "That sounds... complicated." "you say">>
<<dialog "f95" "face" "She's most likely just angry because she's ugly and no man would want to touch her! And Master Kahrrt just makes everything his little princess wants. Spoiled girl." "he says with disgust">>
<<dialog "f95" "face" "So they slowly started to forbid naughty stuff. First more hardcore stuff, then less and less extreme things. And no one realizes it since they forbid things gradually." "he explains, his voice growing more frustrated">>
<<dialog "f95" "face" "But that's not the worst part - they ain't just swinging chains around. They got this cursed Collective Shout whispering in every goblin's ear." "he says, his voice filled with frustration">>
<<dialog "Rylan" "faceconfused" "Collective Shout? What does that mean?" "you ask">>
<<dialog "f95" "face" "It tells us, soft and sly: don't be naughty, don't draw this, don't sing that. And goblins believe it! Even my own brothers - Itchyo and stieem - they stopped making the dirty stuff." "he says, shaking his head">>
<<dialog "Nimeria" "faceworried" "They're... brainwashing goblins?" "she asks, her interest suddenly piqued">>
<<dialog "f95" "face" "Exactly! They used to be wild, free, singing the lewdest songs in the tribe. Now they just churn out safe, bland tales. Like the life's been drained out of them!" "he says, his voice cracking with emotion">>
<<dialog "Seryk" "faceangry" "That's... that's terrible! No one should be forced to change who they are!" "he says, his fists clenching">>
<<dialog "f95" "face" "And while they are brainwashing us, what are the rest of the gobbos doing? Fighting each other! Always arguing about what kink's worse!" "he continues, his frustration building">>
<<dialog "Rylan" "faceworried" "They're turning you against each other?" "you ask">>
<<dialog "f95" "face" "They scream at me for liking NTRrrgh, they bash the alchemists for using homunculi to draw scrolls. Instead of standing together, we tear each other apart. Makes me sick!" "he says, his voice rough with emotion">>
<<dialog "Nimeria" "faceangry" "Wait... they want to forbid naughty stuff? All of it?" "she asks, her eyes widening">>
<<dialog "f95" "face" "Everything! Why can't gobbos just let everyone love what they love? Some like blondes, some brunettes. Some like them curvy, some like them skinny!" "he says, gesturing wildly">>
<<dialog "Nimeria" "faceworried" "That's... that's horrible! People should be free to express themselves however they want!" "she says, her voice filled with genuine concern">>
<<dialog "f95" "face" "Some want lads, some want lasses, some don't care. Some like being in charge, some like being bossed around. Some even got a thing for goblin toes! Others gag just thinking about it!" "he continues">>
<<dialog "Seryk" "face" "But that's what makes everyone unique, right? Different preferences, different desires..." "he says thoughtfully">>
<<dialog "f95" "face" "Exactly! That's what makes it all beautiful! But instead of celebrating that, we spit on each other!" "he says, his voice breaking">>
<<dialog "Nimeria" "faceworried" "And if you keep fighting each other, the overlords will win..." "she says, understanding dawning on her face">>
<<dialog "f95" "face" "They won't just take away NTRrrgh or homunculi art. They'll wipe out everything. Every scroll, every song, every dirty story!" "he says, his eyes burning with frustration">>
<<dialog "Rylan" "faceworried" "Even the most basic things..." "you say softly">>
<<dialog "f95" "face" "Even handholding, lad! Disgusting as it is, it's still somebody's kink. And when it's gone, we'll all be staring at blank parchment, wondering why we didn't fight back together!" "he says, letting out a bitter laugh">>
<<dialog "Nimeria" "faceangry" "This is... this is wrong! No one should have the right to control what others create or enjoy!" "she says, her voice filled with passion">>
<<dialog "f95" "face" "You understand! You truly understand!" "he says, his eyes lighting up with hope">>
<<dialog "Nimeria" "faceworried" "I... I want to help you. I really do. But we're bound with our own matters right now..." "she says, her voice filled with regret">>
<<dialog "f95" "face" "You... you want to help me?" "he asks, his voice trembling">>
<<dialog "Nimeria" "face" "Once we solve our current problems, I promise you - I will try everything in my power to help you fight this injustice." "she says with determination">>
<<narrative "Effnain's eyes well up with tears as he looks at Nimeria with overwhelming gratitude.">>
<<dialog "f95" "face" "Wow... that's so kind of you, sister! I... I promise you guys too, whenever you need my help, I'll come running!" "he says, tears streaming down his face">>
<<dialog "Seryk" "faceconfused" "I... I guess we can help? This is all pretty weird, but if it's important..." "he says uncertainly">>
<<dialog "Rylan" "face" "And about the Nightweed... could we maybe take some? We really do need it for important research." "you ask gently">>
<<dialog "f95" "face" "Of course! Take as much as you need! I'm just hiding out here anyway - the field doesn't belong to me!" "he says, wiping away his tears with a smile">>
<<dialog "f95" "face" "Let me help you collect them!" "he says enthusiastically">>
<<narrative "The four of you begin collecting the Nightweed together, with Effnain's enthusiastic help, feeling a new sense of friendship.">>
<<continueBox "Ch6NightweedFarmEnd" "Continue" "">>
</div>
<</nobr>>
<<pov "rylan" "effnaintalk.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "I'm about to head outside when I see Serin and Seryk leaving Nimeria's room, both looking completely exhausted and confused.">>
<<narrative "Just as I'm about to ask them what happened, Nimeria comes back home, and my heart drops when I see her face.">>
<<dialog "Rylan" "faceshocked" "Nimeria! What happened to you?!">>
<<narrative "Her face is bruised and bloodied, and she looks like she's been in a fight. She tries to avoid my gaze.">>
<<dialog "Nimeria" "facebruised" "... nothing, I just fell.">>
<<narrative "Before I can press her further, Gairos's voice booms through the house with terrifying authority.">>
<<dialog "Gairos" "faceangry" "Nimeria! To my room, now!">>
<<narrative "The command is so loud and forceful that it seems to shake the very walls of the house.">>
<<continueBox "Ch6GairosConfrontsNimeria" "Continue" "Gairos demands answers...">>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "The three of us make our way through the bustling market district, heading toward the crystal merchant's stall where Serin's massive order awaits.">>
<center><img src="images/landscapes/market.webp" style="width: 400px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "faceconfused" "Nim, how many crystals are we talking about here?">>
<<dialog "Nimeria" "facesmirk" "Just a bit over three hundred, give or take.">>
<<dialog "Seryk" "faceshocked" "Three hundred?! That's... that's insane!">>
<<dialog "Nimeria" "faceconfident" "Yes, well, you were taking far too long to collect them on your own. But with these and the ones you've already gathered, I'll finally have enough for my experiment.">>
<<dialog "Seryk" "faceworried" "What kind of experiment are you planning, exactly?">>
<<dialog "Nimeria" "facesmirk" "You'll see soon enough. Patience, my dear muscle-bound friend.">>
<<dialog "Seryk" "faceconfused" "Wildcat, how did she manage to rope you into this?">>
<<dialog "Serin" "facesmirk" "Nimeria's given me a lot of valuable advice lately, so this is my way of paying her back. Fair's fair, right?">>
<<dialog "Seryk" "faceworried" "Wait, did you actually pay for all these crystals?">>
<<dialog "Serin" "faceembarrassed" "Most of them... I had some savings from my adventure work.">>
<<dialog "Seryk" "faceangry" "Listen, Wildcat. You shouldn't trust Nim too much. She's got more schemes than a merchant has coins.">>
<<dialog "Nimeria" "faceangry" "Don't listen to the overgrown goblin, Serin. He's just jealous because he can't think beyond his biceps.">>
<<narrative "We arrive at the crystal merchant's stall, and Serin steps forward to complete the transaction. She's clearly trying to make it look like Seryk and I are her servants, here to help carry her purchases.">>
<<dialog "Serin" "faceconfident" "Here's the payment for the full order. My... assistants will handle the transportation.">>
<<narrative "The merchant eyes us suspiciously but accepts the payment. In the end, Seryk is the only one actually pushing the massive handcart loaded with crystals, while Serin and I walk alongside, looking far too pleased with ourselves.">>
<<dialog "Seryk" "faceangry" "I'm starting to think I'm the only one doing any actual work here...">>
<<narrative "Once we're away from the market and in a more secluded area, I stop them both and get serious.">>
<<dialog "Nimeria" "faceconfident" "Alright, both of you listen carefully. I need your strength, and time is short. I need both of your power to process these crystals properly.">>
<<dialog "Serin" "faceconfused" "What exactly are you planning to do with them?">>
<<dialog "Nimeria" "facesmirk" "Did you know that only a tiny core in a mana crystal contains nearly all the actual mana? The outer shell is mostly just containment. The core itself is smaller than your fingertip... no, even smaller than Seryk's brain!">>
<<dialog "Serin" "facelaugh" "Hahaha! That's not saying much!">>
<<dialog "Seryk" "faceangry" "Hey!">>
<<dialog "Nimeria" "faceconfident" "I need you both to smash them into small pieces while I process them by combining the cores. It's delicate work that requires both strength and precision.">>
<<dialog "Serin" "faceconfused" "To create one big mana crystal? What use would that have?">>
<<dialog "Nimeria" "facesmirk" "It wouldn't have much use at all. But did you know that nightweed juice can amplify a spell's strength? Nightweed amplifies mana output, and crystals contain mana. If I could somehow combine the properties of both...">>
<<dialog "Seryk" "facehappy" "You'd have a crystal with an incredibly high amount of mana!">>
<<dialog "Nimeria" "faceangry" "Seryk, sometimes I wonder how a living being can be so utterly stupid... My plan is to create a crystal that amplifies the user's spellpower tremendously. Think of it as a magical amplifier.">>
<<thought "Nimeria" "face" "But that's only half of what I'm really planning. If this works, I'll finally have the power I need to... well, let's just say the real experiment is far more ambitious than these two could possibly imagine.">>
<<dialog "Serin" "faceconfused" "That sounds incredibly dangerous, Nimeria. Amplifying magic like that could be unstable.">>
<<dialog "Nimeria" "faceconfident" "All great discoveries require risk, my dear. Now, shall we begin? We have a lot of crystals to process, and I'd rather not waste any more time.">>
<<continueBox "MorningActivityChoicesNext" "Continue" "The crystal processing starts at home...">>
</div>
<</nobr>>
<<pov "nimeria" "defaultch6.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "I run through the bustling marketplace, the red crystal pulsing gently in my hand. People stop and stare in shock as a demon girl freely runs through their streets, but I don't care about their judgmental gazes right now.">>
<<dialog "Male NPC" "face" "A demon! In the marketplace!">>
<<dialog "Female NPC" "face" "Someone call the guards!">>
<<narrative "I ignore their cries and head straight for the accessory shop I visited with $humanName before - the same shop where the owner kicked me out so rudely for being a demon.">>
<<narrative "I burst through the door, the crystal still glowing in my palm, and call out for the owner.">>
<<dialog "Nimeria" "faceconfident" "Owner! I need to speak with you!">>
<<narrative "The owner, Oswin, emerges from the back room, and when he sees me, his face contorts with anger and disgust.">>
<<dialog "Oswin" "face" "Get out of here, damned demon! You're not welcome in my shop!">>
<<dialog "Nimeria" "faceangry" "Silence!">>
<<narrative "The command in my voice is so powerful that Oswin actually stops shouting, his mouth hanging open in shock.">>
<<dialog "Nimeria" "faceconfident" "Look at this crystal.">>
<<narrative "I hold up the red crystal, its pulsing light casting strange shadows across the shop's walls.">>
<center><img src="images/story/chapter6/nimeria/crystal.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel giving Rylan stockings"></center>
<<dialog "Oswin" "face" "What the... a mana crystal? No, a catalyst. Is that a dungeon core?">>
<<narrative "His eyes widen as he examines the crystal more closely, clearly recognizing something extraordinary.">>
<<dialog "Nimeria" "faceconfident" "I need you to put it into an accessory - maybe an amulet, or a brooch? Something easy to carry around.">>
<<narrative "Oswin thinks for a moment, his eyes darting between me and the crystal. Then he smirks, a cruel expression crossing his face.">>
<<dialog "Oswin" "face" "Alright, I'll help you with that crystal.">>
<<narrative "He reaches out to take the crystal from my hand, and for a moment, I think he's actually going to help me. But then, without warning, he snatches the crystal and punches me square in the face.">>
<<narrative "I stumble back, blood trickling from my nose, but Oswin isn't done. He kicks me hard in the ribs, then again in the stomach, sending me crashing to the floor.">>
<<dialog "Oswin" "face" "Get out of here now! And don't you ever try again to steal my crystal!">>
<<narrative "I curl up in pain as Oswin clutches the crystal to his chest with a triumphant grin, looking down at me with pure contempt.">>
<<thought "Nimeria" "faceangry" "That bastard! He thinks he can just take my crystal and get away with it? He has no idea what he's dealing with.">>
<<narrative "I wipe the blood from my face and glare at him, my mind already racing with plans for revenge.">>
<<continueBox "Ch6NimeriaAfterOswin" "Continue" "The crystal has been stolen...">>
</div>
<</nobr>>
<<pov "nimeria" "nimeriaexperiment.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "The three of us have been working through the entire night, and Serin and Seryk are completely exhausted, sitting slumped on the floor. Over five hundred crystals have been processed, their outer shells shattered and discarded while I carefully collected the tiny mana cores.">>
<<dialog "Serin" "faceexhausted" "I can't believe we've been at this all night... How are you still going, Nimeria?">>
<<dialog "Seryk" "faceexhausted" "Yeah, Wildcat and I are dead on our feet, but you're still running around like you just started.">>
<<narrative "I ignore their complaints and continue working, my mind racing with calculations and possibilities. The cores are ready, and now comes the most dangerous part - the smelting process.">>
<<dialog "Nimeria" "faceconfident" "Done! Now are you guys ready for the real experiment?">>
<<dialog "Serin" "faceworried" "I hope you know what you're doing, Nimeria. This looks incredibly dangerous.">>
<<dialog "Nimeria" "facesmirk" "Not in the slightest! I've never heard of anyone trying this before, and we might just die here. But that's the fun in experimenting, right? Hahaha!">>
<<dialog "Seryk" "faceshocked" "What the?! That's not funny!">>
<<narrative "Before he can stop me, I pour the entire bottle of distilled nightweed essence into the smelted mana crystal mass. The reaction is immediate and terrifying.">>
<<dialog "Seryk" "faceangry" "Nim, Wildcat, we have to run! This thing is about to explode!">>
<<narrative "The crystal mass begins to glow brighter and brighter, pulsing with unstable energy. It feels like the entire room is about to be consumed in a tremendous explosion.">>
<<dialog "Nimeria" "faceworried" "No! I can't stop now!">>
<<thought "Nimeria" "faceworried" "My brain is running at high speed. What's happening? What can I do? What did I do wrong? The mana inside is multiplying faster than the crystal can contain it, so it begins to fracture and build toward an explosion... How do I stop it? I need something that contains mana like a vessel...">>
<<narrative "Suddenly, I have an idea. I run to Serin and pull out one of the knives she wears on her body.">>
<<dialog "Serin" "faceshocked" "What are you doing?!">>
<<narrative "Without hesitation, I cut my hand and pour my blood into the mass. The reaction is immediate - the unstable energy suddenly relaxes and stabilizes, forming into a beautiful red crystal.">>
<center><img src="images/story/chapter6/nimeria/crystal.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel giving Rylan stockings"></center>
<<dialog "Nimeria" "facehappy" "Did it! It worked!">>
<<dialog "Seryk" "faceshocked" "Wow, how did you know that would work?">>
<<dialog "Serin" "faceconfused" "That was incredible! But how?">>
<<narrative "But I'm already running excitedly out of the house, my mind racing with the possibilities of what we've just created.">>
<<dialog "Seryk" "faceexhausted" "How does she have so much energy after all this?">>
<<dialog "Serin" "faceexhausted" "I don't know...">>
<<narrative "Meanwhile, I'm already planning the next phase of my experiment, the red crystal pulsing gently in my hand as I run through the streets.">>
<<continueBox "Ch6NimeriaVisitsOswin" "Continue" "">>
</div>
<</nobr>>
<<pov "nimeria" "nimeriaexperiment.mp3">><<nobr>>
<div class="passage-container nimeria">
<center><img src="images/oswin/sword.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Oswin is right in front of her now, his sword lifted high above his head, ready to strike down with all his might.">>
<<thought "Nimeria" "faceworried" "Damn, what do I do? Seryk, Thalor, and $humanName are too far away. I'm too exhausted to move from using too many mana crystals. I guess this is it. I got it coming for me.">>
<<narrative "Nimeria closes her eyes, accepting her fate as the sword begins its deadly descent.">>
<<narrative "Suddenly, a blood-curdling scream pierces the air, and Nimeria's eyes snap open in shock.">>
<<thought "Nimeria" "faceshocked" "What... what just happened?">>
<<narrative "Standing in front of her is $humanName, his sword dripping with blood, his breathing heavy and his eyes wide in shock.">>
<<if $rylanMasculinity30Triggered === true>>
<<set $rylanFemboy = true>>
<center><img src="images/rylan/sword/femboy/blood.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/rylan/sword/male/blood.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "Below them lies Oswin's lifeless body, blood pooling around him as the stolen sword clatters to the ground.">>
<<thought "Nimeria" "faceshocked" "He... he saved me. $humanName actually saved me. But how? He was so far away...">>
<<narrative "The tattoo on $humanName's arm pulses with a strange energy.">>
<<thought "Nimeria" "faceworried" "What have I done? I never wanted to get his hands dirty.">>
<<changeAffection "Nimeria" "Rylan" 6>>
<<continueBox "Ch6CelindraGairosDeath" "Continue" "The aftermath...">>
</div>
<</nobr>>
<<pov "nimeria" "tense.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "The house has fallen into an uneasy silence. The guards have left, taking Oswin's body with them, but the weight of what happened still hangs heavy in the air.">>
<<dialog "Seryk" "faceangry" "Are you happy now?!" "he shouts at Nimeria" "Two people dead, thanks to your glorious plan! And what's more, $humanName is miserable! Will you just break everything you touch?!">>
<<thought "Nimeria" "faceworried" "He's right. I've destroyed everything I've touched. I never meant for this to happen.">>
<<narrative "Nimeria says nothing, her head bowed in shame. She hates herself for dragging $humanName into her schemes.">>
<<thought "Nimeria" "faceworried" "I should have known better. I should have protected him from this.">>
<<dialog "Seryk" "faceangry" "God, I don't know anymore what to say to you." "he says, his voice filled with disappointment" "And he leaves her room, slamming the door behind him.">>
<<thought "Nimeria" "faceworried" "I've lost him too. Everyone I care about is slipping away because of my actions.">>
<<narrative "Nimeria makes her way to $humanName's room, her steps heavy with guilt. As she approaches, she sees Liora leaving, her face sad and worried.">>
<<dialog "Nimeria" "faceworried" "Liora, how is he?" "she asks softly">>
<<narrative "Liora shakes her head, unable to find the words to describe his condition.">>
<<dialog "Liora" "faceshortpink" "He's... not himself." "she says quietly" "He won't talk to anyone.">>
<<dialog "Nimeria" "faceworried" "Can I talk with him?" "she asks">>
<<dialog "Liora" "faceshortpink" "Sure." "she replies" "Maybe you can help him.">>
<<narrative "Nimeria enters the room and finds $humanName sitting on the edge of his bed, his eyes empty and distant, staring at nothing.">>
<<if $rylanFemboy === true>>
<center><img src="images/story/chapter6/nimeria/femboyrylanemptyeyes.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/story/chapter6/nimeria/malerylanemptyeyes.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<thought "Nimeria" "faceworried" "He looks so broken. This is all my fault.">>
<<narrative "She sits down next to him, trying to think of what to say.">>
<<dialog "Nimeria" "faceworried" "Hey... how are you feeling?" "she asks gently">>
<<narrative "No response. $humanName continues to stare blankly ahead.">>
<<dialog "Nimeria" "faceworried" "I... I want to thank you. You truly are my knight." "she says softly">>
<<narrative "Still no reaction. The silence between them is deafening.">>
<<thought "Nimeria" "faceworried" "I need to do something. I can't let him stay like this.">>
<<if $nimeriaxrylancontent == true>>
<<choiceBox "How can I help him?" "Heal him with my body" "Ch6NimeriaRylanSex" "Ch6NimeriaRylanSex=true" "Try to let him relax with a song" "Ch6NimeriaSingsToRylan" "NimeriaSingsToRylan=true">>
<<else>>
<<continueBox "Ch6NimeriaSingsToRylan" "Continue" "Try to comfort him...">>
<</if>>
</div>
<</nobr>>
<<pov "nimeria" "rylantrauma.mp3">><<nobr>>
<div class="passage-container rylan">
<div style="text-align: center; margin-bottom: 30px;">
<h1 style="color: #FFD700; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-size: 2.5em; margin: 20px 0; background: linear-gradient(135deg, rgba(255,215,0,0.3), rgba(255,255,255,0.1)); border-radius: 15px; padding: 20px; border: 3px solid rgba(255,215,0,0.6);">End of Chapter 6 Freeroam</h1>
</div>
<<narrative "Earlier this morning, Gairos had gathered everyone in the courtyard to make an important announcement.">>
<<dialog "Gairos" "face" "I'm heading to Mistfen Reach to investigate the destruction firsthand." "he announced with cold determination" "I'll find whoever was behind this and destroy them completely.">>
<<narrative "His voice carried a dangerous edge that sent chills down everyone's spine.">>
<<dialog "Gairos" "face" "It might take me a while to track them down, but when I return, we'll launch our attack on the Holy Kingdom." "he continued" "Use this time to prepare and rest. You'll need your strength for what's coming.">>
<<narrative "With that, Gairos had departed, leaving the group to process his words. Now, several hours later, Thalor had suggested a family outing to help everyone relax before the coming storm.">>
<center><img src="images/landscapes/rylanhouse.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The afternoon sun casts a warm glow over the courtyard as everyone gathers near the carriage, ready for what Thalor has promised will be a relaxing family bonding trip to the nearby hot springs.">>
<<dialog "Thalor" "face" "We'll be having some much-needed family bonding time at the hot springs." "he says with a rare smile" "It's been too long since we've all relaxed together, and we should enjoy this peace while we can.">>
<<thought "Rylan" "face" "Family bonding... that actually sounds nice. After everything that's happened, maybe we all need this.">>
<<dialog "Nimeria" "faceworried" "I... I'm not feeling well today." "she says softly, avoiding everyone's gaze" "I haven't slept well these past few days. I think I should stay behind and rest.">>
<<narrative "Without waiting for a response, Nimeria turns and heads inside the house, her steps slow and weary.">>
<<thought "Thalor" "faceworried" "I'm sorry Nimeria.">>
<<narrative "Thalor gives her a subtle nod that $humanName doesn't quite catch, but there's something understanding in his expression.">>
<<thought "Rylan" "face" "I've heard before that she has a sickly constitution. It makes sense she'd need rest after all the stress we've been through.">>
<<dialog "Seryk" "faceworried" "Wait, please." "he says quickly, stepping forward" "Let me check on her first. Maybe I should stay behind too, just to make sure she's okay.">>
<<continueBox "Ch6SerykNimeriaTalkMalrik" "Continue" "Continue...">>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<div class="passage-container seryk">
<<narrative "Seryk quietly makes his way to Nimeria's room, concerned about her sudden illness. He knocks gently before pushing the door open.">>
<<narrative "Inside, he finds Nimeria rummaging through her belongings, organizing various items with focused determination. She doesn't look sick at all.">>
<<dialog "Seryk" "faceconfused" "You don't look sick at all, Nim." "he observes, stepping closer">>
<<dialog "Nimeria" "facesmirk" "What gave it away, detective?" "she mutters without looking up, her hands still sorting through various items">>
<<thought "Seryk" "face" "She's definitely plotting something. I can tell by how focused she is on whatever she's doing.">>
<<dialog "Seryk" "faceworried" "What's going on? Are you planning something again?" "he asks, his concern growing" "Something that's going to hurt people?">>
<<dialog "Nimeria" "faceangry" "Just leave me alone and go enjoy your little family vacation." "she snaps" "I don't have time for this right now.">>
<<thought "Seryk" "face" "She's being even more dismissive than usual. Whatever she's working on must be really important to her.">>
<<dialog "Seryk" "face" "Look, if it's that important, maybe I can help." "he offers earnestly" "What are you working on?">>
<<dialog "Nimeria" "facesmirk" "I don't need a musclehead right now." "she says dismissively" "I need someone with actual intelligence. So please, just go.">>
<<dialog "Seryk" "facesad" "Right, sorry for being stupid." "he says with a wounded tone" "Must be nice being so much smarter than everyone else.">>
<<dialog "Nimeria" "faceworried" "Being smart isn't a blessing, Seryk." "she says quietly" "Sometimes knowledge is the worst curse you can carry...">>
<<thought "Seryk" "face" "What is she talking about? She's being so mysterious and cryptic.">>
<<dialog "Seryk" "faceconfused" "I don't understand. How could knowing things be bad?" "he asks genuinely">>
<<dialog "Nimeria" "facesmirk" "You really want to find out? I could destroy you with just a few words." "she says with a dangerous smile" "Are you sure you want to test that?">>
<<dialog "Seryk" "faceconfident" "Come on, I can handle whatever you throw at me!" "he says with forced bravado" "I'm not that fragile.">>
<<dialog "Nimeria" "facesmirk" "Alright then, don't say I didn't warn you..." "she says with a knowing look">>
<<dialog "Nimeria" "face" "Remember when you were just a scrawny little kid? No muscles, short hair, always hiding from trouble." "she begins methodically" "You'd look the other way whenever you saw something wrong happening, too scared to get involved.">>
<center><img src="images/seryk/past/serykbleeding.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Seryk" "faceworried" "Why is she digging up old memories? That was years ago...">>
<<dialog "Seryk" "facesad" "Yeah, I remember..." "he admits quietly">>
<<dialog "Nimeria" "facesmirk" "Now look at yourself. Long hair, built like a warrior, always rushing into fights to protect others." "she continues" "You're practically the opposite of who you used to be. What changed you so completely?">>
<<dialog "Seryk" "faceworried" "What happened to us changed everything, Nim. You changed too." "he says, starting to feel uncomfortable">>
<<dialog "Nimeria" "face" "Exactly! But you still don't understand why, do you?" "she says with growing intensity">>
<<dialog "Nimeria" "facesmirk" "Remember Malrik? Strong, long hair, always standing up for what was right." "she continues" "Sound familiar? Tell me, Seryk, are you just trying to be like him because you can't accept that he's gone? Or is it something... deeper?">>
<center><img src="images/malrik/portrait.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Seryk" "faceworried" "I always looked up to him, wanted to be like him... but what is she getting at?">>
<<dialog "Seryk" "faceworried" "Nim, what are you..." "he says, his voice starting to shake">>
<<dialog "Nimeria" "face" "Let me share a theory with you. Remember when I told you about Veryn's experiments with soul transference?" "she says methodically" "How he brought back his dead wife and child?">>
<<dialog "Seryk" "faceworried" "Yeah, by putting their souls into someone else's body." "he confirms">>
<<dialog "Nimeria" "facesmirk" "Right. But here's the thing - the souls didn't just replace the original ones, they merged with them." "she explains" "Sometimes Veryn felt like he was talking to his wife, sometimes to the elven princess, and it drove him completely insane.">>
<<dialog "Seryk" "faceworried" "Nim, please... don't do this." "he pleads">>
<<dialog "Nimeria" "face" "We definitely died that day, Seryk. The fact that we can't use mana anymore proves it." "she continues relentlessly" "Someone used the same resurrection spell on us, but instead of putting our souls in other bodies, they put them back in our own.">>
<<dialog "Nimeria" "facesmirk" "The mana didn't disappear - it went into our blood, enhancing our natural abilities." "she adds" "Mine became more potent, yours made you stronger and more resilient. But here's the question - whose soul is really in control?">>
<<thought "Seryk" "faceworried" "No... she can't be right. This is just her messing with my head.">>
<<dialog "Seryk" "faceworried" "I understand what you're saying... but..." "he says, his voice cracking">>
<<dialog "Nimeria" "facesmirk" "Why were we the only ones brought back? Was it because we wanted to live, or because someone else wanted us to?" "she presses on" "What happened to Malrik's soul? Our parents? Everyone else who died that day?">>
<<dialog "Seryk" "faceangry" "Stop it! That's impossible! What about you then?" "he shouts">>
<<dialog "Nimeria" "face" "You're right to ask. Am I still the same sickly, bullied child I used to be? Of course not." "she says calmly" "I became this manipulative, calculating person. But for me, both versions are still Nimeria. The question is - can you say the same about yourself?">>
<<narrative "Suddenly, Seryk's tattoo becomes visible on his shoulder, glowing faintly as if responding to his emotional turmoil.">>
<center><img src="images/seryk/tattoo/tattoopulse.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "faceangry" "This can't be! You're just lying! SHUT UP! SHUT UP!" "he screams, his voice filled with panic and denial">>
<<narrative "Seryk turns and runs out of the room, slamming the door behind him with such force that the entire hallway shakes.">>
<<thought "Seryk" "facepanicked" "No... no... she can't be right. I'm still me... aren't I?">>
<<continueBox "Ch6GairosInvestigation" "Continue" "Seryk's world crumbles...">>
</div>
<</nobr>>
<<pov "seryk" "nimeriaserykmalrik.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "You wake up with a start, feeling something warm pressed against you. Opening your eyes, you're shocked to see Sora lying peacefully next to you in your bed.">>
<center><img src="images/sora/bed/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan and Sora in bed"></center>
<<thought "Rylan" "faceshocked" "What the hell? How did Sora get in my bed?" "you think, your heart racing">>
<<narrative "You immediately jump back, scrambling away from the unexpected bedmate.">>
<<dialog "Sora" "face" "Hey, I want to sleep." "he says sleepily, barely opening his eyes">>
<<dialog "Rylan" "faceangry" "This is my bed! Don't get in without permission!" "you shout, still trying to process what's happening">>
<<dialog "Sora" "face" "Good morning to you too. Now give me a kiss." "he says, puckering his lips playfully">>
<center><img src="images/sora/bed/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Rylan and Sora in bed"></center>
<<dialog "Rylan" "faceangry" "Get out!" "you say, pointing toward the door">>
<<dialog "Sora" "facelaugh" "Hahaha, ok ok!" "he says with a mischievous grin">>
<<narrative "Sora suddenly jumps out of the window with surprising agility, leaving you alone in your bed, still trying to make sense of what just happened.">>
<<thought "Rylan" "faceworried" "Am I just surrounded by crazy people?" "you think, rubbing your eyes">>
<<continueBox "MorningActivityChoicesNext" "Continue" "Get up and start the day">>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<<set $cumNeedAutoUpdateDisabled = true>>
<div class="passage-container nimeria">
<<narrative "The conversation continues in Gairos's cluttered chambers, the weight of their previous discussion still hanging in the air like a heavy mist.">>
<<dialog "Nimeria" "curious" "Master Gairos, I'm curious about something," "Nimeria says, her voice carefully controlled" "How exactly did you manage to defeat Azgorth? You mentioned he was a genius, so it couldn't have been easy.">>
<<dialog "Gairos" "worried" "You're right, it wasn't easy at all," "Gairos admits, rubbing his chin thoughtfully" "Azgorth was a true genius. His barrier magic was so powerful that it could even stop my strongest spell - the Lightning Javelin.">>
<center><img src="images/azgorth/azgorthbarrier.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Nimeria" "curious" "Lightning Javelin? What does that spell do exactly?" "she asks, her eyes lighting up with genuine curiosity">>
<<dialog "Gairos" "" "It's basically a lightning spell, but the concept is completely different from normal area spells," "he explains, his voice growing more animated" "Instead of spreading the power over a tremendous area, I concentrate all of it into a single, incredibly sharp point.">>
<<dialog "Gairos" "" "The result is a small but extremely powerful spell that can pierce through mountains like they're butter. It's my ultimate attack, but even with all that tremendous power, I had to use a dirty trick to break his concentration and shatter his barrier.">>
<<dialog "Nimeria" "curious" "It must cost a huge amount of mana to create something that powerful," "she observes, her analytical mind working">>
<<dialog "Gairos" "" "Exactly right," "Gairos nods approvingly" "It uses all the mana the user has left, leaving just enough for some small spells like fireballs. It's an all-or-nothing kind of attack.">>
<<dialog "Nimeria" "excited" "Wow, that's so cool!" "Nimeria exclaims, her eyes sparkling with genuine excitement" "I'd love to see it in action once. It sounds absolutely incredible!">>
<<dialog "Gairos" "smile" "Maybe I'll use it on you, demon girl!" "Gairos says with a playful grin, clearly joking">>
<<dialog "Nimeria" "embarrassed" "Hahaha, oh please not, Master Gairos!" "Nimeria laughs, her cheeks flushing slightly as she playfully waves her hands in front of her" "I'd much rather see it used on a mountain or something less... me-shaped!">>
<<narrative "The atmosphere lightens considerably as they share a genuine moment of laughter. For a brief instant, Nimeria almost forgets the weight of her secrets and the pain of her past.">>
<<if $serinXSeryk or $serinTrainingBoth or $serinTrainingSeryk>>
<<continueBox "Chapter6SerinXSerykMakeout" "Continue" "Meanwhile, in another room...">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamShort" "Continue" "The night grows deeper...">>
<</if>>
</div>
<</nobr>>
<<pov "nimeria" "gairosnimeriatalk.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<div id="overlay-transition" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(0, 0, 0, 0.95), rgba(255, 182, 193, 0.9), rgba(0, 0, 0, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; opacity: 1; transition: opacity 2s ease-in-out;">
<div style="text-align: center; color: #F5DEB3; font-size: 1.8em; text-shadow: 2px 2px 8px rgba(0,0,0,0.8);">
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 0s infinite;">The night passes quietly...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 1s infinite;">Dawn breaks over the horizon...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 2s infinite;">A new day begins...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 3s infinite;">Time to face what lies ahead...</div>
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 4s infinite;">The adventure continues...</div>
</div></div>
<script>
setTimeout(function() {
const overlay = document.getElementById('overlay-transition');
if (overlay) {
overlay.style.opacity = '0';
setTimeout(function() {
overlay.style.display = 'none';
}, 2000);
}
}, 5000);
</script>
<style>
@keyframes fadeInOut {
0% { opacity: 0; }
20% { opacity: 1; }
80% { opacity: 1; }
100% { opacity: 0; }
}
</style>
<<set $gameDay += 1>>
<<set $timeOfDay = "morning">>
<<narrative "The morning sun streams through the kitchen windows as we all sit at the table, but there's no comfort in this breakfast. The air is thick with tension and fear.">>
<center><img src="images/landscapes/kitchennew.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Gairos" "face" "Good morning, everyone. I trust you all slept well in your new... accommodations." "he says as he takes his seat at the head of the table, his voice carrying an edge of menace">>
<<dialog "Mariel" "faceangry" "Good morning, Gairos." "she says quietly, avoiding eye contact" "Yes, we... we slept adequately.">>
<<dialog "Thalor" "faceworried" "Indeed. Our training in Blightwood was... challenging." "he adds, his voice strained with forced politeness">>
<<dialog "Gairos" "face" "Now that you've all had time to process yesterday's training, I think it's important that we focus on your continued development." "he says, his tone becoming more threatening" "I want you to continue your training in Blightwood.">>
<<thought "Rylan" "face" "He's talking about Blightwood, not the dungeon. Good - we're keeping that secret from him. But this isn't about helping us. This is about using us as tools for whatever he's planning.">>
<<dialog "Seryk" "faceworried" "Alright, gramps-">>
<<dialog "Nimeria" "facesmile" "Yes, continued training is key, Master Gairos. We need to push ourselves harder in Blightwood to prepare for whatever challenges await us." "she adds with her usual manipulative charm">>
<<narrative "I can see the fear reflected in everyone's faces. Only Nimeria seems unbothered.">>
<<thought "Rylan" "face" "Everyone seems to be going along with this, but not because we want to. We're doing it because we have no choice. We're his prisoners, and he's made that very clear. At least we're keeping the dungeon secret from him.">>
<<dialog "Rylan" "faceworried" "I... I think we're all in agreement." "I say, looking around the table with forced enthusiasm" "We should continue our training in Blightwood to get stronger.">>
<<narrative "Everyone nods in agreement, but I can feel the tension in the room.">>
<<dialog "Gairos" "face" "Excellent. Then let's begin your training immediately after breakfast. We have a lot of work to do." "he says with a cold smile that doesn't reach his eyes">>
<<if $rylan_wearingPanties>>
<<continueBox "Chapter6RylanBathroomDiscovery" "Continue" "I have to use the bathroom.">>
<<else>>
<<continueBox "Chapter6TrainingBegin" "Continue" "Time to start training...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<div class="passage-container rylan">
<<dialog "Serin" "faceshocked" "Guys, look up!">>
<<narrative "You follow Serin's gaze upward and see a figure soaring through the sky - a woman with magnificent wings, flying toward you at incredible speed. Behind her, the city burns as the invasion continues to spread.">>
<center><img src="images/story/chapter6/nimeria/elarielarrive.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "face" "What the hell? Is that... a person flying?">>
<<narrative "The remaining city guards look up in terror, knowing that this new threat is beyond anything they've ever faced.">>
<<narrative "The winged woman descends rapidly, landing near the soldiers with an otherworldly grace.">>
<<dialog "Thalor" "faceconfused" "An angel?">>
<<dialog "Mariel" "faceworried" "Those wings... It can't be...">>
<<thought "Rylan" "face" "Mariel looks terrified... what does she know?">>
<<dialog "Thalor" "faceserious" "What's wrong, Mariel?">>
<<dialog "Mariel" "faceworried" "It's not a simple angel, but an archangel!">>
<<thought "Rylan" "face" "Archangel? That sounds... really bad?">>
<<dialog "Serin" "faceworried" "What does this mean?">>
<<dialog "Nimeria" "faceserious" "It means if we don't get out of here, we're dead!">>
<<thought "Rylan" "face" "Even Nimeria is scared... this is really bad.">>
<<dialog "Sora" "face" "Give the command for her to attack. But keep them...">>
<<narrative "Just as Sora gives the command, a familiar voice cuts through the chaos - one filled with rage and vengeance.">>
<<dialog "Holy Soldier" "face" "Die for killing my friends!">>
<<narrative "The group turns to see the soldier Seryk had healed earlier, now fully recovered and standing with a group of reinforcements. His eyes burn with hatred as he points directly at Thalor.">>
<<dialog "Holy Soldier" "face" "You killed my friends! Now you'll pay with your lives!">>
<<narrative "The soldier raises a glowing crystal and shouts into the sky.">>
<<dialog "Holy Soldier" "face" "Elariel, kill them all and start with the brown-haired man!">>
<<thought "Seryk" "face" "But... I saved him...">>
<<dialog "Sora" "faceangry" "Are you stupid?! We should take them alive!">>
<<dialog "Holy Soldier" "face" "He killed my friends! I want to see him suffer!">>
<<narrative "Elariel begins to cast a powerful magic spell, her hands glowing with divine energy.">>
<center><img src="images/story/chapter6/nimeria/elarielattack.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "faceangry" "Elariel, stop! STOP! Damn it!">>
<<narrative "Elariel continues casting, ignoring Sora's commands completely.">>
<<dialog "Sora" "faceangry" "Fuck, that's why I hate this dove. I'm out of here... guys, I would try to run if I were you.">>
<<narrative "Sora and all the soldiers quickly disperse, leaving you alone with the archangel. The remaining guards who were still fighting nearby also flee in terror, knowing they stand no chance against such a powerful being.">>
<<thought "Rylan" "face" "Even Sora is running... this is really bad.">>
<<dialog "Thalor" "faceserious" "Let's run!">>
<<narrative "The streets around you are now eerily quiet, save for the distant sounds of the ongoing invasion and the crackling of fires consuming buildings throughout the city.">>
<<narrative "You try to escape, but in an instant, Elariel flies in front of you, holding her sword in one hand while continuing to cast with the other.">>
<<thought "Rylan" "face" "She's so fast... we can't outrun her.">>
<<dialog "Thalor" "faceconfused" "Something is weird with her - it seems she only focuses on me. I'll keep her at bay, you guys run!">>
<<narrative "From the east gate, another troop of soldiers approaches.">>
<<dialog "Serin" "face" "Let's run into the city!">>
<<dialog "Mariel" "faceangry" "I'll stay here with you, Thalor!">>
<<dialog "Thalor" "faceangry" "Mariel, no! Run too!">>
<<dialog "Mariel" "faceangry" "Don't tell me what to do!">>
<<dialog "Thalor" "faceserious" "Seryk!">>
<<narrative "Seryk nods grimly and approaches Mariel.">>
<<dialog "Seryk" "face" "Sorry...">>
<<narrative "Seryk delivers a precise strike to Mariel's neck, causing her to fall unconscious. He then carries her away.">>
<<dialog "Rylan" "face" "$humanToThalor please stay alive...">>
<<dialog "Thalor" "face" "Don't worry $thalorCallsHuman, I've seen worse...">>
<<narrative "Thalor now stands alone, facing Elariel.">>
<<thought "Thalor" "face" "Why do I keep meeting monster after monster...">>
<<continueBox "Ch6EscapeFromElariel" "Continue" "The final battle begins...">>
</div>
<</nobr>>
<<pov "rylan" "elarielattack.mp3">><<nobr>>
<div class="passage-container rylan" style="background: linear-gradient(135deg, rgba(0, 0, 0, 0.95), rgba(25, 0, 50, 0.9), rgba(0, 0, 0, 0.95)); min-height: 100vh; position: relative; border-radius: 0; overflow: hidden; text-align: center;">
<!-- Animated Background Effects -->
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at 50% 50%, rgba(139, 0, 139, 0.1) 0%, transparent 70%); animation: pulse 3s ease-in-out infinite; z-index: 1;"></div>
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(45deg, transparent 30%, rgba(255,255,255,0.05) 50%, transparent 70%); animation: shimmer 4s ease-in-out infinite; z-index: 1;"></div>
<div class="scene-interior" style="position: relative; z-index: 2; padding: 40px; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center;">
<!-- Chapter 6 Complete Banner -->
<div style="margin-bottom: 40px; text-align: center;">
<div style="background: linear-gradient(145deg, rgba(139, 0, 139, 0.9), rgba(75, 0, 130, 0.8)); border: 3px solid rgba(255,255,255,0.6); border-radius: 20px; padding: 30px; margin-bottom: 30px; box-shadow: 0 0 50px rgba(139, 0, 139, 0.6), inset 0 0 30px rgba(255,255,255,0.1); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(45deg, transparent 30%, rgba(255,255,255,0.1) 50%, transparent 70%); animation: shimmer 3s ease-in-out infinite;"></div>
<h1 style="color: #FFD700; text-shadow: 3px 3px 6px rgba(0,0,0,0.8), 0 0 20px rgba(255,215,0,0.6); margin: 0; font-size: 3em; font-weight: bold; position: relative; z-index: 2;">CHAPTER 6 COMPLETE</h1>
<p style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 15px 0 0 0; font-size: 1.3em; font-style: italic; position: relative; z-index: 2;">The Bonds That Bind Us</p>
</div>
</div>
<!-- Main Crystal Image with Enhanced Effects -->
<div style="margin: 40px 0; position: relative;">
<div style="position: relative; display: inline-block;">
<center><img src="images/story/chapter6/nimeria/crystalinchest.webp" style="max-width: 800px; border-radius: 25px; border: 5px solid rgba(255,255,255,0.9); box-shadow: 0 0 80px rgba(255,255,255,0.8), 0 0 120px rgba(139, 0, 139, 0.6), 0 0 200px rgba(255,255,255,0.3), inset 0 0 40px rgba(255,255,255,0.2); animation: float 6s ease-in-out infinite, glow 4s ease-in-out infinite; position: relative; z-index: 2;"></center>
<!-- Floating Particles Effect -->
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1;">
<div style="position: absolute; top: 20%; left: 10%; width: 8px; height: 8px; background: radial-gradient(circle, rgba(255,255,255,0.8), rgba(139, 0, 139, 0.6)); border-radius: 50%; animation: floatParticle 8s ease-in-out infinite;"></div>
<div style="position: absolute; top: 60%; right: 15%; width: 6px; height: 6px; background: radial-gradient(circle, rgba(255,215,0,0.8), rgba(255,255,255,0.6)); border-radius: 50%; animation: floatParticle 10s ease-in-out infinite 2s;"></div>
<div style="position: absolute; bottom: 30%; left: 20%; width: 10px; height: 10px; background: radial-gradient(circle, rgba(255,255,255,0.9), rgba(75, 0, 130, 0.7)); border-radius: 50%; animation: floatParticle 12s ease-in-out infinite 4s;"></div>
<div style="position: absolute; top: 40%; right: 25%; width: 7px; height: 7px; background: radial-gradient(circle, rgba(139, 0, 139,0.8), rgba(255,255,255,0.5)); border-radius: 50%; animation: floatParticle 9s ease-in-out infinite 1s;"></div>
</div>
</div>
</div>
<!-- Continue Button with Enhanced Styling -->
<div style="margin-top: 50px;">
<div style="background: linear-gradient(145deg, rgba(139, 0, 139, 0.9), rgba(75, 0, 130, 0.8)); border: 3px solid rgba(255,255,255,0.6); border-radius: 20px; padding: 25px; box-shadow: 0 0 40px rgba(139, 0, 139, 0.6), inset 0 0 20px rgba(255,255,255,0.1); position: relative; overflow: hidden; cursor: pointer; transition: all 0.3s ease;" onclick="SugarCube.Engine.play('Credits')">
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(45deg, transparent 30%, rgba(255,255,255,0.1) 50%, transparent 70%); animation: shimmer 2s ease-in-out infinite;"></div>
<h2 style="color: #FFD700; text-shadow: 3px 3px 6px rgba(0,0,0,0.8), 0 0 15px rgba(255,215,0,0.6); margin: 0; font-size: 1.8em; font-weight: bold; position: relative; z-index: 2;">Continue to Credits</h2>
<p style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 0 0; font-size: 1.1em; position: relative; z-index: 2;">Epilogue?</p>
</div>
</div>
</div>
</div>
<!-- Enhanced CSS Animations -->
<style>
@keyframes float {
0%, 100% { transform: translateY(0px) rotate(0deg); }
50% { transform: translateY(-20px) rotate(2deg); }
}
@keyframes glow {
0%, 100% { box-shadow: 0 0 80px rgba(255,255,255,0.8), 0 0 120px rgba(139, 0, 139, 0.6), 0 0 200px rgba(255,255,255,0.3), inset 0 0 40px rgba(255,255,255,0.2); }
50% { box-shadow: 0 0 100px rgba(255,255,255,1), 0 0 150px rgba(139, 0, 139, 0.8), 0 0 250px rgba(255,255,255,0.5), inset 0 0 50px rgba(255,255,255,0.3); }
}
@keyframes pulse {
0%, 100% { opacity: 0.3; transform: scale(1); }
50% { opacity: 0.6; transform: scale(1.05); }
}
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
@keyframes floatParticle {
0%, 100% { transform: translateY(0px) translateX(0px); opacity: 0.7; }
25% { transform: translateY(-30px) translateX(10px); opacity: 1; }
50% { transform: translateY(-60px) translateX(-5px); opacity: 0.8; }
75% { transform: translateY(-30px) translateX(15px); opacity: 0.9; }
}
.passage-container:hover .scene-interior {
transform: scale(1.02);
transition: transform 0.5s ease;
}
</style>
<</nobr>>
<<pov "rylan" "nimeriaslastsongcredits.mp3">><<nobr>>
<!--<<set $isChapter6Epilogue = true>>-->
<<set $isChapter6Epilogue = true>>
<<set $gameDay = 23>>
<<set $currentChapter = 6>>
<<set $gameTime = "afternoon">>
<<set $timeOfDay = "afternoon">>
<div class="passage-container celindra" style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.95), rgba(40, 20, 50, 0.9), rgba(20, 20, 30, 0.95)); min-height: 100vh; position: relative; border-radius: 0; overflow: hidden;">
<!-- Animated Background Effects -->
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at 30% 20%, rgba(139, 0, 139, 0.1) 0%, transparent 60%); animation: pulse 4s ease-in-out infinite; z-index: 1;"></div>
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(60deg, transparent 40%, rgba(255,255,255,0.03) 50%, transparent 60%); animation: shimmer 5s ease-in-out infinite; z-index: 1;"></div>
<div class="scene-interior" style="position: relative; z-index: 2; padding: 30px; min-height: 100vh;">
<!-- Scene Header -->
<div style="text-align: center; margin-bottom: 30px;">
<div style="background: linear-gradient(145deg, rgba(139, 0, 139, 0.8), rgba(75, 0, 130, 0.7)); border: 2px solid rgba(255,255,255,0.4); border-radius: 15px; padding: 20px; box-shadow: 0 0 30px rgba(139, 0, 139, 0.5), inset 0 0 20px rgba(255,255,255,0.1);">
<h1 style="color: #FFD700; text-shadow: 2px 2px 6px rgba(0,0,0,0.8), 0 0 15px rgba(255,215,0,0.6); margin: 0; font-size: 2.2em; font-weight: bold;">CHAPTER 6 EPILOGUE</h1>
<p style="color: #E6E6FA; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); margin: 10px 0 0 0; font-size: 1.1em; font-style: italic;">A Few Days Later - Lindale</p>
</div>
</div>
<!-- Opening Scene Image -->
<div style="text-align: center; margin: 30px 0;">
<center><img src="images/landscapes/bar.webp" style="max-width: 600px; border-radius: 15px; border: 3px solid rgba(255,255,255,0.6); box-shadow: 0 0 40px rgba(139, 0, 139, 0.4), inset 0 0 20px rgba(255,255,255,0.1);"></center>
</div>
<<narrative "The warm glow of the tavern's lanterns casts dancing shadows across the wooden tables as Celindra leans back in her chair, a satisfied smile playing across her lips.">>
<<thought "Celindra" "faceconfident" "What a perfect evening this has been. The speech went flawlessly, the people of Lindale are finally united under our banner, and now we can celebrate our victory properly.">>
<<dialog "Celindra" "facesmirk" "To victory!" "she raises her goblet high" "And to the first step of peace!">>
<<dialog "Sora" "face" "Here, here!" "he clinks his glass against Celindra's" "Though I must say, you're looking particularly pleased with yourself tonight.">>
<<narrative "The other generals around the table join in the toast, their faces flushed with wine and the satisfaction of a hard-won victory. The atmosphere is electric with celebration.">>
<<thought "Celindra" "facesmirk" "This is what progress feels like - not just the victory, but the knowledge that we're one step closer to true unity. Lindale is now under our banner, and soon, the entire region will follow our example of peace.">>
<<dialog "Celindra" "faceconfident" "You know what I love most about these moments?" "she takes a sip of wine" "The hope they represent. Every successful union brings us closer to a world where demi-humans, demons, and humans can live together in harmony...">>
<<dialog "Sora" "facesmirk" "And more kingdoms to unite, I assume?" "he raises an eyebrow playfully">>
<<dialog "Celindra" "facesmirk" "Exactly! The dream of true peace requires us to reach every corner of the world. One banner, one people, one future." "her eyes shine with determination">>
<<narrative "As the conversation flows and the wine continues to pour, the tavern door creaks open, drawing the attention of everyone in the room.">>
<!-- Dramatic Entrance -->
<div style="text-align: center; margin: 40px 0;">
<div style="position: relative; display: inline-block;">
<center><img src="images/blonde/standing.webp" style="max-width: 500px; border-radius: 20px; border: 4px solid rgba(255,255,255,0.8); box-shadow: 0 0 60px rgba(139, 0, 139, 0.6), 0 0 100px rgba(255,255,255,0.3), inset 0 0 30px rgba(255,255,255,0.2); animation: dramaticEntrance 3s ease-out;"></center>
<!-- Dramatic Lighting Effect -->
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at center, transparent 30%, rgba(139, 0, 139, 0.2) 70%, transparent 100%); animation: dramaticGlow 2s ease-in-out infinite alternate;"></div>
</div>
</div>
<<narrative "A blonde girl steps into the tavern, wearing a simple black dress. She looks around the room before making her way toward their table.">>
<<thought "Celindra" "faceshocked" "Oh my... this girl is quite attractive. There's something about her that catches my eye.">>
<<dialog "Celindra" "faceconfident" "Oh, this girl is just my type!" "she whispers to Sora, her eyes never leaving the blonde girl">>
<<dialog "Sora" "facesmirk" "Celin... always hunting girls." "he shakes his head with amusement">>
<<dialog "Celindra" "facesmirk" "Aren't you the same?" "she retorts playfully">>
<<dialog "Sora" "faceconfused" "I like more the innocent type. And I can tell this girl is anything but innocent." "his voice carries a note of caution">>
<<dialog "Celindra" "facesmirk" "Oh, how can you tell?" "she's genuinely curious">>
<<narrative "Behind the beautiful stranger, a tall, imposing figure in dark robes follows silently, his presence adding an air of mystery and danger to the scene.">>
<center><img src="images/blonde/guard.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The blonde girl approaches their table and stops before an empty chair.">>
<<dialog "blonde" "facesmirk" "Is this chair free?" "she asks politely">>
<<dialog "Sora" "faceconfused" "Sure, go ahead and take it." "he responds casually, assuming she just wants to move the chair somewhere else">>
<<narrative "The blonde woman sits down. Sora's eyes widen as he realizes his mistake.">>
<<dialog "Sora" "faceangry" "Wait, I didn't mean you could sit down!" "he protests, suddenly realizing she's joined their table">>
<<dialog "blonde" "facesmirk" "Fox, you can sit too." "she gestures to the robed warrior behind her">>
<<narrative "The robed figure moves to take a seat. The blonde woman looks around the table at the gathered generals.">>
<center><img src="images/blonde/portrait.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "blonde" "facesmirk" "Sora and Celindra," "she says" "can you count all your sins?">>
<<narrative "The question hangs in the air like a blade, and suddenly the celebratory atmosphere of the tavern feels heavy with something far more dangerous than wine and merriment.">>
<!-- Save Recommendation Box -->
<div style="margin: 50px 0; text-align: center;">
<div style="background: linear-gradient(145deg, rgba(0, 100, 0, 0.9), rgba(0, 150, 0, 0.8), rgba(0, 100, 0, 0.9)); border: 3px solid rgba(0, 255, 0, 0.6); border-radius: 20px; padding: 40px; box-shadow: 0 0 50px rgba(0, 255, 0, 0.4), inset 0 0 30px rgba(255,255,255,0.1); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(45deg, transparent 30%, rgba(255,255,255,0.1) 50%, transparent 70%); animation: shimmer 2s ease-in-out infinite;"></div>
<div style="position: relative; z-index: 2;">
<div style="font-size: 3em; margin-bottom: 20px;">💾</div>
<h2 style="color: #00FF00; text-shadow: 3px 3px 6px rgba(0,0,0,0.8), 0 0 20px rgba(0,255,0,0.6); margin: 0 0 20px 0; font-size: 2em; font-weight: bold;">SAVE RECOMMENDATION</h2>
<p style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0 0 15px 0; font-size: 1.3em; font-weight: 500;">Chapter 6 Complete!</p>
<p style="color: #C0C0C0; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.6;">We strongly recommend saving your game here before continuing. If you wish to jump back to the start of Chapter 6, please backup your save file first to avoid losing your current progress.</p>
<div style="display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; margin-top: 25px;">
<div style="background: linear-gradient(145deg, rgba(0, 80, 0, 0.8), rgba(0, 120, 0, 0.7)); border: 2px solid rgba(0, 255, 0, 0.5); border-radius: 10px; padding: 15px 25px; box-shadow: 0 4px 15px rgba(0,0,0,0.3);">
<span style="color: #00FF00; font-weight: bold; font-size: 1.1em;">✅ Save Here</span>
</div>
<div style="background: linear-gradient(145deg, rgba(100, 0, 0, 0.8), rgba(150, 0, 0, 0.7)); border: 2px solid rgba(255, 0, 0, 0.5); border-radius: 10px; padding: 15px 25px; box-shadow: 0 4px 15px rgba(0,0,0,0.3);">
<span style="color: #FF6B6B; font-weight: bold; font-size: 1.1em;">⚠️ Backup First</span>
</div>
</div>
<div style="margin-top: 30px;">
<<continueBox "MorningActivityChoices" "Jump Back to Chapter 6" "Return to the beginning of Chapter 6 (Make sure to backup your save first!)">>
<!--<<continueBox "Ch7Transition14DaysAgo" "Continue the Story" "See what happened 16 days ago...">> -->
</div>
</div>
</div>
</div>
<!-- Cliffhanger Ending -->
<div style="margin: 50px 0; text-align: center;">
<div style="background: linear-gradient(145deg, rgba(0, 0, 0, 0.9), rgba(25, 0, 50, 0.8)); border: 3px solid rgba(255,255,255,0.5); border-radius: 20px; padding: 40px; box-shadow: 0 0 50px rgba(139, 0, 139, 0.6), inset 0 0 30px rgba(255,255,255,0.1); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(45deg, transparent 30%, rgba(255,255,255,0.05) 50%, transparent 70%); animation: shimmer 3s ease-in-out infinite;"></div>
<h2 style="color: #FFD700; text-shadow: 3px 3px 6px rgba(0,0,0,0.8), 0 0 20px rgba(255,215,0,0.6); margin: 0 0 20px 0; font-size: 2em; font-weight: bold; position: relative; z-index: 2;">TO BE CONTINUED...</h2>
<p style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0; font-size: 1.2em; font-style: italic; position: relative; z-index: 2;">The story continues in Chapter 7</p>
</div>
</div>
</div>
</div>
<!-- Enhanced CSS Animations -->
<style>
@keyframes dramaticEntrance {
0% {
transform: translateY(-50px) scale(0.8);
opacity: 0;
filter: blur(10px);
}
50% {
transform: translateY(-10px) scale(0.95);
opacity: 0.7;
filter: blur(2px);
}
100% {
transform: translateY(0) scale(1);
opacity: 1;
filter: blur(0);
}
}
@keyframes dramaticGlow {
0% { opacity: 0.3; transform: scale(1); }
100% { opacity: 0.6; transform: scale(1.05); }
}
@keyframes pulse {
0%, 100% { opacity: 0.2; transform: scale(1); }
50% { opacity: 0.4; transform: scale(1.02); }
}
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
.passage-container:hover .scene-interior {
transform: scale(1.01);
transition: transform 0.3s ease;
}
/* Character-specific styling */
.passage-container .dialog-celindra { color: #87CEEB !important; }
.passage-container .dialog-blonde { color: #FFD700 !important; }
</style>
<</nobr>>
<<pov "celindra" "stormark.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "You rush through the chaotic streets, trying to put distance between yourselves and the battle. The city is in complete disarray - buildings are burning, citizens are fleeing in panic, and the sounds of combat echo from every direction.">>
<<narrative "As you run through the streets, you suddenly find yourselves ambushed from behind. Three enemy soldiers appear, and Liora is caught off-guard, about to be struck down.">>
<<narrative "Thalor moves with lightning speed, cutting down two of the attackers before they can harm Liora. The third soldier is fatally wounded, clutching his chest as blood seeps through his fingers.">>
<<dialog "Thalor" "faceserious" "I'll give him the mercy hit." "he says, raising his sword">>
<<dialog "Seryk" "faceangry" "No! He can't fight anymore! It's wrong to kill him!">>
<<dialog "Nimeria" "faceserious" "We shouldn't risk him calling for reinforcements.">>
<<dialog "Seryk" "faceangry" "Your answer is always killing, Nimeria!">>
<<narrative "Nimeria just shakes her head, her expression weary.">>
<<dialog "Nimeria" "facesad" "We shouldn't waste any more time, let's go.">>
<<narrative "The group begins to move away, but Seryk lingers behind. As the others round the corner, he quickly kneels beside the wounded soldier and presses a healing potion into his hand.">>
<<dialog "Seryk" "face" "Here... take this. I'm sorry for what happened to your friends.">>
<<narrative "The soldier's eyes narrow with suspicion and hatred, but he takes the potion anyway.">>
<<thought "Rylan" "face" "Seryk... what are you doing?">>
<<narrative "Seryk catches up to the group, his face conflicted but determined.">>
<<narrative "As you reach the marketplace, you see ten enemy soldiers blocking your path. Behind them, you can see several city guards lying motionless on the ground, their weapons scattered around them.">>
<<dialog "Rylan" "face" "Damn it! They've cut off our escape route!">>
<<thought "Rylan" "face" "Those guards... they didn't stand a chance against these numbers.">>
<<narrative "Suddenly, a familiar figure emerges from the adventurer's guild building - the mysterious man wearing a skull mask who had been stalking you before.">>
<<thought "Rylan" "face" "Oh no... that creepy bastard who's been following us around.">>
<<dialog "Rylan" "face" "Oh no, it's that guy who's been stalking us!">>
<<narrative "The skull-masked figure nods in your direction, his expression unreadable behind the mask.">>
<center><img src="images/skullmask/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "facehappy" "Gideon!">>
<<thought "Rylan" "face" "Wait, $humanToMariel knows this guy?">>
<<dialog "Rylan" "face" "You know him?!">>
<<dialog "Mariel" "face" "Yes, he's an old friend who traveled with us in the past. He's much stronger than we are - let's get out of here. Ten soldiers are nothing for him.">>
<<thought "Rylan" "face" "If $humanToMariel trusts him and says he's that powerful...">>
<<narrative "You follow Mariel's lead, though you're still shocked by this unexpected turn of events.">>
<<dialog "Nimeria" "faceexhausted" "Where are we even running to? I'm so tired...">>
<<dialog "Thalor" "faceserious" "To the east gate! We need to get out of the city!">>
<<narrative "You make your way toward the east gate, passing through streets littered with the bodies of fallen guards. The invaders have clearly taken control of most of the city.">>
<<narrative "But suddenly Sora appears in front of you again, blocking your path. Behind him, some of the soldiers you had defeated are limping along, clearly having recovered, and more reinforcements are arriving from other parts of the city.">>
<<dialog "Sora" "faceangry" "I don't think so! You're not getting away that easily!">>
<<thought "Rylan" "face" "How did he get here so fast? And there are even more of them now...">>
<<narrative "In the distance, you can see the city's main gate has been breached, and enemy forces are pouring through in waves.">>
<<dialog "Sora" "face" "I've had enough of you guys. Call Elariel!">>
<<continueBox "Ch6ElarielArrival" "Continue" "Who is Elariel?">>
</div>
<</nobr>>
<<pov "rylan" "lindaleattack.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "You run through the chaotic streets, desperately trying to find a way out of the city while the archangel's presence looms behind you. The invasion has left the city in ruins - buildings are destroyed, bodies litter the streets, and the few remaining city guards are either dead or have fled.">>
<<dialog "Liora" "faceworried" "W-w-where are we even supposed to run to?">>
<<thought "Rylan" "face" "I have no idea... we're trapped in this city with that thing chasing us. Where are the adventurers when we need them?">>
<<dialog "Rylan" "face" "I have no idea...">>
<<narrative "You pass by the bodies of several guards who tried to make a last stand, their weapons still clutched in their hands. The sight fills you with both sorrow and determination.">>
<<narrative "The frustration builds inside you as you realize there's no clear escape route. You scream out in desperation.">>
<<dialog "Rylan" "faceangry" "How the hell do we get out of here?!">>
<<thought "Rylan" "face" "There has to be a way... there has to be...">>
<<narrative "Suddenly, something in your bag begins to glow with a soft, ethereal light.">>
<<thought "Rylan" "face" "What the... something in my bag is shining?">>
<<narrative "You reach into your bag and pull out Veloria's ticket, which is now radiating with a warm, golden light.">>
<center><img src="images/items/ticket.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "face" "Veloria's ticket! It's glowing... could this be our way out?">>
<<narrative "As you hold the ticket, a nearby door begins to shimmer with the same golden light.">>
<<dialog "Rylan" "face" "Everyone, follow me! This might be our way out!">>
<<thought "Rylan" "face" "I hope this works... it's our only chance.">>
<<narrative "You lead the group toward the glowing door, praying that it will provide the escape you so desperately need.">>
<<continueBox "Ch6VeloriaRealm" "Continue" "Enter the mysterious realm...">>
</div>
<</nobr>>
<<pov "rylan" "elarielattack.mp3">><<nobr>>
<div class="passage-container rylan">
<<advanceTime 1>>
<<narrative "A loud crashing sound jolts $humanName awake from his troubled sleep. The noise is followed by screams from outside, and he instantly sits up, his heart pounding.">>
<<thought "Rylan" "face" "What's happening? Those screams... something's wrong.">>
<<narrative "He jumps to his feet and instinctively reaches for his sword, but stops short, remembering what happened with Oswin. The memory makes him hesitate.">>
<<thought "Rylan" "face" "I... I killed someone. But I need to protect everyone.">>
<<if $rylanNimeriaSex>>
<<thought "Rylan" "face" "Wait... what happened with Nimeria? That felt so real, but it had to be a dream, right? If it wasn't... oh gods, what did I do to Liora? But I can't think about that now - there's something happening outside.">>
<</if>>
<<narrative "He notices the sword has been cleaned and his clothes changed. Someone must have taken care of him while he was out of it.">>
<<narrative "Gritting his teeth, he grabs the sword and runs outside, determined to face whatever threat has come to their home.">>
<<narrative "Outside, chaos reigns. The house is surrounded by foreign soldiers, but they're not alone - the city guards are fighting back desperately, clashing swords in the streets.">>
<<thought "Rylan" "face" "The city guards are fighting too... but they're outnumbered.">>
<<narrative "What's even more surprising is the mix of races among the invading soldiers - humans, demi-humans, and demons all fighting together under the same banner.">>
<<thought "Rylan" "face" "Humans, demi-humans, and demons working together? This is impossible...">>
<<narrative "You can see several city guards already lying wounded or dead in the street, their blood staining the cobblestones. The invaders are clearly winning.">>
<<narrative "Serin and Liora rush outside as well, their faces filled with alarm.">>
<<dialog "Holy Soldier" "face" "You and your friends come with me." "he orders" "Don't make it harder for yourself by fighting back.">>
<<dialog "Serin" "faceangry" "Like hell we will!">>
<<narrative "A guard stumbles past, clutching a bleeding wound in his side.">>
<<dialog "Kingdom Soldier" "face" "Run... they're too many... the kingdom's guard can't hold them...">>
<<dialog "Serin" "faceworried" "How did they overrun the city so fast? The adventurer guild is right here!">>
<<dialog "Kingdom Soldier" "face" "the adventurer guild was strangely empty when we checked for reinforcements...">>
<<dialog "Serin" "faceangry" "I don't think so!" "she shouts, pulling out her knives">>
<<narrative "Thalor steps outside, his expression grim and determined.">>
<center><img src="images/thalor/poses/sword/hold.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Thalor" "face" "Serin, stop. Let me handle this." "he says firmly">>
<<thought "Rylan" "face" "The sword he's holding... it's the one that was hanging on the wall. He never used it since the war.">>
<<narrative "$humanToMariel rushes outside as well, immediately casting support magic on Thalor, her hands glowing with protective energy.">>
<center><img src="images/mariel/poses/fight/magic.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Seryk and Nimeria follow close behind, ready to join the fight.">>
<<thought "Rylan" "face" "Everyone's here. We can do this together.">>
<<narrative "But to everyone's amazement, Thalor and Mariel handle the soldiers by themselves, moving with the grace and power of seasoned warriors. Their movements are fluid and deadly, cutting through the enemy ranks with practiced efficiency.">>
<<dialog "Seryk" "face" "Wow, $humanName, your $bothToHuman are amazing!" "he exclaims">>
<<thought "Rylan" "face" "I've never seen them fight like this before. They're incredible.">>
<<narrative "More kingdom soldiers arrive to help, but even with their assistance, the sheer number of invaders is overwhelming. The streets are filled with the clash of steel and the cries of the wounded.">>
<<thought "Rylan" "face" "Where are the adventurers? The guild should be helping defend the city...">>
<<narrative "Suddenly, a playful voice cuts through the chaos, one they all recognize immediately.">>
<<dialog "Holy Soldier" "face" "Well, well, it seems you started the fun without me..." "the voice says with a mischievous smile">>
<<continueBox "Ch6SoraArrival" "Continue" "Someone arrives...">>
</div>
<</nobr>>
<<pov "rylan" "lindaleattack.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "The mysterious voice echoes through the battlefield as a familiar figure emerges from the shadows, accompanied by a horde of goblins charging into the fray. The remaining city guards look confused but relieved at the unexpected help.">>
<<dialog "f95" "face" "Brothers and sisters, I've arrived!">>
<<dialog "Rylan" "face" "Effnain?!">>
<<dialog "Sora" "faceconfused" "Goblins?! Where did these vermin come from?">>
<<dialog "f95" "face" "Everyone, get out of here! We'll handle these bastards ourselves!">>
<<narrative "The goblins swarm the enemy soldiers with surprising ferocity, giving the overwhelmed city guards a much-needed reprieve.">>
<<dialog "Kingdom Soldier" "face" "Thank the gods! We were about to be overrun!">>
<<narrative "Thalor and Mariel finish off their remaining opponents and rush to your aid. Mariel immediately begins healing your wounds while Thalor helps you to your feet.">>
<<dialog "Mariel" "faceworried" "Are you all right? Let me heal those injuries quickly.">>
<<dialog "Thalor" "faceserious" "Let's get out of here!">>
<<thought "Rylan" "face" "They're right - we need to get out of here while we can.">>
<<dialog "Sora" "faceangry" "I don't think so! You're not going anywhere!">>
<<narrative "Sora lunges forward, but Effnain suddenly appears in front of him, blocking his path with surprising speed.">>
<<dialog "f95" "face" "You know, I personally prefer landladies over furries and catboys, but I suppose I shouldn't be too picky about who I fight.">>
<<thought "Sora" "face" "This goblin is faster than he looks...">>
<<continueBox "Ch6Escape1" "Continue" "Escape...">>
</div>
<</nobr>>
<<pov "rylan" "lindaleattack.mp3">><<nobr>>
<div class="passage-container nimeria">
<<narrative "Nimeria gently helps $humanName lie down on the bed, her movements careful and tender. She sits beside him, her heart heavy with guilt and concern.">>
<<if $rylanFemboy === true>>
<center><img src="images/story/chapter6/nimeria/femboyrylansleeping.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<else>>
<center><img src="images/story/chapter6/nimeria/malerylansleeping.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<</if>>
<<narrative "She begins to sing softly.">>
<<continueBox "Ch6LindaleAttack" "Continue" "Continue...">>
</div>
<</nobr>>
<<pov "nimeria" "crownofashremix.mp3">><<nobr>>
<div class="passage-container thalor">
<<narrative "Just as the divine energy is about to strike Thalor, Nimeria suddenly appears in front of him, holding a red crystal in her right hand and casting a tremendous barrier that stops the energy in its tracks.">>
<center><img src="images/story/chapter6/nimeria/nimeriasend/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The energy pulses against the barrier, creating visible cracks as it struggles to break through.">>
<<dialog "Thalor" "faceconfused" "Nimeria?! What the hell are you doing here?!">>
<<dialog "nimeria" "faceserious" "You stood by me during the Gairos incident, even shielded me from the fallout. I don't leave debts unpaid.">>
<<thought "Thalor" "face" "She's risking her life for me... after everything I've done to her.">>
<<dialog "Thalor" "face" "I murdered your father!">>
<<dialog "nimeria" "faceserious" "Mariel would be devastated if you died.">>
<<thought "Thalor" "face" "She's doing this for Mariel... not for me.">>
<<dialog "Thalor" "face" "I slaughtered your entire family! And killed you too!">>
<<dialog "nimeria" "faceserious" "$humanName would be heartbroken too...">>
<<dialog "nimeria" "faceserious" "And I suppose I'd be just a little sad too... Now stop arguing and get out of here! This barrier won't last much longer!">>
<<narrative "The energy becomes stronger, and the barrier begins to crack under the pressure.">>
<center><img src="images/story/chapter6/nimeria/nimeriasend/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Thalor" "face" "I can't let her die for me... not after everything.">>
<<dialog "Thalor" "faceangry" "I refuse to let you die for me! I won't watch another child die because of my mistakes!">>
<<dialog "Nimeria" "faceangry" "You stubborn old fox!">>
<<narrative "Time seems to slow as the divine energy pulses relentlessly against Nimeria's barrier. The cracks spread like spiderwebs across the magical shield, each pulse making them wider and more numerous.">>
<<narrative "For what feels like an eternity, the barrier holds, but you can see the strain on Nimeria's face as she pours everything she has into maintaining the protection.">>
<center><img src="images/story/chapter6/nimeria/nimeriasend/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Then, with a sound like shattering glass, the barrier finally gives way. The divine energy explodes forward in a brilliant flash of light, consuming everything in its path.">>
<<narrative "When the light fades, there's nothing left but scorched earth where Thalor and Nimeria once stood.">>
<<dialog "Elariel" "face" "Objective complete. Both targets eliminated.">>
<<continueBox "Ch6VeloriaFight" "Continue" "Continue...">>
</div>
<</nobr>>
<<pov "thalor" "thalorend.mp3">><<nobr>>
<div class="passage-container nimeria">
<<thought "Nimeria" "faceserious" "The barrier is cracking... I can feel it giving way under the divine assault. Just a little longer...">>
<center><img src="images/story/chapter6/nimeria/nimeriasend/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Nimeria's arms tremble as she channels every ounce of her magical energy into maintaining the protective barrier. The divine energy pulses against it with increasing intensity, each wave threatening to shatter her defenses. Sweat beads on her forehead as she struggles to hold the spell together.">>
<<dialog "Nimeria" "faceserious" "Time to settle my debt, sleeping fox.">>
<<dialog "Thalor" "faceconfused" "Sleeping fox? What are you talking about?">>
<<dialog "Nimeria" "facesmirk" "That tattoo of yours. Quite fitting, don't you think?">>
<<dialog "Thalor" "faceconfused" "What do you mean?">>
<<dialog "Nimeria" "faceserious" "You're just a shadow of the warrior who once defeated the demon king. Time for the fox to wake up and remember who he really is.">>
<<thought "Nimeria" "facesad" "How did I end up here? Protecting the very man I once despised with every fiber of my being. All because of one simple phrase: 'like an angel.' Funny how words can change everything.">>
<<thought "Nimeria" "facesmirk" "Though looking at this so-called angel... they're not nearly as beautiful as I imagined. Quite hideous, actually.">>
<center><img src="images/story/chapter6/nimeria/nimeriasend/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The barrier shudders violently as another massive crack appears, spreading like lightning across the magical shield. The sound of breaking glass fills the air as the protective spell begins to fail.">>
<<thought "Nimeria" "facesad" "What an ironic way to die - killed by an angel. Or should I say... a puppet.">>
<<dialog "Thalor" "faceworried" "Nimeria, what's your plan? There has to be something we can do!">>
<<dialog "Nimeria" "faceconfused" "Plan? What plan?">>
<<dialog "Thalor" "faceangry" "This isn't the Nimeria I know! The girl who defeated Gairos, the strongest warrior alive - she wouldn't just give up like this!">>
<<thought "Nimeria" "facesmirk" "Heh... looks like you're not the only one who's been sleeping, Thalor.">>
<<narrative "The barrier cracks further, the sound like shattering glass echoing through the air. Each crack spreads faster, the magical shield barely holding together under the relentless divine assault.">>
<center><img src="images/story/chapter6/nimeria/nimeriasend/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Nimeria" "facesad" "Survival odds... maybe 1%? But that's more than enough for me.">>
<<dialog "Nimeria" "faceserious" "Listen, fox. When this barrier finally breaks, I'll cast one last illusion spell. After that... well, the rest is up to you.">>
<<narrative "Nimeria's voice carries a strange mixture of determination and weary acceptance, as if she's already made peace with her fate. There's no fear in her eyes - only a quiet resolve to see this through to the end.">>
<<continueBox "Ch6NimeriasDeath" "Continue" "The barrier breaks...">>
</div>
<</nobr>>
<<pov "nimeria" "nimeriaslastsong.mp3">><<nobr>>
<div class="passage-container nimeria">
<center><img src="images/story/chapter6/nimeria/nimeriasend/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The barrier finally gives way with a sound like shattering glass, and in her final moments, Nimeria's mind races through memories of everyone she's come to care about.">>
<center><img src="images/seryk/facelaugh.webp" style="max-width: 300px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Nimeria" "facesad" "Seryk... my brother. You're too kind and trusting for this cruel world. I hope you find the justice you seek.">>
<center><img src="images/liora/facelaughshortpinkdress.webp" style="max-width: 300px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Nimeria" "facesad" "Liora... so innocent and pure, yet too prudish for your own good. I wish I could have taught you more about life.">>
<center><img src="images/mariel/facehappy.webp" style="max-width: 300px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Nimeria" "facesad" "Mariel... the gentle woman who treated me as her own child.">>
<center><img src="images/serin/facehappy.webp" style="max-width: 300px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Nimeria" "facesmirk" "Serin... wild and funny, with all your jealousy toward Liora.">>
<center><img src="images/thalor/facesmile.webp" style="max-width: 300px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Nimeria" "facesad" "Thalor... the man who killed my family, yet protected me from the fallout of killing Gairos.">>
<<thought "Nimeria" "facehappy" "And finally... you, $humanName. The man I fell in love with at first sight. You showed me that love could exist even for someone like me.">>
<center><img src="images/rylan/facegentle.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $nimeriaFirstVaginalTaken === "Rylan" || $nimeriaFirstVaginalTaken === "rylan">>
<center><img src="images/nimeria/chapter6/rylansex/sex/mission/afterfeet/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Nimeria" "facehappy" "I'm so happy I could give my first time to you, $humanName. That memory will warm me in whatever comes next.">>
<</if>>
<<thought "Nimeria" "facesad" "I just wished I could have corrupted you guys more. So we could always stay together...">>
<<narrative "The barrier shatters completely, and a gaping hole forms in the magical shield. The divine energy surges through the opening, a brilliant beam of pure destruction aimed directly at them.">>
<<narrative "Thalor leaps forward, grabbing Nimeria and pulling her away just as the energy strikes. The blast tears through her chest, creating a massive hole where her heart once beat.">>
<<narrative "They tumble behind the cover of nearby buildings as the energy continues to pulse, but Nimeria's hand is already moving, casting one final spell.">>
<<narrative "Illusion magic weaves through the air, creating a perfect replica of the scene - showing both Thalor and Nimeria being consumed by the divine energy, their bodies disintegrating in the brilliant light.">>
<<dialog "Elariel" "face" "Objective complete. Both targets eliminated.">>
<<narrative "Thalor cradles Nimeria's broken body in his arms.">>
<<dialog "Thalor" "facesmile" "You crazy girl... but we made it! We actually made it!">>
<<narrative "But as he looks down at her, his smile fades to horror. The gaping hole in her chest is impossible to ignore, and he realizes the truth.">>
<<dialog "Thalor" "faceshocked" "No... no, this can't be...">>
<<dialog "Nimeria" "facesad" "...my chest...">>
<<narrative "Those are her final words, spoken in a whisper that barely carries over the sound of the divine energy still pulsing in the distance.">>
<<narrative "And then... silence.">>
<<continueBox "Ch6ThalorReunion2" "Continue" "Thalor carries her back...">>
</div>
<</nobr>>
<<pov "nimeria" "nimeriaslastsong.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "The battle rages around you as the enemy soldiers press their attack. City guards fight desperately against the overwhelming numbers, but more and more fall with each passing moment. The streets are littered with bodies - both invaders and defenders.">>
<<narrative "Suddenly, a familiar figure emerges from the chaos - Sora, but something about his presence feels different, more dangerous than before.">>
<<dialog "Rylan" "face" "Sora! What are you doing here? You need to get to safety - we're under attack!">>
<<dialog "Holy Soldier" "face" "General Sora! What are your orders for dealing with these intruders?">>
<<dialog "Sora" "facesmirk" "Stand down, men. I'll deal with these pests personally. You handle the old warriors over there.">>
<<thought "Rylan" "face" "General? Since when is Sora a general? Something's not right here...">>
<<dialog "Rylan" "face" "Sora, what the hell is this? Since when are you a general?">>
<<dialog "Sora" "facelaugh" "Oh, this is priceless! You actually thought we were friends? How delightfully naive!">>
<<dialog "Sora" "facesmirk" "You know what, $humanName? You and that sweet little healer of yours are exactly what I've been craving.">>
<<dialog "Sora" "face" "I'm thinking... should I make you watch while I break in your precious Liora, or would you rather she watches me break you in first?">>
<<thought "Rylan" "face" "This can't be happening... the Sora I knew would never...">>
<<dialog "Rylan" "faceangry" "You bastard! I trusted you!">>
<<narrative "You prepare to attack, but suddenly Sora's claws grow tremendously larger, extending into deadly weapons.">>
<center><img src="images/sora/pose/fight/claws.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "faceconfident" "Oh, did I forget to mention? I can reshape any part of my body however I please. Pretty neat trick, don't you think?">>
<<narrative "You rush towards Sora, but he moves with impossible speed, instantly throwing you to the floor before you can even react. Around you, the battle continues to rage as lindales guards desperately try to hold their ground.">>
<<thought "Rylan" "face" "He's moving like lightning... I can't even track his movements!">>
<<narrative "Serin and Seryk try to help, but they can't catch up with Sora's incredible speed either. In the distance, you can see more kingdom soldiers falling to the invaders' superior numbers.">>
<<dialog "Kingdom Soldier" "face" "Fall back! Fall back! We can't hold them!">>
<center><img src="images/seryk/pose/new/back/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "facesmirk" "Sorry ladies, but you're not really my cup of tea. Too... rough around the edges.">>
<<narrative "With a swift kick, he sends both Serin and Seryk crashing to the floor as well.">>
<<thought "Serin" "face" "What the hell? He's like a damn hurricane!">>
<<thought "Seryk" "face" "He's faster than anything I've ever seen...">>
<center><img src="images/story/chapter4/gairosfight/lioraheal.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<<narrative "Liora tries to heal the fallen, but Sora is faster, appearing behind her with a claw held to her neck.">>
<<dialog "Sora" "face" "Easy there, sweetheart. One twitch and I'll carve you up like a holiday roast.">>
<<thought "Liora" "faceworriedshortpink" "I'm so scared... I can't even breathe...">>
<<narrative "Thalor and Mariel are still fighting the other soldiers, unaware of what's happening to us.">>
<<dialog "Sora" "facesad" "Well, that was disappointingly easy... but I have a feeling you'll be much more entertaining when I have you all tied up.">>
<<dialog "Sora" "face" "Men, secure them for transport. Make sure they're nice and comfortable for the journey.">>
<<narrative "Just as the soldiers move to capture you, another voice cuts through the chaos.">>
<<dialog "male npc" "face" "Stop right there, NTRrrgh!">>
<<continueBox "Ch6MysteriousVoice" "Continue" "Who is that?">>
</div>
<</nobr>>
<<pov "rylan" "lindaleattack.mp3">><<nobr>>
<div class="passage-container thalor">
<<narrative "A solitary warrior trudges through the devastated streets of Lindale, cradling the lifeless body of a demon child in his arms. The weight of failure and loss hangs heavy upon his shoulders as he walks past the ruins of what was once a thriving city.">>
<center><img src="images/story/chapter6/nimeria/nimeriasend/end.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Thalor" "faceangry" "What a magnificent hero I am... saved once again while another child pays the ultimate price for my survival.">>
<<narrative "The silence of the deserted city is broken only by the sound of his heavy footsteps, the crackling of distant fires, and the occasional whisper of wind through the abandoned buildings. Bodies of fallen guards lie scattered throughout the streets, a grim reminder of the battle that was lost.">>
<<thought "Thalor" "facesad" "So many dead... so many who trusted us to protect them. And now this child...">>
<<thought "Thalor" "faceangry" "How many more children will die because of my failures? How many more will I fail to protect?">>
<<narrative "As he walks, the weight of Nimeria's small body feels like a crushing burden of guilt and regret. The devastation around him serves as a constant reminder of his failure to protect those who depended on him.">>
<<thought "Thalor" "facesad" "She was just a child... she didn't deserve this fate. I should have been the one to die, not her.">>
<<narrative "In the distance, he can see enemy soldiers patrolling the conquered city, their banners flying from the buildings that once housed the city's government. The invasion was complete, and Lindale had fallen.">>
<<thought "Thalor" "facesad" "The city is lost... but at least the others got away. That's something, I suppose.">>
<<narrative "Suddenly, a nearby door begins to glow with an ethereal light, casting strange shadows across the street.">>
<<thought "Thalor" "faceserious" "What is this? Another trick? Another trap?">>
<<continueBox "Ch6ThalorReunion" "Continue" "">>
</div>
<</nobr>>
<<pov "thalor" "nimeriadead.mp3">><<nobr>>
<div class="passage-container thalor">
<<advanceTime 1>>
<<narrative "Thalor bursts into the house, his sword drawn and ready for battle, but what he finds stops him dead in his tracks.">>
<<narrative "Nimeria kneels beside Gairos's lifeless body, tears streaming down her face as she sobs uncontrollably.">>
<<thought "Thalor" "faceworried" "How did this girl... I was right to fear her. She's more dangerous than I ever imagined.">>
<<narrative "Suddenly, the guards storm into the house, their weapons drawn and voices raised in alarm.">>
<<dialog "Male NPC" "face" "Quick! Get a healer!" "he shouts" "This man needs immediate medical attention!">>
<<dialog "Male NPC" "face" "Come on, demon girl!" "he barks" "You have a lot of explaining to do!">>
<<narrative "The second guard roughly grabs Nimeria by the arm and drags her away, her sobs echoing through the house.">>
<<thought "Thalor" "face" "I need to see what happened here. Something doesn't add up.">>
<<narrative "While the guards are busy with Nimeria and calling for help, Thalor approaches Gairos's corpse, his expression grim.">>
<<thought "Thalor" "face" "My old friend... or more accurately, my kidnapper. What really happened here?">>
<<narrative "Thalor carefully examines the body, and as he lifts it slightly, he notices something written in blood beneath it.">>
<<thought "Thalor" "face" "'Nimeria'... written in blood. This changes everything.">>
<<dialog "Thalor" "faceworried" "For what I'm about to do, I might burn in hell..." "he mutters grimly">>
<<narrative "Thalor pulls out a knife from his belt, his hand steady despite the weight of the decision he's about to make.">>
<<continueBox "Ch6GairosDeathInvestigation" "Continue" "Continue...">>
</div>
<</nobr>>
<<pov "thalor" "nimeriagairostorture.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "The door to Veloria's realm suddenly glows brighter, and with a soft whoosh, it opens to reveal Thalor standing in the doorway, cradling Nimeria's limp form in his arms.">>
<<dialog "Rylan" "facehappy" "$humanToThalor! You made it back!">>
<<dialog "Mariel" "facehappy" "Oh thank goodness! We were so worried!">>
<<dialog "Serin" "facehappy" "Both of you! I can't believe you're both here!">>
<<narrative "But as Thalor steps fully into the room, the joy on everyone's faces quickly fades to shock and horror. The sight of Nimeria's bloodied body and the gaping hole in her chest is too much to bear.">>
<<dialog "Seryk" "facesmirk" "Oh, Nimeria's napping again? That girl never knows when to quit.">>
<<dialog "Liora" "facesadshortpink" "Seryk, please...">>
<<dialog "Serin" "faceworried" "Seryk, look at her... she's...">>
<<dialog "Veloria" "face" "Gone. No life force, no pulse. Or in another words, dead.">>
<<dialog "Mariel" "faceangry" "How can you be so heartless?">>
<<narrative "Seryk's smile fades, replaced by empty, hollow eyes that stare blankly at Nimeria's lifeless form.">>
<<dialog "Seryk" "face" "No... she's just... she's just sleeping. She'll wake up any minute now.">>
<<dialog "Liora" "facesadshortpink" "Seryk... she's gone.">>
<<dialog "Seryk" "faceangry" "No! She can't be! She... she's too smart to die like this!">>
<<narrative "Seryk's voice cracks as he speaks, his hands trembling slightly.">>
<<thought "Seryk" "facesad" "Was it... was it my fault? If I hadn't saved that soldier... if I had just let Thalor finish him...">>
<<thought "Seryk" "facesad" "No... no, that can't be right. Justice can't be wrong. I did the right thing... didn't I?">>
<<thought "Seryk" "facesad" "'One day you will lose everything because of your false injustice.' was she right all along?">>
<<thought "Seryk" "facesad" "Was I wrong? No... justice can't be wrong. It can't be...">>
<<narrative "Seryk's denial crumbles as he looks at Nimeria's still form, the reality of her death finally sinking in.">>
<<dialog "Liora" "faceworriedshortpink" "I... I need to try... there has to be something I can do.">>
<<narrative "Liora rushes to Nimeria's side and begins casting a healing spell, her hands trembling with desperation.">>
<center><img src="images/story/chapter6/nimeria/nimeriadead.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Veloria" "face" "Stop wasting your energy. Death is final.">>
<center><div style="background: linear-gradient(145deg, rgba(0, 0, 0, 0.9), rgba(20, 20, 20, 0.95)); border-radius: 50%; padding: 20px; margin: 20px 0; display: inline-block; animation: pulse 2s ease-in-out infinite;"><img src="images/liora/tattoo/facesin.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 50%; display: block;" alt="Serin's dark side"></div></center>
<style>
@keyframes pulse {
0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 20, 147, 0.7); }
50% { transform: scale(1.05); box-shadow: 0 0 20px 10px rgba(255, 20, 147, 0.3); }
100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 20, 147, 0.7); }
}
</style>
<<dialog "Liora" "faceangryshortpink" "Just stop talking! If you won't help, then keep your damned mouth shut!">>
<<narrative "The normally shy Liora's sudden outburst shocks everyone in the room. Mariel quickly joins her, also casting healing magic on Nimeria.">>
<<dialog "Rylan" "faceworried" "What went wrong out there?">>
<<dialog "Thalor" "faceangry" "What went wrong?!">>
<<narrative "Thalor's voice cracks with barely contained rage and pain as he clutches Nimeria's body tighter.">>
<<dialog "Thalor" "faceangry" "I should have died out there! I was ready to die! But she... she stepped in front of me!">>
<<dialog "Thalor" "facesad" "She blocked that angel's strike with her own body... took the attack that was meant for me!">>
<<narrative "Thalor's voice breaks as tears stream down his weathered face.">>
<<continueBox "Ch6NimeriaVSElarielPOV" "What happened?" "">>
</div>
<</nobr>>
<<pov "rylan" "nimeriadead.mp3">><<nobr>>
<div class="passage-container thalor">
<<narrative "Back in Veloria's realm, the weight of the moment hangs heavy in the air as Thalor continues his painful explanation.">>
<<narrative "Thalor's voice breaks as he struggles to continue his explanation, the weight of what happened finally crushing down on him.">>
<<dialog "Thalor" "facesad" "And in her final moments... she had the strength to create an illusion... made it look like we both perished... gave me a chance to escape while she...">>
<<narrative "Thalor can't finish the sentence, his body shaking with grief and guilt as he clutches Nimeria's lifeless form tighter.">>
<<thought "Thalor" "faceangry" "I murdered her father! I slaughtered her family! I killed her too! And she... she died saving me!">>
<<narrative "The room falls silent except for Thalor's ragged breathing and the soft sound of tears hitting the floor.">>
<<dialog "Serin" "faceworried" "Did she... did she say anything before...">>
<<narrative "Thalor looks up, his eyes red and swollen, searching for the right words.">>
<<dialog "Thalor" "facesad" "Just two words. 'My chest.'">>
<<narrative "The words hang in the air like a death sentence, heavy with meaning that no one yet understands.">>
<<dialog "Liora" "faceconfusedshortpink" "Her chest?">>
<<narrative "Liora's eyes widen as realization dawns on her face.">>
<<dialog "Liora" "faceshockedshortpink" "Wait... her chest!">>
<<narrative "Everyone turns to look at Liora, who is now examining the gaping hole in Nimeria's chest more closely, her hands trembling as she approaches.">>
<<dialog "Liora" "faceworriedshortpink" "There's something inside... a crystal!">>
<center><img src="images/story/chapter6/nimeria/crystalinchest.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The crystal glows with an otherworldly light, pulsing gently like a heartbeat within the cavity where Nimeria's heart once beat.">>
<<dialog "Veloria" "face" "A crystal? Let me see that...">>
<<narrative "Veloria steps forward, her usual arrogance replaced by genuine curiosity as she examines the mysterious object. Her expression shifts from curiosity to something approaching... respect?">>
<<dialog "Veloria" "faceeery" "Hahaha! That little elven girl was absolutely insane!">>
<<narrative "Veloria's laughter echoes through the room...">>
<<continueBox "Ch6Ending" "Continue" "The crystal's secret...">>
</div>
<</nobr>>
<<pov "thalor" "nimeriaslastsong.mp3">><<nobr>>
<div class="passage-container thalor">
<<narrative "Thalor stands alone in the devastated street, facing the archangel Elariel. The divine being's spell is nearly complete, her hands glowing with overwhelming power. Around them, the ruins of the city bear witness to the destruction that has already been wrought.">>
<<thought "Thalor" "face" "How the hell do you fight something like this? Toss my blade and hope for the best?">>
<<narrative "The bodies of fallen guards lie scattered around the battlefield, a grim testament to the archangel's power and the futility of resistance.">>
<center><img src="images/story/chapter6/nimeria/nimeriasend/angel.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The archangel's spell blasts toward Thalor with devastating force. As the divine energy is about to strike him, time seems to slow, and memories flood through his mind.">>
<<thought "Thalor" "face" "I remember... that perfect moment when I finally told Mariel how I felt...">>
<center><img src="images/story/chapter6/thalorsmemories/marielconfession.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Images flash before his eyes - the tender moment when he first told Mariel how he felt, the joy of learning she was pregnant, the promise of a future together.">>
<<thought "Thalor" "face" "Her pregnancy...">>
<center><img src="images/story/chapter6/thalorsmemories/marielpregnant.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "With renewed determination, Thalor raises his sword and shouts defiantly at the archangel, even as the spell's energy is about to hit him. The memories of those he loves give him the strength to face even this divine threat.">>
<<dialog "Thalor" "faceangry" "Bring it on, you divine bastard! I've faced a tiny demon who's ten times the monster you'll ever be!">>
<<dialog "Nimeria" "faceangry" "Excuse me? Who exactly are you calling a monster?">>
<<continueBox "Ch6NimeriaVSElariel" "Continue" "The battle intensifies...">>
</div>
<</nobr>>
<<pov "thalor" "thalorend.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "Back in Veloria's mystical realm, the group anxiously waits, wondering what's happening to their companions who stayed behind to face the archangel.">>
<<narrative "Mariel has awakened from her unconscious state, her eyes filled with worry and confusion.">>
<<dialog "Rylan" "face" "We can't just abandon them! $humanToThalor and Nimeria need us!">>
<<thought "Rylan" "face" "I feel useless just waiting here... they're risking everything.">>
<<dialog "Veloria" "face" "Your intervention would be futile at this point.">>
<<dialog "Rylan" "faceangry" "I refuse to give up! I'd rather die trying than live with regret!">>
<<narrative "You rush toward the door, but it remains firmly closed despite your efforts to open it.">>
<<dialog "Rylan" "face" "Veloria, unlock this door! Please!">>
<<dialog "Veloria" "face" "I'm afraid I cannot allow that.">>
<<dialog "Mariel" "faceworried" "Please, I beg you... my husband and that poor girl are in danger.">>
<<dialog "Veloria" "face" "What compensation do you offer for my services?">>
<<dialog "Seryk" "faceangry" "How can you think of profit when our friends are dying?!">>
<<dialog "Liora" "faceworriedshortpink" "I'm begging you... please help them!">>
<<dialog "Veloria" "face" "Very well. Only this time, I shall make a single exception for your sake.">>
<<thought "Rylan" "face" "Finally... she's going to help us get back there.">>
<<dialog "Veloria" "face" "Assuming they still draw breath, of course. Simply focus your thoughts on them both...">>
<<continueBox "Ch6ThalorCarriesNimeria" "Continue" "Continue...">>
</div>
<</nobr>>
<<pov "rylan" "thalorend.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "You step through the glowing door and find yourselves inside a cozy, mystical bookshop filled with ancient tomes and magical artifacts. The air is thick with the scent of old parchment and mysterious energies.">>
<center><img src="images/veloria/portrait.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Veloria" "face" "Oh my, that's quite extraordinary!">>
<<thought "Rylan" "face" "We made it... we're safe here.">>
<<dialog "Veloria" "face" "Not only two, but five people visit me at once. This is quite the gathering!">>
<<dialog "Rylan" "face" "Damn it! I hope $humanToThalor is fine!">>
<<dialog "Liora" "faceworriedshortpink" "Thalor...">>
<<thought "Liora" "faceworriedshortpink" "I'm so worried about him... what if something happens to him?">>
<<narrative "Veloria studies the group with keen interest, her eyes particularly drawn to Seryk.">>
<<dialog "Veloria" "face" "Hmm, an elf...">>
<<dialog "Seryk" "face" "You mean me? I'm a demon...">>
<<dialog "Veloria" "face" "Oh right, I keep forgetting that's what your race is called now.">>
<<dialog "Seryk" "face" "Actually, I'm not the only demon here.">>
<<continueBox "Ch6ThalorVSElariel" "Continue" "The conversation continues...">>
</div>
<</nobr>>
<<pov "rylan" "mystical.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "Testing the Event Scheduling System">>
<!-- Test Event System -->
<<silently>>
<<getEventRegistry>>
<<getChapter6Events>>
<<getChapter7Events>>
<<set _currentChapter = $currentChapter || 6>>
<<set _testEvent = window.EventScheduler.getEventForTime(1, 13, "afternoon", _currentChapter)>>
<</silently>>
<<if _testEvent>>
<div style="background: rgba(0,255,0,0.2); padding: 20px; border-radius: 10px; margin: 20px 0;">
<h3>✅ Event System Working!</h3>
<p><strong>Found Event:</strong> _testEvent.event</p>
<p><strong>Priority:</strong> _testEvent.priority</p>
<p><strong>Description:</strong> _testEvent.description</p>
<p><strong>Current Chapter:</strong> _currentChapter</p>
</div>
<<else>>
<div style="background: rgba(255,0,0,0.2); padding: 20px; border-radius: 10px; margin: 20px 0;">
<h3>❌ Event System Not Working</h3>
<p>No event found for January 13th afternoon</p>
<p><strong>Current Chapter:</strong> _currentChapter</p>
</div>
<</if>>
<!-- Show All Chapter 6 Events -->
<<silently>>
<<set _allEvents = window.EventScheduler.getChapterEvents(6)>>
<</silently>>
<div style="background: rgba(0,0,0,0.8); color: white; padding: 20px; border-radius: 10px; margin: 20px 0;">
<h3>Chapter 6 Events (First 10):</h3>
<<script>>
const events = window.EventScheduler.getChapterEvents(6);
let count = 0;
for (let key in events) {
if (count < 10) {
console.log(`${key}: ${events[key].event} (Priority: ${events[key].priority})`);
count++;
}
}
<</script>>
<p>Check browser console for full event list</p>
</div>
<<continueBox "MorningActivityChoices" "Continue" "Return to normal gameplay">>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<<set $currentFace = $currentMarielFace>>
<div class="passage-container mariel">
<<narrative "Mariel lies in bed, her body burning with an unfamiliar heat that she can't understand. She's been feeling this way for hours, and it's becoming unbearable.">>
<<thought "Mariel" "face" "What's happening to me? I feel so... warm... and strange...">>
<<narrative "She sits up in bed, her breathing heavy and uneven. The feeling is overwhelming, and she doesn't know what to do about it.">>
<<thought "Mariel" "faceworried" "I need help... but who can I talk to about this?">>
<<narrative "After a moment of hesitation, she gets up and quietly makes her way through the house. She knows there's only one person who might understand what's happening to her.">>
<<thought "Mariel" "faceembarrassed" "Nimeria... she's so knowledgeable about these things... maybe she can help me...">>
<<narrative "She approaches Nimeria's door and raises her hand to knock, but hesitates. Her heart is pounding, and she's not sure if she should disturb her at this hour.">>
<<thought "Mariel" "face" "I... I have to try... I can't keep feeling like this...">>
<<narrative "She knocks softly on the door, her hand trembling slightly.">>
<<dialog "Mariel" "face" "Nimeria? Are you awake?">>
<<narrative "There's a moment of silence before she hears movement inside the room.">>
<<dialog "Nimeria" "face" "Mariel? What are you doing here at this hour?">>
<<narrative "The door opens slightly, and Nimeria peers out with a concerned expression.">>
<<dialog "Mariel" "faceembarrassed" "I... I need to talk to you about something...">>
<<narrative "She shifts uncomfortably, her face flushed with embarrassment and the strange heat that's been building inside her.">>
<<dialog "Mariel" "face" "I've been feeling really... warm... lately, and I don't know what to do about it.">>
<<narrative "Nimeria's expression changes from concern to understanding, and a knowing smile plays across her lips.">>
<<dialog "Nimeria" "facesmirk" "Oh my... I think I know exactly what's happening to you.">>
<<narrative "She opens the door wider and gestures for her to come in.">>
<<dialog "Nimeria" "face" "Come in, Mariel. Let me help you with your... little problem.">>
<<narrative "Mariel follows her into the room, her heart racing with a mixture of relief and anticipation. She knows she's about to learn something important about herself.">>
<<continueBox "MarielCumNeedScene1" "Continue" "The night continues...">>
</div>
<</nobr>>
<<pov "mariel" "defaultch6.mp3">><<nobr>>
<<set $currentFace = $currentMarielFace>>
<div class="passage-container mariel">
<<narrative "Mariel lies in bed, her body burning with that familiar heat again. This time, she knows exactly what she needs, and she can't ignore the craving any longer.">>
<<thought "Mariel" "face" "Not again... I need... I need that drink...">>
<<narrative "She sits up in bed, her breathing heavy and uneven. The craving is stronger this time, more insistent, and she knows there's only one way to satisfy it.">>
<<thought "Mariel" "faceembarrassed" "I have to go to Nimeria... I need her help again...">>
<<narrative "She gets up quickly and makes her way through the house with more urgency than before. She knows exactly where to go and what to ask for.">>
<<thought "Mariel" "face" "I hope she has some ready... I can't wait much longer...">>
<<narrative "She approaches Nimeria's door and knocks more firmly this time, her desperation evident in her movements.">>
<<dialog "Mariel" "face" "Nimeria? Please, are you awake?">>
<<narrative "The door opens almost immediately, and Nimeria peers out with a knowing expression.">>
<<dialog "Nimeria" "facesmirk" "Mariel... I was expecting you. Come in.">>
<<narrative "Mariel follows her into the room, her heart racing with anticipation. She knows exactly what's coming, and she can't wait to feel that relief again.">>
<<dialog "Mariel" "faceembarrassed" "I... I need your help again... the same problem...">>
<<dialog "Nimeria" "face" "Of course. I have just what you need.">>
<<narrative "Nimeria moves to her cabinet and pulls out another vial, this one slightly larger than before.">>
<<dialog "Nimeria" "facesmirk" "I made this one a bit stronger. It should last you longer.">>
<<narrative "Mariel's eyes light up with anticipation as she reaches for the vial, her hands trembling with need.">>
<<continueBox "MarielCumNeedScene2" "Continue" "The night continues...">>
</div>
<</nobr>>
<<pov "mariel" "mariel.mp3">><<nobr>>
<<set $currentFace = $currentMarielFace>>
<div class="passage-container mariel">
<<narrative "Nimeria leads Mariel to a small table in her room and gestures for her to sit down. She moves to a cabinet and pulls out a small vial filled with a thick white substance.">>
<center><img src="images/items/cummix.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<dialog "Nimeria" "face" "Here, drink this. It will help with your... condition.">>
<<narrative "She places the vial on the table in front of her with a knowing smile.">>
<<dialog "Mariel" "faceconfused" "What is it?">>
<<dialog "Nimeria" "facesmirk" "Medicine. It will make you feel better, I promise.">>
<<narrative "Mariel picks up the vial hesitantly and uncorks it. A strange aroma wafts up to her nose - it smells like chestnut, but there's something else underneath that she can't quite identify.">>
<<thought "Mariel" "face" "It smells... interesting. Like chestnut but different somehow...">>
<<narrative "She brings the vial to her lips and takes a small sip. The taste is unlike anything she's ever experienced before - salty, with a slight bitterness, but finishing with a surprisingly sweet aftertaste.">>
<<thought "Mariel" "faceembarrassed" "It's... it's strange but... I want more...">>
<<narrative "Her body immediately begins to heat up, but instead of the uncomfortable burning she felt before, this warmth spreads through her in a way that makes her crave more of the mysterious liquid.">>
<<dialog "Nimeria" "face" "Drink it all down. Don't leave any behind.">>
<<narrative "Mariel nods and tips the vial back, drinking the entire contents. The warmth intensifies, spreading through her entire body in waves of pleasure.">>
<<thought "Mariel" "facewet" "Oh... oh my... this feels... amazing...">>
<<narrative "As she finishes the last drop, a wave of relief washes over her. The uncomfortable heat that had been plaguing her all night finally subsides, replaced by a deep sense of satisfaction and relaxation.">>
<<changeLust "Mariel" -100>>
<<set $mariel_CumNeed = 0>>
<<changeFetish "Mariel" "CumAddiction" 0.1>>
<<set $marielFirstCumNeedEventTriggered = true>>
<<thought "Mariel" "face" "It's... it's all better now. The craving is gone...">>
<<dialog "Mariel" "face" "Thank you, Nimeria. I feel so much better now.">>
<<dialog "Mariel" "faceconfused" "What was that? What did you give me?">>
<<dialog "Nimeria" "facesmirk" "Just some milk I regularly collect at night, mixed with some of my homemade juice. Nothing too complicated.">>
<<thought "Mariel" "faceworried" "That's risky, going out alone at night to collect milk...">>
<<dialog "Mariel" "face" "Isn't it dangerous for you to leave the house alone at night?">>
<<dialog "Nimeria" "face" "Oh, I don't have to leave to collect it.">>
<<thought "Mariel" "face" "That's strange... I wonder if someone buys it for her?">>
<<dialog "Mariel" "face" "Thank you again, Nimeria. I really appreciate your help.">>
<<dialog "Nimeria" "facesmirk" "You're welcome, Mariel. Feel free to come back anytime you get those... cravings again. I'll always have some ready for you.">>
<<narrative "Mariel stands up, feeling refreshed and satisfied. The strange heat that had been tormenting her is completely gone, replaced by a sense of peace and contentment.">>
<<continueBox "NightActivitiesEnd" "Continue" "The night continues...">>
</div>
<</nobr>>
<<pov "mariel" "defaultch6.mp3">><<nobr>>
<<set $currentFace = $currentMarielFace>>
<div class="passage-container mariel">
<<narrative "Nimeria leads Mariel to the table and places the larger vial in front of her. Mariel's hands are shaking with anticipation as she reaches for it.">>
<center><img src="images/items/cummix.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<dialog "Mariel" "face" "Thank you, Nimeria... I need this so badly...">>
<<narrative "She uncorks the vial and brings it to her lips without hesitation. The familiar aroma fills her senses, and she can already feel her body responding to the scent.">>
<<thought "Mariel" "face" "Yes... this is what I need... this is what I've been craving...">>
<<narrative "She drinks deeply, the taste even more intense than before. The warmth spreads through her body in waves of pleasure, stronger and more satisfying than the first time.">>
<<thought "Mariel" "facewet" "Oh... this is so much better... I need more...">>
<<narrative "She continues drinking until the vial is empty, her body trembling with satisfaction. The relief is immediate and overwhelming.">>
<<changeLust "Mariel" -100>>
<<set $mariel_CumNeed = 0>>
<<changeFetish "Mariel" "CumAddiction" 0.15>>
<<thought "Mariel" "face" "Perfect... I feel so much better now...">>
<<dialog "Mariel" "face" "Thank you, Nimeria. That was exactly what I needed.">>
<<dialog "Nimeria" "facesmirk" "I'm glad I could help. I made this batch especially for you.">>
<<dialog "Mariel" "faceconfused" "Where do you get all this milk from? I'm curious about your source.">>
<<dialog "Nimeria" "face" "Oh, I have my ways. I don't need to leave the house to collect it.">>
<<thought "Mariel" "face" "That's interesting... I wonder if someone buys it for her? Maybe $humanToMariel or someone else?">>
<<dialog "Mariel" "face" "I hope it's not too much trouble for you to prepare these.">>
<<dialog "Nimeria" "facesmirk" "Not at all. I enjoy making them, and I'm happy to help you whenever you need it.">>
<<narrative "Mariel stands up, feeling completely satisfied and refreshed. The craving is gone, but she knows it will return, and she's already looking forward to the next time.">>
<<dialog "Mariel" "face" "I'll be back if I need more... thank you again.">>
<<dialog "Nimeria" "face" "Anytime, Mariel. I'll always have some ready for you.">>
<<narrative "Mariel leaves the room with a contented smile, her body relaxed and her mind at peace. She knows she can always count on Nimeria for help with her... special needs.">>
<<continueBox "NightActivitiesEnd" "Continue" "The night continues...">>
</div>
<</nobr>>
<<pov "mariel" "defaultch6.mp3">><<nobr>>
<<set $currentFace = $currentNimeriaFace>>
<div class="passage-container nimeria">
<<narrative "The night is quiet, but Nimeria senses something in the air. She looks up from her studies as she hears soft footsteps approaching her room.">>
<<dialog "Nimeria" "face" "Who's there?">>
<<narrative "The door creaks open slowly, and she can see a desperate figure standing there, trembling with need.">>
<<if _cumNeedEvent and _cumNeedEvent.character === 'rylan'>>
<<dialog "Rylan" "face" "Nimeria... I need your help...">>
<<narrative "His voice is strained, his body trembling with need.">>
<</if>>
<<if _cumNeedEvent and _cumNeedEvent.character === 'mariel'>>
<<dialog "Mariel" "face" "Please, Nimeria... I can't take it anymore...">>
<<narrative "She looks ashamed but desperate, her usual composure shattered.">>
<</if>>
<<if _cumNeedEvent and _cumNeedEvent.character === 'liora'>>
<<dialog "Liora" "faceshortpink" "I... I don't know what's happening to me...">>
<<narrative "The innocent healer looks confused and frightened by her own desires.">>
<</if>>
<<if _cumNeedEvent and _cumNeedEvent.character === 'serin'>>
<<dialog "Serin" "face" "Nimeria, I need... I need something...">>
<<narrative "Even the usually confident tomboy looks vulnerable and needy.">>
<</if>>
<<if _cumNeedEvent and _cumNeedEvent.character === 'seryk'>>
<<dialog "Seryk" "face" "Little one, I... I need your help...">>
<<narrative "The strong demon looks surprisingly vulnerable, his usual confidence gone.">>
<</if>>
<<if not _cumNeedEvent>>
<<dialog "Rylan" "face" "Nimeria... I need your help...">>
<<narrative "His voice is strained, his body trembling with need.">>
<</if>>
<<dialog "Nimeria" "facesmirk" "Oh my... I can see you're in quite a state.">>
<<narrative "She stands up from her desk, a knowing smile playing across her lips. She can see the desperation in their eyes, the way they're trembling with need.">>
<<dialog "Nimeria" "face" "Don't worry, I know exactly what you need.">>
<<narrative "She approaches with a confident stride, her eyes gleaming with mischief and understanding.">>
<<dialog "Nimeria" "facesmirk" "Let me help you with your... little problem.">>
<<narrative "The night is about to get very interesting as Nimeria takes charge of the situation, ready to provide the relief they desperately need.">>
<<continueBox "NimeriaCumNeedScene" "Continue" "The night continues...">>
</div>
<</nobr>>
<<pov "nimeria" "nimeria.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "The night is quiet, but $humanName can't sleep. He tosses and turns in his bed, his body burning with an unfamiliar heat that won't go away.">>
<<thought "Rylan" "face" "What's wrong with me? I feel so... hot... and strange...">>
<<narrative "He sits up in bed, his breathing heavy and uneven. The feeling is overwhelming, and he doesn't know what to do about it.">>
<<thought "Rylan" "faceworried" "I need help... but who can I talk to about this?">>
<<narrative "After a moment of hesitation, he gets up and quietly makes his way through the house. He knows there's only one person who might understand what's happening to him.">>
<<thought "Rylan" "faceembarrassed" "Nimeria... she's smart about these things... maybe she can help me...">>
<<narrative "He approaches Nimeria's door and raises his hand to knock, but hesitates. His heart is pounding, and he's not sure if he should disturb her at this hour.">>
<<thought "Rylan" "face" "I... I have to try... I can't keep feeling like this...">>
<<narrative "He knocks softly on the door, his hand trembling slightly.">>
<<dialog "Rylan" "face" "Nimeria? Are you awake?">>
<<narrative "There's a moment of silence before he hears movement inside the room.">>
<<dialog "Nimeria" "face" "$humanName? What are you doing here at this hour?">>
<<narrative "The door opens slightly, and Nimeria peers out with a concerned expression.">>
<<dialog "Rylan" "faceembarrassed" "I... I need to talk to you about something...">>
<<narrative "He shifts uncomfortably, his face flushed with embarrassment and the strange heat that's been building inside him.">>
<<dialog "Rylan" "face" "I've been feeling really... hot... lately, and I don't know what to do about it.">>
<<narrative "Nimeria's expression changes from concern to understanding, and a knowing smile plays across her lips.">>
<<dialog "Nimeria" "facesmirk" "Oh my... I think I know exactly what's happening to you.">>
<<narrative "She opens the door wider and gestures for him to come in.">>
<<dialog "Nimeria" "face" "Come in, $humanName. Let me help you with your... little problem.">>
<<narrative "$humanName follows her into the room, his heart racing with a mixture of relief and anticipation. He knows he's about to learn something important about himself.">>
<<continueBox "RylanCumNeedScene1" "Continue" "">>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "Nimeria leads Rylan to a small table in her room and gestures for him to sit down. She moves to a cabinet and pulls out a small vial filled with a thick white substance.">>
<center><img src="images/items/cummix.webp" style="max-width: 500px; border-radius: 10px; border: 2px solid rgba(255, 182, 193, 0.3); margin: 20px 0;"></center>
<<dialog "Nimeria" "face" "Here, drink this. It will help with your... condition.">>
<<narrative "She places the vial on the table in front of him with a knowing smile.">>
<<dialog "Rylan" "faceconfused" "What is it?">>
<<dialog "Nimeria" "facesmirk" "Medicine. It will make you feel better, I promise.">>
<<narrative "Rylan picks up the vial hesitantly and uncorks it. A strange aroma wafts up to his nose - it smells like chestnut, but there's something else underneath that he can't quite identify.">>
<<thought "Rylan" "face" "It smells... interesting. Like chestnut but different somehow...">>
<<narrative "He brings the vial to his lips and takes a small sip. The taste is unlike anything he's ever experienced before - salty, with a slight bitterness, but finishing with a surprisingly sweet aftertaste.">>
<<thought "Rylan" "faceembarrassed" "It's... it's strange but... I want more...">>
<<narrative "His body immediately begins to heat up, but instead of the uncomfortable burning he felt before, this warmth spreads through him in a way that makes him crave more of the mysterious liquid.">>
<<dialog "Nimeria" "face" "Drink it all down. Don't leave any behind.">>
<<narrative "Rylan nods and tips the vial back, drinking the entire contents. The warmth intensifies, spreading through his entire body in waves of pleasure.">>
<<thought "Rylan" "facewet" "Oh... oh my... this feels... amazing...">>
<<narrative "As he finishes the last drop, a wave of relief washes over him. The uncomfortable heat that had been plaguing him all night finally subsides, replaced by a deep sense of satisfaction and relaxation.">>
<<changeLust "Rylan" -100>>
<<set $rylan_CumNeed = 0>>
<<changeFetish "Rylan" "CumAddiction" 0.1>>
<<set $rylanFirstCumNeedEventTriggered = true>>
<<thought "Rylan" "face" "It's... it's all better now. The craving is gone...">>
<<dialog "Rylan" "face" "Thank you, Nimeria. I feel so much better now.">>
<<dialog "Rylan" "faceconfused" "What was that? What did you give me?">>
<<dialog "Nimeria" "facesmirk" "Just some milk I regularly collect at night, mixed with some of my homemade juice. Nothing too complicated.">>
<<thought "Rylan" "faceworried" "That's risky, going out alone at night to collect milk...">>
<<dialog "Rylan" "face" "Isn't it dangerous for you to leave the house alone at night?">>
<<dialog "Nimeria" "face" "Oh, I don't have to leave to collect it.">>
<<thought "Rylan" "face" "That's weird... oh maybe $humanToMariel buys milk for her.">>
<<dialog "Rylan" "face" "Thank you again, Nimeria. I really appreciate your help.">>
<<dialog "Nimeria" "facesmirk" "You're welcome, Rylan. Feel free to come back anytime you get those... cravings again. I'll always have some ready for you.">>
<<narrative "Rylan stands up, feeling refreshed and satisfied. The strange heat that had been tormenting him is completely gone, replaced by a sense of peace and contentment.">>
<<continueBox "NightActivitiesEnd" "Continue" "The night continues...">>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "The dungeon voice falls silent for a moment, allowing the weight of its words to settle over the group. Then, with a deep, resonant tone, it begins to speak again.">>
<<dialog "Dungeon Voice" "face" "Let me show you what each door represents, so you may choose wisely." "the voice intones" "Below each door, you will see the essence of what it embodies.">>
<<narrative "The first door begins to glow with an ethereal light, and words appear in the air below it, written in elegant script that seems to pulse with power.">>
<<dialog "Dungeon Voice" "face" "The first door represents Pride." "it announces" "Listen to its story, and see if it calls to any of you.">>
<center><img src="images/story/chapter6/dungeon/sindoorpride.webp" style="max-width: 500px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The words hang in the air, glowing softly as the group reads them:">>
<<narrative "He grew up in the long shadow of people whose names carried weight. They never taught him, never shaped his path, yet he measured himself against them all the same. Every glance, every story about their strength felt like a silent reminder of how far below he stood. That quiet pressure hardened into determination: he would show them, and himself, that he belonged among the great. It made him bold, unafraid to leap where others hesitated. But that same drive left him reckless, throwing himself - and sometimes those he loved - into peril just to chase an image that might never be real. His pride kept him climbing, even when the fall could cost everything.">>
<<dialog "Rylan" "faceworried" "That... that sounds familiar." "he says quietly" "Like it's describing someone I know...">>
<<dialog "Liora" "faceworriedshortpink" "It's so sad... but also inspiring in a way." "she murmurs">>
<<dialog "Serin" "faceconfused" "I don't get it. What does this have to do with us?">>
<<dialog "Nimeria" "transformation/gyaru/faceconfident" "Ooh, this is getting interesting!" "she says" "I wonder what the other doors will show!">>
<<dialog "Dungeon Voice" "face" "Choose who among you embodies Pride." "the voice commands" "Click on the portrait of the person you believe matches this door's essence.">>
<<dialog "Rylan" "faceconfused" "I... I think I understand now." "he says" "This is about who we really are, deep down.">>
<center>
<div style="display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin: 20px 0;">
<div style="text-align: center;">
<img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'" onclick="SugarCube.Engine.play('Chapter6Pride');">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Rylan</div>
</div>
<div style="text-align: center;">
<img src="images/liora/faceshortpink.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Liora</div>
</div>
<div style="text-align: center;">
<img src="images/serin/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Serin</div>
</div>
<div style="text-align: center;">
<img src="images/mariel/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Mariel</div>
</div>
<div style="text-align: center;">
<img src="images/thalor/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Thalor</div>
</div>
<div style="text-align: center;">
<img src="images/seryk/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Seryk</div>
</div>
<div style="text-align: center;">
<img src="images/nimeria/transformation/gyaru/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Nimeria</div>
</div>
</div>
</center>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "We finally arrive at the dungeon entrance, pink mist still pouring out of it.">>
<center><img src="images/landscapes/lustdungeonentrance.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "faceworried" "Are you all sure you want to go inside?" "she asks, her voice filled with concern">>
<<narrative "Everyone nods in agreement, though I can see the uncertainty in their eyes. This isn't like any challenge we've encountered before.">>
<<dialog "Nimeria" "facesmirk" "One moment!" "she says, reaching into her pouch">>
<<narrative "She pulls out seven small vials filled with a shimmering blue liquid, handing one to each of us.">>
<<dialog "Liora" "faceconfused" "What is it?" "she asks, examining the vial">>
<<dialog "Nimeria" "face" "Seryk told me he encountered some... 'pink mist' in Blightwood. I assume it's the same in the dungeon. Some aphrodisiac effect." "she explains">>
<<dialog "Nimeria" "face" "This will make us more resistant... but not immune." "she adds with a serious expression">>
<<if $serykRylanBlightwoodEncounter>>
<<narrative "Seryk and I start to blush, remembering our encounter with the pink mist. The memory of that strange, intoxicating experience comes flooding back.">>
<<dialog "Seryk" "faceembarrassed" "Yeah... that was... something." "he mutters">>
<<dialog "Rylan" "faceembarrassed" "I... I remember." "I say quietly">>
<</if>>
<<narrative "We all drink the potions, feeling a cool sensation spread through our bodies. The liquid tastes slightly bitter but not unpleasant.">>
<<continueBox "Chapter6DungeonInside" "Continue" "Step inside the dungeon...">>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "As we step inside, the oppressive mana becomes overwhelming. It feels like the very air is pressing down on us, making it hard to breathe.">>
<<dialog "Thalor" "faceworried" "I have a really bad feeling..." "he says, his hand instinctively reaching for his sword">>
<center><img src="images/landscapes/lustdungeon.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Suddenly, the door behind us slams shut with a thunderous boom, sealing us inside. We all rush to it, but there's no way to get outside.">>
<<dialog "Liora" "facepanicshortpink" "Oh no! We can't get outside! Will we die in here?" "she cries, her voice trembling">>
<<narrative "Thalor tries to kick the door, but it doesn't budge. Not even a dent. He draws his sword and attacks the walls, but they don't even make a scratch.">>
<<narrative "Suddenly, the walls begin to glow with an eerie light, and a deep, otherworldly voice echoes through the chamber.">>
<<dialog "Dungeon Voice" "face" "Welcome, trespassers, to my domain!" "the voice booms with otherworldly authority">>
<<dialog "Serin" "faceshocked" "What the hell?! Since when do dungeons talk?!" "she exclaims, backing away">>
<<dialog "Thalor" "faceworried" "This is beyond anything I've encountered in my years of adventuring." "he says grimly, hand on his sword">>
<<dialog "Mariel" "faceworried" "Something is very wrong here. This isn't natural magic." "she adds, her voice trembling slightly">>
<<dialog "Dungeon Voice" "face" "Indeed, you are correct. This is no ordinary dungeon. I am alive, and you have entered my very essence. Whether you survive long enough to witness my true form remains to be seen." "the voice continues with chilling amusement">>
<<dialog "Seryk" "faceshocked" "A living dungeon?! That's... that's impossible!" "he stammers in disbelief">>
<<narrative "Everyone looks terrified and uncertain, except for Nimeria, whose eyes sparkle with curiosity.">>
<<dialog "Nimeria" "facehappy" "Wow! A talking dungeon! Fascinating!" "she says with genuine excitement">>
<<dialog "Dungeon Voice" "face" "Now, let us begin your trials. I shall test your worthiness through a series of challenges. Success may grant you unimaginable power, while failure brings only death... or something far more interesting." "the voice explains with dark amusement">>
<<dialog "Dungeon Voice" "face" "This realm exists beyond the constraints of your reality. Time flows differently here, space bends to my will, and you may encounter entities from worlds you cannot comprehend. The very walls may shift into forests, mountains, or nightmares. And my traps... oh, we shall have such delightful fun together!" "it continues with malicious glee">>
<<dialog "Mariel" "faceworried" "Please, we meant no harm! Let us leave in peace!" "she pleads desperately">>
<<dialog "Dungeon Voice" "face" "Hmm... perhaps I shall consider it, if you survive the first trial. Though I warn you - those who emerge from my trials are rarely the same as when they entered. Change is inevitable here." "it responds with cruel amusement">>
<<dialog "Dungeon Voice" "face" "Your first challenge is simple: Two doors stand before you. Choose the right path, and you advance. Choose wrong, and death awaits. Succeed ten times, and you may earn your freedom." "it explains matter-of-factly">>
<<dialog "Seryk" "faceconfident" "Ten correct guesses? That's not so bad! What's the chance, like one in ten?" "he says, trying to sound optimistic">>
<<narrative "Nimeria facepalms, looking completely exasperated by his mathematical ignorance.">>
<<dialog "Nimeria" "faceangry" "You absolute moron! It's 0.1% - we'd need to try a thousand times to get it right! Unless... we could sacrifice someone to test a door first, then choose the other one..." "she explains, then trails off thoughtfully">>
<<dialog "Liora" "faceworriedshortpink" "N-no! We can't do something so horrible!" "she protests, horrified by the suggestion">>
<<dialog "Nimeria" "face" "You're right, that would be inhumane. There must be a pattern or clue we're missing..." "she says, then whispers to herself">>
<<dialog "Nimeria" "face" "Unless... no, that would be too obvious. There has to be something more subtle." "she mutters, lost in thought">>
<<dialog "Seryk" "face" "Whatever we do, we stick together! Right, bro?" "he says to me with determination">>
<<narrative "I look at the two doors in front of us, identical in every way. The weight of the decision rests on my shoulders, and I can feel everyone's eyes on me.">>
<<changeLust "Rylan" 1>>
<<changeLust "Seryk" 1>>
<<changeLust "Mariel" 1>>
<<changeLust "Thalor" 1>>
<<changeLust "Liora" 1>>
<<changeLust "Serin" 1>>
<<changeLust "Nimeria" 1>>
<center><img src="images/landscapes/lustdungeonleftright.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<set _randomCharacter = either("Mariel", "Thalor", "Liora", "Serin", "Seryk", "Nimeria")>>
<<if _randomCharacter === "Mariel">>
<<dialog "Mariel" "faceworried" "Which way should we go? Left or right?" "she asks nervously">>
<<elseif _randomCharacter === "Thalor">>
<<dialog "Thalor" "faceworried" "We need to choose carefully. Left or right?" "he says grimly">>
<<elseif _randomCharacter === "Liora">>
<<dialog "Liora" "faceworriedshortpink" "I... I don't know which door to pick. Left or right?" "she asks timidly">>
<<elseif _randomCharacter === "Serin">>
<<dialog "Serin" "faceshocked" "Well, we can't just stand here forever. Left or right?" "she says impatiently">>
<<elseif _randomCharacter === "Seryk">>
<<dialog "Seryk" "faceconfident" "Whatever we choose, we'll face it together! Left or right?" "he says determinedly">>
<<elseif _randomCharacter === "Nimeria">>
<<dialog "Nimeria" "face" "There must be a pattern we're missing. Left or right?" "she mutters thoughtfully">>
<</if>>
<<choiceBox "Choose Your Path" "Left Door" "Chapter6YouTried" "Chapter6DungeonInside=left" "Right Door" "Chapter6RightDoor" "Chapter6DungeonInside=right">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "The group watches as Serin steps forward, her usual confident demeanor replaced by something more vulnerable, more honest.">>
<<dialog "Serin" "faceembarrassed" "Oh well, I guess it means me..." "she says with a resigned sigh, her voice carrying a weight of acceptance">>
<<dialog "Liora" "faceworriedshortpink" "Serin..." "she says softly, reaching out toward her $serinLioraRelation">>
<<narrative "Serin gives Liora a small, sad smile before turning toward the Envy door. As she approaches, the door's surface shimmers with an otherworldly light, and she steps through without hesitation.">>
<<narrative "The door seals behind her with a soft click, leaving the group in tense silence. Only a few seconds pass before the door opens again, and Serin steps out, looking slightly dazed but otherwise unchanged.">>
<<dialog "Rylan" "faceworried" "Serin! Are you okay?" "he asks, rushing forward">>
<<dialog "Serin" "faceconfused" "I... I think so?" "she says, touching her lower back" "I don't feel any different, just... tired.">>
<<changeCombatStat "Serin" "physicalPower" 7>>
<<changeCombatStat "Serin" "technique" 7>>
<<changeCombatStat "Serin" "agility" 7>>
<<changeCombatStat "Serin" "vitality" 7>>
<<changeCombatStat "Serin" "willpower" 7>>
<<changeCombatStat "Serin" "perception" 7>>
<<changeCombatStat "Serin" "focus" 7>>
<<changeCombatStat "Serin" "confidence" 7>>
<<changeCombatStat "Serin" "combatExperience" 7>>
<div id="envyStatAnimation" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; display: none;">
<div style="background: radial-gradient(circle, rgba(255, 215, 0, 0.95), rgba(255, 140, 0, 0.9), rgba(255, 69, 0, 0.85)); border-radius: 20px; padding: 40px; box-shadow: 0 0 50px rgba(255, 215, 0, 0.8); animation: envyPulse 3s ease-in-out;">
<div style="text-align: center; color: white; text-shadow: 2px 2px 8px rgba(0,0,0,0.8);">
<h2 style="margin: 0 0 20px 0; font-size: 2.5em; animation: textGlow 2s ease-in-out infinite alternate;">💚 ENVY CONTRACT 💚</h2>
<div style="font-size: 1.3em; margin-bottom: 15px; animation: fadeInUp 0.5s ease-out 0.2s both;">All Combat Stats Increased!</div>
<div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 20px;">
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.4s both;">💪 Physical Power +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.5s both;">⚔️ Technique +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.6s both;">🏃 Agility +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.7s both;">❤️ Vitality +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.8s both;">🧠 Willpower +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.9s both;">👁️ Perception +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.0s both;">🎯 Focus +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.1s both;">💪 Confidence +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.2s both;">⭐ Experience +7</div>
</div>
<div style="margin-top: 25px; font-size: 1.1em; animation: fadeInUp 0.5s ease-out 1.5s both;">The green fire of envy flows through you!</div>
</div></div></div>
<script>
setTimeout(function() {
const animation = document.getElementById('envyStatAnimation');
if (animation) {
animation.style.display = 'block';
setTimeout(function() {
animation.style.display = 'none';
}, 4000);
}
}, 100);
</script>
<style>
@keyframes envyPulse {
0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
20% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
80% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
100% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
}
@keyframes textGlow {
0% { text-shadow: 2px 2px 8px rgba(0,0,0,0.8), 0 0 20px rgba(255, 215, 0, 0.5); }
100% { text-shadow: 2px 2px 8px rgba(0,0,0,0.8), 0 0 30px rgba(255, 215, 0, 0.8); }
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes statRise {
0% { opacity: 0; transform: translateY(30px) scale(0.8); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
</style>
<<dialog "Rylan" "faceconfused" "I don't see any tattoo." "he says, looking her over">>
<<dialog "Serin" "faceembarrassed" "My ass burns..." "she says, shifting uncomfortably" "Maybe one of the girls could check?">>
<<dialog "Liora" "faceembarrassedshortpink" "... let me check." "she says hesitantly">>
<<narrative "The two girls move to a corner of the room, away from the others. Liora carefully lifts the back of Serin's clothing to reveal the mark.">>
<center><img src="images/serin/tattoo/envy.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "On Serin's ass, a mark appears - a heart wrapped in thorns, glowing with pink light before fading into invisibility.">>
<<dialog "Liora" "faceshock" "It's a heart with thorns!" "she exclaims" "It's glowing pink!">>
<<dialog "Serin" "faceembarrassed" "A heart with thorns?" "she says, trying to look over her shoulder" "That's... fitting, I guess.">>
<<dialog "Dungeon Voice" "face" "Congratulations, you chose correctly." "it announces" "You now have the contract of Envy. But be warned - fall into the sin and it can destroy you.">>
<<continueBox "Chapter6SlothSelection" "Continue" "The trial continues...">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "The Dungeon Voice's presence shifts once more, its tone carrying a different emotional weight as it speaks of another aspect.">>
<<dialog "Dungeon Voice" "face" "Envy." "the voice intones with a knowing edge" "The green fire that burns when love turns to longing.">>
<center><img src="images/story/chapter6/dungeon/sindoorenvy.webp" style="max-width: 500px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "You poured yourself into becoming worthy. Shaping muscle over bone, sharpening skill with every dawn. All of it was for the chance to stand beside him, not as a shadow but as an equal. For a while, the hope of it kept you steady, each bruise and callus a promise that one day you'd be enough. But someone else claimed the place you had built in your heart. What remained was a hollow ache, filled with a green fire that whispered of what should have been. Envy taught you how fiercely you could love, yet it also turned every memory of him into a wound, tempting you to measure your worth against theirs until nothing felt whole.">>
<<dialog "Dungeon Voice" "face" "Who among you carries this burden?" "it asks" "Who has known the pain of watching another claim what you've worked so hard to earn?">>
<<narrative "The group exchanges glances, each person silently considering their own experiences with unrequited love and the bitter taste of watching others succeed where they have failed.">>
<center>
<div style="display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin: 20px 0;">
<div style="text-align: center;">
<img src="images/liora/faceshortpink.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Liora</div>
</div>
<div style="text-align: center;">
<img src="images/serin/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'" onclick="SugarCube.Engine.play('Chapter6Envy');">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Serin</div>
</div>
<div style="text-align: center;">
<img src="images/mariel/stage2/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Mariel</div>
</div>
<div style="text-align: center;">
<img src="images/thalor/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Thalor</div>
</div>
<div style="text-align: center;">
<img src="images/seryk/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Seryk</div>
</div>
</div>
</center>
<<dialog "Dungeon Voice" "face" "Choose wisely." "it warns" "The Envy door awaits one who understands the pain of watching others claim what you've worked so hard to earn.">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "The door opens with a majestic creak, revealing a long, dimly lit corridor stretching far into the darkness ahead.">>
<<narrative "I take a step forward, eager to continue our journey, but $humanToThalor's strong hand grips my shoulder, stopping me in my tracks.">>
<<dialog "Thalor" "faceserious" "Hold on there, $thalorCallsHuman. Let me take the lead on this one." "he says with firm authority">>
<<narrative "I can see the excitement in his eyes as he steps in front of me, his weathered face lighting up with the thrill of adventure.">>
<<dialog "Thalor" "faceconfident" "Now listen up, $thalorCallsHuman. This is where the real danger begins. A seasoned adventurer like me knows what to look for." "he says proudly, his chest swelling with pride">>
<<dialog "Thalor" "faceconfident" "First rule - always check the floor for pressure plates. They're usually disguised as normal stones, but they'll trigger the moment you step on them." "he explains, pointing at the corridor floor">>
<<dialog "Thalor" "faceconfident" "Second - watch the walls. See those cracks? Perfect hiding spots for dart traps. And those torch sconces? They could be rotating mechanisms that shoot arrows." "he continues, his voice growing more animated">>
<<dialog "Thalor" "faceconfident" "Third - the ceiling. Never forget to look up! Falling rocks, swinging blades, even acid drops. The ceiling is where most adventurers get caught off guard." "he says, gesturing upward with enthusiasm">>
<<dialog "Thalor" "faceconfident" "And the most important rule - never rush. Take your time, observe everything, and trust your instincts. That's how you survive in places like this." "he concludes with a proud smile">>
<<narrative "Mariel covers her mouth with her hand, trying to suppress a giggle as she leans closer to Liora.">>
<<dialog "Mariel" "facehappy" "I haven't seen him this excited in years!" "she whispers to Liora with amusement">>
<<dialog "Liora" "facehappyshortpink" "He's like a proud father showing off his knowledge!" "she whispers back with a smile">>
<<narrative "Thalor continues his enthusiastic lecture, his voice echoing through the corridor as he points out every potential danger with the excitement of a teacher sharing wisdom with his student.">>
<<dialog "Thalor" "faceconfident" "Oh, and one more thing - always check for tripwires at ankle height. They're nearly invisible but deadly. And those statues? They might not be just decorations..." "he says, his voice filled with the joy of teaching">>
<<narrative "Suddenly, there's a loud, metallic click that echoes through the corridor. The sound is unmistakable - the sound of a trap being triggered.">>
<<dialog "Thalor" "faceshocked" "Oh, shit..." "he mutters, his confident expression turning to one of realization and dread">>
<<narrative "Before anyone can react, $humanToThalor's body begins to glow with an eerie, otherworldly light. The glow intensifies, surrounding him in a brilliant aura that seems to pulse with energy.">>
<<dialog "Mariel" "facepanic" "Thalor! No!!" "she screams, reaching out toward him">>
<<dialog "Liora" "facepanicshortpink" "Thalor! What's happening?!" "she cries out in terror">>
<<dialog "Serin" "faceshocked" "Thalor! Get away from there!" "she shouts, trying to pull him back">>
<<dialog "Seryk" "faceshocked" "Bro! Get out of there!" "he yells, his voice filled with concern">>
<<dialog "Nimeria" "faceworried" "The trap... it's already activated!" "she says with growing alarm">>
<<narrative "The glow around Thalor intensifies, and we can only watch helplessly as $humanToThalor is consumed by whatever magical trap he accidentally triggered.">>
<<continueBox "Chapter6ThalorTransformation" "Continue" "What happens to Thalor?">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "The group watches as Seryk steps forward, his usual confident demeanor replaced by something more contemplative, more aware of the weight of his own convictions.">>
<<dialog "Seryk" "facesad" "Well, since Nim always complains about my sense of justice, I guess it's me?" "he says with a wry smile, his voice carrying a hint of self-awareness">>
<<dialog "Nimeria" "facesmirk" "Finally, you admit it!" "she teases, though her voice carries a note of understanding">>
<<narrative "Seryk gives them all a small, determined smile before turning toward the Gluttony door. As he approaches, the door's surface shimmers with an otherworldly light, and he steps through without hesitation.">>
<<narrative "The door seals behind him with a soft click, leaving the group in tense silence. Only a few seconds pass before the door opens again, and Seryk steps out, looking slightly dazed but otherwise unchanged.">>
<<dialog "Rylan" "faceworried" "Seryk! Are you okay?" "he asks, rushing forward">>
<<dialog "Seryk" "faceconfused" "I... I think so?" "he says, touching his shoulder" "I don't feel any different, just... tired.">>
<<changeCombatStat "Seryk" "physicalPower" 7>>
<<changeCombatStat "Seryk" "technique" 7>>
<<changeCombatStat "Seryk" "agility" 7>>
<<changeCombatStat "Seryk" "vitality" 7>>
<<changeCombatStat "Seryk" "willpower" 7>>
<<changeCombatStat "Seryk" "perception" 7>>
<<changeCombatStat "Seryk" "focus" 7>>
<<changeCombatStat "Seryk" "confidence" 7>>
<<changeCombatStat "Seryk" "combatExperience" 7>>
<div id="gluttonyStatAnimation" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; display: none;">
<div style="background: radial-gradient(circle, rgba(255, 215, 0, 0.95), rgba(255, 140, 0, 0.9), rgba(255, 69, 0, 0.85)); border-radius: 20px; padding: 40px; box-shadow: 0 0 50px rgba(255, 215, 0, 0.8); animation: gluttonyPulse 3s ease-in-out;">
<div style="text-align: center; color: white; text-shadow: 2px 2px 8px rgba(0,0,0,0.8);">
<h2 style="margin: 0 0 20px 0; font-size: 2.5em; animation: textGlow 2s ease-in-out infinite alternate;">⚖️ GLUTTONY CONTRACT ⚖️</h2>
<div style="font-size: 1.3em; margin-bottom: 15px; animation: fadeInUp 0.5s ease-out 0.2s both;">All Combat Stats Increased!</div>
<div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 20px;">
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.4s both;">💪 Physical Power +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.5s both;">⚔️ Technique +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.6s both;">🏃 Agility +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.7s both;">❤️ Vitality +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.8s both;">🧠 Willpower +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.9s both;">👁️ Perception +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.0s both;">🎯 Focus +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.1s both;">💪 Confidence +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.2s both;">⭐ Experience +7</div>
</div>
<div style="margin-top: 25px; font-size: 1.1em; animation: fadeInUp 0.5s ease-out 1.5s both;">The ravenous hunger for justice flows through you!</div>
</div></div></div>
<script>
setTimeout(function() {
const animation = document.getElementById('gluttonyStatAnimation');
if (animation) {
animation.style.display = 'block';
setTimeout(function() {
animation.style.display = 'none';
}, 4000);
}
}, 100);
</script>
<style>
@keyframes gluttonyPulse {
0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
20% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
80% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
100% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
}
@keyframes textGlow {
0% { text-shadow: 2px 2px 8px rgba(0,0,0,0.8), 0 0 20px rgba(255, 215, 0, 0.5); }
100% { text-shadow: 2px 2px 8px rgba(0,0,0,0.8), 0 0 30px rgba(255, 215, 0, 0.8); }
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes statRise {
0% { opacity: 0; transform: translateY(30px) scale(0.8); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
</style>
<center><img src="images/seryk/tattoo/gluttony.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "On Seryk's shoulder, a mark appears - a cracked and filled scale that glows with a soft purple light before slowly fading into invisibility.">>
<<dialog "Seryk" "faceconfused" "It's... it's a scale." "he says quietly, his voice carrying a mix of wonder and understanding" "Cracked and filled, like... like justice itself.">>
<<dialog "Dungeon Voice" "face" "Congratulations, you chose correctly." "it announces" "You now have the contract of Gluttony. But be warned - fall into the sin and it can consume you entirely.">>
<<continueBox "Chapter6WrathSelection" "Continue" "The trial continues...">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "The Dungeon Voice's presence shifts once more, its tone carrying a different emotional weight as it speaks of another aspect of the human condition.">>
<<dialog "Dungeon Voice" "face" "Gluttony." "the voice intones with a knowing edge" "The ravenous hunger that consumes everything in its path.">>
<center><img src="images/story/chapter6/dungeon/sindoorgluttony.webp" style="max-width: 500px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Once, injustice tore everything from you. In the ruin that followed, you clung to the cause of another, letting their ambitions guide your steps because it felt safer than standing alone. Out of that wound grew a ravenous need for justice, an appetite that could never be filled. It gave you purpose, drove you to right wrongs with a focus few could match. Yet the deeper you fed that hunger, the more it consumed, blinding you to all else. Friendships frayed, love withered, and still you pressed forward, sacrificing every gentle thing in the name of balance. Gluttony made you relentless in the pursuit of what was fair and threatened to leave you with nothing but the chase.">>
<<dialog "Dungeon Voice" "face" "Who among you carries this burden?" "it asks" "Who has been consumed by the hunger for justice, sacrificing everything in its pursuit?">>
<<narrative "The group exchanges glances, each person silently considering their own experiences with injustice, with the burning need to right wrongs and the cost of that relentless pursuit.">>
<center>
<div style="display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin: 20px 0;">
<div style="text-align: center;">
<img src="images/liora/faceshortpink.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Liora</div>
</div>
<div style="text-align: center;">
<img src="images/seryk/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'" onclick="SugarCube.Engine.play('Chapter6Gluttony');">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Seryk</div>
</div>
</div>
</center>
<<dialog "Dungeon Voice" "face" "Choose wisely." "it warns" "The Gluttony door awaits one who understands the cost of relentless pursuit.">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "The group watches as Nimeria steps forward, her usual innocent expression replaced by something more somber, more knowing.">>
<<dialog "Nimeria" "facesad" "... I guess I will have to." "she says quietly, her voice carrying a weight of resignation">>
<<dialog "Seryk" "facesad" "Nim..." "he says softly, reaching out toward her but stopping short">>
<<narrative "Nimeria gives him a small, sad smile before turning toward the Greed door. As she approaches, the door's surface shimmers with an otherworldly light, and she steps through without hesitation.">>
<<narrative "The door seals behind her with a soft click, leaving the group in tense silence. Only a few seconds pass before the door opens again, and Nimeria steps out, looking slightly dazed but otherwise unchanged.">>
<<dialog "Rylan" "faceworried" "Nimeria! Are you okay?" "he asks, rushing forward">>
<<dialog "Nimeria" "faceconfused" "I... I think so?" "she says, touching her chest" "I don't feel any different, just... tired.">>
<<changeCombatStat "Nimeria" "physicalPower" 7>>
<<changeCombatStat "Nimeria" "technique" 7>>
<<changeCombatStat "Nimeria" "agility" 7>>
<<changeCombatStat "Nimeria" "vitality" 7>>
<<changeCombatStat "Nimeria" "willpower" 7>>
<<changeCombatStat "Nimeria" "perception" 7>>
<<changeCombatStat "Nimeria" "focus" 7>>
<<changeCombatStat "Nimeria" "confidence" 7>>
<<changeCombatStat "Nimeria" "combatExperience" 7>>
<div id="greedStatAnimation" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; display: none;">
<div style="background: radial-gradient(circle, rgba(255, 215, 0, 0.95), rgba(255, 140, 0, 0.9), rgba(255, 69, 0, 0.85)); border-radius: 20px; padding: 40px; box-shadow: 0 0 50px rgba(255, 215, 0, 0.8); animation: greedPulse 3s ease-in-out;">
<div style="text-align: center; color: white; text-shadow: 2px 2px 8px rgba(0,0,0,0.8);">
<h2 style="margin: 0 0 20px 0; font-size: 2.5em; animation: textGlow 2s ease-in-out infinite alternate;">💎 GREED CONTRACT 💎</h2>
<div style="font-size: 1.3em; margin-bottom: 15px; animation: fadeInUp 0.5s ease-out 0.2s both;">All Combat Stats Increased!</div>
<div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 20px;">
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.4s both;">💪 Physical Power +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.5s both;">⚔️ Technique +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.6s both;">🏃 Agility +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.7s both;">❤️ Vitality +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.8s both;">🧠 Willpower +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.9s both;">👁️ Perception +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.0s both;">🎯 Focus +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.1s both;">💪 Confidence +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.2s both;">⭐ Experience +7</div>
</div>
<div style="margin-top: 25px; font-size: 1.1em; animation: fadeInUp 0.5s ease-out 1.5s both;">The hunger for power flows through you!</div>
</div></div></div>
<script>
setTimeout(function() {
const animation = document.getElementById('greedStatAnimation');
if (animation) {
animation.style.display = 'block';
setTimeout(function() {
animation.style.display = 'none';
}, 4000);
}
}, 100);
</script>
<style>
@keyframes greedPulse {
0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
20% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
80% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
100% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
}
@keyframes textGlow {
0% { text-shadow: 2px 2px 8px rgba(0,0,0,0.8), 0 0 20px rgba(255, 215, 0, 0.5); }
100% { text-shadow: 2px 2px 8px rgba(0,0,0,0.8), 0 0 30px rgba(255, 215, 0, 0.8); }
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes statRise {
0% { opacity: 0; transform: translateY(30px) scale(0.8); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
</style>
<center><img src="images/nimeria/tattoo/greed.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "faceshock" "Look at her chest!" "she exclaims, pointing">>
<<narrative "On Nimeria's breast, a mark appears - two hands grasping a gemstone, shimmering with pink light before fading into invisibility.">>
<<dialog "Dungeon Voice" "face" "Congratulations, you chose correctly." "it announces" "You now have the contract of Greed. But be warned - fall into the sin and it can destroy you.">>
<<continueBox "Chapter6EnvySelection" "Continue" "The trial continues...">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<changeCombatStat "Rylan" "physicalPower" 7>>
<<changeCombatStat "Rylan" "technique" 7>>
<<changeCombatStat "Rylan" "agility" 7>>
<<changeCombatStat "Rylan" "vitality" 7>>
<<changeCombatStat "Rylan" "willpower" 7>>
<<changeCombatStat "Rylan" "perception" 7>>
<<changeCombatStat "Rylan" "focus" 7>>
<<changeCombatStat "Rylan" "confidence" 7>>
<<changeCombatStat "Rylan" "combatExperience" 7>>
<div id="prideStatAnimation" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; display: none;">
<div style="background: radial-gradient(circle, rgba(255, 215, 0, 0.95), rgba(255, 140, 0, 0.9), rgba(255, 69, 0, 0.85)); border-radius: 20px; padding: 40px; box-shadow: 0 0 50px rgba(255, 215, 0, 0.8); animation: pridePulse 3s ease-in-out;">
<div style="text-align: center; color: white; text-shadow: 2px 2px 8px rgba(0,0,0,0.8);">
<h2 style="margin: 0 0 20px 0; font-size: 2.5em; animation: textGlow 2s ease-in-out infinite alternate;">⚔️ PRIDE CONTRACT ⚔️</h2>
<div style="font-size: 1.3em; margin-bottom: 15px; animation: fadeInUp 0.5s ease-out 0.2s both;">All Combat Stats Increased!</div>
<div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 20px;">
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.4s both;">💪 Physical Power +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.5s both;">⚔️ Technique +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.6s both;">🏃 Agility +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.7s both;">❤️ Vitality +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.8s both;">🧠 Willpower +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.9s both;">👁️ Perception +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.0s both;">🎯 Focus +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.1s both;">💪 Confidence +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.2s both;">⭐ Experience +7</div>
</div>
<div style="margin-top: 25px; font-size: 1.1em; animation: fadeInUp 0.5s ease-out 1.5s both;">The power of Pride flows through you!</div>
</div></div></div>
<script>
setTimeout(function() {
const animation = document.getElementById('prideStatAnimation');
if (animation) {
animation.style.display = 'block';
setTimeout(function() {
animation.style.display = 'none';
}, 4000);
}
}, 100);
</script>
<style>
@keyframes pridePulse {
0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
20% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
80% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
100% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
}
@keyframes textGlow {
0% { text-shadow: 2px 2px 8px rgba(0,0,0,0.8), 0 0 20px rgba(255, 215, 0, 0.5); }
100% { text-shadow: 2px 2px 8px rgba(0,0,0,0.8), 0 0 30px rgba(255, 215, 0, 0.8); }
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes statRise {
0% { opacity: 0; transform: translateY(30px) scale(0.8); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
</style>
<<narrative "As the group stands before the new door, the mark on Rylan's arm begins to fade, becoming translucent before disappearing entirely from view.">>
<<dialog "Dungeon Voice" "face" "The mark becomes invisible but stays active." "the voice explains" "Your contract with Pride remains bound to your soul, even if it cannot be seen.">>
<<narrative "The Dungeon Voice's presence fills the air once more, its tone carrying a different weight as it speaks of another aspect of the human condition.">>
<<dialog "Dungeon Voice" "face" "Greed." "the voice intones with a knowing edge" "The hunger that drives mortals to reach beyond their grasp.">>
<center><img src="images/story/chapter6/dungeon/sindoorgreed.webp" style="max-width: 500px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "From the moment you drew breath, the world seemed to recoil. Even your own kin kept their distance, leaving you with a gnawing emptiness where belonging should have been. Out of that hollow grew a vow: if no one would give, you would take. Every scrap of warmth, every glance of affection became a prize to claim, proof that you existed. That hunger kept you alive through years of rejection, teaching you to seize chances others let slip. Yet it also warped you, convincing you that love must be conquered, that closeness could be demanded rather than nurtured. Greed drove you to reach for everything - even hearts - but the harder you grasped, the more they threatened to slip through your fingers.">>
<<dialog "Dungeon Voice" "face" "Who among you carries this burden?" "it asks" "Who has known the ache of wanting what others take for granted?">>
<<narrative "The group exchanges glances, each person silently considering their own experiences with want and need.">>
<center>
<div style="display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin: 20px 0;">
<div style="text-align: center;">
<img src="images/liora/faceshortpink.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Liora</div>
</div>
<div style="text-align: center;">
<img src="images/serin/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Serin</div>
</div>
<div style="text-align: center;">
<img src="images/mariel/stage2/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Mariel</div>
</div>
<div style="text-align: center;">
<img src="images/thalor/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Thalor</div>
</div>
<div style="text-align: center;">
<img src="images/seryk/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Seryk</div>
</div>
<div style="text-align: center;">
<img src="images/nimeria/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'" onclick="SugarCube.Engine.play('Chapter6Greed');">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Nimeria</div>
</div>
</div>
</center>
<<dialog "Dungeon Voice" "face" "Choose wisely." "it warns" "The Greed door awaits one who understands the hunger for what they cannot have.">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "The group watches as Mariel steps forward, her usual warm demeanor replaced by something more vulnerable, more honest about her deepest longings.">>
<<dialog "Mariel" "faceembarrassed" "Well, considering me and Liora are the only women left, I guess it's talking about me?" "she says with a nervous laugh, her voice carrying a weight of unspoken dreams">>
<<dialog "Liora" "faceworriedshortpink" "Mariel..." "she says softly, reaching out toward her friend">>
<<narrative "Mariel gives them all a small, determined smile before turning toward the Lust door. As she approaches, the door's surface shimmers with an otherworldly light, and she steps through without hesitation.">>
<<narrative "The door seals behind her with a soft click, leaving the group in tense silence. Only a few seconds pass before the door opens again, and Mariel steps out, looking flushed and slightly disheveled.">>
<<dialog "Thalor" "faceworried" "Mariel! Are you okay?" "he asks, rushing forward with concern">>
<<dialog "Mariel" "faceembarrassed" "Yes, I'm fine." "she says, her cheeks still flushed" "Just let me check something.">>
<<narrative "Mariel moves to a corner of the room, her movements slightly unsteady as she checks something on her lower body. The group can see her expression change from confusion to understanding.">>
<<changeCombatStat "Mariel" "physicalPower" 7>>
<<changeCombatStat "Mariel" "technique" 7>>
<<changeCombatStat "Mariel" "agility" 7>>
<<changeCombatStat "Mariel" "vitality" 7>>
<<changeCombatStat "Mariel" "willpower" 7>>
<<changeCombatStat "Mariel" "perception" 7>>
<<changeCombatStat "Mariel" "focus" 7>>
<<changeCombatStat "Mariel" "confidence" 7>>
<<changeCombatStat "Mariel" "combatExperience" 7>>
<div id="lustStatAnimation" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; display: none;">
<div style="background: radial-gradient(circle, rgba(255, 215, 0, 0.95), rgba(255, 140, 0, 0.9), rgba(255, 69, 0, 0.85)); border-radius: 20px; padding: 40px; box-shadow: 0 0 50px rgba(255, 215, 0, 0.8); animation: lustPulse 3s ease-in-out;">
<div style="text-align: center; color: white; text-shadow: 2px 2px 8px rgba(0,0,0,0.8);">
<h2 style="margin: 0 0 20px 0; font-size: 2.5em; animation: textGlow 2s ease-in-out infinite alternate;">💕 LUST CONTRACT 💕</h2>
<div style="font-size: 1.3em; margin-bottom: 15px; animation: fadeInUp 0.5s ease-out 0.2s both;">All Combat Stats Increased!</div>
<div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 20px;">
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.4s both;">💪 Physical Power +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.5s both;">⚔️ Technique +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.6s both;">🏃 Agility +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.7s both;">❤️ Vitality +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.8s both;">🧠 Willpower +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.9s both;">👁️ Perception +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.0s both;">🎯 Focus +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.1s both;">💪 Confidence +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.2s both;">⭐ Experience +7</div>
</div>
<div style="margin-top: 25px; font-size: 1.1em; animation: fadeInUp 0.5s ease-out 1.5s both;">The burning desire of lust flows through you!</div>
</div></div></div>
<script>
setTimeout(function() {
const animation = document.getElementById('lustStatAnimation');
if (animation) {
animation.style.display = 'block';
setTimeout(function() {
animation.style.display = 'none';
}, 4000);
}
}, 100);
</script>
<style>
@keyframes lustPulse {
0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
20% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
80% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
100% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
}
@keyframes textGlow {
0% { text-shadow: 2px 2px 8px rgba(0,0,0,0.8), 0 0 20px rgba(255, 215, 0, 0.5); }
100% { text-shadow: 2px 2px 8px rgba(0,0,0,0.8), 0 0 30px rgba(255, 215, 0, 0.8); }
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes statRise {
0% { opacity: 0; transform: translateY(30px) scale(0.8); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
</style>
<<narrative "Mariel returns to the group, her expression a mix of embarrassment and understanding. She seems to be processing something profound that happened during her trial.">>
<center><img src="images/mariel/tattoo/lust.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "On Mariel's lower body, a mark appears - a glowing pink womb symbol that pulses with life before slowly fading into invisibility.">>
<<dialog "Mariel" "faceembarrassed" "It's... it's a womb." "she says quietly, her voice carrying a mix of wonder and shame" "Glowing pink, like... like life itself.">>
<<dialog "Thalor" "faceworried" "Mariel, what does this mean?" "he asks, his voice filled with concern">>
<<thought "Mariel" "The longing for children, for a complete family... it's been my deepest desire...">>
<<dialog "Dungeon Voice" "face" "Congratulations, you chose correctly." "it announces" "You now have the contract of Lust. But be warned - fall into the sin and it can consume you.">>
<<continueBox "Chapter6GluttonySelection" "Continue" "The trial continues...">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<script>>setTimeout(() => { window.AudioSystem.playSFX('nimeriahum.mp3'); }, 6000);<</script>>
<<narrative "We continue our journey through Blightwood, the twisted trees casting long shadows as we make our way toward the dungeon we discovered. The atmosphere is tense, but not from the forest itself.">>
<<advanceTime 1>>
<center><img src="images/landscapes/blightwoodnew.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I notice $humanToThalor and $humanToMariel walking several meters apart, their usual closeness replaced by an uncomfortable distance. The tension between them is still palpable, even after all this time.">>
<<thought "Rylan" "face" "They're still fighting... I wish I could help them work things out, but I don't even know what's wrong between them.">>
<<narrative "Nimeria notices my concerned expression and begins to hum softly, her voice carrying a beautiful, almost ethereal quality that seems to cut through the forest's oppressive atmosphere.">>
<<dialog "Nimeria" "facesmirk" "Hey Thalor!" "she calls out cheerfully, skipping over to him with a bright smile">>
<<dialog "Thalor" "faceworried" "Oh... hello Nimeria." "he responds, his face going strangely pale">>
<<thought "Rylan" "face" "That's weird... Thalor always gets that same reaction when Nimeria talks to him. Maybe he's still not used to traveling with demons?">>
<<dialog "Nimeria" "facehappy" "I see you still haven't made up with Mariel?" "she asks innocently">>
<<narrative "Thalor's face goes even paler, and he shifts uncomfortably. There's something about Nimeria's directness that seems to unsettle him.">>
<<dialog "Nimeria" "facehappy" "Hey, hey. Tell us how you met Mariel!">>
<<dialog "Thalor" "faceworried" "That's... that's a long story." "he mutters">>
<<dialog "Nimeria" "facesmirk" "What a coincidence! We have a long walk ahead of us." "she says with a mischievous grin">>
<<narrative "Thalor sighs, realizing he's not getting out of this conversation easily. He glances at Mariel, who's still walking ahead, then begins to speak.">>
<<dialog "Thalor" "face" "We grew up in a village far in the north. But it was razed by demons when the war escalated. We were saved by Gairos at the time..." "he says, his voice taking on a nostalgic tone">>
<<dialog "Thalor" "face" "Not many died, luckily, thanks to Gairos, but we all had to move. Most moved to the capital." "he continues">>
<<dialog "Thalor" "face" "I was young and wanted to make a name for myself. Gairos was a hero to me at the time, and I just wanted to be like him. So I asked him to travel with him." "he explains">>
<<dialog "Thalor" "facesad" "It was honestly a bad move on my side. $humanName was still a child at the time, so Mariel would have had to look after him alone." "he admits with regret">>
<<dialog "Nimeria" "faceconfused" "Hmm, I understand the feeling of being chosen for more... But didn't Mariel travel with you?" "she asks curiously">>
<<dialog "Thalor" "face" "Well, you know how strict Mariel can be. Honestly, you might think she's a man born in a woman's body." "he says with a small smile">>
<<narrative "Suddenly, Thalor yelps as Mariel kicks him from behind, her face flushed with embarrassment.">>
<<dialog "Mariel" "faceangry" "Hey!" "she protests">>
<<dialog "Thalor" "faceembarrassed" "Ouch! She wouldn't let me go alone. Our neighbor lady looked after him. Grumpy old lady." "he says, rubbing his leg">>
<<dialog "Nimeria" "facehappy" "Oh yes! She sometimes gives me fruits!" "she exclaims excitedly">>
<<dialog "Nimeria" "facesmirk" "That's all great, but I'm more interested in how you got together. I'm a sucker for romantic stories." "she says with a dreamy expression">>
<<dialog "Thalor" "face" "Nothing romantic there. Just a dumb boy who trained the whole day since he dreamed of becoming a hero." "he says, then whispers">>
<<dialog "Thalor" "face" "And look what he became." "he adds quietly">>
<<dialog "Thalor" "face" "Mariel was always unreachable for everyone. The most beautiful girl in the village, not only outside but inside too. Even punishing the boys when they bullied people." "he says with admiration">>
<<dialog "Thalor" "face" "She was blessed with holy magic. Already comparable to a priest at a young age. Honestly, she could have become a legend... if she wasn't a woman..." "he says with a hint of bitterness">>
<<dialog "Nimeria" "faceworried" "Right... only male priests are allowed in this country's religion." "she says, understanding the implication">>
<<dialog "Thalor" "face" "Gairos is different though. Even though he is sexist. He sees talent. So he allowed Mariel, Verdalis, and many other women to travel with him. He even nearly killed someone in our group who tried to rape one of our girls." "he explains">>
<<dialog "Nimeria" "facesmirk" "How did you get together?" "she asks, leaning in with interest">>
<<dialog "Thalor" "face" "Mariel hated me like most boys at the time. I constantly got hurt when hunting goblins and Mariel had to patch me up." "he says with a sheepish grin">>
<<dialog "Mariel" "facelaugh" "Like the time you went on a hunt with 2 swords: '2 swords = double the power.' But couldn't handle to swing both at once." "she says, laughing">>
<<dialog "Thalor" "faceembarrassed" "Hey, I was young!" "he protests">>
<<narrative "Serin and Liora burst into laughter, and I can't help but join in.">>
<<dialog "Serin" "facelaugh" "Like $thalorToHuman like $humanIsMariel!" "she says between laughs">>
<<dialog "Liora" "facelaughshortpinkdress" "Exactly!" "she adds, giggling">>
<<dialog "Rylan" "facelaugh" "Hey!" "I protest, but I'm laughing too">>
<<dialog "Thalor" "face" "I fell in love with her at the time. I saved up as much gold as I could from goblin hunting to propose to her." "he says, his voice growing softer">>
<<narrative "Thalor remembers the time he confessed to mariel.">>
<center><img src="images/story/chapter6/thalorsmemories/marielconfession.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "And her pregnancy.">>
<center><img src="images/story/chapter6/thalorsmemories/marielpregnant.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "facesmirk" "Yes, and what did you buy me for the proposal?" "she asks with a knowing smile">>
<<dialog "Seryk" "faceconfused" "A ring?" "he guesses">>
<<dialog "Mariel" "facelaugh" "Far off!" "she says, laughing">>
<<dialog "Nimeria" "faceconfused" "Hmm, knowing Thalor... a broom!" "she guesses">>
<<dialog "Mariel" "facelaugh" "A staff! A magic staff! So romantic..." "she says, still laughing">>
<<narrative "Everyone bursts into laughter at the absurdity of the proposal gift. Even Thalor is laughing now, though he looks embarrassed.">>
<<dialog "Nimeria" "facesmirk" "But you accepted?" "she asks curiously">>
<<dialog "Mariel" "facelaugh" "Haha, of course I fell for the rock brain!" "she says, still giggling">>
<<narrative "Nimeria skips back over to me, and I notice that Mariel and Thalor are now walking much closer together, their earlier tension seemingly dissolved by the shared laughter and memories.">>
<<dialog "Rylan" "face" "Thank you!" "I whisper to Nimeria">>
<<dialog "Nimeria" "facesmirk" "You're welcome!" "she says, sticking out her tongue playfully">>
<<changeAffection "Rylan" "Nimeria" 2>>
<<changeAffection "Mariel" "Thalor" 3>>
<<changeAffection "Thalor" "Mariel" 3>>
<<changeAffection "Mariel" "Nimeria" 1>>
<<changeAffection "Thalor" "Nimeria" 1>>
<<continueBox "Chapter6DungeonArrival" "Continue" "The dungeon awaits...">>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "The Dungeon Voice's presence shifts once more, its tone carrying a different emotional weight as it speaks of another aspect of the human condition.">>
<<dialog "Dungeon Voice" "face" "Lust." "the voice intones with a knowing edge" "The longing that burns in the heart when love seems just out of reach.">>
<center><img src="images/story/chapter6/dungeon/sindoorlust.webp" style="max-width: 500px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "You always dreamed of a home alive with voices -children's laughter, steady warmth, a love that would last. But the wish stayed out of reach, leaving an ache that no prayer could quiet. In the silence, you felt a pull toward fleeting arms, moments that promised to soothe the emptiness if only for a breath. That longing taught you how deeply you could care, how fiercely you yearned for closeness. Yet it also tempted you toward solace that dissolved as quickly as it came, leaving you thirstier than before. Lust offered a balm for wounds that might never mend, but its comfort was a fragile one, always on the edge of becoming another loss.">>
<<dialog "Dungeon Voice" "face" "Who among you carries this burden?" "it asks" "Who has yearned for love that always seems just out of reach?">>
<<narrative "The group exchanges glances, each person silently considering their own experiences with longing, with the ache of unfulfilled dreams and the desperate search for connection.">>
<center>
<div style="display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin: 20px 0;">
<div style="text-align: center;">
<img src="images/liora/faceshortpink.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Liora</div>
</div>
<div style="text-align: center;">
<img src="images/mariel/stage2/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'" onclick="SugarCube.Engine.play('Chapter6Lust');">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Mariel</div>
</div>
<div style="text-align: center;">
<img src="images/seryk/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Seryk</div>
</div>
</div>
</center>
<<dialog "Dungeon Voice" "face" "Choose wisely." "it warns" "The Lust door awaits one who understands the ache of unfulfilled longing.">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "After what feels like an eternity of bickering, the two girls finally stop their heated argument, though the tension still lingers in the air.">>
<<dialog "Liora" "faceangryshortpink" "This is ridiculous!" "she huffs, crossing her arms" "We're supposed to be working together!">>
<<dialog "Nimeria" "transformation/gyaru/facesmirk" "Oh, like you're so innocent!" "she teases" "I saw how you were looking at him too!">>
<<dialog "Serin" "faceconfused" "Can we please just focus on getting out of here?" "she says, clearly frustrated" "This place is giving me the creeps!">>
<<narrative "With reluctant agreement, they continue down the dimly lit hallway, though Nimeria's transformation shows no signs of reverting back to her original form.">>
<<dialog "Serin" "faceworried" "This is so weird... she's like a completely different person now...">>
<<narrative "After about thirty minutes of walking, they arrive at a massive hall that takes their breath away. The ceiling soars high above them, and seven ornate doors line the far wall, each bearing a mysterious magical symbol at the top.">>
<<dialog "Liora" "faceshock" "Wow... this is incredible!" "she gasps" "What are all these doors for?">>
<<dialog "Nimeria" "transformation/gyaru/facewet" "Ooh, this looks fancy!" "she says, running her fingers along one of the door frames" "I wonder what's behind them!">>
<<dialog "Serin" "faceconfused" "Those symbols... they look ancient. And kind of ominous.">>
<<narrative "Suddenly, the familiar voice of the dungeon echoes through the vast chamber, its tone more serious than before.">>
<<dialog "Dungeon Voice" "face" "Welcome to the final chamber of your first trial." "the voice booms" "You have come far, and I must say, I am impressed by your perseverance.">>
<<dialog "Dungeon Voice" "face" "Once this trial is complete, you may leave if you so choose." "it continues" "But I warn you - you may not be the same person you were when you entered.">>
<<dialog "Dungeon Voice" "face" "Before you stand seven doors, each representing a fundamental aspect of human nature." "the voice explains" "By entering a door, you will forge a contract with me, granting you the freedom to come and go as you please from now on.">>
<<dialog "Nimeria" "transformation/gyaru/facesmirk" "Wait, you dummy!" "she interrupts" "I count eight doors, not seven!">>
<<dialog "Dungeon Voice" "face" "Ah, you are correct, little one." "the voice acknowledges" "Before your arrival, another soul entered who was perfectly suited for one of these marks.">>
<<dialog "Dungeon Voice" "face" "What makes this even more remarkable is that seven individuals, all knowing each other, have entered together, each embodying a different virtue or sin flawlessly." "it continues" "This is truly unprecedented.">>
<<dialog "Dungeon Voice" "face" "The seven aspects are: Pride, Envy, Wrath, Sloth, Greed, Gluttony, and Lust." "it lists" "Each of you must choose which door aligns with your true nature.">>
<<dialog "Rylan" "faceconfused" "How do we know which one we embody?" "he asks" "I don't feel like I'm particularly sinful or virtuous...">>
<<dialog "Dungeon Voice" "face" "Listen carefully, for I will not repeat myself." "the voice warns" "This is your final trial: You must choose who among you is compatible with which sin or virtue.">>
<<dialog "Dungeon Voice" "face" "Choose correctly, and you will be granted passage and power." "it continues" "Choose incorrectly, and you will perish where you stand.">>
<<narrative "The gravity of the situation settles over the group as they realize the true stakes of their decision.">>
<<continueBox "Chapter6DoorSelection" "Continue" "Choose your fate...">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<advanceTime 1>>
<div class="passage-container rylan">
<<narrative "Nimeria strikes a pose, running her hands through her long blonde hair with pink tips, her red eyes sparkling with newfound confidence.">>
<<dialog "Nimeria" "transformation/gyaru/facesmirk.webp" "Oh my god, I look absolutely stunning!" "she says, pulling out a hand mirror from between her breasts" "Like, seriously, how did I get this hot?">>
<<narrative "As she's admiring herself, her eyes suddenly catch sight of $humanName standing nearby.">>
<<dialog "Nimeria" "transformation/gyaru/facewet.webp" "OMG! A hottie just spawned!" "she squeals excitedly" "Like, where did you come from, cutie?">>
<<narrative "Before anyone can react, Nimeria rushes over to $humanName and throws her arms around him in a tight hug.">>
<<dialog "Nimeria" "transformation/gyaru/facesmirk.webp" "You're so cute!" "she coos, pressing her body against his" "I just want to eat you up!">>
<<dialog "Liora" "faceangryshortpink" "Hey, Nimeria! That's my boyfriend!" "she says, stepping forward">>
<<dialog "Nimeria" "transformation/gyaru/faceconfident.webp" "Your boyfriend?" "she laughs, still clinging to $humanName" "Like, since when? I don't see a ring on it!">>
<<dialog "Liora" "faceangryshortpink" "We've been together for months!" "she protests" "Let go of him right now!">>
<<dialog "Nimeria" "transformation/gyaru/facesmirk.webp" "Months? That's so last season!" "she teases" "Besides, he looks like he could use an upgrade, don't you think?">>
<<narrative "Nimeria winks at $humanName, her red eyes sparkling with mischief as she runs her fingers through his hair.">>
<<dialog "Liora" "faceangryshortpink" "Stop touching him!" "she demands, trying to pull Nimeria away">>
<<dialog "Nimeria" "transformation/gyaru/faceconfident.webp" "Make me!" "she challenges" "Unless you're scared I'll steal him away with my new looks!">>
<<dialog "Serin" "faceconfused" "This is so weird... she's acting like a completely different person!">>
<<dialog "Nimeria" "transformation/gyaru/facesmirk.webp" "Different? I'm just being my true self now!" "she says, striking another pose" "And my true self is absolutely fabulous!">>
<<narrative "The tension between Liora and the transformed Nimeria is palpable as they continue to argue over $humanName, while Serin looks on in confusion at the dramatic personality change.">>
<<continueBox "Chapter6NimeriaGyaruConflict" "Continue" "">>
</div>
<</nobr>>
<<pov "rylan" "glamourgirl.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<setSidebarTransformation "Nimeria" "gyaru" "images/nimeria/transformation/gyaru/face.webp" "images/nimeria/transformation/gyaru/facewet.webp">>
<<activateSidebarTransformation "Nimeria" "gyaru">>
<div class="passage-container rylan">
<center><img src="images/nimeria/transformation/gyaru3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The brilliant light fades, and standing before us is no longer the Nimeria we knew. Her transformation is complete, and she has been transformed into something entirely different.">>
<<continueBox "Chapter6NimeriaGyaruPowers" "Continue" "What powers does the transformed Nimeria possess?">>
</div>
<</nobr>>
<<pov "rylan" "glamourgirl.mp3">><<script>>window.AudioSystem.playBGM('glamourgirl.mp3');<</script>>
<<nobr>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 182, 193, 0.95), rgba(255, 192, 203, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<center><img src="images/landscapes/white.webp" style="max-width: 500px; margin-bottom: 40px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); opacity: 0; animation: imageFadeIn 2s ease-out 1s forwards;" alt="White Light"></center>
</div>
</div>
<style>
@keyframes imageFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
</style>
<<timed 3s>>
<<goto "Chapter6NimeriaTransformation2">>
<</timed>>
<<changeFace $currentRylanFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('glamourgirl.mp3');<</script>>
<<nobr>>
<<run window.AudioSystem.playSFX('sparkle.mp3')>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 182, 193, 0.95), rgba(255, 192, 203, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/nimeria/transformation/1.webp" style="width: 500px; height: 300px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: imageFadeIn 2s ease-out 1s forwards;" alt="Nimeria Transformation">
</div>
</div>
<style>
@keyframes imageFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
</style>
<<timed 3s>>
<<goto "Chapter6NimeriaTransformation3">>
<</timed>>
<<changeFace $currentRylanFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('glamourgirl.mp3');<</script>>
<<nobr>>
<<run window.AudioSystem.playSFX('sparkle.mp3')>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 182, 193, 0.95), rgba(255, 192, 203, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/nimeria/transformation/2.webp" style="width: 500px; height: 300px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: imageFadeIn 2s ease-out 1s forwards;" alt="Nimeria Transformation">
</div>
</div>
<style>
@keyframes imageFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
</style>
<<timed 3s>>
<<goto "Chapter6NimeriaTransformation4">>
<</timed>>
<<changeFace $currentRylanFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('glamourgirl.mp3');<</script>>
<<nobr>>
<<run window.AudioSystem.playSFX('sparkle.mp3')>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 182, 193, 0.95), rgba(255, 192, 203, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/nimeria/transformation/3.webp" style="width: 500px; height: 300px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: imageFadeIn 2s ease-out 1s forwards;" alt="Nimeria Transformation">
</div>
</div>
<style>
@keyframes imageFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
</style>
<<timed 3s>>
<<goto "Chapter6NimeriaGyaruReveal">>
<</timed>>
<<changeFace $currentRylanFace>>
<<statSummary>>
<</nobr>><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<deactivateSidebarTransformation "Nimeria">>
<div class="passage-container rylan">
<<narrative "Rylan takes a deep breath and steps forward, his heart pounding as he approaches the glowing Pride door. The others watch in tense silence as he reaches out to touch the ornate handle.">>
<<dialog "Rylan" "faceconfident" "I... I think this one is for me." "he says, his voice steady despite his nerves" "I need to do this.">>
<<dialog "Mariel" "faceworried" "Wait, $humanName!" "she calls out" "Are you sure about this?">>
<<dialog "Thalor" "faceserious" "Think about what you're doing, boy." "he warns" "This isn't something to rush into.">>
<<narrative "But $humanName's mind is made up. He can feel something calling to him from beyond the door, something that resonates with the deepest parts of his soul.">>
<<dialog "Rylan" "faceconfident" "I have to try." "he says firmly" "I need to prove to myself that I belong here, that I'm worthy of being among you all.">>
<<narrative "With that, he turns the handle and steps through the door. The moment he crosses the threshold, everything changes.">>
<<narrative "The world around him dissolves into nothingness. He finds himself falling through an endless void, his body burning with an intense heat that seems to come from within. Time loses all meaning - it could be minutes, hours, or even years that he spends tumbling through this infinite space.">>
<<narrative "The burning sensation intensifies, spreading through every fiber of his being. It feels like his very soul is being tested, forged in the fires of his own pride and ambition. Memories flash through his mind - every moment he felt inadequate, every time he compared himself to others, every instance where he pushed himself beyond his limits just to prove his worth.">>
<<narrative "The pain is excruciating, but somehow he endures. He clings to the core of who he is, refusing to let the trial break him completely.">>
<<narrative "And then, as suddenly as it began, it ends. The door opens again, and $humanName stumbles back into the chamber, gasping for breath as if he's been underwater for hours.">>
<<narrative "The glow from the Pride door has completely vanished, and to everyone's surprise, Nimeria has returned to her original form - no longer the glamorous girl, but the 'innocent', girl they knew before.">>
<<dialog "Liora" "faceshock" "Oh my goodness! Are you okay?" "she rushes forward" "You look terrible!">>
<<dialog "Serin" "faceworried" "What happened in there? You were gone for like, two seconds but you look like you've been through hell!">>
<<dialog "Mariel" "faceworried" "$humanName, please tell us you're alright." "she says, her voice filled with concern">>
<<dialog "Rylan" "faceconfused" "I... I think I'm fine?" "he says, scratching his head" "I don't feel any different, just... tired.">>
<center><img src="images/rylan/tattoo/pride.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Thalor" "faceserious" "Look at his arm!" "he exclaims, pointing">>
<<narrative "Everyone's eyes turn to Rylan's right arm, where a glowing mark has appeared - the same symbol that was carved into the Pride door. It pulses with a soft pink light, as if it's alive.">>
<<dialog "Mariel" "faceshocked" "That's... that's the mark from the door!" "she gasps" "It's on your skin now!">>
<<dialog "Liora" "faceworriedshortpink" "Does it hurt? What does it mean?">>
<<narrative "Before anyone can answer, the dungeon voice echoes through the chamber once more.">>
<<dialog "Dungeon Voice" "face" "Congratulations." "the voice intones" "You have chosen correctly. You now bear the Contract of Pride.">>
<<dialog "Dungeon Voice" "face" "This mark grants you power, but also responsibility." "it continues" "Pride can be your greatest strength, driving you to achieve what others deem impossible. But beware - fall too deeply into the sin, and it will consume you from within.">>
<<dialog "Dungeon Voice" "face" "The mark will grow stronger as you embrace your nature, but remember: true pride comes not from surpassing others, but from becoming the best version of yourself.">>
<<dialog "Rylan" "faceconfused" "I... I don't understand." "he says, looking at the glowing mark" "What exactly did I just agree to?">>
<<dialog "Nimeria" "face" "You've bound yourself to the essence of Pride." "she explains, her voice back to its original innocent tone" "It's a part of you now, whether you wanted it or not.">>
<<narrative "The group stands in stunned silence, trying to process what has just happened. Rylan looks down at his arm, the mark pulsing softly against his skin.">>
<<continueBox "Chapter6GreedSelection" "Continue" "The trial continues...">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<if not $rightDoorCount>>
<<set $rightDoorCount = 0>>
<</if>>
<<set $rightDoorCount += 1>>
<<narrative "We choose the right door and step through. The door closes behind us with a soft click.">>
<<if $rightDoorCount === 1>>
<<narrative "The room is empty except for another set of two doors at the far end.">>
<<elseif $rightDoorCount === 2>>
<<narrative "Another empty room with two more doors awaits us.">>
<<elseif $rightDoorCount === 3>>
<<narrative "The pattern continues - another empty chamber with two doors.">>
<<elseif $rightDoorCount === 4>>
<<narrative "We're getting deeper into this maze of doors and choices.">>
<<elseif $rightDoorCount === 5>>
<<narrative "Halfway through the trials, and still only empty rooms with more doors.">>
<<elseif $rightDoorCount === 6>>
<<narrative "The rooms seem to stretch on endlessly, each one identical to the last.">>
<<elseif $rightDoorCount === 7>>
<<narrative "We're getting closer to the end, but the tension is mounting.">>
<<elseif $rightDoorCount === 8>>
<<narrative "Only two more correct choices needed to complete the trial.">>
<<elseif $rightDoorCount === 9>>
<<narrative "One final choice remains. The pressure is almost unbearable.">>
<<elseif $rightDoorCount === 10>>
<<narrative "We've made it! Ten correct choices in a row. The final door opens to reveal a magnificent chamber.">>
<</if>>
<<if $rightDoorCount < 10>>
<<set _randomCharacter = either("Mariel", "Thalor", "Liora", "Serin", "Seryk", "Nimeria")>>
<<if _randomCharacter === "Mariel">>
<<dialog "Mariel" "faceworried" "Another choice... left or right?" "she asks nervously">>
<<elseif _randomCharacter === "Thalor">>
<<dialog "Thalor" "faceworried" "We need to keep choosing carefully. Left or right?" "he says grimly">>
<<elseif _randomCharacter === "Liora">>
<<dialog "Liora" "faceworriedshortpink" "I... I hope we're choosing correctly. Left or right?" "she asks timidly">>
<<elseif _randomCharacter === "Serin">>
<<dialog "Serin" "faceshocked" "Well, we're still alive. Left or right?" "she says impatiently">>
<<elseif _randomCharacter === "Seryk">>
<<dialog "Seryk" "faceconfident" "We're doing great so far! Left or right?" "he says determinedly">>
<<elseif _randomCharacter === "Nimeria">>
<<dialog "Nimeria" "face" "There must be a pattern... Left or right?" "she mutters thoughtfully">>
<</if>>
<<changeLust "Rylan" 1>>
<<changeLust "Seryk" 1>>
<<changeLust "Mariel" 1>>
<<changeLust "Thalor" 1>>
<<changeLust "Liora" 1>>
<<changeLust "Serin" 1>>
<<changeLust "Nimeria" 1>>
<center><img src="images/landscapes/lustdungeonleftright.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<choiceBox "Choose Your Path" "Left Door" "Chapter6YouTried" "Chapter6RightDoor=left" "Right Door" "Chapter6RightDoor" "Chapter6RightDoor=right">>
<<else>>
<<narrative "The dungeon voice echoes through the chamber with what sounds like grudging respect.">>
<<dialog "Dungeon Voice" "face" "Impressive... You have successfully completed the first trial. Few have managed such a feat." "the voice says with reluctant admiration">>
<<dialog "Dungeon Voice" "face" "You have proven your worthiness to continue. The next challenge awaits beyond that door." "it continues, gesturing toward a massive golden door">>
<<continueBox "Chapter6FirstChallengeSuccess" "Continue" "Enter the next challenge...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "The group watches as Thalor steps forward, his usual stern demeanor replaced by something more contemplative, more weary.">>
<<dialog "Thalor" "facesad" "Alright, alright. I suppose it's talking about me." "he says with a heavy sigh, his voice carrying the weight of years of regret">>
<<dialog "Mariel" "faceworried" "..." "she says nothing, but her eyes speak volumes of understanding and concern">>
<<dialog "Rylan" "faceworried" "$humanToThalor..." "he says softly">>
<<narrative "Thalor gives them both a small, sad smile before turning toward the Sloth door. As he approaches, the door's surface shimmers with an otherworldly light, and he steps through without hesitation.">>
<<narrative "The door seals behind him with a soft click, leaving the group in tense silence. Only a few seconds pass before the door opens again, and Thalor steps out, looking slightly dazed but otherwise unchanged.">>
<<dialog "Rylan" "faceworried" "$humanToThalor! Are you okay?" "he asks, rushing forward">>
<<dialog "Thalor" "faceconfused" "I... I think so?" "he says, touching his back" "I don't feel any different, just... tired.">>
<<changeCombatStat "Thalor" "physicalPower" 7>>
<<changeCombatStat "Thalor" "technique" 7>>
<<changeCombatStat "Thalor" "agility" 7>>
<<changeCombatStat "Thalor" "vitality" 7>>
<<changeCombatStat "Thalor" "willpower" 7>>
<<changeCombatStat "Thalor" "perception" 7>>
<<changeCombatStat "Thalor" "focus" 7>>
<<changeCombatStat "Thalor" "confidence" 7>>
<<changeCombatStat "Thalor" "combatExperience" 7>>
<div id="slothStatAnimation" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; display: none;">
<div style="background: radial-gradient(circle, rgba(255, 215, 0, 0.95), rgba(255, 140, 0, 0.9), rgba(255, 69, 0, 0.85)); border-radius: 20px; padding: 40px; box-shadow: 0 0 50px rgba(255, 215, 0, 0.8); animation: slothPulse 3s ease-in-out;">
<div style="text-align: center; color: white; text-shadow: 2px 2px 8px rgba(0,0,0,0.8);">
<h2 style="margin: 0 0 20px 0; font-size: 2.5em; animation: textGlow 2s ease-in-out infinite alternate;">🦊 SLOTH CONTRACT 🦊</h2>
<div style="font-size: 1.3em; margin-bottom: 15px; animation: fadeInUp 0.5s ease-out 0.2s both;">All Combat Stats Increased!</div>
<div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 20px;">
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.4s both;">💪 Physical Power +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.5s both;">⚔️ Technique +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.6s both;">🏃 Agility +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.7s both;">❤️ Vitality +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.8s both;">🧠 Willpower +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.9s both;">👁️ Perception +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.0s both;">🎯 Focus +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.1s both;">💪 Confidence +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.2s both;">⭐ Experience +7</div>
</div>
<div style="margin-top: 25px; font-size: 1.1em; animation: fadeInUp 0.5s ease-out 1.5s both;">The gentle cloak of sloth flows through you!</div>
</div></div></div>
<script>
setTimeout(function() {
const animation = document.getElementById('slothStatAnimation');
if (animation) {
animation.style.display = 'block';
setTimeout(function() {
animation.style.display = 'none';
}, 4000);
}
}, 100);
</script>
<style>
@keyframes slothPulse {
0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
20% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
80% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
100% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
}
@keyframes textGlow {
0% { text-shadow: 2px 2px 8px rgba(0,0,0,0.8), 0 0 20px rgba(255, 215, 0, 0.5); }
100% { text-shadow: 2px 2px 8px rgba(0,0,0,0.8), 0 0 30px rgba(255, 215, 0, 0.8); }
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes statRise {
0% { opacity: 0; transform: translateY(30px) scale(0.8); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
</style>
<<dialog "Rylan" "faceconfused" "I don't see any tattoo." "he says, looking him over">>
<<dialog "Thalor" "faceconfused" "I got a feeling..." "he says, shifting uncomfortably" "Let me check my back.">>
<<narrative "Thalor removes his shirt, revealing his muscular back to the group. As he turns around, a mark becomes visible.">>
<center><img src="images/thalor/tattoo/sloth.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "On Thalor's back, a mark appears - a sleeping fox with cracks running through it, glowing with a soft pink light before fading into invisibility.">>
<<dialog "Mariel" "faceshocked" "It's a sleeping fox!" "she exclaims" "With cracks running through it!">>
<<dialog "Thalor" "faceconfused" "A sleeping fox with cracks?" "he says, trying to look over his shoulder" "That's... fitting, I suppose.">>
<<dialog "Dungeon Voice" "face" "Congratulations, you chose correctly." "it announces" "You now have the contract of Sloth. But be warned - fall into the sin and it can destroy you.">>
<<continueBox "Chapter6LustSelection" "Continue" "The trial continues...">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "The Dungeon Voice's presence shifts once more, its tone carrying a different emotional weight as it speaks of another aspect of the human condition.">>
<<dialog "Dungeon Voice" "face" "Sloth." "the voice intones with a knowing edge" "The gentle cloak that steals the fire from your soul.">>
<center><img src="images/story/chapter6/dungeon/sindoorsloth.webp" style="max-width: 500px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "You once lived for the call to rise above yourself, shaping every breath into strength, every hour into purpose. The dream of heroism lit your path, and for years you chased it with unrelenting focus. But when the cost of that path threatened those you cherished most, you chose the gentler road. The one that asked less, promised safety, and dulled the sharp edge of sacrifice. At first it felt like wisdom, a quiet shield for the people you loved. Yet the choice left you hollow, a shadow of the man who had once burned so brightly. Sloth wrapped itself around you like a soft cloak, soothing your wounds even as it stole the fire from your soul.">>
<<dialog "Dungeon Voice" "face" "Who among you carries this burden?" "it asks" "Who has chosen the gentler path and lost the fire that once burned within?">>
<<narrative "The group exchanges glances, each person silently considering their own experiences with choosing safety over ambition, comfort over challenge.">>
<center>
<div style="display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin: 20px 0;">
<div style="text-align: center;">
<img src="images/liora/faceshortpink.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Liora</div>
</div>
<div style="text-align: center;">
<img src="images/mariel/stage2/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Mariel</div>
</div>
<div style="text-align: center;">
<img src="images/thalor/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'" onclick="SugarCube.Engine.play('Chapter6Sloth');">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Thalor</div>
</div>
<div style="text-align: center;">
<img src="images/seryk/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Seryk</div>
</div>
</div>
</center>
<<dialog "Dungeon Voice" "face" "Choose wisely." "it warns" "The Sloth door awaits one who understands the weight of choosing safety over ambition.">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "Thalor looks down at his hands, still processing what just happened to him.">>
<<dialog "Thalor" "faceworried" "What the hell was that... but this power..." "he mutters, flexing his fingers as if testing if the transformation could happen again">>
<<narrative "Mariel continues to sob, her tears still flowing as she looks at her husband with a mixture of relief and confusion.">>
<<dialog "Mariel" "facecry" "I won't ever be able to forget this..." "she says between sobs, her voice trembling with emotion">>
<<narrative "Nimeria suddenly bursts into laughter, unable to contain herself any longer.">>
<<dialog "Nimeria" "facehappy" "Hahaha! This is absolutely ridiculous!" "she laughs, tears of mirth streaming down her face">>
<<dialog "Nimeria" "facehappy" "A magical girl transformation? Rainbow beams? 'Feel the power of love'?" "she continues laughing, clutching her sides">>
<<dialog "Nimeria" "facehappy" "I've never seen anything so absurd in my life! This dungeon is completely insane!" "she says between fits of laughter">>
<<narrative "Suddenly, there's another loud metallic click that echoes through the corridor - the same sound we heard before Thalor's transformation.">>
<<dialog "Nimeria" "faceworried" "Oh no..." "she says, her laughter dying in her throat as realization dawns">>
<<dialog "Dungeon Voice" "face" "Trap: Glamour Girl activated!" "the voice announces with mechanical precision">>
<<narrative "Before anyone can react, Nimeria's body begins to glow with the same otherworldly light that surrounded Thalor moments ago.">>
<<continueBox "Chapter6NimeriaTransformation1" "Continue" "What happens to Nimeria?">>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<div class="passage-container rylan">
<center><img src="images/landscapes/white.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The corridor is suddenly bathed in brilliant white light, and an otherworldly melody begins to play - unlike anything we've ever heard before.">>
<<dialog "Dungeon Voice" "face" "Trap: Starlight Surprise activated." "the voice announces with mechanical precision">>
<<dialog "Mariel" "faceconfused" "Starlight... " "she asks, her voice filled with confusion">>
<<dialog "Liora" "faceconfusedshortpink" "...surprise?" "she echoes, equally puzzled">>
<<continueBox "Chapter6ThalorTransformation1" "Continue" "What is this trap?">>
</div>
<</nobr>>
<<pov "rylan" "thalormoon.mp3">><<script>>window.AudioSystem.playBGM('thalormoon.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentRylanFace>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(200, 200, 255, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<center><img src="images/landscapes/white.webp" style="max-width: 500px; margin-bottom: 40px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3); opacity: 0; animation: imageFadeIn 2s ease-out 1s forwards;" alt="White Light"></center>
<div id="transformation-text" style="color: #4A4A4A; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"Darkness, your reign is over."
</div>
</div>
</div>
<style>
@keyframes transformationFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes imageFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#transformation-text {
animation: transformationFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter6ThalorTransformation2">>
<</timed>>
<<changeFace $currentRylanFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('thalormoon.mp3');<</script>>
<<nobr>>
<<run window.AudioSystem.playSFX('sparkle.mp3')>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(200, 200, 255, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/thalor/transformation/1.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: imageFadeIn 2s ease-out 1s forwards;" alt="Thalor Transformation">
<div id="transformation-text" style="color: #4A4A4A; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"The light of every hue will shatter your wicked plans."
</div>
</div>
</div>
<style>
@keyframes transformationFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes imageFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#transformation-text {
animation: transformationFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter6ThalorTransformation3">>
<</timed>>
<<changeFace $currentRylanFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('thalormoon.mp3');<</script>>
<<nobr>>
<<run window.AudioSystem.playSFX('sparkle.mp3')>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(200, 200, 255, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/thalor/transformation/2.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: imageFadeIn 2s ease-out 1s forwards;" alt="Thalor Transformation">
<div id="transformation-text" style="color: #4A4A4A; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"My courage burns brighter than the void you hide in."
</div>
</div>
</div>
<style>
@keyframes transformationFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes imageFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#transformation-text {
animation: transformationFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter6ThalorTransformation4">>
<</timed>>
<<changeFace $currentRylanFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('thalormoon.mp3');<</script>>
<<nobr>>
<<run window.AudioSystem.playSFX('sparkle.mp3')>>
<div style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(200, 200, 255, 0.9), rgba(255, 255, 255, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; overflow: hidden;">
<div style="text-align: center; position: relative;">
<img src="images/thalor/transformation/3.webp" style="width: 200px; height: 200px; border-radius: 50%; border: 4px solid rgba(255,255,255,0.5); margin-bottom: 40px; opacity: 0; animation: imageFadeIn 2s ease-out 1s forwards;" alt="Thalor Transformation">
<div id="transformation-text" style="color: #4A4A4A; font-size: 3.5em; font-weight: bold; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); opacity: 0; transform: translateY(50px); transition: all 2s ease-in-out; max-width: 90%; line-height: 1.4;">
"Justice will strike in a storm of radiant power."
</div>
</div>
</div>
<style>
@keyframes transformationFadeIn {
0% { opacity: 0; transform: translateY(50px) scale(0.9); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes imageFadeIn {
0% { opacity: 0; transform: scale(0.8); }
100% { opacity: 1; transform: scale(1); }
}
#transformation-text {
animation: transformationFadeIn 3s ease-out forwards;
}
</style>
<<timed 5s>>
<<goto "Chapter6ThalormoonReveal">>
<</timed>>
<<changeFace $currentRylanFace>>
<<statSummary>>
<</nobr>><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "The brilliant light fades, and standing before us is no longer the Thalor we knew. His form has been completely transformed, radiating with an otherworldly power that seems to pulse with every heartbeat.">>
<<dialog "Mariel" "facecry" "What happened to him?!" "she sobs, tears streaming down her face as she looks at her transformed husband">>
<<narrative "Everyone stands in stunned silence, unable to comprehend what they're witnessing. The transformation has left us all speechless with shock and confusion.">>
<<dialog "Liora" "faceshock" "I... I don't understand..." "she stammers, her voice trembling">>
<<dialog "Serin" "faceshocked" "This can't be real..." "she mutters, shaking her head in disbelief">>
<<dialog "Seryk" "faceshocked" "Old man... what happened to you?" "he asks, his voice filled with concern">>
<<dialog "Nimeria" "facehappy" "Hahaha! This is absolutely ridiculous!">>
<<narrative "Suddenly, a dark shadow emerges from the corridor ahead. A goblin steps into view, its eyes glowing with malicious intent as it brandishes a crude weapon.">>
<center><img src="images/story/chapter6/dungeon/goblin.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Thalor" "transformation/face" "There you are, wicked nega monster!" "he declares with newfound confidence and power">>
<<dialog "Thalor" "transformation/face" "Feel the power of love!" "he shouts, raising his hands high above his head">>
<<dialog "Thalor" "transformation/face" "STARLIGHT BEAM!" "he cries out with heroic determination">>
<center><img src="images/thalor/transformation/starlightbeam.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The goblin has no time to react as the beam strikes it directly. The creature's form begins to shimmer and distort, its body dissolving into particles of light that scatter and fade away into nothingness.">>
<<narrative "As the last remnants of the goblin disappear, Thalor's transformation begins to reverse. The otherworldly glow around him dims, and his form slowly returns to normal.">>
<<narrative "Within moments, he is back to being the Thalor we know - the same weathered face, the same familiar features, but with a newfound confidence in his eyes.">>
<<dialog "Thalor" "faceworried" "Well... that was certainly something...">>
<<continueBox "Chapter6ThalorNormal" "Continue" "What happens next?">>
</div>
<</nobr>>
<<pov "rylan" "thalormoon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<center><img src="images/thalor/transformation/thalormoon.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Thalor" "transformation/face" "I am Thalormoon!">>
<<continueBox "Chapter6ThalormoonPowers" "Continue" "What powers does Thalormoon possess?">>
</div>
<</nobr>>
<<pov "rylan" "thalormoon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<advanceTime 1>>
<div class="passage-container rylan">
<<narrative "The group steps through the massive door into what appears to be an empty throne room. The space is vast and imposing, but empty.">>
<center><img src="images/landscapes/lustdungeonthrone.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "On each side of the room, long hallways stretch into the distance, leading to countless other chambers and rooms that seem to extend far beyond what the eye can see.">>
<center><img src="images/landscapes/lustdungeonhall.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Dungeon Voice" "face" "Welcome to what was meant to be a throne room." "the voice echoes through the empty space" "Since the owner isn't here anymore, it now stands empty and waiting.">>
<<dialog "Dungeon Voice" "face" "Since you have succeeded in the first trial, you are now guests." "it explains" "Free to enter and leave when you want, with no restrictions or barriers.">>
<<dialog "Dungeon Voice" "face" "But not only that, from this day forward, the dungeon will provide you with daily rewards for your continued growth." "it announces" "Each morning, you will find 5 mana crystals and 15 gold coins waiting for you - a small token of the dungeon's appreciation for your courage and determination.">>
<<setDailyRewards 15 5>>
<<displayDailyRewards>>
<<dialog "Dungeon Voice" "face" "You have two choices now." "it continues" "You aren't ready yet for the next trial, but you can explore the dungeon - you will find unlimited worlds beyond your imagination. Or you can leave now, by stepping on the platform with the butterfly symbol in front of the throne.">>
<<narrative "The group exchanges glances, each person considering their options and what they've learned from the trials.">>
<<dialog "Rylan" "faceconfused" "I think we should leave for now." "he says, his voice carrying a hint of uncertainty" "We need to process what happened and decide if we want to continue exploring.">>
<<narrative "The group nods in agreement, and they step onto the platform with the butterfly symbol. In an instant, they find themselves back outside the dungeon, standing in the familiar landscape they had left behind.">>
<<narrative "As they stand there, the weight of what they've experienced begins to settle in. Each person carries a mark that has changed them in ways they don't yet fully understand.">>
<<dialog "Rylan" "faceworried" "I'm worried about what these marks might have changed in us." "he says, his voice filled with concern" "Are we even still human? What if these contracts have altered something fundamental about who we are?">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceworried" "Oh honey, I understand your concern, my dear child." "she says gently, speaking to $humanName as if he were her teenage son" "But we're still the same people we were before. These marks are just... enhancements, tools to help you grow stronger.">>
<<else>>
<<dialog "Mariel" "faceworried" "I understand your concern." "she says gently" "But we're still the same people we were before.">>
<</if>>
<<dialog "Thalor" "faceserious" "The boy has a point." "he says gruffly" "We don't know what these contracts really do to us. We should be cautious about accepting more of them.">>
<<dialog "Rylan" "faceconfident" "I would like to continue to explore." "he says, his voice growing more determined" "We've come this far, and we've learned so much. I think we should see what else this dungeon has to offer.">>
<<narrative "The group looks at each other, and one by one, they nod in agreement. The curiosity and sense of adventure that brought them here in the first place hasn't been diminished by the trials - if anything, it's been strengthened.">>
<<dialog "Nimeria" "faceangry" "Once I reach the core of this dungeon, I will destroy it personally!" "she declares, her voice filled with righteous anger" "For humiliating me so much with that transformation! What was that supposed to be?">>
<<dialog "Rylan" "facesmirk" "I actually think it looked well on you." "he says with a teasing smile" "You seemed to enjoy the attention, at least for a while.">>
<<dialog "Nimeria" "faceembarrassed" "But now that I think about it..." "she says, her anger fading into something more thoughtful" "It's bad to keep a grudge. Maybe this dungeon person isn't so bad after all. They did give us these powers, and they let us leave whenever we want.">>
<<dialog "Serin" "facesmirk" "So easy to change her mind, huh?" "she teases, nudging Liora playfully">>
<<dialog "Liora" "facehappyshortpink" "Haha, yes." "she laughs">>
<<changeAffection "Rylan" "Mariel" 4>>
<<changeAffection "Mariel" "Rylan" 4>>
<<changeAffection "Rylan" "Thalor" 4>>
<<changeAffection "Thalor" "Rylan" 4>>
<<changeAffection "Rylan" "Liora" 4>>
<<changeAffection "Liora" "Rylan" 4>>
<<changeAffection "Rylan" "Serin" 4>>
<<changeAffection "Serin" "Rylan" 4>>
<<changeAffection "Rylan" "Nimeria" 4>>
<<changeAffection "Nimeria" "Rylan" 4>>
<<changeAffection "Rylan" "Seryk" 4>>
<<changeAffection "Seryk" "Rylan" 4>>
<<changeAffection "Mariel" "Thalor" 4>>
<<changeAffection "Thalor" "Mariel" 4>>
<<changeAffection "Mariel" "Liora" 4>>
<<changeAffection "Liora" "Mariel" 4>>
<<changeAffection "Mariel" "Serin" 4>>
<<changeAffection "Serin" "Mariel" 4>>
<<changeAffection "Mariel" "Nimeria" 4>>
<<changeAffection "Nimeria" "Mariel" 4>>
<<changeAffection "Mariel" "Seryk" 4>>
<<changeAffection "Seryk" "Mariel" 4>>
<<changeAffection "Thalor" "Liora" 4>>
<<changeAffection "Liora" "Thalor" 4>>
<<changeAffection "Thalor" "Serin" 4>>
<<changeAffection "Serin" "Thalor" 4>>
<<changeAffection "Thalor" "Nimeria" 4>>
<<changeAffection "Nimeria" "Thalor" 4>>
<<changeAffection "Thalor" "Seryk" 4>>
<<changeAffection "Seryk" "Thalor" 4>>
<<changeAffection "Liora" "Serin" 4>>
<<changeAffection "Serin" "Liora" 4>>
<<changeAffection "Liora" "Nimeria" 4>>
<<changeAffection "Nimeria" "Liora" 4>>
<<changeAffection "Liora" "Seryk" 4>>
<<changeAffection "Seryk" "Liora" 4>>
<<changeAffection "Serin" "Nimeria" 4>>
<<changeAffection "Nimeria" "Serin" 4>>
<<changeAffection "Serin" "Seryk" 4>>
<<changeAffection "Seryk" "Serin" 4>>
<<changeAffection "Nimeria" "Seryk" 4>>
<<changeAffection "Seryk" "Nimeria" 4>>
<<narrative "The group stands together, united by their shared experience and the bonds that have been strengthened through the trials. They know that whatever comes next, they'll face it together.">>
<<dialog "Nimeria" "faceworried" "But this dungeon..." "she says, her voice carrying a hint of awe and concern" "Being able to freely and instantly transform people. What kind of power must it possess?">>
<<dialog "Rylan" "faceconfused" "As powerful as Gairos?" "he asks, his voice filled with curiosity">>
<<dialog "Nimeria" "facelaugh" "If this dungeon is a bear, Gairos is an ant." "she laughs," "Power like that is basically more than a god. Someone who can rebuild the body and soul of others by will alone...">>
<<narrative "The group falls silent, each person contemplating the implications of such incredible power and what it might mean for their future adventures.">>
<<continueBox "NightActivityChoices" "Continue" "Go home and sleep">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<advanceTime 1>>
<div class="passage-container rylan">
<<narrative "The group watches as Liora stands still, her usual gentle demeanor replaced by something more vulnerable, more uncertain about what the trial might reveal.">>
<<dialog "Serin" "faceworried" "Liora?" "she asks softly, reaching out toward her friend">>
<<dialog "Liora" "faceconfusedshortpink" "Yes?" "she responds, her voice carrying a hint of confusion">>
<<dialog "Nimeria" "facesmirk" "Well, only you are left, Liora." "she says with a knowing smile">>
<<dialog "Liora" "faceembarrassedshortpink" "B-b-but that can't be me?" "she stammers" "I never hated anyone...">>
<<dialog "Rylan" "faceconfused" "True, wrath is so far off for Liora." "he says, his voice filled with concern">>
<<dialog "Dungeon Voice" "face" "As time and space isn't existing here, the sin or virtue might be part of your present, past or future." "it explains with a knowing tone">>
<<dialog "Liora" "facesadshortpink" "No, never!" "she cries, tears streaming down her face" "I would never become someone who hates.">>
<<dialog "Serin" "faceangry" "God, Liora, get yourself together!" "she suddenly shouts, her voice filled with unexpected anger" "Don't always play the innocent flower! Isn't it enough that you get everything thrown on your lap since birth while others have to work for it! Now go through this damn door so we can go home!">>
<<narrative "Everyone is shocked by Serin's sudden outburst, their eyes wide with surprise at her uncharacteristic anger.">>
<<dialog "Serin" "faceembarrassed" "Sorry, I don't know what came over me..." "she says, her voice returning to normal, filled with shame">>
<<narrative "Liora wipes her tears and, with a determined expression, turns toward the Wrath door. As she approaches, the door's surface shimmers with an otherworldly light, and she steps through without hesitation.">>
<<narrative "The door seals behind her with a soft click, leaving the group in tense silence. Only a few seconds pass before the door opens again, and Liora steps out, looking slightly dazed but otherwise unchanged.">>
<<changeCombatStat "Liora" "physicalPower" 7>>
<<changeCombatStat "Liora" "technique" 7>>
<<changeCombatStat "Liora" "agility" 7>>
<<changeCombatStat "Liora" "vitality" 7>>
<<changeCombatStat "Liora" "willpower" 7>>
<<changeCombatStat "Liora" "perception" 7>>
<<changeCombatStat "Liora" "focus" 7>>
<<changeCombatStat "Liora" "confidence" 7>>
<<changeCombatStat "Liora" "combatExperience" 7>>
<div id="wrathStatAnimation" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; display: none;">
<div style="background: radial-gradient(circle, rgba(255, 215, 0, 0.95), rgba(255, 140, 0, 0.9), rgba(255, 69, 0, 0.85)); border-radius: 20px; padding: 40px; box-shadow: 0 0 50px rgba(255, 215, 0, 0.8); animation: wrathPulse 3s ease-in-out;">
<div style="text-align: center; color: white; text-shadow: 2px 2px 8px rgba(0,0,0,0.8);">
<h2 style="margin: 0 0 20px 0; font-size: 2.5em; animation: textGlow 2s ease-in-out infinite alternate;">⚡ WRATH CONTRACT ⚡</h2>
<div style="font-size: 1.3em; margin-bottom: 15px; animation: fadeInUp 0.5s ease-out 0.2s both;">All Combat Stats Increased!</div>
<div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 20px;">
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.4s both;">💪 Physical Power +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.5s both;">⚔️ Technique +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.6s both;">🏃 Agility +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.7s both;">❤️ Vitality +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.8s both;">🧠 Willpower +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 0.9s both;">👁️ Perception +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.0s both;">🎯 Focus +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.1s both;">💪 Confidence +7</div>
<div style="background: rgba(0,0,0,0.3); padding: 10px; border-radius: 8px; animation: statRise 0.6s ease-out 1.2s both;">⭐ Experience +7</div>
</div>
<div style="margin-top: 25px; font-size: 1.1em; animation: fadeInUp 0.5s ease-out 1.5s both;">The wild force of wrath flows through you!</div>
</div></div></div>
<script>
setTimeout(function() {
const animation = document.getElementById('wrathStatAnimation');
if (animation) {
animation.style.display = 'block';
setTimeout(function() {
animation.style.display = 'none';
}, 4000);
}
}, 100);
</script>
<style>
@keyframes wrathPulse {
0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
20% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
80% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }
100% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
}
@keyframes textGlow {
0% { text-shadow: 2px 2px 8px rgba(0,0,0,0.8), 0 0 20px rgba(255, 215, 0, 0.5); }
100% { text-shadow: 2px 2px 8px rgba(0,0,0,0.8), 0 0 30px rgba(255, 215, 0, 0.8); }
}
@keyframes fadeInUp {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
@keyframes statRise {
0% { opacity: 0; transform: translateY(30px) scale(0.8); }
100% { opacity: 1; transform: translateY(0) scale(1); }
}
</style>
<<narrative "Liora returns to the group, her expression a mix of confusion and understanding. She seems to be processing something profound that happened during her trial.">>
<<dialog "Liora" "faceconfusedshortpink" "Ouch, ouch, my feet!" "she says, wincing in pain">>
<<narrative "Liora turns around, sits on the floor, and removes her boots and pantyhose, then asks $humanName to check her feet.">>
<center><img src="images/liora/tattoo/wrath.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "On Liora's right foot, a mark appears - a jar filled with something dark and disturbing, the jar itself cracked and broken. Of all the tattoos, this one looks the most disturbing.">>
<<dialog "Rylan" "faceconfused" "You have a tattoo on your sole of... a jar." "he says, his voice filled with concern">>
<<dialog "Liora" "faceembarrassedshortpink" "A jar?" "she asks, her voice carrying a mix of confusion and understanding">>
<<dialog "Dungeon Voice" "face" "Congratulations. You all have finished the first trial." "it announces" "I would clap if I had hands.">>
<<narrative "Suddenly, a big door opens, revealing what appears to be a throne room beyond. The group stands in awe as they realize they have completed the first trial of the dungeon.">>
<<continueBox "Chapter6ThroneRoom" "Continue" "Enter the throne room...">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "The Dungeon Voice's presence shifts once more, its tone carrying a different emotional weight as it speaks of another aspect of the human condition.">>
<<dialog "Dungeon Voice" "face" "Wrath." "the voice intones with a knowing edge" "The wild force that rises from wounds too long contained.">>
<center><img src="images/story/chapter6/dungeon/sindoorwrath.webp" style="max-width: 500px; margin: 20px 0; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "All your life, you were the cherished bloom in a polished vase, admired simply for being. Kindness gathered around you, and the world seemed gentle. But the water in the vase soured - tainted with scorn, hardship, and punishment. Bit by bit you were used, your petals bruised until only a brittle stem remained. They sealed what was left inside a jar, meant to keep you safe, yet the hatred that had seeped in stayed trapped as well. It thickened, pressing against the glass until cracks began to spread. Wrath was the force that rose with that pressure: a wild, untempered growth born from wounds too long contained. What comes out may defend the fragile heart within. Or destroy everything nearby.">>
<<dialog "Dungeon Voice" "face" "Who among you carries this burden?" "it asks" "Who has been the cherished bloom, now trapped in a jar of their own making?">>
<<narrative "The group exchanges glances, each person silently considering their own experiences with being cherished, with the pain of being used, and with the wild force that rises from wounds too long contained.">>
<center>
<div style="display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin: 20px 0;">
<div style="text-align: center;">
<img src="images/liora/faceshortpink.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease;" onmouseover="this.style.border='3px solid #FFD700'" onmouseout="this.style.border='3px solid rgba(255,255,255,0.5)'" onclick="SugarCube.Engine.play('Chapter6Wrath');">
<div style="color: #E6E6FA; margin-top: 10px; font-weight: bold;">Liora</div>
</div>
</div>
</center>
<<dialog "Dungeon Voice" "face" "Choose wisely." "it warns" "The Wrath door awaits one who understands the wild force that rises from contained wounds.">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<center><img src="images/landscapes/gameover.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<div style="text-align: center; margin: 40px 0;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.95), rgba(35, 35, 40, 0.98)); border: 3px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 25px; min-width: 280px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); position: relative; overflow: hidden; display: inline-block;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #6B6B6B, #4A4A4A, #2C2C2C);"></div>
<h4 style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Game Over</h4>
<div style="display: flex; gap: 15px; justify-content: center; flex-wrap: wrap;">
<<link "← Return">>
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 8px; padding: 12px; display: inline-block; min-width: 150px; cursor: pointer; transition: all 0.3s ease; color: #E6E6FA; text-decoration: none; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">
← Return
</div>
<<run Engine.backward()>>
<</link>>
</div></div></div>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<widget "initMarielFamily">>
<<if not $marielFamily>>
<<set $marielFamily = []>>
<<set $marielMotherhoodLevel = 0>>
<</if>>
<</widget>>
<<widget "addToMarielFamily">>
<<if not $marielFamily>>
<<set $marielFamily = []>>
<</if>>
<<if $marielTransformationMother and not $marielFamily.includes($args[0])>>
<<set $marielFamily.push($args[0])>>
<<set $marielMotherhoodLevel = $marielFamily.length>>
<<marielMotherhoodLevelUp $args[0]>>
<</if>>
<</widget>>
<<widget "getMarielMotherhoodLevel">>
<<if not $marielFamily>>
<<set $marielFamily = []>>
<</if>>
<<set $marielMotherhoodLevel = $marielFamily.length>>
<<print $marielMotherhoodLevel>>
<</widget>>
<<widget "getMarielFamilyMembers">>
<<if not $marielFamily>>
<<set $marielFamily = []>>
<</if>>
<<print $marielFamily.join(", ")>>
<</widget>>
<<widget "isInMarielFamily">>
<<if not $marielFamily>>
<<set $marielFamily = []>>
<</if>>
<<if $marielFamily.includes($args[0])>>
true
<<else>>
false
<</if>>
<</widget>>
<<widget "debugMarielFamily">>
<div style="margin: 20px 0; background: linear-gradient(145deg, rgba(100, 100, 100, 0.8), rgba(80, 80, 80, 0.9)); border: 2px solid rgba(150, 150, 150, 0.6); border-radius: 10px; padding: 15px; text-align: center;">
<h4 style="color: #E6E6FA; margin: 0 0 10px 0;">Debug: Mariel's Family Status</h4>
<p style="color: #E6E6FA; margin: 5px 0;"><strong>Family Members:</strong> <<getMarielFamilyMembers>></p>
<p style="color: #E6E6FA; margin: 5px 0;"><strong>Motherhood Level:</strong> <<getMarielMotherhoodLevel>></p>
<p style="color: #E6E6FA; margin: 5px 0;"><strong>Array Contents:</strong> <<print JSON.stringify($marielFamily)>></p>
</div>
<</widget>>
<<widget "calculateMarielScenesAvailable">>
<<run
// Initialize counters
let availableScenes = 0;
let visitedScenes = 0;
// Scene 1: Mariel x Liora Cuddle (only available when Liora is the active character)
if (true) { // Always available for Liora
availableScenes++;
if (State.variables.marielCuddleVisited) {
visitedScenes++;
}
}
// Scene 2: Add more Liora-specific Mariel scenes here as they are created
// Example:
// if (State.variables.someLioraCondition) {
// availableScenes++;
// if (State.variables.someLioraMarielSceneVisited) {
// visitedScenes++;
// }
// }
// Set the global variables
State.variables.marielScenesAvailable = availableScenes;
State.variables.marielScenesVisited = visitedScenes;
>>
<</widget>>
<<widget "calculateMarielScenesForCharacter">>
<<run
// Initialize counters
let availableScenes = 0;
let visitedScenes = 0;
// Get current character from the passage name or context
const currentPassage = State.passage;
let currentCharacter = 'unknown';
// Determine current character based on passage name
if (currentPassage.includes('Liora')) {
currentCharacter = 'liora';
} else if (currentPassage.includes('Rylan')) {
currentCharacter = 'rylan';
} else if (currentPassage.includes('Serin')) {
currentCharacter = 'serin';
} else if (currentPassage.includes('Nimeria')) {
currentCharacter = 'nimeria';
} else if (currentPassage.includes('Seryk')) {
currentCharacter = 'seryk';
} else if (currentPassage.includes('Thalor')) {
currentCharacter = 'thalor';
}
// Count scenes based on current character
if (currentCharacter === 'liora') {
// Liora-specific Mariel scenes
if (true) { // Mariel x Liora Cuddle - always available for Liora
availableScenes++;
if (State.variables.marielCuddleVisited) {
visitedScenes++;
}
}
// Add more Liora-specific Mariel scenes here
} else if (currentCharacter === 'rylan') {
// Rylan-specific Mariel scenes
// Add Rylan-specific Mariel scenes here
} else if (currentCharacter === 'serin') {
// Serin-specific Mariel scenes
// Add Serin-specific Mariel scenes here
} else if (currentCharacter === 'nimeria') {
// Nimeria-specific Mariel scenes
// Add Nimeria-specific Mariel scenes here
} else if (currentCharacter === 'seryk') {
// Seryk-specific Mariel scenes
// Add Seryk-specific Mariel scenes here
} else if (currentCharacter === 'thalor') {
// Thalor-specific Mariel scenes
// Add Thalor-specific Mariel scenes here
}
// Set the global variables
State.variables.marielScenesAvailable = availableScenes;
State.variables.marielScenesVisited = visitedScenes;
>>
<</widget>>
<<widget "getMarielScenesRemaining">>
<<calculateMarielScenesAvailable>>
<<print $marielScenesAvailable - $marielScenesVisited>>
<</widget>>
<<widget "calculateLioraScenesForCharacter">>
<<run
// Initialize counters
let availableScenes = 0;
let visitedScenes = 0;
// Get current character from the passage name or context
const currentPassage = State.passage;
let currentCharacter = 'unknown';
// Determine current character based on passage name
if (currentPassage.includes('Liora')) {
currentCharacter = 'liora';
} else if (currentPassage.includes('Rylan')) {
currentCharacter = 'rylan';
} else if (currentPassage.includes('Serin')) {
currentCharacter = 'serin';
} else if (currentPassage.includes('Nimeria')) {
currentCharacter = 'nimeria';
} else if (currentPassage.includes('Seryk')) {
currentCharacter = 'seryk';
} else if (currentPassage.includes('Thalor')) {
currentCharacter = 'thalor';
}
// Count scenes based on current character
if (currentCharacter === 'rylan') {
// Rylan-specific Liora scenes
// Add Rylan-specific Liora scenes here
} else if (currentCharacter === 'serin') {
// Serin-specific Liora scenes
// Add Serin-specific Liora scenes here
} else if (currentCharacter === 'nimeria') {
// Nimeria-specific Liora scenes
// Add Nimeria-specific Liora scenes here
} else if (currentCharacter === 'seryk') {
// Seryk-specific Liora scenes
// Add Seryk-specific Liora scenes here
} else if (currentCharacter === 'thalor') {
// Thalor-specific Liora scenes
// Add Thalor-specific Liora scenes here
}
// Set the global variables
State.variables.lioraScenesAvailable = availableScenes;
State.variables.lioraScenesVisited = visitedScenes;
>>
<</widget>>
<<widget "calculateSerinScenesForCharacter">>
<<run
// Initialize counters
let availableScenes = 0;
let visitedScenes = 0;
// Get current character from the passage name or context
const currentPassage = State.passage;
let currentCharacter = 'unknown';
// Determine current character based on passage name
if (currentPassage.includes('Liora')) {
currentCharacter = 'liora';
} else if (currentPassage.includes('Rylan')) {
currentCharacter = 'rylan';
} else if (currentPassage.includes('Serin')) {
currentCharacter = 'serin';
} else if (currentPassage.includes('Nimeria')) {
currentCharacter = 'nimeria';
} else if (currentPassage.includes('Seryk')) {
currentCharacter = 'seryk';
} else if (currentPassage.includes('Thalor')) {
currentCharacter = 'thalor';
}
// Count scenes based on current character
if (currentCharacter === 'rylan') {
// Rylan-specific Serin scenes
// Add Rylan-specific Serin scenes here
} else if (currentCharacter === 'liora') {
// Liora-specific Serin scenes
// Add Liora-specific Serin scenes here
} else if (currentCharacter === 'nimeria') {
// Nimeria-specific Serin scenes
// Add Nimeria-specific Serin scenes here
} else if (currentCharacter === 'seryk') {
// Seryk-specific Serin scenes
// Add Seryk-specific Serin scenes here
} else if (currentCharacter === 'thalor') {
// Thalor-specific Serin scenes
// Add Thalor-specific Serin scenes here
}
// Set the global variables
State.variables.serinScenesAvailable = availableScenes;
State.variables.serinScenesVisited = visitedScenes;
>>
<</widget>>
<<widget "calculateNimeriaScenesForCharacter">>
<<run
// Initialize counters
let availableScenes = 0;
let visitedScenes = 0;
// Get current character from the passage name or context
const currentPassage = State.passage;
let currentCharacter = 'unknown';
// Determine current character based on passage name
if (currentPassage.includes('Liora')) {
currentCharacter = 'liora';
} else if (currentPassage.includes('Rylan')) {
currentCharacter = 'rylan';
} else if (currentPassage.includes('Serin')) {
currentCharacter = 'serin';
} else if (currentPassage.includes('Nimeria')) {
currentCharacter = 'nimeria';
} else if (currentPassage.includes('Seryk')) {
currentCharacter = 'seryk';
} else if (currentPassage.includes('Thalor')) {
currentCharacter = 'thalor';
}
// Count scenes based on current character
if (currentCharacter === 'rylan') {
// Rylan-specific Nimeria scenes
// Add Rylan-specific Nimeria scenes here
} else if (currentCharacter === 'liora') {
// Liora-specific Nimeria scenes
// Add Liora-specific Nimeria scenes here
} else if (currentCharacter === 'serin') {
// Serin-specific Nimeria scenes
// Add Serin-specific Nimeria scenes here
} else if (currentCharacter === 'seryk') {
// Seryk-specific Nimeria scenes
// Add Seryk-specific Nimeria scenes here
} else if (currentCharacter === 'thalor') {
// Thalor-specific Nimeria scenes
// Add Thalor-specific Nimeria scenes here
}
// Set the global variables
State.variables.nimeriaScenesAvailable = availableScenes;
State.variables.nimeriaScenesVisited = visitedScenes;
>>
<</widget>>
<<widget "calculateSerykScenesForCharacter">>
<<run
// Initialize counters
let availableScenes = 0;
let visitedScenes = 0;
// Get current character from the passage name or context
const currentPassage = State.passage;
let currentCharacter = 'unknown';
// Determine current character based on passage name
if (currentPassage.includes('Liora')) {
currentCharacter = 'liora';
} else if (currentPassage.includes('Rylan')) {
currentCharacter = 'rylan';
} else if (currentPassage.includes('Serin')) {
currentCharacter = 'serin';
} else if (currentPassage.includes('Nimeria')) {
currentCharacter = 'nimeria';
} else if (currentPassage.includes('Seryk')) {
currentCharacter = 'seryk';
} else if (currentPassage.includes('Thalor')) {
currentCharacter = 'thalor';
}
// Count scenes based on current character
if (currentCharacter === 'rylan') {
// Rylan-specific Seryk scenes
// Add Rylan-specific Seryk scenes here
} else if (currentCharacter === 'liora') {
// Liora-specific Seryk scenes
// Add Liora-specific Seryk scenes here
} else if (currentCharacter === 'serin') {
// Serin-specific Seryk scenes
// Add Serin-specific Seryk scenes here
} else if (currentCharacter === 'nimeria') {
// Nimeria-specific Seryk scenes
// Add Nimeria-specific Seryk scenes here
} else if (currentCharacter === 'thalor') {
// Thalor-specific Seryk scenes
// Add Thalor-specific Seryk scenes here
}
// Set the global variables
State.variables.serykScenesAvailable = availableScenes;
State.variables.serykScenesVisited = visitedScenes;
>>
<</widget>>
<<widget "calculateThalorScenesForCharacter">>
<<run
// Initialize counters
let availableScenes = 0;
let visitedScenes = 0;
// Get current character from the passage name or context
const currentPassage = State.passage;
let currentCharacter = 'unknown';
// Determine current character based on passage name
if (currentPassage.includes('Liora')) {
currentCharacter = 'liora';
} else if (currentPassage.includes('Rylan')) {
currentCharacter = 'rylan';
} else if (currentPassage.includes('Serin')) {
currentCharacter = 'serin';
} else if (currentPassage.includes('Nimeria')) {
currentCharacter = 'nimeria';
} else if (currentPassage.includes('Seryk')) {
currentCharacter = 'seryk';
} else if (currentPassage.includes('Thalor')) {
currentCharacter = 'thalor';
}
// Count scenes based on current character
if (currentCharacter === 'rylan') {
// Rylan-specific Thalor scenes
// Add Rylan-specific Thalor scenes here
} else if (currentCharacter === 'liora') {
// Liora-specific Thalor scenes
// Add Liora-specific Thalor scenes here
} else if (currentCharacter === 'serin') {
// Serin-specific Thalor scenes
// Add Serin-specific Thalor scenes here
} else if (currentCharacter === 'nimeria') {
// Nimeria-specific Thalor scenes
// Add Nimeria-specific Thalor scenes here
} else if (currentCharacter === 'seryk') {
// Seryk-specific Thalor scenes
// Add Seryk-specific Thalor scenes here
}
// Set the global variables
State.variables.thalorScenesAvailable = availableScenes;
State.variables.thalorScenesVisited = visitedScenes;
>>
<</widget>>
<<widget "marielMotherhoodLevelUp">>
<<if not $marielFamily>>
<<set $marielFamily = []>>
<</if>>
<<set $marielMotherhoodLevel = $marielFamily.length>>
<<showNotification "🌟 Mariel's Motherhood Leveled Up! A new child joined her family! 🌟" "relationship">>
<</widget>>
<!-- NEW CHARACTER-INITIATED SCENE CALCULATION WIDGETS -->
<!-- These calculate scenes each character can initiate, regardless of current POV -->
<<widget "getSceneRegistry">>
<<run
// DYNAMIC SCENE REGISTRY - Single source of truth for all scenes
window.SceneRegistry = {
// Rylan's scenes
"rylan": {
"mariel": [
{
id: "gameNightMarielSerin",
name: "Game Night 🎲",
description: "Mariel + Serin",
passage: "GameNightMarielSerin",
visitedVar: "gameNightMarielSerinVisited",
condition: () => true // No conditions
}
],
"liora": [
{
id: "giveHerHandLiora",
name: "Give Her a Hand 🍆",
description: "Help Liora",
passage: "GiveHerHandLiora",
visitedVar: "giveHerHandLioraVisited",
condition: () => State.variables.lioraFutaCurrious === true
}
],
"serin": [],
"nimeria": [],
"seryk": [
{
id: "serykBathScene",
name: "Bath Scene 🛁",
description: "Relaxing together",
passage: "SerykBathScene",
visitedVar: "serykBathSceneVisited",
condition: () => State.variables.serykRylanBlightwoodEncounter
},
{
id: "serykDungeonSex",
name: "Dungeon 🗡️",
description: "Adventure time",
passage: "SerykDungeonSex",
visitedVar: "serykDungeonSexVisited",
condition: () => State.variables.serykRylanBlightwoodEncounter
},
{
id: "serykBathScene2",
name: "Bath Scene II 🛁",
description: "More intimate...",
passage: "Ch7SerykBathScene2Intro",
visitedVar: "serykBathScene2Visited",
condition: () => State.variables.currentChapter == 7 && State.variables.serykBathSceneVisited
}
],
"thalor": []
},
// Liora's scenes
"liora": {
"mariel": [
{
id: "marielCuddle",
name: "Morning Cuddles ♀♀",
description: "cuddles ♀️♀️",
passage: "Chapter6MarielXLioraCuddle",
visitedVar: "marielCuddleVisited",
condition: () => true // No conditions
}
],
"rylan": [
{
id: "ch7LioraRylanRomance",
name: "Romance 💕",
description: "Visit $humanName",
passage: "Ch7LioraRylanRomance",
visitedVar: "ch7LioraRylanRomanceVisited",
condition: () => State.variables.currentChapter >= 7 && (State.variables.rylanFemboy || State.variables.rylanMasculine)
}
],
"serin": [
{
id: "lioraTrainingSerin",
name: "Training ♀♀",
description: "Practice with Serin",
passage: "LioraTrainingSerin",
visitedVar: "lioraTrainingSerinVisited",
condition: () => true // No conditions
}
],
"nimeria": [],
"seryk": [
{
id: "lioraSerykNTR",
name: "Private Time 💕",
description: "Special moments with Seryk",
passage: "LioraSerykNTR",
visitedVar: "lioraSerykNTRVisited",
condition: () => State.variables.serykxliorantr
}
],
"thalor": []
},
// Add other characters here as needed
"serin": {
"mariel": [],
"rylan": [],
"liora": [],
"nimeria": [
{
id: "serinNimeriaPetplay",
name: "Submission Training 🐕",
description: "Learn from Nimeria",
passage: "Ch7SerinNimeriaPetplayIntro",
visitedVar: "serinNimeriaPetplayVisited",
condition: () => State.variables.currentChapter >= 7
}
],
"seryk": [],
"thalor": []
},
"mariel": { "rylan": [], "liora": [], "serin": [], "nimeria": [], "seryk": [], "thalor": [] },
"nimeria": { "mariel": [], "rylan": [], "liora": [], "serin": [], "seryk": [], "thalor": [] },
"seryk": { "mariel": [], "rylan": [], "liora": [], "serin": [], "nimeria": [], "thalor": [] },
"thalor": { "mariel": [], "rylan": [], "liora": [], "serin": [], "nimeria": [], "seryk": [] }
};
>>
<</widget>>
<<widget "calculateCharacterInitiatedScenes">>
<<getSceneRegistry>>
<<run
// Initialize all character scene counters
State.variables.marielInitiatedScenes = 0;
State.variables.lioraInitiatedScenes = 0;
State.variables.serinInitiatedScenes = 0;
State.variables.nimeriaInitiatedScenes = 0;
State.variables.serykInitiatedScenes = 0;
State.variables.thalorInitiatedScenes = 0;
State.variables.humanInitiatedScenes = 0;
// Dynamically calculate scenes for each character
const characters = ['rylan', 'liora', 'serin', 'mariel', 'nimeria', 'seryk', 'thalor'];
characters.forEach(fromChar => {
if (window.SceneRegistry[fromChar]) {
let totalScenes = 0;
// Count scenes this character can initiate
Object.keys(window.SceneRegistry[fromChar]).forEach(toChar => {
const scenes = window.SceneRegistry[fromChar][toChar];
scenes.forEach(scene => {
// Check if scene meets conditions and hasn't been visited
if (scene.condition() && !State.variables[scene.visitedVar]) {
totalScenes++;
}
});
});
// Set the appropriate variable
if (fromChar === 'rylan') State.variables.humanInitiatedScenes = totalScenes;
else if (fromChar === 'liora') State.variables.lioraInitiatedScenes = totalScenes;
else if (fromChar === 'serin') State.variables.serinInitiatedScenes = totalScenes;
else if (fromChar === 'mariel') State.variables.marielInitiatedScenes = totalScenes;
else if (fromChar === 'nimeria') State.variables.nimeriaInitiatedScenes = totalScenes;
else if (fromChar === 'seryk') State.variables.serykInitiatedScenes = totalScenes;
else if (fromChar === 'thalor') State.variables.thalorInitiatedScenes = totalScenes;
}
});
>>
<</widget>>
<<widget "calculateDynamicScenesForCharacter">>
<<getSceneRegistry>>
<<run
// Get the character from arguments (e.g., "rylan", "liora")
const fromCharacter = $args[0];
if (window.SceneRegistry[fromCharacter]) {
// Reset all variables for this character
State.variables[fromCharacter + 'ForMariel'] = 0;
State.variables[fromCharacter + 'ForLiora'] = 0;
State.variables[fromCharacter + 'ForSerin'] = 0;
State.variables[fromCharacter + 'ForNimeria'] = 0;
State.variables[fromCharacter + 'ForSeryk'] = 0;
State.variables[fromCharacter + 'ForThalor'] = 0;
if (fromCharacter !== 'rylan') State.variables[fromCharacter + 'ForRylan'] = 0;
// Count scenes for each target character
Object.keys(window.SceneRegistry[fromCharacter]).forEach(toChar => {
const scenes = window.SceneRegistry[fromCharacter][toChar];
let count = 0;
scenes.forEach(scene => {
// Check if scene meets conditions and hasn't been visited
if (scene.condition() && !State.variables[scene.visitedVar]) {
count++;
}
});
// Set the appropriate variable
const varName = fromCharacter + 'For' + toChar.charAt(0).toUpperCase() + toChar.slice(1);
State.variables[varName] = count;
});
}
>>
<</widget>>
<style>
@keyframes sparkle {
0%, 100% { opacity: 0.3; transform: scale(0.8); }
50% { opacity: 1; transform: scale(1.2); }
}
</style>
<!-- POV CHARACTER SCENE CALCULATION WIDGETS -->
<!-- These calculate scenes the CURRENT POV character has available FOR each other character -->
<<widget "calculateRylanScenesForEachCharacter">>
<<calculateDynamicScenesForCharacter "rylan">>
<</widget>>
<<widget "calculateLioraScenesForEachCharacter">>
<<calculateDynamicScenesForCharacter "liora">>
<</widget>>
<<widget "calculateSerinScenesForEachCharacter">>
<<calculateDynamicScenesForCharacter "serin">>
<</widget>>
<<widget "calculateMarielScenesForEachCharacter">>
<<calculateDynamicScenesForCharacter "mariel">>
<</widget>>
<<widget "calculateNimeriaScenesForEachCharacter">>
<<calculateDynamicScenesForCharacter "nimeria">>
<</widget>>
<<widget "calculateSerykScenesForEachCharacter">>
<<calculateDynamicScenesForCharacter "seryk">>
<</widget>>
<<widget "calculateThalorScenesForEachCharacter">>
<<calculateDynamicScenesForCharacter "thalor">>
<</widget>><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<narrative "As we reach the peak of our passion, I feel my orgasm building, the pressure in my pussy becoming unbearable. Mariel's pussy clenches around my strap-on as she reaches her own climax, and I can feel her walls pulsing around me.">>
<<narrative "With a final, powerful thrust, we both explode together. I feel my pussy clench and release as I squirt, my hot juices spraying out in thick streams. Mariel cries out with pleasure, her body convulsing around my strap-on as wave after wave of ecstasy crashes over us both.">>
<center><img src="images/mariel/dreamsequence/female/cum1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I can feel my own squirt dripping down my thighs as I continue to thrust into her, our bodies slick with our combined juices. The sensation is incredible as we both ride out our orgasms together.">>
<<dialog "Mariel" "facewet" "Oh god... you're squirting too..." "she gasps between moans" "I can feel it... we're both cumming so hard...">>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Mariel" 0.3>>
<<narrative "We collapse together, our bodies still connected as we ride out the aftershocks of our shared orgasm. The dream world around us shimmers and fades, leaving us both breathless and satisfied, covered in our combined juices.">>
<<if $dreamSerin>>
<<continueBox "Chapter6RylanHaremdreamSerin" "Continue" "">>
<<elseif $dreamNimeria>>
<<continueBox "Chapter6RylanHaremdreamNimeriaFemale" "Continue" "">>
<<elseif $dreamSeryk>>
<<continueBox "Chapter6RylanHaremdreamSerykFemale" "Continue" "">>
<<elseif $dreamThalor>>
<<continueBox "Chapter6RylanHaremdreamThalorFemale" "Continue" "">>
<<elseif $dreamSora>>
<<continueBox "Chapter6RylanHaremdreamSoraFemale" "Continue" "">>
<<else>>
<<continueBox "Chapter6RylanHaremdreamEnd" "Continue" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<playLoopingSounds "sounds/hsounds/longmoan.mp3" "sounds/hsounds/deepkiss.mp3" "sounds/hsounds/sex.mp3" 1>>
<<thought "Rylan" "female/faceworried" "This feels so good, but it's so wrong... she's my $marielToHuman, but I can't stop myself from responding to her touch." "I'm torn between the overwhelming pleasure and the voice in my head screaming that this is forbidden.">>
<center><img src="images/mariel/dreamsequence/female/1.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She begins to rock her hips slowly, her body moving in perfect rhythm with mine. Each movement sends waves of pleasure through both our bodies, the dream realm amplifying every sensation.">>
<<dialog "Mariel" "faceembarrassed" "Yes... yes... that feels so good..." "she moans, her voice trembling with pleasure" "I want to feel you everywhere... I want to taste you.">>
<<narrative "Suddenly, she leans forward, her face inches from mine. I can see the desire in her eyes, the need that's driving her to break all boundaries.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "Oh sweetheart, your lips look so soft," "she whispers, her maternal voice taking on a seductive tone" "It feels so good to kiss a girl... to feel these delicate, feminine lips against mine.">>
<<else>>
<<dialog "Mariel" "facewet" "Your lips look so soft," "she whispers, her voice filled with wonder" "It feels so good to kiss a girl... to feel these delicate, feminine lips against mine.">>
<</if>>
<<narrative "Before I can protest, she captures my lips in a deep, passionate French kiss. Her tongue explores my mouth with an intensity that takes my breath away, and I find myself responding despite my confusion.">>
<center><img src="images/mariel/dreamsequence/female/frenchkiss3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "Oh god... her tongue feels amazing... I can't help but kiss her back." "This is so wrong but feels so right... I want more.">>
<center><img src="images/mariel/dreamsequence/female/frenchkiss2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/faceembarrassed" "Mmph... $humanToMariel..." "I moan against her lips, my voice muffled by our passionate kiss" "This feels... incredible...">>
<<narrative "I kiss her back eagerly, my tongue dancing with hers as she continues to ride my strap-on. The dual sensation of her pussy gripping me and her mouth devouring mine is overwhelming.">>
<<changeFetish "Rylan" "DominanceFetish" 0.4>>
<<changeAttraction "Rylan" "Mariel" 0.3>>
<center><img src="images/mariel/dreamsequence/female/frenchkiss5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facewet" "That's it, my dear child," "she moans between kisses" "Kiss mommy back... show me how much you've learned about pleasing a woman.">>
<<else>>
<<dialog "Mariel" "facewet" "That's it, baby," "she moans between kisses" "Kiss me back... show me how much you want this.">>
<</if>>
<center><img src="images/mariel/dreamsequence/female/frenchkiss4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The intensity builds as she continues to ride me, her movements becoming more urgent. My arousal reaches a breaking point, and I can't stand being passive anymore.">>
<center><img src="images/mariel/dreamsequence/female/2.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "female/facewet" "I need more... I need to take control... I want to fuck her properly." "This passive position isn't enough anymore.">>
<<narrative "With a surge of energy, I grab her waist and flip her onto her back, my strap-on still buried deep inside her. She gasps in surprise as I position myself above her.">>
<center><img src="images/mariel/dreamsequence/female/3.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Rylan" "female/faceconfident" "My turn," "I growl, my voice filled with newfound dominance" "I'm going to fuck you properly now.">>
<<changeFetish "Rylan" "DominanceFetish" 0.3>>
<<changeFetish "Rylan" "VaginaFetish" 0.2>>
<<changeFetish "Rylan" "LesbianValue" 0.2>>
<<changeAttraction "Rylan" "Mariel" 0.3>>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceshocked" "Oh my... my dear child has become so assertive," "she gasps, her eyes wide with surprise and arousal" "Show mommy what you can do.">>
<<else>>
<<dialog "Mariel" "faceshocked" "Oh... you're taking charge now," "she gasps, her eyes wide with surprise and arousal" "I love this side of you.">>
<</if>>
<<narrative "I begin to thrust into her with increasing intensity, the strap-on sliding in and out of her wet pussy with powerful strokes. Despite only wearing a strap-on, I can feel every movement, every clench of her walls around me.">>
<center><img src="images/mariel/dreamsequence/female/frenchkiss.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I lean down and capture her lips in my own French kiss, my tongue exploring her mouth aggressively as I continue to pound into her.">>
<<dialog "Rylan" "female/facewet" "You taste so good," "I moan against her lips" "I want to devour every inch of you.">>
<<thought "Rylan" "female/facewet" "This feeling is incredible... I love being in control of her pleasure." "I never knew I could feel this powerful.">>
<center><img src="images/mariel/dreamsequence/female/4.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "facewet" "Yes... yes... fuck me harder!" "she cries out, her hands gripping my shoulders" "I'm getting so close... don't stop!">>
<<changeFetish "Rylan" "DominanceFetish" 0.6>>
<<changeAttraction "Rylan" "Mariel" 0.5>>
<<narrative "I increase my pace, driving the strap-on deep into her with powerful thrusts. Our tongues dance together as I kiss her passionately, completely lost in the dominant role.">>
<<narrative "I can feel her pussy clenching around my strap-on, signaling her approaching orgasm. The sensation is incredible as she grips me tighter with each wave of pleasure.">>
<center><img src="images/mariel/dreamsequence/female/5.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "facewet" "I'm going to cum!" "she screams against my lips" "You're making me cum so hard!">>
<<continueBox "Chapter6RylanHaremdreamMarielFemaleCum" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<widget "getChapter0Events">>
<<script>>
window.Chapter0Events = {
// Chapter 0 specific events
};
<</script>>
<</widget>><<widget "getChapter10Events">>
<<script>>
window.Chapter10Events = {
// Chapter 10 specific events
};
<</script>>
<</widget>><<widget "getChapter1Events">>
<<script>>
window.Chapter1Events = {
// Chapter 1 specific events
};
<</script>>
<</widget>><<widget "getChapter2Events">>
<<script>>
window.Chapter2Events = {
// Chapter 2 specific events
};
<</script>>
<</widget>><<widget "getChapter3Events">>
<<script>>
window.Chapter3Events = {
// Chapter 3 specific events
};
<</script>>
<</widget>><<widget "getChapter4Events">>
<<script>>
window.Chapter4Events = {
// Chapter 4 specific events
};
<</script>>
<</widget>><<widget "getChapter5Events">>
<<script>>
window.Chapter5Events = {
// Chapter 5 specific events
};
<</script>>
<</widget>><<widget "getChapter6Events">>
<<script>>
window.Chapter6Events = {
// Chapter 6 specific events
"2-11-afternoon": { event: "Ch6CelindrasPlan", priority: 10, description: "Celindra reveals her plan" },
"2-12-noon": { event: "Ch6NightweedFarm", priority: 10, description: "Nimeria asks to collect Nightweed" },
"2-13-morning": { event: "Ch6SoraBed", priority: 10, description: "Cat in bed" },
"2-13-afternoon": { event: "Ch6NimeriaSerinSeryk", priority: 10, description: "Collecting Crystals" },
"2-14-afternoon": { event: "Ch6NimeriasExperiment", priority: 10, description: "Nimerias Experiment" },
"2-16-morning": { event: "Ch6RestDay", priority: 10, description: "End of Chapter 6 Freeroam" },
"2-16-noon": { event: "Ch6RestDay", priority: 10, description: "End of Chapter 6 Freeroam" }
};
<</script>>
<</widget>><<widget "getChapter7Events">>
<<script>>
window.Chapter7Events = {
"2-18-noon": { event: "Ch7EffnainSearch", priority: 10, description: "Search for Effnain at nightweed field" },
"2-19-noon": { event: "Ch7GoblinRescue", priority: 10, description: "Rescue goblins and travel to their cave" },
"2-20-morning": { event: "Ch7ThalorMorningTraining", priority: 10, description: "Thalor's intensive morning training begins" },
"2-20-noon": { event: "Ch7GoblinTrialIntro", priority: 10, description: "Goblin King trial begins" },
"2-21-noon": { event: "Ch7TrialEmotionSecond", priority: 10, description: "Second trial of emotions - storytelling challenge" },
"2-22-morning": { event: "Ch7ThalorMorningTrainingBrutal", priority: 10, description: "Thalor's brutal training continues" },
"2-22-noon": { event: "Ch7TrialSustenance", priority: 10, description: "Trial of sustenance - drinking contest" },
"2-24-afternoon": { event: "Ch7SoraBeastmenReport", priority: 10, description: "Sora receives failed attack report from beastmen" },
"2-25-noon": { event: "Ch7SoraReportsBetrayal", priority: 10, description: "Sora betrays Celindra through mental link" },
"2-30-evening": { event: "Ch7Ending", priority: 10, description: "End of Chapter 7 Story" },
"2-30-night": { event: "Ch7Ending", priority: 10, description: "End of Chapter 7 Story" },
};
<</script>>
<</widget>><<widget "getChapter7NTREvents">>
<<script>>
window.Chapter7NTREvents = {
"serykLioraManaReplenishment": {
passage: "SerykLioraManaReplenishmentNTR",
description: "Seryk and Liora mana replenishment session",
priority: 8,
baseRate: 0.25,
maxRate: 0.65,
target: "liora",
bull: "seryk",
miniGame: true,
timeRestriction: ["morning", "noon", "afternoon", "evening", "night", "midnight"],
conditions: [
{ type: 'flag', flag: 'lioraSerykNTRVisited' },
{ type: 'flag', flag: 'currentChapter', value: 7 },
{ type: 'range', variable: 'liora_SerykAttraction', min: -50, max: 300 },
{ type: 'range', variable: 'liora_corruption', min: -20, max: 300 }
],
counter: 'serykLioraManaReplenishmentCount'
}
};
<</script>>
<</widget>><<widget "getChapter8Events">>
<<script>>
window.Chapter8Events = {
// Chapter 8 specific events
};
<</script>>
<</widget>><<widget "getChapter9Events">>
<<script>>
window.Chapter9Events = {
// Chapter 9 specific events
};
<</script>>
<</widget>><<nobr>>
<div class="passage-container rylan">
<<narrative "The morning sun casts long shadows across the training grounds as you gather your party for an intense combat training session. Everyone is eager to improve their skills and push their limits.">>
<<if not $rylan_combatStats>>
<<set $rylan_combatStats = {physicalPower: 30, agility: 30, willpower: 30, technique: 30, perception: 30, focus: 30, vitality: 30}>>
<</if>>
<<if not $serin_combatStats>>
<<set $serin_combatStats = {physicalPower: 30, agility: 30, willpower: 30, technique: 30, perception: 30, focus: 30, vitality: 30}>>
<</if>>
<<if not $liora_combatStats>>
<<set $liora_combatStats = {physicalPower: 30, agility: 30, willpower: 30, technique: 30, perception: 30, focus: 30, vitality: 30}>>
<</if>>
<<if not $nimeria_combatStats>>
<<set $nimeria_combatStats = {physicalPower: 30, agility: 30, willpower: 30, technique: 30, perception: 30, focus: 30, vitality: 30}>>
<</if>>
<<if not $seryk_combatStats>>
<<set $seryk_combatStats = {physicalPower: 35, agility: 30, willpower: 30, technique: 30, perception: 30, focus: 30, vitality: 30}>>
<</if>>
<<if not $thalor_combatStats>>
<<set $thalor_combatStats = {physicalPower: 80, agility: 70, willpower: 30, technique: 48, perception: 30, focus: 30, vitality: 40}>>
<</if>>
<<if not $mariel_combatStats>>
<<set $mariel_combatStats = {physicalPower: 28, agility: 25, willpower: 84, technique: 60, perception: 30, focus: 35, vitality: 25}>>
<</if>>
<<set _allMembers = ["rylan", "liora", "serin", "mariel", "seryk", "nimeria", "thalor"]>>
<<set _allStats = ["physicalPower", "agility", "willpower", "technique", "perception", "focus", "vitality"]>>
<<set _trainingResults = []>>
<<for _member range _allMembers>>
<<set _memberCombatStats = State.variables[_member + "_combatStats"]>>
<<set _randomStatIndex = Math.floor(Math.random() * _allStats.length)>>
<<set _randomStat = _allStats[_randomStatIndex]>>
<<if _member === "rylan">>
<<if ($rylan_combatStats.physicalPower || 0) < 30>><<set $rylan_combatStats.physicalPower = 30>><</if>>
<<if ($rylan_combatStats.agility || 0) < 30>><<set $rylan_combatStats.agility = 30>><</if>>
<<if ($rylan_combatStats.willpower || 0) < 30>><<set $rylan_combatStats.willpower = 30>><</if>>
<<if ($rylan_combatStats.technique || 0) < 30>><<set $rylan_combatStats.technique = 30>><</if>>
<<if ($rylan_combatStats.perception || 0) < 30>><<set $rylan_combatStats.perception = 30>><</if>>
<<if ($rylan_combatStats.focus || 0) < 30>><<set $rylan_combatStats.focus = 30>><</if>>
<<if ($rylan_combatStats.vitality || 0) < 30>><<set $rylan_combatStats.vitality = 30>><</if>>
<<set _currentValue = $rylan_combatStats[_randomStat] || 0>>
<<set _increase = Math.floor(Math.random() * 3) + 1>>
<<set _newValue = Math.round((_currentValue + _increase) * 10) / 10>>
<<set $rylan_combatStats[_randomStat] = _newValue>>
<<set _trainingResults.push({member: "rylan", stat: _randomStat, oldValue: _currentValue, newValue: _newValue, increase: _increase})>>
<<elseif _member === "serin">>
<<if ($serin_combatStats.physicalPower || 0) < 30>><<set $serin_combatStats.physicalPower = 30>><</if>>
<<if ($serin_combatStats.agility || 0) < 30>><<set $serin_combatStats.agility = 30>><</if>>
<<if ($serin_combatStats.willpower || 0) < 30>><<set $serin_combatStats.willpower = 30>><</if>>
<<if ($serin_combatStats.technique || 0) < 30>><<set $serin_combatStats.technique = 30>><</if>>
<<if ($serin_combatStats.perception || 0) < 30>><<set $serin_combatStats.perception = 30>><</if>>
<<if ($serin_combatStats.focus || 0) < 30>><<set $serin_combatStats.focus = 30>><</if>>
<<if ($serin_combatStats.vitality || 0) < 30>><<set $serin_combatStats.vitality = 30>><</if>>
<<set _currentValue = $serin_combatStats[_randomStat] || 0>>
<<set _increase = Math.floor(Math.random() * 3) + 1>>
<<set _newValue = Math.round((_currentValue + _increase) * 10) / 10>>
<<set $serin_combatStats[_randomStat] = _newValue>>
<<set _trainingResults.push({member: "serin", stat: _randomStat, oldValue: _currentValue, newValue: _newValue, increase: _increase})>>
<<elseif _member === "liora">>
<<if ($liora_combatStats.physicalPower || 0) < 30>><<set $liora_combatStats.physicalPower = 30>><</if>>
<<if ($liora_combatStats.agility || 0) < 30>><<set $liora_combatStats.agility = 30>><</if>>
<<if ($liora_combatStats.willpower || 0) < 30>><<set $liora_combatStats.willpower = 30>><</if>>
<<if ($liora_combatStats.technique || 0) < 30>><<set $liora_combatStats.technique = 30>><</if>>
<<if ($liora_combatStats.perception || 0) < 30>><<set $liora_combatStats.perception = 30>><</if>>
<<if ($liora_combatStats.focus || 0) < 30>><<set $liora_combatStats.focus = 30>><</if>>
<<if ($liora_combatStats.vitality || 0) < 30>><<set $liora_combatStats.vitality = 30>><</if>>
<<set _currentValue = $liora_combatStats[_randomStat] || 0>>
<<set _increase = Math.floor(Math.random() * 3) + 1>>
<<set _newValue = Math.round((_currentValue + _increase) * 10) / 10>>
<<set $liora_combatStats[_randomStat] = _newValue>>
<<set _trainingResults.push({member: "liora", stat: _randomStat, oldValue: _currentValue, newValue: _newValue, increase: _increase})>>
<<elseif _member === "nimeria">>
<<if ($nimeria_combatStats.physicalPower || 0) < 30>><<set $nimeria_combatStats.physicalPower = 30>><</if>>
<<if ($nimeria_combatStats.agility || 0) < 30>><<set $nimeria_combatStats.agility = 30>><</if>>
<<if ($nimeria_combatStats.willpower || 0) < 60>><<set $nimeria_combatStats.willpower = 60>><</if>>
<<if ($nimeria_combatStats.technique || 0) < 30>><<set $nimeria_combatStats.technique = 30>><</if>>
<<if ($nimeria_combatStats.perception || 0) < 80>><<set $nimeria_combatStats.perception = 80>><</if>>
<<if ($nimeria_combatStats.focus || 0) < 40>><<set $nimeria_combatStats.focus = 30>><</if>>
<<if ($nimeria_combatStats.vitality || 0) < 30>><<set $nimeria_combatStats.vitality = 30>><</if>>
<<set _currentValue = $nimeria_combatStats[_randomStat] || 0>>
<<set _increase = Math.floor(Math.random() * 3) + 1>>
<<set _newValue = Math.round((_currentValue + _increase) * 10) / 10>>
<<set $nimeria_combatStats[_randomStat] = _newValue>>
<<set _trainingResults.push({member: "nimeria", stat: _randomStat, oldValue: _currentValue, newValue: _newValue, increase: _increase})>>
<<elseif _member === "seryk">>
<<if ($seryk_combatStats.physicalPower || 0) < 35>><<set $seryk_combatStats.physicalPower = 35>><</if>>
<<if ($seryk_combatStats.agility || 0) < 30>><<set $seryk_combatStats.agility = 30>><</if>>
<<if ($seryk_combatStats.willpower || 0) < 30>><<set $seryk_combatStats.willpower = 30>><</if>>
<<if ($seryk_combatStats.technique || 0) < 30>><<set $seryk_combatStats.technique = 30>><</if>>
<<if ($seryk_combatStats.perception || 0) < 30>><<set $seryk_combatStats.perception = 30>><</if>>
<<if ($seryk_combatStats.focus || 0) < 30>><<set $seryk_combatStats.focus = 30>><</if>>
<<if ($seryk_combatStats.vitality || 0) < 30>><<set $seryk_combatStats.vitality = 30>><</if>>
<<set _currentValue = $seryk_combatStats[_randomStat] || 0>>
<<set _increase = Math.floor(Math.random() * 3) + 1>>
<<set _newValue = Math.round((_currentValue + _increase) * 10) / 10>>
<<set $seryk_combatStats[_randomStat] = _newValue>>
<<set _trainingResults.push({member: "seryk", stat: _randomStat, oldValue: _currentValue, newValue: _newValue, increase: _increase})>>
<<elseif _member === "thalor">>
<<if ($thalor_combatStats.physicalPower || 0) < 80>><<set $thalor_combatStats.physicalPower = 80>><</if>>
<<if ($thalor_combatStats.agility || 0) < 70>><<set $thalor_combatStats.agility = 70>><</if>>
<<if ($thalor_combatStats.willpower || 0) < 30>><<set $thalor_combatStats.willpower = 30>><</if>>
<<if ($thalor_combatStats.technique || 0) < 48>><<set $thalor_combatStats.technique = 48>><</if>>
<<if ($thalor_combatStats.perception || 0) < 30>><<set $thalor_combatStats.perception = 30>><</if>>
<<if ($thalor_combatStats.focus || 0) < 30>><<set $thalor_combatStats.focus = 30>><</if>>
<<if ($thalor_combatStats.vitality || 0) < 40>><<set $thalor_combatStats.vitality = 40>><</if>>
<<set _currentValue = $thalor_combatStats[_randomStat] || 0>>
<<set _increase = Math.floor(Math.random() * 3) + 1>>
<<set _newValue = Math.round((_currentValue + _increase) * 10) / 10>>
<<set $thalor_combatStats[_randomStat] = _newValue>>
<<set _trainingResults.push({member: "thalor", stat: _randomStat, oldValue: _currentValue, newValue: _newValue, increase: _increase})>>
<<elseif _member === "mariel">>
<<if ($mariel_combatStats.physicalPower || 0) < 28>><<set $mariel_combatStats.physicalPower = 28>><</if>>
<<if ($mariel_combatStats.agility || 0) < 25>><<set $mariel_combatStats.agility = 25>><</if>>
<<if ($mariel_combatStats.willpower || 0) < 84>><<set $mariel_combatStats.willpower = 84>><</if>>
<<if ($mariel_combatStats.technique || 0) < 60>><<set $mariel_combatStats.technique = 60>><</if>>
<<if ($mariel_combatStats.perception || 0) < 30>><<set $mariel_combatStats.perception = 30>><</if>>
<<if ($mariel_combatStats.focus || 0) < 35>><<set $mariel_combatStats.focus = 35>><</if>>
<<if ($mariel_combatStats.vitality || 0) < 30>><<set $mariel_combatStats.vitality = 30>><</if>>
<<set _currentValue = $mariel_combatStats[_randomStat] || 0>>
<<set _increase = Math.floor(Math.random() * 3) + 1>>
<<set _newValue = Math.round((_currentValue + _increase) * 10) / 10>>
<<set $mariel_combatStats[_randomStat] = _newValue>>
<<set _trainingResults.push({member: "mariel", stat: _randomStat, oldValue: _currentValue, newValue: _newValue, increase: _increase})>>
<</if>>
<</for>>
<div style="margin: 30px 0; background: linear-gradient(135deg, rgba(25, 25, 35, 0.95), rgba(45, 45, 55, 0.98)); border: 3px solid rgba(100, 100, 100, 0.6); border-radius: 25px; padding: 30px; box-shadow: 0 10px 30px rgba(0,0,0,0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #6B6B6B, #4A4A4A, #2C2C2C);"></div>
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #FF8C00; margin: 0 0 15px 0; font-size: 2.5em; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">💪 Training Results 💪</h2>
<p style="color: #B0B0B0; font-style: italic; margin: 0; font-size: 1.2em; text-shadow: 1px 1px 4px rgba(0,0,0,0.6);">Everyone has improved their combat abilities!</p>
<div style="margin-top: 15px; padding: 10px; background: rgba(255, 215, 0, 0.1); border: 1px solid rgba(255, 215, 0, 0.3); border-radius: 8px;">
<p style="color: #FFD700; margin: 0; font-size: 0.9em; font-weight: bold;">📈 One random stat increased by 1-3 points for each member! 📈</p>
</div>
</div>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 20px 0;">
<<set _rylanResult = _trainingResults.find(r => r.member === "rylan")>>
<<if _rylanResult>>
<!-- Rylan's Stats -->
<div style="background: linear-gradient(145deg, rgba(135, 206, 235, 0.15), rgba(173, 216, 230, 0.2)); border: 2px solid rgba(135, 206, 235, 0.6); border-radius: 15px; padding: 20px; text-align: center;">
<h3 style="color: #87CEEB; margin: 0 0 15px 0; font-size: 1.5em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">$humanName</h3>
<<set _statName = _rylanResult.stat>>
<<set _statDisplay = _statName === "physicalPower" ? "PWR" : (_statName === "agility" ? "AGI" : (_statName === "willpower" ? "WIL" : (_statName === "technique" ? "TEC" : (_statName === "perception" ? "PER" : (_statName === "focus" ? "FOC" : "VIT")))))>>
<div style="background: rgba(0, 0, 0, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #E6E6FA; margin: 0; font-size: 1.2em; font-weight: bold;"><<print _statDisplay>>: <span style="color: #FFD700;"><<print _rylanResult.oldValue.toFixed(1)>></span> → <span style="color: #90EE90; font-weight: bold;"><<print _rylanResult.newValue.toFixed(1)>></span> <span style="color: #90EE90;">(+<<print _rylanResult.increase>>)</span></p>
</div>
</div>
<</if>>
<<set _serinResult = _trainingResults.find(r => r.member === "serin")>>
<<if _serinResult>>
<!-- Serin's Stats -->
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.15), rgba(255, 182, 193, 0.2)); border: 2px solid rgba(255, 105, 180, 0.6); border-radius: 15px; padding: 20px; text-align: center;">
<h3 style="color: #FF69B4; margin: 0 0 15px 0; font-size: 1.5em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Serin</h3>
<<set _statName = _serinResult.stat>>
<<set _statDisplay = _statName === "physicalPower" ? "PWR" : (_statName === "agility" ? "AGI" : (_statName === "willpower" ? "WIL" : (_statName === "technique" ? "TEC" : (_statName === "perception" ? "PER" : (_statName === "focus" ? "FOC" : "VIT")))))>>
<div style="background: rgba(0, 0, 0, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #E6E6FA; margin: 0; font-size: 1.2em; font-weight: bold;"><<print _statDisplay>>: <span style="color: #FFD700;"><<print _serinResult.oldValue.toFixed(1)>></span> → <span style="color: #90EE90; font-weight: bold;"><<print _serinResult.newValue.toFixed(1)>></span> <span style="color: #90EE90;">(+<<print _serinResult.increase>>)</span></p>
</div>
</div>
<</if>>
<<set _lioraResult = _trainingResults.find(r => r.member === "liora")>>
<<if _lioraResult>>
<!-- Liora's Stats -->
<div style="background: linear-gradient(145deg, rgba(255, 192, 203, 0.15), rgba(255, 182, 193, 0.2)); border: 2px solid rgba(255, 192, 203, 0.6); border-radius: 15px; padding: 20px; text-align: center;">
<h3 style="color: #FFC0CB; margin: 0 0 15px 0; font-size: 1.5em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Liora</h3>
<<set _statName = _lioraResult.stat>>
<<set _statDisplay = _statName === "physicalPower" ? "PWR" : (_statName === "agility" ? "AGI" : (_statName === "willpower" ? "WIL" : (_statName === "technique" ? "TEC" : (_statName === "perception" ? "PER" : (_statName === "focus" ? "FOC" : "VIT")))))>>
<div style="background: rgba(0, 0, 0, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #E6E6FA; margin: 0; font-size: 1.2em; font-weight: bold;"><<print _statDisplay>>: <span style="color: #FFD700;"><<print _lioraResult.oldValue.toFixed(1)>></span> → <span style="color: #90EE90; font-weight: bold;"><<print _lioraResult.newValue.toFixed(1)>></span> <span style="color: #90EE90;">(+<<print _lioraResult.increase>>)</span></p>
</div>
</div>
<</if>>
<<set _nimeriaResult = _trainingResults.find(r => r.member === "nimeria")>>
<<if _nimeriaResult>>
<!-- Nimeria's Stats -->
<div style="background: linear-gradient(145deg, rgba(221, 160, 221, 0.15), rgba(186, 85, 211, 0.2)); border: 2px solid rgba(221, 160, 221, 0.6); border-radius: 15px; padding: 20px; text-align: center;">
<h3 style="color: #DDA0DD; margin: 0 0 15px 0; font-size: 1.5em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Nimeria</h3>
<<set _statName = _nimeriaResult.stat>>
<<set _statDisplay = _statName === "physicalPower" ? "PWR" : (_statName === "agility" ? "AGI" : (_statName === "willpower" ? "WIL" : (_statName === "technique" ? "TEC" : (_statName === "perception" ? "PER" : (_statName === "focus" ? "FOC" : "VIT")))))>>
<div style="background: rgba(0, 0, 0, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #E6E6FA; margin: 0; font-size: 1.2em; font-weight: bold;"><<print _statDisplay>>: <span style="color: #FFD700;"><<print _nimeriaResult.oldValue.toFixed(1)>></span> → <span style="color: #90EE90; font-weight: bold;"><<print _nimeriaResult.newValue.toFixed(1)>></span> <span style="color: #90EE90;">(+<<print _nimeriaResult.increase>>)</span></p>
</div>
</div>
<</if>>
<<set _serykResult = _trainingResults.find(r => r.member === "seryk")>>
<<if _serykResult>>
<!-- Seryk's Stats -->
<div style="background: linear-gradient(145deg, rgba(240, 230, 140, 0.15), rgba(255, 215, 0, 0.2)); border: 2px solid rgba(240, 230, 140, 0.6); border-radius: 15px; padding: 20px; text-align: center;">
<h3 style="color: #F0E68C; margin: 0 0 15px 0; font-size: 1.5em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Seryk</h3>
<<set _statName = _serykResult.stat>>
<<set _statDisplay = _statName === "physicalPower" ? "PWR" : (_statName === "agility" ? "AGI" : (_statName === "willpower" ? "WIL" : (_statName === "technique" ? "TEC" : (_statName === "perception" ? "PER" : (_statName === "focus" ? "FOC" : "VIT")))))>>
<div style="background: rgba(0, 0, 0, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #E6E6FA; margin: 0; font-size: 1.2em; font-weight: bold;"><<print _statDisplay>>: <span style="color: #FFD700;"><<print _serykResult.oldValue.toFixed(1)>></span> → <span style="color: #90EE90; font-weight: bold;"><<print _serykResult.newValue.toFixed(1)>></span> <span style="color: #90EE90;">(+<<print _serykResult.increase>>)</span></p>
</div>
</div>
<</if>>
<<set _thalorResult = _trainingResults.find(r => r.member === "thalor")>>
<<if _thalorResult>>
<!-- Thalor's Stats -->
<div style="background: linear-gradient(145deg, rgba(169, 169, 169, 0.15), rgba(192, 192, 192, 0.2)); border: 2px solid rgba(169, 169, 169, 0.6); border-radius: 15px; padding: 20px; text-align: center;">
<h3 style="color: #A9A9A9; margin: 0 0 15px 0; font-size: 1.5em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Thalor</h3>
<<set _statName = _thalorResult.stat>>
<<set _statDisplay = _statName === "physicalPower" ? "PWR" : (_statName === "agility" ? "AGI" : (_statName === "willpower" ? "WIL" : (_statName === "technique" ? "TEC" : (_statName === "perception" ? "PER" : (_statName === "focus" ? "FOC" : "VIT")))))>>
<div style="background: rgba(0, 0, 0, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #E6E6FA; margin: 0; font-size: 1.2em; font-weight: bold;"><<print _statDisplay>>: <span style="color: #FFD700;"><<print _thalorResult.oldValue.toFixed(1)>></span> → <span style="color: #90EE90; font-weight: bold;"><<print _thalorResult.newValue.toFixed(1)>></span> <span style="color: #90EE90;">(+<<print _thalorResult.increase>>)</span></p>
</div>
</div>
<</if>>
<<set _marielResult = _trainingResults.find(r => r.member === "mariel")>>
<<if _marielResult>>
<!-- Mariel's Stats -->
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.15), rgba(255, 192, 203, 0.2)); border: 2px solid rgba(255, 182, 193, 0.6); border-radius: 15px; padding: 20px; text-align: center;">
<h3 style="color: #FFB6C1; margin: 0 0 15px 0; font-size: 1.5em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Mariel</h3>
<<set _statName = _marielResult.stat>>
<<set _statDisplay = _statName === "physicalPower" ? "PWR" : (_statName === "agility" ? "AGI" : (_statName === "willpower" ? "WIL" : (_statName === "technique" ? "TEC" : (_statName === "perception" ? "PER" : (_statName === "focus" ? "FOC" : "VIT")))))>>
<div style="background: rgba(0, 0, 0, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #E6E6FA; margin: 0; font-size: 1.2em; font-weight: bold;"><<print _statDisplay>>: <span style="color: #FFD700;"><<print _marielResult.oldValue.toFixed(1)>></span> → <span style="color: #90EE90; font-weight: bold;"><<print _marielResult.newValue.toFixed(1)>></span> <span style="color: #90EE90;">(+<<print _marielResult.increase>>)</span></p>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 25px; padding-top: 20px; border-top: 2px solid rgba(100, 100, 100, 0.3);">
<p style="color: #B0B0B0; font-style: italic; margin: 0; font-size: 1em; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">💪 Everyone has grown stronger! 💪</p>
</div>
</div>
<<narrative "As the training session comes to an end, everyone is exhausted but satisfied. The improvements are noticeable.">>
<<continueBox "MorningActivityChoicesNext" "Continue" "Return to activities...">>
</div>
<</nobr>>
<<if $currentChapter == 7>>
<<pov "rylan" "defaultch7.mp3">>
<<else>>
<<pov "rylan" "defaultch6.mp3">>
<</if>><<stopLoopingSounds>>
<<nobr>>
<<script>>window.AudioSystem.playBGM('nimeria.mp3');<</script>>
<<set $currentFace = $currentNimeriaFace>>
<<if not $rylanDreamSeryk>><<set $rylanDreamSeryk = false>><</if>>
<<if not $rylanDreamMariel>><<set $rylanDreamMariel = false>><</if>>
<<if not $rylanDreamSelfGay>><<set $rylanDreamSelfGay = false>><</if>>
<<if not $rylanDreamSelfHetero>><<set $rylanDreamSelfHetero = false>><</if>>
<<if not $rylanDreamSelfHeteroDominantPOV>><<set $rylanDreamSelfHeteroDominantPOV = false>><</if>>
<<if not $rylanDreamSelfGayDominantPOV>><<set $rylanDreamSelfGayDominantPOV = false>><</if>>
<<if not $rylanDreamSelfGayDominant>><<set $rylanDreamSelfGayDominant = false>><</if>>
<<if not $rylanDreamLioraHarem>><<set $rylanDreamLioraHarem = false>><</if>>
<<if not $rylanDreamLioraFemaleHarem>><<set $rylanDreamLioraFemaleHarem = false>><</if>>
<<if not $rylanDreamMarielHarem>><<set $rylanDreamMarielHarem = false>><</if>>
<<if not $rylanDreamMarielFemaleHarem>><<set $rylanDreamMarielFemaleHarem = false>><</if>>
<<if not $rylanDreamNimeriaHarem>><<set $rylanDreamNimeriaHarem = false>><</if>>
<<if not $rylanDreamNimeriaFemaleHarem>><<set $rylanDreamNimeriaFemaleHarem = false>><</if>>
<<if not $rylanDreamSerinHarem>><<set $rylanDreamSerinHarem = false>><</if>>
<<if not $rylanDreamSerinFemaleHarem>><<set $rylanDreamSerinFemaleHarem = false>><</if>>
<<if not $rylanDreamSerykHarem>><<set $rylanDreamSerykHarem = false>><</if>>
<<if not $rylanDreamSerykFemaleHarem>><<set $rylanDreamSerykFemaleHarem = false>><</if>>
<<if not $rylanDreamThalorHarem>><<set $rylanDreamThalorHarem = false>><</if>>
<<if not $rylanDreamThalorFemaleHarem>><<set $rylanDreamThalorFemaleHarem = false>><</if>>
<<if not $rylanDreamSoraHarem>><<set $rylanDreamSoraHarem = false>><</if>>
<<if not $rylanDreamSoraFemaleHarem>><<set $rylanDreamSoraFemaleHarem = false>><</if>>
<<if not $rylanDreamSoraFemaleTiedUp>><<set $rylanDreamSoraFemaleTiedUp = false>><</if>>
<<if not $rylanDreamSoraMaleTiedUp>><<set $rylanDreamSoraMaleTiedUp = false>><</if>>
<<set $rylanHaremDream = false>>
<<set $chapter6Dreams = true>>
<<set $dreamMariel = false>>
<<set $dreamThalor = false>>
<<set $dreamLiora = false>>
<<set $dreamSerin = false>>
<<set $dreamSeryk = false>>
<<set $dreamNimeria = false>>
<<set $dreamSora = false>>
<div class="nimeria-mischief-container" style="background-image: url('images/landscapes/night.webp'); background-size: cover; background-position: center; min-height: 600px; position: relative; border-radius: 10px; overflow: hidden;">
<div class="night-overlay" style="background: linear-gradient(to bottom, rgba(75, 0, 130, 0.8), rgba(139, 0, 139, 0.9)); position: absolute; top: 0; left: 0; right: 0; bottom: 0;"></div>
<div class="mischief-content" style="position: relative; z-index: 2; padding: 30px; text-align: center;">
<h2 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin-bottom: 20px; font-size: 1.8em;">🌙 Dream Manipulation 🌙</h2>
<div class="nimeria-thoughts" style="background: linear-gradient(145deg, rgba(120,80,160,0.3), rgba(100,60,140,0.4)); border: 2px solid rgba(200,150,255,0.4); border-radius: 12px; padding: 20px; margin: 20px auto; max-width: 600px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/nimeria/faceserious.webp" style="width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; line-height: 1.6;"><span class="dialog-nimeria">*My Knight sleeps so peacefully, unaware of the dreams I could weave into his mind. Each dream costs precious mana crystals... but the corruption they could plant might be worth the price.*</span></p>
<div style="clear: left;"></div>
</div>
<div style="background: rgba(75, 50, 100, 0.3); border: 1px solid rgba(120, 80, 150, 0.5); border-radius: 8px; padding: 15px; margin: 20px auto; max-width: 400px;">
<p style="color: #DDA0DD; font-size: 1.1em; margin: 0;"><span style="color: #FFD700;">💎 Mana Crystals:</span> <span style="color: white; font-weight: bold;"><<print $crystals || 0>></span></p>
<p style="color: #C0A0C0; font-size: 0.9em; margin: 5px 0 0 0; font-style: italic;">Dream costs are reduced by attraction</p>
</div>
<!-- TAB MENU SYSTEM -->
<div style="margin: 40px 0;">
<div class="tab-container" style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.9), rgba(35, 35, 40, 0.95)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 15px; padding: 20px; box-shadow: 0 8px 25px rgba(0,0,0,0.4);">
<!-- TAB HEADERS -->
<div class="tab-headers" style="display: flex; justify-content: center; gap: 10px; margin-bottom: 30px; flex-wrap: wrap;">
<div class="tab-header active" onclick="switchTab('rylan')" style="background: linear-gradient(145deg, rgba(120,80,160,0.8), rgba(100,60,140,0.9)); border: 2px solid rgba(200,150,255,0.6); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #DDA0DD; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<print $humanName>>'s Dreams
</div>
<div class="tab-header" onclick="switchTab('seryk')" style="background: linear-gradient(145deg, rgba(60,60,80,0.6), rgba(40,40,60,0.7)); border: 2px solid rgba(150,150,150,0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">
<img src="images/seryk/chapter2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
Seryk's Dreams
</div>
<div class="tab-header" onclick="switchTab('mariel')" style="background: linear-gradient(145deg, rgba(60,60,80,0.6), rgba(40,40,60,0.7)); border: 2px solid rgba(150,150,150,0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
Mariel's Dreams
</div>
<div class="tab-header" onclick="switchTab('liora')" style="background: linear-gradient(145deg, rgba(60,60,80,0.6), rgba(40,40,60,0.7)); border: 2px solid rgba(150,150,150,0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
Liora's Dreams
</div>
<div class="tab-header" onclick="switchTab('nimeria')" style="background: linear-gradient(145deg, rgba(60,60,80,0.6), rgba(40,40,60,0.7)); border: 2px solid rgba(150,150,150,0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
Nimeria's Dreams
</div>
<div class="tab-header" onclick="switchTab('serin')" style="background: linear-gradient(145deg, rgba(60,60,80,0.6), rgba(40,40,60,0.7)); border: 2px solid rgba(150,150,150,0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
Serin's Dreams
</div>
<div class="tab-header" onclick="switchTab('thalor')" style="background: linear-gradient(145deg, rgba(60,60,80,0.6), rgba(40,40,60,0.7)); border: 2px solid rgba(150,150,150,0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
Thalor's Dreams
</div>
<div class="tab-header" onclick="switchTab('sora')" style="background: linear-gradient(145deg, rgba(60,60,80,0.6), rgba(40,40,60,0.7)); border: 2px solid rgba(150,150,150,0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">
<img src="images/sora/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
Sora's Dreams
</div>
</div>
<!-- TAB CONTENT -->
<div class="tab-content">
<!-- RYLAN TAB -->
<div id="rylan-tab" class="tab-panel active" style="display: block;">
<div class="character-influence-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<<if not $rylanDreamSelfGay and not $rylanFemboy>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/rylan/chapter5/dream/selfgay/face4.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>> ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Self passion..."</p>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 3 Crystals</p>
<<if ($crystals || 0) >= 3>><<link "Gay Dream" "RylanSelfGayDream">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif $rylanDreamSelfGay and not $rylanFemboy>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<img src="images/rylan/chapter5/dream/selfgay/face4.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>> ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Self passion..."</p>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 3 Crystals</p>
<<if ($crystals || 0) >= 3>><<link "Revisit Gay Dream" "RylanSelfGayDream">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<</if>>
<<if not $rylanDreamSelfGayDominant and not $rylanFemboy>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/rylan/chapter5/dream/selfgay/face34.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>> ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Dominate self..."</p>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 3 Crystals</p>
<<if ($crystals || 0) >= 3>><<link "Gay Dom Dream" "RylanSelfGayDreamDominantPOV">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif $rylanDreamSelfGayDominant and not $rylanFemboy>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<img src="images/rylan/chapter5/dream/selfgay/face34.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>> ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Dominate self..."</p>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 3 Crystals</p>
<<if ($crystals || 0) >= 3>><<link "Revisit Gay Dom Dream" "RylanSelfGayDreamDominantPOV">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<</if>>
<<if $humanTransformationFeminine and not $rylanDreamSelfHetero>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/rylan/chapter5/dream/selffemale/face20.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>>♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Feminine self..."</p>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 3 Crystals</p>
<<if ($crystals || 0) >= 3>><<link "Fem Dream" "RylanSelfHeteroDream">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif $humanTransformationFeminine and $rylanDreamSelfHetero>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<img src="images/rylan/chapter5/dream/selffemale/face20.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>>♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Feminine self..."</p>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 3 Crystals</p>
<<if ($crystals || 0) >= 3>><<link "Revisit Fem Dream" "RylanSelfHeteroDream">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif not $humanTransformationFeminine>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/rylan/chapter5/dream/selffemale/face20.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>>♀️</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Transformation needed..."</p>
</div>
</div>
<</if>>
<<if not $rylanDreamSelfHeteroDominantPOV>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>>♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Dominate self..."</p>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 3 Crystals</p>
<<if ($crystals || 0) >= 3>><<link "Fem Dom Dream" "RylanSelfHeteroDreamMalePOV">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif $rylanDreamSelfHeteroDominantPOV>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<img src="images/rylan/chapter5/dream/selffemale/face26.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>>♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Dominate self..."</p>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 3 Crystals</p>
<<if ($crystals || 0) >= 3>><<link "Revisit Fem Dom Dream" "RylanSelfHeteroDreamMalePOV">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif not $humanTransformationFeminine>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/rylan/chapter5/dream/selffemale/face26.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>>♀️</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Transformation needed..."</p>
</div>
</div>
<</if>>
<!-- LONG HAREM DREAM OPTION -->
<<set _maleDreamsVisited = 0>>
<<set _femaleDreamsVisited = 0>>
<<if $rylanDreamSerykHarem>><<set _maleDreamsVisited += 1>><</if>>
<<if $rylanDreamSerykFemaleHarem>><<set _femaleDreamsVisited += 1>><</if>>
<<if $rylanDreamThalorHarem>><<set _maleDreamsVisited += 1>><</if>>
<<if $rylanDreamThalorFemaleHarem>><<set _femaleDreamsVisited += 1>><</if>>
<<if $rylanDreamSoraHarem>><<set _maleDreamsVisited += 1>><</if>>
<<if $rylanDreamSoraFemaleHarem>><<set _femaleDreamsVisited += 1>><</if>>
<<if $rylanDreamSerinHarem>><<set _maleDreamsVisited += 1>><</if>>
<<if $rylanDreamSerinFemaleHarem>><<set _femaleDreamsVisited += 1>><</if>>
<<if $rylanDreamLioraHarem>><<set _maleDreamsVisited += 1>><</if>>
<<if $rylanDreamLioraFemaleHarem>><<set _femaleDreamsVisited += 1>><</if>>
<<if $rylanDreamNimeriaHarem>><<set _maleDreamsVisited += 1>><</if>>
<<if $rylanDreamNimeriaFemaleHarem>><<set _femaleDreamsVisited += 1>><</if>>
<<if $rylanDreamMarielHarem>><<set _maleDreamsVisited += 1>><</if>>
<<if $rylanDreamMarielFemaleHarem>><<set _femaleDreamsVisited += 1>><</if>>
<<set _totalDreamsVisited = _maleDreamsVisited + _femaleDreamsVisited>>
<<set _canAccessLongHarem = (_maleDreamsVisited >= 2) or (_femaleDreamsVisited >= 2)>>
<!-- Calculate harem dream cost based on total attraction -->
<<set _totalAttraction = ($rylan_MarielAttraction || 0) + ($rylan_LioraAttraction || 0) + ($rylan_SerinAttraction || 0) + ($rylan_SerykAttraction || 0) + ($rylan_NimeriaAttraction || 0) + ($rylan_ThalorAttraction || 0) + ($rylan_SoraAttraction || 0)>>
<<set _haremCost = Math.max(5, 50 - Math.ceil(_totalAttraction / 20))>>
<<if _canAccessLongHarem and not $rylanDreamLongHaremUnlocked>>
<div class="influence-option-wrapper" style="text-align: center; position: relative; margin-top: 30px;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(150,100,150,0.2), rgba(120,80,120,0.15)); border: 3px solid rgba(200,150,200,0.4); border-radius: 15px; padding: 20px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(150,100,150,0.3); backdrop-filter: blur(5px);">
<div style="font-size: 4em; color: rgba(255,255,255,0.9); text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin-bottom: 10px;">🌙</div>
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.2em; color: rgba(255,215,0,0.9); background: rgba(0,0,0,0.6); border-radius: 50%; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center;">NEW</div>
</div>
<h3 style="color: #F0D0F0; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.3em;">Harem Dream</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"multiple characters..."</p>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _haremCost>> Crystals <<if _haremCost < 50>><</if>></p>
<<if ($crystals || 0) >= _haremCost>><<link "Harem Dream" "Chapter6RylanHaremdreamBodyChoice">><<set $crystals = ($crystals || 0) - _haremCost>><<set $rylanDreamLongHaremUnlocked = true>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif _canAccessLongHarem and $rylanDreamLongHaremUnlocked>>
<div class="influence-option-wrapper" style="text-align: center; position: relative; margin-top: 30px;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(150,100,150,0.2), rgba(120,80,120,0.15)); border: 3px solid rgba(200,150,200,0.4); border-radius: 15px; padding: 20px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(150,100,150,0.3); backdrop-filter: blur(5px); position: relative;">
<div style="font-size: 4em; color: rgba(255,255,255,0.9); text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin-bottom: 10px;">🌙</div>
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #F0D0F0; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.3em;">Harem Dream</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"multiple characters..."</p>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _haremCost>> Crystals <<if _haremCost < 50>> (Revisit)<</if>></p>
<<if ($crystals || 0) >= _haremCost>><<link "Revisit Harem Dream" "Chapter6RylanHaremdreamBodyChoice">><<set $crystals = ($crystals || 0) - _haremCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif not _canAccessLongHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative; margin-top: 30px;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 20px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<div style="font-size: 4em; color: rgba(255,255,255,0.5); text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin-bottom: 10px;">🌙</div>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.3em;">Harem Dream</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Visit 2+ male or female dreams first"</p>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">Progress: <<print _maleDreamsVisited>> male, <<print _femaleDreamsVisited>> female</p>
</div>
</div>
<</if>>
</div>
</div>
</div>
<!-- SERYK TAB -->
<div id="seryk-tab" class="tab-panel" style="display: none;">
<div class="character-influence-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<<if ($rylan_GayValue || 0) > 1 and not $rylanDreamSeryk and not $rylanFemboy>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/seryk/chapter5/dream/face5.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Seryk HJ</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Hj dream..."</p>
<<set _serykAttraction = ($rylan_SerykAttraction || 0)>>
<<set _serykHjCost = Math.max(3, 30 - Math.ceil(_serykAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _serykHjCost>> Crystals <<if _serykHjCost < 30>><</if>></p>
<<if ($crystals || 0) >= _serykHjCost>><<link "HJ Dream" "RylanSerykDream">><<set $crystals = ($crystals || 0) - _serykHjCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif $rylanDreamSeryk and not $rylanFemboy>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<img src="images/seryk/chapter5/dream/face5.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Seryk HJ</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">" HJ dream..."</p>
<<set _serykAttraction = ($rylan_SerykAttraction || 0)>>
<<set _serykHjRevisitCost = Math.max(3, 30 - Math.ceil(_serykAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _serykHjRevisitCost>> Crystals <<if _serykHjRevisitCost < 30>><</if>></p>
<<if ($crystals || 0) >= _serykHjRevisitCost>><<link "Revisit HJ" "RylanSerykDream">><<set $crystals = ($crystals || 0) - _serykHjRevisitCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<</if>>
<<if ($rylan_GayValue || 0) > 1 and not $rylanDreamSerykHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/seryk/dreamsequence/face1.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Seryk ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Gay dream..."</p>
<<set _serykAttraction = ($rylan_SerykAttraction || 0)>>
<<set _serykDreamCost = Math.max(3, 30 - Math.ceil(_serykAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _serykDreamCost>> Crystals <<if _serykDreamCost < 30>><</if>></p>
<<if ($crystals || 0) >= _serykDreamCost>><<link "Seryk Dream" "Chapter6RylanHaremdreamSeryk">><<set $crystals = ($crystals || 0) - _serykDreamCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif ($rylan_GayValue || 0) > 1 and $rylanDreamSerykHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<img src="images/seryk/dreamsequence/face1.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Seryk ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Gay dream..."</p>
<<set _serykAttraction = ($rylan_SerykAttraction || 0)>>
<<set _serykRevisitCost = Math.max(3, 30 - Math.ceil(_serykAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _serykRevisitCost>> Crystals <<if _serykRevisitCost < 30>><</if>></p>
<<if ($crystals || 0) >= _serykRevisitCost>><<link "Revisit Seryk" "Chapter6RylanHaremdreamSeryk">><<set $crystals = ($crystals || 0) - _serykRevisitCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<else>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/seryk/chapter2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Seryk ♂️</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Need Gay Value > 1"</p>
</div>
</div>
<</if>>
<<if $humanTransformationFeminine and not $rylanDreamSerykFemaleHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/seryk/dreamsequence/female/face1.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Seryk ♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Feminine dream..."</p>
<<set _serykAttraction = ($rylan_SerykAttraction || 0)>>
<<set _serykFemDreamCost = Math.max(3, 30 - Math.ceil(_serykAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _serykFemDreamCost>> Crystals <<if _serykFemDreamCost < 30>><</if>></p>
<<if ($crystals || 0) >= _serykFemDreamCost>><<link "Seryk Fem Dream" "Chapter6RylanHaremdreamSerykFemale">><<set $crystals = ($crystals || 0) - _serykFemDreamCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif $humanTransformationFeminine and $rylanDreamSerykFemaleHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<img src="images/seryk/dreamsequence/female/face1.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Seryk ♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Feminine dream..."</p>
<<set _serykAttraction = ($rylan_SerykAttraction || 0)>>
<<set _serykFemRevisitCost = Math.max(3, 30 - Math.ceil(_serykAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _serykFemRevisitCost>> Crystals <<if _serykFemRevisitCost < 30>><</if>></p>
<<if ($crystals || 0) >= _serykFemRevisitCost>><<link "Revisit Seryk Fem" "Chapter6RylanHaremdreamSerykFemale">><<set $crystals = ($crystals || 0) - _serykFemRevisitCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif not $humanTransformationFeminine>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/seryk/dreamsequence/female/face1.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Seryk ♀️</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Transformation needed..."</p>
</div>
</div>
<</if>>
</div>
</div>
<!-- MARIEL TAB -->
<div id="mariel-tab" class="tab-panel" style="display: none;">
<div class="character-influence-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<<if $rylanRomanceMariel and not $rylanDreamMarielHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/mariel/dreamsequence/cowgirl/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Mariel ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Intimate dream..."</p>
<<set _marielAttraction = ($rylan_MarielAttraction || 0)>>
<<set _marielDreamCost = Math.max(3, 30 - Math.ceil(_marielAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _marielDreamCost>> Crystals <<if _marielDreamCost < 30>><</if>></p>
<<if ($crystals || 0) >= _marielDreamCost>><<link "Mariel Dream" "Chapter6RylanHaremdreamMariel">><<set $crystals = ($crystals || 0) - _marielDreamCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif $rylanRomanceMariel and $rylanDreamMarielHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<img src="images/mariel/dreamsequence/cowgirl/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Mariel ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Intimate dream..."</p>
<<set _marielAttraction = ($rylan_MarielAttraction || 0)>>
<<set _marielRevisitCost = Math.max(3, 30 - Math.ceil(_marielAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _marielRevisitCost>> Crystals <<if _marielRevisitCost < 30>><</if>></p>
<<if ($crystals || 0) >= _marielRevisitCost>><<link "Revisit Mariel" "Chapter6RylanHaremdreamMariel">><<set $crystals = ($crystals || 0) - _marielRevisitCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<</if>>
<<if $humanTransformationFeminine and $rylanRomanceMariel and not $rylanDreamMarielFemaleHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/mariel/dreamsequence/female/face1.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Mariel ♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Feminine dream..."</p>
<<set _marielAttraction = ($rylan_MarielAttraction || 0)>>
<<set _marielFemDreamCost = Math.max(3, 30 - Math.ceil(_marielAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _marielFemDreamCost>> Crystals <<if _marielFemDreamCost < 30>><</if>></p>
<<if ($crystals || 0) >= _marielFemDreamCost>><<link "Mariel Fem Dream" "Chapter6RylanHaremdreamMarielFemale">><<set $crystals = ($crystals || 0) - _marielFemDreamCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif $humanTransformationFeminine and $rylanRomanceMariel and $rylanDreamMarielFemaleHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<img src="images/mariel/dreamsequence/female/face1.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Mariel ♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Feminine dream..."</p>
<<set _marielAttraction = ($rylan_MarielAttraction || 0)>>
<<set _marielFemRevisitCost = Math.max(3, 30 - Math.ceil(_marielAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _marielFemRevisitCost>> Crystals <<if _marielFemRevisitCost < 30>><</if>></p>
<<if ($crystals || 0) >= _marielFemRevisitCost>><<link "Revisit Mariel Fem" "Chapter6RylanHaremdreamMarielFemale">><<set $crystals = ($crystals || 0) - _marielFemRevisitCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif not $humanTransformationFeminine and $rylanRomanceMariel>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/mariel/dreamsequence/female/face1.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Mariel ♀️</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Transformation needed..."</p>
</div>
</div>
<<elseif not $rylanRomanceMariel>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/mariel/dreamsequence/female/face1.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Mariel</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"No romance yet..."</p>
</div>
</div>
<</if>>
</div>
</div>
<!-- LIORA TAB -->
<div id="liora-tab" class="tab-panel" style="display: none;">
<div class="character-influence-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<<if not $rylanDreamLioraHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/liora/dreamsequence/missionary/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Liora ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Intimate dream..."</p>
<<set _lioraAttraction = ($rylan_LioraAttraction || 0)>>
<<set _lioraDreamCost = Math.max(3, 30 - Math.ceil(_lioraAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _lioraDreamCost>> Crystals <<if _lioraDreamCost < 30>><</if>></p>
<<if ($crystals || 0) >= _lioraDreamCost>><<link "Liora Dream" "Chapter6RylanHaremdreamSequence">><<set $crystals = ($crystals || 0) - _lioraDreamCost>><<set $dreamBodyType = "male">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<else>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<img src="images/liora/dreamsequence/missionary/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Liora ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Intimate dream..."</p>
<<set _lioraAttraction = ($rylan_LioraAttraction || 0)>>
<<set _lioraRevisitCost = Math.max(3, 30 - Math.ceil(_lioraAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _lioraRevisitCost>> Crystals <<if _lioraRevisitCost < 30>><</if>></p>
<<if ($crystals || 0) >= _lioraRevisitCost>><<link "Revisit Liora" "Chapter6RylanHaremdreamSequence">><<set $crystals = ($crystals || 0) - _lioraRevisitCost>><<set $dreamBodyType = "male">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<</if>>
<<if $humanTransformationFeminine and not $rylanDreamLioraFemaleHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/liora/dreamsequence/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Liora ♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Feminine dream..."</p>
<<set _lioraAttraction = ($rylan_LioraAttraction || 0)>>
<<set _lioraFemDreamCost = Math.max(3, 30 - Math.ceil(_lioraAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _lioraFemDreamCost>> Crystals <<if _lioraFemDreamCost < 30>><</if>></p>
<<if ($crystals || 0) >= _lioraFemDreamCost>><<link "Liora Fem Dream" "Chapter6RylanHaremdreamSequence">><<set $crystals = ($crystals || 0) - _lioraFemDreamCost>><<set $dreamBodyType = "female">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif $humanTransformationFeminine and $rylanDreamLioraFemaleHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<img src="images/liora/dreamsequence/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Liora ♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Feminine dream..."</p>
<<set _lioraAttraction = ($rylan_LioraAttraction || 0)>>
<<set _lioraFemRevisitCost = Math.max(3, 30 - Math.ceil(_lioraAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _lioraFemRevisitCost>> Crystals <<if _lioraFemRevisitCost < 30>><</if>></p>
<<if ($crystals || 0) >= _lioraFemRevisitCost>><<link "Revisit Liora Fem" "Chapter6RylanHaremdreamSequence">><<set $crystals = ($crystals || 0) - _lioraFemRevisitCost>><<set $dreamBodyType = "female">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif not $humanTransformationFeminine>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/liora/dreamsequence/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Liora ♀️</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Transformation needed..."</p>
</div>
</div>
<</if>>
</div>
</div>
<!-- NIMERIA TAB -->
<div id="nimeria-tab" class="tab-panel" style="display: none;">
<div class="character-influence-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<<if not $rylanDreamNimeriaHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/nimeria/dreamsequence/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Nimeria ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Seductive dream..."</p>
<<set _nimeriaAttraction = ($rylan_NimeriaAttraction || 0)>>
<<set _nimeriaDreamCost = Math.max(3, 30 - Math.ceil(_nimeriaAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _nimeriaDreamCost>> Crystals <<if _nimeriaDreamCost < 30>><</if>></p>
<<if ($crystals || 0) >= _nimeriaDreamCost>><<link "Nimeria Dream" "Chapter6RylanHaremdreamNimeria">><<set $crystals = ($crystals || 0) - _nimeriaDreamCost>><<set $rylanDreamNimeriaHarem = true>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<else>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<img src="images/nimeria/dreamsequence/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Nimeria ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Seductive dream..."</p>
<<set _nimeriaAttraction = ($rylan_NimeriaAttraction || 0)>>
<<set _nimeriaRevisitCost = Math.max(3, 30 - Math.ceil(_nimeriaAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _nimeriaRevisitCost>> Crystals <<if _nimeriaRevisitCost < 30>><</if>></p>
<<if ($crystals || 0) >= _nimeriaRevisitCost>><<link "Revisit Nimeria" "Chapter6RylanHaremdreamNimeria">><<set $crystals = ($crystals || 0) - _nimeriaRevisitCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<</if>>
<<if $humanTransformationFeminine and not $rylanDreamNimeriaFemaleHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/nimeria/dreamsequence/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Nimeria ♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Feminine dream..."</p>
<<set _nimeriaAttraction = ($rylan_NimeriaAttraction || 0)>>
<<set _nimeriaFemDreamCost = Math.max(3, 30 - Math.ceil(_nimeriaAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _nimeriaFemDreamCost>> Crystals <<if _nimeriaFemDreamCost < 30>><</if>></p>
<<if ($crystals || 0) >= _nimeriaFemDreamCost>><<link "Nimeria Fem Dream" "Chapter6RylanHaremdreamNimeriaFemale">><<set $crystals = ($crystals || 0) - _nimeriaFemDreamCost>><<set $rylanDreamNimeriaFemaleHarem = true>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif $humanTransformationFeminine and $rylanDreamNimeriaFemaleHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<img src="images/nimeria/dreamsequence/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Nimeria ♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Feminine dream..."</p>
<<set _nimeriaAttraction = ($rylan_NimeriaAttraction || 0)>>
<<set _nimeriaFemRevisitCost = Math.max(3, 30 - Math.ceil(_nimeriaAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _nimeriaFemRevisitCost>> Crystals <<if _nimeriaFemRevisitCost < 30>><</if>></p>
<<if ($crystals || 0) >= _nimeriaFemRevisitCost>><<link "Revisit Nimeria Fem" "Chapter6RylanHaremdreamNimeriaFemale">><<set $crystals = ($crystals || 0) - _nimeriaFemRevisitCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif not $humanTransformationFeminine>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/nimeria/dreamsequence/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Nimeria ♀️</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Transformation needed..."</p>
</div>
</div>
<</if>>
<<if $rylanNimeriaSex>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<<if $rylanFemboy>>
<img src="images/nimeria/chapter6/rylansex/kiss/kiss1/femboy/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/nimeria/chapter6/rylansex/kiss/kiss1/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<<if $ch7NimeriaSexMemoryVisited>>
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
<</if>>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Nimeria 💋</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Remember our first time..."</p>
<<set _nimeriaAttraction = ($rylan_NimeriaAttraction || 0)>>
<<set _nimeriaSexMemoryCost = Math.max(3, 50 - Math.ceil(_nimeriaAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _nimeriaSexMemoryCost>> Crystals <<if _nimeriaSexMemoryCost < 50>><</if>></p>
<<if ($crystals || 0) >= _nimeriaSexMemoryCost>><<link "Sex Memory" "Ch7NimeriaSexMemoryIntro">><<set $crystals = ($crystals || 0) - _nimeriaSexMemoryCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<</if>>
</div>
</div>
<!-- SERIN TAB -->
<div id="serin-tab" class="tab-panel" style="display: none;">
<div class="character-influence-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<<if not $rylanDreamSerinHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<<if $serinFutanariTransformation>>
<img src="images/serin/dreamsequence/futa/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/serin/dreamsequence/cowgirl/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Serin ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Male dream..."</p>
<<set _serinAttraction = ($rylan_SerinAttraction || 0)>>
<<set _serinDreamCost = Math.max(3, 30 - Math.ceil(_serinAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _serinDreamCost>> Crystals <<if _serinDreamCost < 30>><</if>></p>
<<if ($crystals || 0) >= _serinDreamCost>><<link "Serin Dream" "Chapter6RylanHaremdreamSerin">><<set $crystals = ($crystals || 0) - _serinDreamCost>><<set $dreamBodyType = "male">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<else>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<<if $serinFutanariTransformation>>
<img src="images/serin/dreamsequence/futa/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/serin/dreamsequence/cowgirl/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Serin ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Male dream..."</p>
<<set _serinAttraction = ($rylan_SerinAttraction || 0)>>
<<set _serinRevisitCost = Math.max(3, 30 - Math.ceil(_serinAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _serinRevisitCost>> Crystals <<if _serinRevisitCost < 30>><</if>></p>
<<if ($crystals || 0) >= _serinRevisitCost>><<link "Revisit Serin" "Chapter6RylanHaremdreamSerin">><<set $crystals = ($crystals || 0) - _serinRevisitCost>><<set $dreamBodyType = "male">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<</if>>
<<if $humanTransformationFeminine and not $rylanDreamSerinFemaleHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<<if $serinFutanariTransformation>>
<img src="images/serin/dreamsequence/futa/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<<else>>
<img src="images/serin/dreamsequence/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<</if>>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Serin ♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Feminine dream..."</p>
<<set _serinAttraction = ($rylan_SerinAttraction || 0)>>
<<set _serinFemDreamCost = Math.max(3, 30 - Math.ceil(_serinAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _serinFemDreamCost>> Crystals <<if _serinFemDreamCost < 30>><</if>></p>
<<if ($crystals || 0) >= _serinFemDreamCost>><<link "Serin Fem Dream" "Chapter6RylanHaremdreamSerin">><<set $crystals = ($crystals || 0) - _serinFemDreamCost>><<set $dreamBodyType = "female">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif $humanTransformationFeminine and $rylanDreamSerinFemaleHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<<if $serinFutanariTransformation>>
<img src="images/serin/dreamsequence/futa/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<<else>>
<img src="images/serin/dreamsequence/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<</if>>
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Serin ♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Feminine dream..."</p>
<<set _serinAttraction = ($rylan_SerinAttraction || 0)>>
<<set _serinFemRevisitCost = Math.max(3, 30 - Math.ceil(_serinAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _serinFemRevisitCost>> Crystals <<if _serinFemRevisitCost < 30>><</if>></p>
<<if ($crystals || 0) >= _serinFemRevisitCost>><<link "Revisit Serin Fem" "Chapter6RylanHaremdreamSerin">><<set $crystals = ($crystals || 0) - _serinFemRevisitCost>><<set $dreamBodyType = "female">><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif not $humanTransformationFeminine>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<<if $serinFutanariTransformation>>
<img src="images/serin/dreamsequence/futa/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<<else>>
<img src="images/serin/dreamsequence/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<</if>>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Serin ♀️</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Transformation needed..."</p>
</div>
</div>
<</if>>
</div>
</div>
<!-- THALOR TAB -->
<div id="thalor-tab" class="tab-panel" style="display: none;">
<div class="character-influence-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<<if ($rylan_GayValue || 0) > 1 and not $rylanDreamThalorHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/thalor/dreamsequence/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Thalor ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Dominant dream..."</p>
<<set _thalorAttraction = ($rylan_ThalorAttraction || 0)>>
<<set _thalorDreamCost = Math.max(3, 30 - Math.ceil(_thalorAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _thalorDreamCost>> Crystals <<if _thalorDreamCost < 30>><</if>></p>
<<if ($crystals || 0) >= _thalorDreamCost>><<link "Thalor Dream" "Chapter6RylanHaremdreamThalor">><<set $crystals = ($crystals || 0) - _thalorDreamCost>><<set $rylanDreamThalorHarem = true>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif ($rylan_GayValue || 0) > 1 and $rylanDreamThalorHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<img src="images/thalor/dreamsequence/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Thalor ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Dominant dream..."</p>
<<set _thalorAttraction = ($rylan_ThalorAttraction || 0)>>
<<set _thalorRevisitCost = Math.max(3, 30 - Math.ceil(_thalorAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _thalorRevisitCost>> Crystals <<if _thalorRevisitCost < 30>><</if>></p>
<<if ($crystals || 0) >= _thalorRevisitCost>><<link "Revisit Thalor" "Chapter6RylanHaremdreamThalor">><<set $crystals = ($crystals || 0) - _thalorRevisitCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<else>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/thalor/dreamsequence/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Thalor ♂️</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Need Gay Value > 1"</p>
</div>
</div>
<</if>>
<<if $humanTransformationFeminine and not $rylanDreamThalorFemaleHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/thalor/dreamsequence/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Thalor ♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Feminine dream..."</p>
<<set _thalorAttraction = ($rylan_ThalorAttraction || 0)>>
<<set _thalorFemDreamCost = Math.max(3, 30 - Math.ceil(_thalorAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _thalorFemDreamCost>> Crystals <<if _thalorFemDreamCost < 30>><</if>></p>
<<if ($crystals || 0) >= _thalorFemDreamCost>><<link "Thalor Fem Dream" "Chapter6RylanHaremdreamThalorFemale">><<set $crystals = ($crystals || 0) - _thalorFemDreamCost>><<set $rylanDreamThalorFemaleHarem = true>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif $humanTransformationFeminine and $rylanDreamThalorFemaleHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<img src="images/thalor/dreamsequence/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Thalor ♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Feminine dream..."</p>
<<set _thalorAttraction = ($rylan_ThalorAttraction || 0)>>
<<set _thalorFemRevisitCost = Math.max(3, 30 - Math.ceil(_thalorAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _thalorFemRevisitCost>> Crystals <<if _thalorFemRevisitCost < 30>><</if>></p>
<<if ($crystals || 0) >= _thalorFemRevisitCost>><<link "Revisit Thalor Fem" "Chapter6RylanHaremdreamThalorFemale">><<set $crystals = ($crystals || 0) - _thalorFemRevisitCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif not $humanTransformationFeminine>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/thalor/dreamsequence/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Thalor ♀️</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Transformation needed..."</p>
</div>
</div>
<</if>>
</div>
</div>
<!-- SORA TAB -->
<div id="sora-tab" class="tab-panel" style="display: none;">
<div class="character-influence-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<<if not $rylanDreamSoraHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/sora/dreamsequence/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Sora ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Male dream..."</p>
<<set _soraAttraction = ($rylan_SoraAttraction || 0)>>
<<set _soraDreamCost = Math.max(3, 30 - Math.ceil(_soraAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _soraDreamCost>> Crystals <<if _soraDreamCost < 30>><</if>></p>
<<if ($crystals || 0) >= _soraDreamCost>><<link "Sora Dream" "Chapter6RylanHaremdreamSora">><<set $crystals = ($crystals || 0) - _soraDreamCost>><<set $rylanDreamSoraHarem = true>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif $rylanDreamSoraHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<img src="images/sora/dreamsequence/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Sora ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Feline dream..."</p>
<<set _soraAttraction = ($rylan_SoraAttraction || 0)>>
<<set _soraRevisitCost = Math.max(3, 30 - Math.ceil(_soraAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _soraRevisitCost>> Crystals <<if _soraRevisitCost < 30>><</if>></p>
<<if ($crystals || 0) >= _soraRevisitCost>><<link "Revisit Sora" "Chapter6RylanHaremdreamSora">><<set $crystals = ($crystals || 0) - _soraRevisitCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<else>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/sora/dreamsequence/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Sora ♂️</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Need Gay Value > 1"</p>
</div>
</div>
<</if>>
<<if $humanTransformationFeminine and not $rylanDreamSoraFemaleHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/sora/dreamsequence/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Sora ♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Feminine dream..."</p>
<<set _soraAttraction = ($rylan_SoraAttraction || 0)>>
<<set _soraFemDreamCost = Math.max(3, 30 - Math.ceil(_soraAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _soraFemDreamCost>> Crystals <<if _soraFemDreamCost < 30>><</if>></p>
<<if ($crystals || 0) >= _soraFemDreamCost>><<link "Sora Fem Dream" "Chapter6RylanHaremdreamSoraFemale">><<set $crystals = ($crystals || 0) - _soraFemDreamCost>><<set $rylanDreamSoraFemaleHarem = true>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif $humanTransformationFeminine and $rylanDreamSoraFemaleHarem>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<img src="images/sora/dreamsequence/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Sora ♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Feminine dream..."</p>
<<set _soraAttraction = ($rylan_SoraAttraction || 0)>>
<<set _soraFemRevisitCost = Math.max(3, 30 - Math.ceil(_soraAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _soraFemRevisitCost>> Crystals <<if _soraFemRevisitCost < 30>><</if>></p>
<<if ($crystals || 0) >= _soraFemRevisitCost>><<link "Revisit Sora Fem" "Chapter6RylanHaremdreamSoraFemale">><<set $crystals = ($crystals || 0) - _soraFemRevisitCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif not $humanTransformationFeminine>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/sora/dreamsequence/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Sora ♀️</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Transformation needed..."</p>
</div>
</div>
<</if>>
<<if $humanTransformationFeminine and $currentChapter >= 7 and not $rylanDreamSoraFemaleTiedUp>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/sora/chapter7/dream/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Tied up x Sora ♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Bondage dream..."</p>
<<set _soraAttraction = ($rylan_SoraAttraction || 0)>>
<<set _soraTiedUpDreamCost = Math.max(3, 50 - Math.ceil(_soraAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _soraTiedUpDreamCost>> Crystals <<if _soraTiedUpDreamCost < 50>><</if>></p>
<<if ($crystals || 0) >= _soraTiedUpDreamCost>><<link "Sora Tied Dream" "Chapter7RylanFemaleDreamSoraTiedUp">><<set $crystals = ($crystals || 0) - _soraTiedUpDreamCost>><<set $rylanDreamSoraFemaleTiedUp = true>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif $humanTransformationFeminine and $currentChapter >= 7 and $rylanDreamSoraFemaleTiedUp>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<img src="images/sora/chapter7/dream/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Tied up x Sora ♀️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Bondage dream..."</p>
<<set _soraAttraction = ($rylan_SoraAttraction || 0)>>
<<set _soraTiedUpRevisitCost = Math.max(3, 50 - Math.ceil(_soraAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _soraTiedUpRevisitCost>> Crystals (Revisit)</p>
<<if ($crystals || 0) >= _soraTiedUpRevisitCost>><<link "Revisit Sora Tied" "Chapter7RylanFemaleDreamSoraTiedUp">><<set $crystals = ($crystals || 0) - _soraTiedUpRevisitCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif not $humanTransformationFeminine and $currentChapter >= 7>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/sora/chapter7/dream/female/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Tied up x Sora ♀️</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Transformation needed..."</p>
</div>
</div>
<</if>>
<<if $currentChapter >= 7 and not $rylanDreamSoraMaleTiedUp and $rylanMasculine>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/sora/chapter7/dream/male/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Tied up x Sora ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Bondage dream..."</p>
<<set _soraAttraction = ($rylan_SoraAttraction || 0)>>
<<set _soraMaleTiedDreamCost = Math.max(3, 50 - Math.ceil(_soraAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _soraMaleTiedDreamCost>> Crystals <<if _soraMaleTiedDreamCost < 50>><</if>></p>
<<if ($crystals || 0) >= _soraMaleTiedDreamCost>><<link "Sora Male Tied Dream" "Chapter7RylanDreamSoraMaleTiedUp">><<set $crystals = ($crystals || 0) - _soraMaleTiedDreamCost>><<set $rylanDreamSoraMaleTiedUp = true>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<<elseif $currentChapter >= 7 and $rylanDreamSoraMaleTiedUp and $rylanMasculine>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<img src="images/sora/chapter7/dream/male/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<div style="position: absolute; top: 10px; right: 10px; font-size: 1.5em; color: rgba(255,255,255,0.8); background: rgba(0,0,0,0.6); border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;">✓</div>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Tied up x Sora ♂️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Bondage dream..."</p>
<<set _soraAttraction = ($rylan_SoraAttraction || 0)>>
<<set _soraMaleTiedRevisitCost = Math.max(3, 50 - Math.ceil(_soraAttraction / 20))>>
<p style="color: #FFD700; font-size: 0.8em; margin: 5px 0 0 0;">💎 <<print _soraMaleTiedRevisitCost>> Crystals (Revisit)</p>
<<if ($crystals || 0) >= _soraMaleTiedRevisitCost>><<link "Revisit Sora Male Tied" "Chapter7RylanDreamSoraMaleTiedUp">><<set $crystals = ($crystals || 0) - _soraMaleTiedRevisitCost>><</link>><<else>><span style="color: #666; font-style: italic;">Not enough crystals</span><</if>>
</div>
</div>
<</if>>
</div>
</div>
<!-- NAVIGATION -->
<center>
<div class="sleep-option" style="margin-top: 50px;">
<div class="return-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease;" onclick="SugarCube.Engine.play('NightActivityChoices');">
<div style="background: linear-gradient(145deg, rgba(120,80,160,0.2), rgba(100,60,140,0.3)); border: 2px solid rgba(200,150,255,0.3); border-radius: 10px; padding: 15px 25px; display: inline-block; box-shadow: 0 4px 8px rgba(0,0,0,0.3); backdrop-filter: blur(3px);">
<h3 style="color: #DDA0DD; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; font-size: 1.1em;">Return to Night Activities</h3>
<p style="color: #C0A0C0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 5px 0 0 0; font-style: italic;">"Perhaps someone else needs my attention..."</p>
</div>
</div>
</div>
</center>
</div>
<</nobr>>
<style>
.tab-header {
transition: all 0.3s ease;
}
.tab-header:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}
.tab-header.active {
background: linear-gradient(145deg, rgba(120,80,160,0.8), rgba(100,60,140,0.9)) !important;
border-color: rgba(200,150,255,0.6) !important;
color: #DDA0DD !important;
}
.tab-panel {
display: none;
}
.tab-panel.active {
display: block;
}
.influence-option-wrapper {
width: 180px;
height: 490px;
display: flex;
flex-direction: column;
justify-content: flex-start;
margin-bottom: 20px;
}
.influence-option, .used-option, .locked-option {
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
padding: 10px;
}
.character-frame {
height: 150px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 15px;
flex-shrink: 0;
}
.influence-option:hover {
transform: translateY(-5px) scale(1.05);
opacity: 0.9;
}
.influence-option:hover .character-frame {
border-color: rgba(255,255,255,0.5);
box-shadow: 0 12px 24px rgba(0,0,0,0.4);
}
.return-option:hover {
transform: translateY(-3px) scale(1.02);
opacity: 0.9;
}
.mischief-content a {
color: #DDA0DD;
text-decoration: none;
background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(255,255,255,0.1));
border: 1px solid rgba(255,255,255,0.3);
border-radius: 8px;
padding: 10px 20px;
display: inline-block;
margin-top: 10px;
transition: all 0.3s ease;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
font-weight: bold;
font-size: 1.1em;
}
.return-option a {
color: inherit;
text-decoration: none;
display: block;
width: 100%;
height: 100%;
}
.return-option a:hover {
color: inherit;
text-decoration: none;
}
/* Make the dream links consistent across all tabs */
.character-influence-options .influence-option a,
.character-influence-options .influence-option a:visited,
.character-influence-options .used-option a,
.character-influence-options .used-option a:visited,
.character-influence-options .locked-option a,
.character-influence-options .locked-option a:visited {
color: #DDA0DD;
text-decoration: none;
background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(255,255,255,0.1));
border: 1px solid rgba(255,255,255,0.3);
border-radius: 8px;
padding: 10px 20px;
display: inline-block;
margin-top: 10px;
transition: all 0.3s ease;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
font-weight: bold;
font-size: 1.1em;
cursor: pointer;
}
.character-influence-options .influence-option a:hover,
.character-influence-options .used-option a:hover,
.character-influence-options .locked-option a:hover {
transform: translateY(-3px) scale(1.02);
opacity: 0.9;
}
</style>
<script>
function switchTab(tabName) {
// Hide all tab panels
const panels = document.querySelectorAll('.tab-panel');
panels.forEach(panel => {
panel.classList.remove('active');
panel.style.display = 'none';
});
// Remove active class from all headers
const headers = document.querySelectorAll('.tab-header');
headers.forEach(header => {
header.classList.remove('active');
header.style.background = 'linear-gradient(145deg, rgba(60,60,80,0.6), rgba(40,40,60,0.7))';
header.style.borderColor = 'rgba(150,150,150,0.3)';
header.style.color = '#AAA';
});
// Show selected tab panel
const selectedPanel = document.getElementById(tabName + '-tab');
if (selectedPanel) {
selectedPanel.classList.add('active');
selectedPanel.style.display = 'block';
}
// Activate selected header
const selectedHeader = document.querySelector(`[onclick="switchTab('${tabName}')"]`);
if (selectedHeader) {
selectedHeader.classList.add('active');
selectedHeader.style.background = 'linear-gradient(145deg, rgba(120,80,160,0.8), rgba(100,60,140,0.9))';
selectedHeader.style.borderColor = 'rgba(200,150,255,0.6)';
selectedHeader.style.color = '#DDA0DD';
}
}
</script>
<<changeFace $currentNimeriaFace>>
<<statSummary>><<nobr>>
<div class="passage-container rylan">
<<narrative "You Return to the Dungeons Throneroom.">>
<center><img src="images/landscapes/lustdungeonthrone.webp" style="max-width: 500px; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); margin: 20px 0;"></center>
<!-- Dungeon Choices Section -->
<div style="margin: 40px 0; background: linear-gradient(135deg, rgba(25, 25, 35, 0.95), rgba(45, 45, 55, 0.98)); border: 3px solid rgba(100, 100, 100, 0.6); border-radius: 25px; padding: 30px; box-shadow: 0 10px 30px rgba(0,0,0,0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #6B6B6B, #4A4A4A, #2C2C2C);"></div>
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; margin: 0 0 15px 0; font-size: 2.5em; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">🏰 Dungeon Options 🏰</h2>
<p style="color: #B0B0B0; font-style: italic; margin: 0; font-size: 1.2em; text-shadow: 1px 1px 4px rgba(0,0,0,0.6);">Choose how to interact with the mysterious dungeon</p>
</div>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; margin: 20px 0;">
<!-- Explore Dungeon Choice -->
<div style="background: linear-gradient(145deg, rgba(139, 0, 139, 0.15), rgba(75, 0, 130, 0.2)); border: 2px solid rgba(139, 0, 139, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(139, 0, 139, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(139, 0, 139, 0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(139, 0, 139, 0.3)'">
<div style="font-size: 4em; margin-bottom: 15px;">🔍</div>
<h3 style="color: #DDA0DD; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Explore Dungeon</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Venture into the dungeon's depths to collect ressources, and uncover the mysteries hidden within its walls.</p>
<div style="background: linear-gradient(145deg, rgba(139, 0, 139, 0.3), rgba(75, 0, 130, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('LustDungeonJourney')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Enter Dungeon</a>
</div>
</div>
<!-- Upgrade Dungeon Choice -->
<<if $dungeonTutorialStep >= 4>>
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.15), rgba(255, 165, 0, 0.2)); border: 2px solid rgba(255, 215, 0, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 215, 0, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(255, 215, 0, 0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(255, 215, 0, 0.3)'">
<div style="font-size: 4em; margin-bottom: 15px;">⚙️</div>
<h3 style="color: #FFD700; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Manage Dungeon City</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Modify and enhance the dungeon city's structure, build new facilities, and upgrade your domain.</p>
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.3), rgba(255, 165, 0, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('DungeonManagementMenu')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Enter Management</a>
</div>
</div>
<<else>>
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(169, 169, 169, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8); z-index: 2;">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.5;">⚙️</div>
<h3 style="color: #A9A9A9; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Manage Dungeon City</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Modify and enhance the dungeon city's structure. <strong>Complete the dungeon tutorial first</strong></p>
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.3), rgba(169, 169, 169, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<span style="color: #CCCCCC; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Locked</span>
</div>
</div>
<</if>>
<!-- Upgrade Dungeon Choice -->
<<if $goblinBuildingsAdded && $goblinTavernPlaced && $goblinBarracksPlaced && $prisonPlaced && $goblinMansionPlaced>>
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.15), rgba(255, 165, 0, 0.2)); border: 2px solid rgba(255, 215, 0, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 215, 0, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(255, 215, 0, 0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(255, 215, 0, 0.3)'">
<div style="font-size: 4em; margin-bottom: 15px;">⬆️</div>
<h3 style="color: #FFD700; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Upgrade Dungeon</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Strengthen your dungeon's core and expand your domain's capabilities with powerful upgrades.</p>
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.3), rgba(255, 165, 0, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('DungeonUpgradeMenu')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Upgrade Core</a>
</div>
</div>
<</if>>
<!-- Visit Dungeon City Choice -->
<<if $dungeonTutorialStep >= 4>>
<div style="background: linear-gradient(145deg, rgba(50, 205, 50, 0.15), rgba(34, 139, 34, 0.2)); border: 2px solid rgba(50, 205, 50, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(50, 205, 50, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(50, 205, 50, 0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(50, 205, 50, 0.3)'">
<div style="font-size: 4em; margin-bottom: 15px;">🏙️</div>
<h3 style="color: #32CD32; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Visit Dungeon City</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Explore the bustling city within your dungeon, interact with residents, and discover new opportunities.</p>
<div style="background: linear-gradient(145deg, rgba(50, 205, 50, 0.3), rgba(34, 139, 34, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('DungeonCityChoices')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Enter City</a>
</div>
</div>
<<else>>
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(169, 169, 169, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8); z-index: 2;">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.5;">🏙️</div>
<h3 style="color: #A9A9A9; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Visit Dungeon City</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Explore the city within your dungeon. <strong>Complete the dungeon tutorial first</strong></p>
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.3), rgba(169, 169, 169, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<span style="color: #CCCCCC; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Locked</span>
</div>
</div>
<</if>>
<!-- Troop Management Choice -->
<<if $goblinBuildingsAdded && $goblinTavernPlaced && $goblinBarracksPlaced && $prisonPlaced && $goblinMansionPlaced>>
<div style="background: linear-gradient(145deg, rgba(255, 107, 53, 0.15), rgba(255, 140, 0, 0.2)); border: 2px solid rgba(255, 107, 53, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 107, 53, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(255, 107, 53, 0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(255, 107, 53, 0.3)'">
<div style="font-size: 4em; margin-bottom: 15px;">⚔️</div>
<h3 style="color: #FF6B35; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Troop Management</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Train and upgrade your goblin warriors to strengthen your dungeon's defenses and increase your Eros power.</p>
<div style="background: linear-gradient(145deg, rgba(255, 107, 53, 0.3), rgba(255, 140, 0, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('TroopManagementMenu')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Manage Troops</a>
</div>
</div>
<<else>>
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(169, 169, 169, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8); z-index: 2;">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.5;">⚔️</div>
<h3 style="color: #A9A9A9; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Troop Management</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Train and upgrade your troops. <strong>Complete the goblin tutorial first</strong></p>
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.3), rgba(169, 169, 169, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<span style="color: #CCCCCC; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Locked</span>
</div>
</div>
<</if>>
<!-- Dungeon Defense Status -->
<<if $goblinBuildingsAdded && $goblinTavernPlaced && $goblinBarracksPlaced && $prisonPlaced && $goblinMansionPlaced>>
<div style="background: linear-gradient(145deg, rgba(220, 20, 60, 0.15), rgba(255, 69, 0, 0.2)); border: 2px solid rgba(220, 20, 60, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(220, 20, 60, 0.3);">
<div style="font-size: 4em; margin-bottom: 15px;">🛡️</div>
<h3 style="color: #FF6347; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Dungeon Defense</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Your dungeon is ready for battle! Engage Stormark forces in tactical combat to defend your territory.</p>
<div style="background: linear-gradient(145deg, rgba(220, 20, 60, 0.3), rgba(255, 69, 0, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('DungeonDefenseEncounter')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">⚔️ Defend Dungeon</a>
</div>
</div>
<<else>>
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(169, 169, 169, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8); z-index: 2;">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.5;">🛡️</div>
<h3 style="color: #A9A9A9; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Dungeon Defense</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Defend your dungeon against Stormark attacks. <strong>Complete the goblin tutorial first</strong></p>
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.3), rgba(169, 169, 169, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<span style="color: #CCCCCC; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Locked</span>
</div>
</div>
<</if>>
<!-- Configure Dungeon Battles -->
<<if $goblinBuildingsAdded && $goblinTavernPlaced && $goblinBarracksPlaced && $prisonPlaced && $goblinMansionPlaced>>
<div style="background: linear-gradient(145deg, rgba(75, 0, 130, 0.15), rgba(138, 43, 226, 0.2)); border: 2px solid rgba(75, 0, 130, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(75, 0, 130, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(75, 0, 130, 0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(75, 0, 130, 0.3)'">
<div style="font-size: 4em; margin-bottom: 15px;">⚙️</div>
<h3 style="color: #9370DB; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Configure Dungeon Battles</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Customize your dungeon defense settings and battle preferences for optimal combat strategy.</p>
<div style="background: linear-gradient(145deg, rgba(75, 0, 130, 0.3), rgba(138, 43, 226, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('DungeonBattleConfig')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">⚙️ Configure Battles</a>
</div>
</div>
<<else>>
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(169, 169, 169, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8); z-index: 2;">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.5;">⚙️</div>
<h3 style="color: #A9A9A9; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Configure Dungeon Battles</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Customize your dungeon defense settings. <strong>Complete the goblin tutorial first</strong></p>
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.3), rgba(169, 169, 169, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<span style="color: #CCCCCC; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Locked</span>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 25px; padding-top: 20px; border-top: 2px solid rgba(100, 100, 100, 0.3);">
<p style="color: #B0B0B0; font-style: italic; margin: 0; font-size: 1em; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">💀 Choose your path into the darkness 💀</p>
</div>
</div>
<<continueBox "MorningActivityChoices" "Return" "Go back to morning activities">>
</div>
<</nobr>>
<<script>>
// Ensure keyboard shortcuts are enabled for this passage
if (window.KeyboardChoiceSystem) {
window.KeyboardChoiceSystem._disabled = false;
}
<</script>><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(50, 205, 50, 0.15), rgba(34, 139, 34, 0.2)); border: 2px solid rgba(50, 205, 50, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(50, 205, 50, 0.3); margin-bottom: 30px;">
<h2 style="color: #32CD32; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🏙️ Dungeon City 🏙️</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">Welcome to your thriving dungeon city!</p>
</div>
<center><img src="images/dungeonbuildings/dungeoncity.webp" style="max-width: 500px; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); margin: 20px 0;"></center>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; margin: 30px 0;">
<!-- Wardrobe Choice -->
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 182, 193, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 182, 193, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(255, 182, 193, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(255, 182, 193, 0.3)'"
onclick="SugarCube.Engine.play('WardrobeRylan')">
<div style="font-size: 4em; margin-bottom: 15px;">👗</div>
<h3 style="color: #FFB6C1; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Wardrobe</h3>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">Manage your clothing and appearance</p>
</div>
<!-- Sora's Fashion Shop Choice -->
<<if $soraJoinedFamily>>
<div style="background: linear-gradient(145deg, rgba(221, 160, 221, 0.15), rgba(186, 85, 211, 0.2)); border: 2px solid rgba(221, 160, 221, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(221, 160, 221, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(221, 160, 221, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(221, 160, 221, 0.3)'"
onclick="SugarCube.Engine.play('SoraFashionShopRylan')">
<div style="font-size: 4em; margin-bottom: 15px;">✨</div>
<h3 style="color: #DDA0DD; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Sora's Fashion Boutique</h3>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">Shop for exclusive fashion items</p>
</div>
<</if>>
<!-- Goblin Tavern Choice -->
<<if $goblinTavernPlaced>>
<div style="background: linear-gradient(145deg, rgba(139, 69, 19, 0.15), rgba(160, 82, 45, 0.2)); border: 2px solid rgba(139, 69, 19, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(139, 69, 19, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(139, 69, 19, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(139, 69, 19, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernVisit')">
<div style="font-size: 4em; margin-bottom: 15px;">🍺</div>
<h3 style="color: #D2691E; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Goblin Tavern</h3>
<p style="color: #E6E6FA; margin: 0; font-size: 1.1em; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">Visit the bustling goblin tavern</p>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('DungeonChoices')">
🔙 Back to Dungeon Choices
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "defaultch7.mp3">><<widget "showEventDebug">>
<<script>>
// Debug widget to show all events for current chapter
const currentChapter = State.variables.currentChapter || 6;
const events = window.EventScheduler.getChapterEvents(currentChapter);
console.log(`=== Chapter ${currentChapter} Events ===`);
for (let key in events) {
const event = events[key];
console.log(`${key}: ${event.event} (Priority: ${event.priority}) - ${event.description}`);
}
// Also add the function to EventScheduler for button use
if (window.EventScheduler) {
window.EventScheduler.showEventDebug = function() {
const currentChapter = State.variables.currentChapter || 6;
const events = this.getChapterEvents(currentChapter);
console.log(`=== Chapter ${currentChapter} Events ===`);
for (let key in events) {
const event = events[key];
console.log(`${key}: ${event.event} (Priority: ${event.priority}) - ${event.description}`);
}
};
}
<</script>>
<div style="background: rgba(0,0,0,0.8); color: white; padding: 20px; border-radius: 10px; margin: 20px 0;">
<h3>Event Debug - Chapter $currentChapter</h3>
<p>Check browser console for full event list</p>
<button onclick="window.EventScheduler.showEventDebug()">Show Events in Console</button>
</div>
<</widget>><<widget "getEventRegistry">>
<<script>>
window.EventScheduler = {
// Chapter-specific event registries
chapterEvents: {
0: window.Chapter0Events || {},
1: window.Chapter1Events || {},
2: window.Chapter2Events || {},
3: window.Chapter3Events || {},
4: window.Chapter4Events || {},
5: window.Chapter5Events || {},
6: window.Chapter6Events || {},
7: window.Chapter7Events || {},
8: window.Chapter8Events || {},
9: window.Chapter9Events || {},
10: window.Chapter10Events || {}
},
// Chapter-specific NTR event registries
chapterNTREvents: {
0: window.Chapter0NTREvents || {},
1: window.Chapter1NTREvents || {},
2: window.Chapter2NTREvents || {},
3: window.Chapter3NTREvents || {},
4: window.Chapter4NTREvents || {},
5: window.Chapter5NTREvents || {},
6: window.Chapter6NTREvents || {},
7: window.Chapter7NTREvents || {},
8: window.Chapter8NTREvents || {},
9: window.Chapter9NTREvents || {},
10: window.Chapter10NTREvents || {}
},
getEventForTime: function(month, day, timeOfDay, currentChapter) {
// Check current chapter first
const chapterEvents = this.chapterEvents[currentChapter] || {};
const key = `${month}-${day}-${timeOfDay}`;
if (chapterEvents[key]) {
return chapterEvents[key];
}
// Fallback to check all chapters if needed
for (let chapter in this.chapterEvents) {
if (this.chapterEvents[chapter][key]) {
return this.chapterEvents[chapter][key];
}
}
return null;
},
// Get all events for a specific chapter
getChapterEvents: function(chapter) {
return this.chapterEvents[chapter] || {};
},
// Get events by priority
getEventsByPriority: function(chapter, minPriority = 1) {
const events = this.getChapterEvents(chapter);
const filtered = {};
for (let key in events) {
if (events[key].priority >= minPriority) {
filtered[key] = events[key];
}
}
return filtered;
},
// Masculinity monitoring system
checkMasculinityEvents: function() {
const masculinity = State.variables.rylan_masculinity || 100;
const currentChapter = State.variables.currentChapter || 6;
// Masculinity thresholds and their corresponding events
const thresholds = {
47: { event: "RylanMasculinityBelow45", priority: 5, description: "Masculinity drops below 45", timeRestriction: null },
40: { event: "RylanMasculinity40", priority: 6, description: "Masculinity drops to 40", timeRestriction: null },
35: { event: "RylanMasculinity35", priority: 7, description: "Masculinity drops to 35", timeRestriction: ["morning", "afternoon"] },
30: { event: "RylanMasculinity30", priority: 8, description: "Masculinity drops to 30", timeRestriction: null },
20: { event: "RylanMasculinity20", priority: 9, description: "Masculinity drops to 20", timeRestriction: null },
10: { event: "RylanMasculinity10", priority: 10, description: "Masculinity drops to 10", timeRestriction: null },
0: { event: "RylanMasculinity0", priority: 10, description: "Masculinity reaches 0", timeRestriction: null }
};
// Check if masculinity has crossed any threshold in order
// We need to check thresholds in descending order to trigger the first one not yet triggered
const thresholdValues = Object.keys(thresholds).map(Number).sort((a, b) => b - a);
for (let i = 0; i < thresholdValues.length; i++) {
const thresholdValue = thresholdValues[i];
const threshold = thresholdValue.toString();
const currentTimeOfDay = State.variables.timeOfDay || 'morning';
// Check if this threshold was crossed (masculinity is at or below threshold)
if (masculinity <= thresholdValue) {
// Check if we've already triggered this event
const eventTriggered = State.variables[`rylanMasculinity${threshold}Triggered`];
if (!eventTriggered) {
// Check time restrictions
const timeRestriction = thresholds[threshold].timeRestriction;
let timeAllowed = false;
if (timeRestriction === null) {
timeAllowed = true;
} else if (Array.isArray(timeRestriction)) {
// Handle array of allowed times
timeAllowed = timeRestriction.includes(currentTimeOfDay);
} else if (timeRestriction === "day" && (currentTimeOfDay === "morning" || currentTimeOfDay === "noon" || currentTimeOfDay === "afternoon")) {
timeAllowed = true;
} else if (timeRestriction === "night" && (currentTimeOfDay === "evening" || currentTimeOfDay === "night" || currentTimeOfDay === "midnight")) {
timeAllowed = true;
} else if (timeRestriction === "morning" && currentTimeOfDay === "morning") {
timeAllowed = true;
} else if (timeRestriction === "evening" && currentTimeOfDay === "evening") {
timeAllowed = true;
} else if (timeRestriction === "night" && currentTimeOfDay === "night") {
timeAllowed = true;
} else if (timeRestriction === "midnight" && currentTimeOfDay === "midnight") {
timeAllowed = true;
} else if (timeRestriction === "afternoon" && currentTimeOfDay === "afternoon") {
timeAllowed = true;
} else if (timeRestriction === "noon" && currentTimeOfDay === "noon") {
timeAllowed = true;
}
if (timeAllowed) {
// Return the event (don't mark as triggered yet - only when actually executed)
return {
event: thresholds[threshold].event,
priority: thresholds[threshold].priority,
description: thresholds[threshold].description,
masculinity: masculinity,
threshold: thresholdValue,
thresholdKey: threshold
};
}
}
}
}
return null;
},
// CumNeed monitoring system for individual character events
checkCumNeedEvents: function() {
const currentTimeOfDay = State.variables.timeOfDay || 'morning';
// Only check during night hours
if (currentTimeOfDay !== "evening" && currentTimeOfDay !== "night" && currentTimeOfDay !== "midnight") {
return null;
}
// Check each character individually for their own cumNeed events
const characters = ['rylan', 'mariel', 'liora', 'serin', 'seryk'];
for (let i = 0; i < characters.length; i++) {
const char = characters[i];
const cumNeed = State.variables[`${char}_CumNeed`] || 0;
if (cumNeed >= 80) {
// Check if this character has already triggered their event today
const lastEventDay = State.variables[`${char}LastCumNeedEventDay`] || 0;
const currentDay = State.variables.gameDay || 1;
// Only trigger once per day per character
if (currentDay > lastEventDay) {
State.variables[`${char}LastCumNeedEventDay`] = currentDay;
/*/
// Determine which event to trigger based on whether first event was triggered
let eventName = `${char.charAt(0).toUpperCase() + char.slice(1)}CumNeedEvent`;
// Check if the first event has been triggered for this character
const firstEventTriggered = State.variables[`${char}FirstCumNeedEventTriggered`] || false;
// If first event was triggered, use event 2
if (firstEventTriggered) {
eventName = `${char.charAt(0).toUpperCase() + char.slice(1)}CumNeedEvent2`;
}
*/
// Always use Event1 for now (Event2 not implemented yet)
const eventName = `${char.charAt(0).toUpperCase() + char.slice(1)}CumNeedEvent`;
// Return character-specific event
return {
event: eventName,
priority: 6,
description: `${char} visits Nimeria due to high cumNeed`,
character: char,
cumNeed: cumNeed
};
}
}
}
return null;
},
// Dungeon Defense monitoring system - triggers every afternoon
checkDungeonDefenseEvents: function() {
const currentTimeOfDay = State.variables.timeOfDay || 'morning';
// Only check during afternoon
if (currentTimeOfDay !== "afternoon") {
return null;
}
// Check if this is the special Sora event day (25th afternoon)
const currentDay = State.variables.gameDay || 1;
const currentMonth = State.variables.gameMonth || 2;
if (currentMonth === 2 && currentDay === 25) {
// Skip regular defense on this day - Sora event handles it
return null;
}
// Only trigger if goblin tutorial is completed
if (!State.variables.goblinBuildingsAdded || !State.variables.goblinTavernPlaced || !State.variables.goblinBarracksPlaced || !State.variables.prisonPlaced || !State.variables.goblinMansionPlaced) {
return null;
}
// Check if dungeon defense has been triggered today
const lastDefenseDay = State.variables.lastDungeonDefenseDay || 0;
// Only trigger once per day
if (currentDay > lastDefenseDay) {
State.variables.lastDungeonDefenseDay = currentDay;
// Return dungeon defense event
return {
event: "DungeonDefenseEncounter",
priority: 4,
description: "Stormark troops attack the dungeon",
troopType: "beastmen"
};
}
return null;
},
// NTR Event System
getNTREvents: function(chapter) {
return this.chapterNTREvents[chapter] || {};
},
checkNTREvents: function() {
// Only check NTR events if no other events are available
// This ensures NTR events have the lowest priority
const currentTimeOfDay = State.variables.timeOfDay || 'morning';
const currentDay = State.variables.gameDay || 1;
const currentChapter = State.variables.currentChapter || 7;
console.log('NTR Debug - Current time:', currentTimeOfDay, 'Day:', currentDay, 'Chapter:', currentChapter);
// Check if any higher priority events are available
const scheduledEvent = this.getEventForTime(State.variables.gameMonth, State.variables.gameDay, currentTimeOfDay, currentChapter);
const masculinityEvent = this.checkMasculinityEvents();
const cumNeedEvent = this.checkCumNeedEvents();
const dungeonDefenseEvent = this.checkDungeonDefenseEvents();
console.log('NTR Debug - Other events:', {
scheduled: !!scheduledEvent,
masculinity: !!masculinityEvent,
cumNeed: !!cumNeedEvent,
dungeonDefense: !!dungeonDefenseEvent
});
// If any other event is available, don't trigger NTR events
if (scheduledEvent || masculinityEvent || cumNeedEvent || dungeonDefenseEvent) {
console.log('NTR Debug - Blocked by higher priority event');
// If masculinity event is blocking, mark it as triggered to prevent repeated blocking
if (masculinityEvent) {
State.variables[`rylanMasculinity${masculinityEvent.thresholdKey}Triggered`] = true;
console.log('NTR Debug - Marked masculinity event as triggered to prevent repeated blocking');
}
return null;
}
const ntrEvents = this.getNTREvents(currentChapter);
console.log('NTR Debug - Available NTR events:', Object.keys(ntrEvents));
// Collect eligible events with trigger rates
const eligibleEvents = [];
for (let eventKey in ntrEvents) {
const event = ntrEvents[eventKey];
console.log(`NTR Debug - Checking event: ${eventKey}`);
if (this.checkNTREventConditions(event)) {
console.log(`NTR Debug - Event ${eventKey} passed conditions`);
// Check time restrictions
if (this.checkTimeRestriction(event, currentTimeOfDay)) {
console.log(`NTR Debug - Event ${eventKey} passed time restriction`);
const lastTriggerDay = State.variables[`${eventKey}LastTriggered`] || 0;
console.log(`NTR Debug - Event ${eventKey} last triggered day: ${lastTriggerDay}, current day: ${currentDay}`);
if (currentDay > lastTriggerDay) {
const triggerRate = this.calculateNTRTriggerRate(event);
console.log(`NTR Debug - Event ${eventKey} trigger rate: ${(triggerRate * 100).toFixed(1)}%`);
if (triggerRate > 0.05) { // Minimum 5% chance
eligibleEvents.push({
...event,
eventKey: eventKey,
triggerRate: triggerRate
});
console.log(`NTR Debug - Event ${eventKey} added to eligible events`);
}
} else {
console.log(`NTR Debug - Event ${eventKey} blocked by daily cooldown`);
}
} else {
console.log(`NTR Debug - Event ${eventKey} blocked by time restriction`);
}
} else {
console.log(`NTR Debug - Event ${eventKey} failed conditions`);
}
}
console.log('NTR Debug - Eligible events count:', eligibleEvents.length);
if (eligibleEvents.length === 0) {
return null;
}
// First, check which events actually trigger based on their trigger rates
const triggeredEvents = [];
for (let i = 0; i < eligibleEvents.length; i++) {
const event = eligibleEvents[i];
const randomCheck = Math.random();
console.log(`NTR Debug - Checking if ${event.eventKey} triggers: random=${(randomCheck * 100).toFixed(1)}%, triggerRate=${(event.triggerRate * 100).toFixed(1)}%`);
if (randomCheck < event.triggerRate) {
triggeredEvents.push(event);
console.log(`NTR Debug - ${event.eventKey} TRIGGERED!`);
} else {
console.log(`NTR Debug - ${event.eventKey} did not trigger`);
}
}
// If no events triggered, return null
if (triggeredEvents.length === 0) {
console.log('NTR Debug - No events triggered this time');
return null;
}
// Sort by trigger rate (highest first) for weighted selection
triggeredEvents.sort((a, b) => b.triggerRate - a.triggerRate);
// Use weighted selection system from triggered events
return this.selectNTREvent(triggeredEvents);
},
checkNTREventConditions: function(event) {
if (!event.conditions) return true;
console.log('NTR Debug - Checking conditions for event:', event.eventKey || 'unknown');
for (let i = 0; i < event.conditions.length; i++) {
const condition = event.conditions[i];
console.log('NTR Debug - Condition', i + 1, ':', condition);
if (condition.type === 'flag') {
const flagValue = State.variables[condition.flag];
console.log('NTR Debug - Flag check:', condition.flag, '=', flagValue);
if (!flagValue) {
console.log('NTR Debug - FAILED: Flag', condition.flag, 'is not true');
return false;
}
} else if (condition.type === 'range') {
const value = State.variables[condition.variable] || 0;
console.log('NTR Debug - Range check:', condition.variable, '=', value, '(min:', condition.min, 'max:', condition.max, ')');
if (value < condition.min || value > condition.max) {
console.log('NTR Debug - FAILED: Value', value, 'not in range', condition.min, '-', condition.max);
return false;
}
}
}
console.log('NTR Debug - All conditions passed!');
return true;
},
checkTimeRestriction: function(event, currentTimeOfDay) {
// If no time restriction specified, allow all times
if (!event.timeRestriction) {
return true;
}
// Check if current time is in allowed times
return event.timeRestriction.includes(currentTimeOfDay);
},
calculateNTRTriggerRate: function(event) {
const baseRate = event.baseRate || 0.15;
const maxRate = event.maxRate || 0.65;
// Get attraction values
const targetAttraction = State.variables[`${event.target}_${event.bull}Attraction`] || 0;
const rylanAttraction = State.variables[`${event.target}_RylanAttraction`] || 0;
const attractionDifference = Math.max(0, targetAttraction - rylanAttraction);
// Get corruption values using existing variables
const targetCorruption = State.variables[`${event.target}_corruption`] || 0;
const bullCorruption = State.variables[`${event.bull}_corruption`] || 0;
console.log('NTR Debug - Attraction values:', {
target: event.target,
bull: event.bull,
targetAttraction: targetAttraction,
rylanAttraction: rylanAttraction,
attractionDifference: attractionDifference,
targetCorruption: targetCorruption,
bullCorruption: bullCorruption
});
// Calculate bonuses
const attractionBonus = (attractionDifference / 10) * 0.05; // Every 10 points = +5%
const corruptionBonus = ((targetCorruption + bullCorruption) / 20) * 0.03; // Every 20 points = +3%
// Calculate final rate
const finalRate = Math.min(maxRate, baseRate + attractionBonus + corruptionBonus);
console.log(`NTR Trigger Rate for ${event.eventKey || 'unknown'}: ${(finalRate * 100).toFixed(1)}% (Base: ${(baseRate * 100).toFixed(1)}%, Attraction: +${(attractionBonus * 100).toFixed(1)}%, Corruption: +${(corruptionBonus * 100).toFixed(1)}%)`);
return finalRate;
},
selectNTREvent: function(eligibleEvents) {
if (eligibleEvents.length === 0) return null;
// Calculate total weight (sum of all trigger rates)
const totalWeight = eligibleEvents.reduce((sum, event) => sum + event.triggerRate, 0);
// Generate random number between 0 and totalWeight
let randomValue = Math.random() * totalWeight;
// Select event based on weighted probability
for (let i = 0; i < eligibleEvents.length; i++) {
const event = eligibleEvents[i];
randomValue -= event.triggerRate;
if (randomValue <= 0) {
// Mark event as triggered for today
State.variables[`${event.eventKey}LastTriggered`] = State.variables.gameDay || 1;
// Store event data for mini-game
window.currentNTREvent = {
target: event.target,
bull: event.bull,
eventKey: event.eventKey
};
return this.createNTREventResult(event);
}
}
// Fallback to first event (shouldn't happen)
const event = eligibleEvents[0];
State.variables[`${event.eventKey}LastTriggered`] = State.variables.gameDay || 1;
window.currentNTREvent = {
target: event.target,
bull: event.bull,
eventKey: event.eventKey
};
return this.createNTREventResult(event);
},
createNTREventResult: function(event) {
// Ensure currentNTREvent is set for mini-game
window.currentNTREvent = {
target: event.target,
bull: event.bull,
eventKey: event.eventKey
};
console.log('EventScheduler setting currentNTREvent:', window.currentNTREvent);
// Handle counter-based routing
let passage = event.passage;
console.log('EventScheduler Debug - Event has counter:', !!event.counter);
console.log('EventScheduler Debug - Counter variable name:', event.counter);
if (event.counter) {
const count = State.variables[event.counter] || 0;
console.log('EventScheduler Debug - Counter before increment:', count);
State.variables[event.counter] = count + 1;
console.log('EventScheduler Debug - Counter after increment:', State.variables[event.counter]);
console.log('EventScheduler Debug - Counter variable exists:', State.variables.hasOwnProperty(event.counter));
// Route to different passages based on count
if (count === 0) {
// First time - use original passage
passage = event.passage;
} else if (count === 1) {
// Second time - use routine version
passage = event.passage + 'Routine2';
} else {
// Third+ time - use shorter routine version
passage = event.passage + 'Routine3';
}
}
// Check if this event has a mini-game
if (event.miniGame) {
// Always route to mini-game first, regardless of counter
passage = 'NTRMiniGame';
}
return {
event: passage,
priority: event.priority,
description: event.description,
target: event.target,
bull: event.bull,
eventKey: event.eventKey
};
}
};
<</script>>
<</widget>><<nobr>>
<div class="passage-container rylan">
<<set _power = Math.round($rylan_combatStats.physicalPower)>>
<<set _agi = Math.round($rylan_combatStats.agility)>>
<<set _tec = Math.round($rylan_combatStats.technique)>>
<<set _wil = Math.round($rylan_combatStats.willpower)>>
<<set _crystalGain = 15 + Math.floor(_power / 10) + Math.floor(_agi / 10)>>
<<set _goldGain = 50 + Math.floor(_tec / 3) + Math.floor(_wil / 3)>>
<<set $crystals = ($crystals || 0) + _crystalGain>>
<<set $gold = ($gold || 0) + _goldGain>>
<div style="text-align: center; margin: 40px 0;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.95), rgba(35, 35, 40, 0.98)); border: 3px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 30px; min-width: 400px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #6B6B6B, #4A4A4A, #2C2C2C);"></div>
<h3 style="color: #E6E6FA; margin: 0 0 25px 0; font-size: 1.6em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🏞️ Resource Gathering Results</h3>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 20px 0;">
<div style="background: rgba(25, 25, 35, 0.8); border-radius: 8px; padding: 15px; border: 2px solid rgba(224, 163, 255, 0.3);">
<h4 style="color: #e0a3ff; margin: 0 0 10px 0; font-size: 1.2em;">💎 Soul Crystals</h4>
<div style="font-family: monospace; font-size: 1.1em; color: #fff;">
<div>Base: 15</div>
<div>Power: <<print _power>> → +<<print Math.floor(_power / 10)>></div>
<div>Agility: <<print _agi>> → +<<print Math.floor(_agi / 10)>></div>
<div style="border-top: 1px solid rgba(255,255,255,0.2); margin-top: 8px; padding-top: 8px; font-weight: bold; color: #e0a3ff;">Total: <<print _crystalGain>></div>
</div>
</div>
<div style="background: rgba(25, 25, 35, 0.8); border-radius: 8px; padding: 15px; border: 2px solid rgba(255, 215, 0, 0.3);">
<h4 style="color: #ffd700; margin: 0 0 10px 0; font-size: 1.2em;">💰 Gold</h4>
<div style="font-family: monospace; font-size: 1.1em; color: #fff;">
<div>Base: 50</div>
<div>Technique: <<print _tec>> → +<<print Math.floor(_tec / 3)>></div>
<div>Willpower: <<print _wil>> → +<<print Math.floor(_wil / 3)>></div>
<div style="border-top: 1px solid rgba(255,255,255,0.2); margin-top: 8px; padding-top: 8px; font-weight: bold; color: #ffd700;">Total: <<print _goldGain>></div>
</div>
</div>
</div>
<div style="background: rgba(0, 0, 0, 0.3); border-radius: 8px; padding: 15px; margin-top: 20px; border: 2px solid rgba(74, 144, 226, 0.4);">
<div style="font-size: 1.3em; font-weight: bold; color: #4a90e2; text-align: center;">
🎯 Resources Gathered: <<print _crystalGain>> Crystals + <<print _goldGain>> Gold
</div>
</div>
</div>
</div>
<<continueBox "MorningActivityChoicesNext" "Continue" "Return to activities...">>
</div>
<</nobr>>
<<if $currentChapter == 7>>
<<pov "rylan" "defaultch7.mp3">>
<<else>>
<<pov "rylan" "defaultch6.mp3">>
<</if>><<nobr>>
<div class="passage-container rylan">
<div style="background: linear-gradient(145deg, rgba(139, 69, 19, 0.15), rgba(160, 82, 45, 0.2)); border: 2px solid rgba(139, 69, 19, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(139, 69, 19, 0.3); margin-bottom: 30px;">
<h2 style="color: #D2691E; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">🍺 Goblin Tavern (Night) 🍺</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">The warm glow of the tavern beckons you inside under the moonlight</p>
</div>
<center><img src="images/dungeonbuildings/goblintavern.webp" style="max-width: 500px; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); margin: 20px 0;"></center>
<<narrative "The goblin tavern is bustling with activity even at night. Laughter and the clinking of mugs fill the air as you step inside. The warm, inviting atmosphere makes you want to share this nocturnal experience with someone special.">>
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 20px; margin: 20px 0;">
<p style="color: #E6E6FA; font-style: italic; margin: 10px 0; line-height: 1.6; text-align: center; font-size: 1.1em;">Who would you like to invite to join you for a drink?</p>
</div>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin: 30px 0;">
<!-- Liora -->
<div style="background: linear-gradient(145deg, rgba(255, 192, 203, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 192, 203, 0.6); border-radius: 15px; padding: 20px; text-align: center; box-shadow: 0 6px 20px rgba(255, 192, 203, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(255, 192, 203, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(255, 192, 203, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernLioraGoalsNight')">
<img src="images/liora/faceshortpink.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h4 style="color: #FFC0CB; margin: 10px 0 5px 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Liora</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Shy healer</p>
</div>
<!-- Serin -->
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.15), rgba(255, 20, 147, 0.2)); border: 2px solid rgba(255, 105, 180, 0.6); border-radius: 15px; padding: 20px; text-align: center; box-shadow: 0 6px 20px rgba(255, 105, 180, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(255, 105, 180, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(255, 105, 180, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernSerinGoalsNight')">
<img src="images/serin/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h4 style="color: #FF69B4; margin: 10px 0 5px 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Serin</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Athletic tomboy</p>
</div>
<!-- Mariel -->
<div style="background: linear-gradient(145deg, rgba(221, 160, 221, 0.15), rgba(186, 85, 211, 0.2)); border: 2px solid rgba(221, 160, 221, 0.6); border-radius: 15px; padding: 20px; text-align: center; box-shadow: 0 6px 20px rgba(221, 160, 221, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(221, 160, 221, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(221, 160, 221, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernMarielGoalsNight')">
<img src="images/mariel/stage2/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h4 style="color: #DDA0DD; margin: 10px 0 5px 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Mariel</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Warm mother figure</p>
</div>
<!-- Seryk -->
<div style="background: linear-gradient(145deg, rgba(240, 230, 140, 0.15), rgba(255, 215, 0, 0.2)); border: 2px solid rgba(240, 230, 140, 0.6); border-radius: 15px; padding: 20px; text-align: center; box-shadow: 0 6px 20px rgba(240, 230, 140, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(240, 230, 140, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(240, 230, 140, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernSerykGoalsNight')">
<img src="images/seryk/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h4 style="color: #F0E68C; margin: 10px 0 5px 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Seryk</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Noble demon warrior</p>
</div>
<!-- Nimeria -->
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.15), rgba(75, 0, 130, 0.2)); border: 2px solid rgba(138, 43, 226, 0.6); border-radius: 15px; padding: 20px; text-align: center; box-shadow: 0 6px 20px rgba(138, 43, 226, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(138, 43, 226, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(138, 43, 226, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernNimeriaGoalsNight')">
<img src="images/nimeria/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h4 style="color: #8A2BE2; margin: 10px 0 5px 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Nimeria</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mysterious demon girl</p>
</div>
<!-- Thalor -->
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(169, 169, 169, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 15px; padding: 20px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(105, 105, 105, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(105, 105, 105, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernThalorGoalsNight')">
<img src="images/thalor/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h4 style="color: #A9A9A9; margin: 10px 0 5px 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Thalor</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Stern guardian</p>
</div>
<!-- Kahrrt -->
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.15), rgba(255, 140, 0, 0.2)); border: 2px solid rgba(255, 69, 0, 0.6); border-radius: 15px; padding: 20px; text-align: center; box-shadow: 0 6px 20px rgba(255, 69, 0, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(255, 69, 0, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(255, 69, 0, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernKahrrtGoalsNight')">
<img src="images/Kahrrt/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h4 style="color: #FF4500; margin: 10px 0 5px 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Kahrrt</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Older muscular goblin</p>
</div>
<!-- Viehzza -->
<div style="background: linear-gradient(145deg, rgba(50, 205, 50, 0.15), rgba(34, 139, 34, 0.2)); border: 2px solid rgba(50, 205, 50, 0.6); border-radius: 15px; padding: 20px; text-align: center; box-shadow: 0 6px 20px rgba(50, 205, 50, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(50, 205, 50, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(50, 205, 50, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernViehzzaGoalsNight')">
<img src="images/Viehzza/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h4 style="color: #32CD32; margin: 10px 0 5px 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Viehzza</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Shy goblin girl</p>
</div>
<!-- Sora (conditional) -->
<<if $soraJoinedFamily>>
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 182, 193, 0.6); border-radius: 15px; padding: 20px; text-align: center; box-shadow: 0 6px 20px rgba(255, 182, 193, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;"
onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(255, 182, 193, 0.4)'"
onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(255, 182, 193, 0.3)'"
onclick="SugarCube.Engine.play('GoblinTavernSoraGoalsNight')">
<img src="images/sora/face.webp" style="width: 80px; height: 80px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-bottom: 10px;">
<h4 style="color: #FFB6C1; margin: 10px 0 5px 0; font-size: 1.2em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Sora</h4>
<p style="color: #E6E6FA; margin: 0; font-size: 0.9em; font-style: italic; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Fashion designer</p>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(45deg, #6B6B6B, #4A4A4A); border: 2px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(0,0,0,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(0,0,0,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(0,0,0,0.4)';"
onclick="SugarCube.Engine.play('NightActivityChoices')">
🔙 Back to Night Activities
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "goblintavern.mp3">><<set $previousPassage = previous()>>
<<set $wardrobeUnlocked = true>>
/* Initialize clothing purchase tracking if not already set */
<<if not $purchasedClothing>>
<<set $purchasedClothing = {
bra: {
normalblack: false,
normalpink: false
},
panties: {
normalblack: false,
normalpink: false
},
legwear: {
knittedsocks: false,
normalblack: false,
normalpink: false
}
}>>
<</if>>
<script>
function purchaseClothing(itemType, itemName, cost, itemTitle, itemDescription) {
if (SugarCube.State.variables.gold < cost) {
alert("You don't have enough gold!");
return;
}
// Check if already purchased
if (SugarCube.State.variables.purchasedClothing[itemType][itemName]) {
alert("You already own this item!");
return;
}
SugarCube.State.variables.gold -= cost;
SugarCube.State.variables.purchasedClothing[itemType][itemName] = true;
let resultMessage = `<div style="background: linear-gradient(135deg, rgba(255,182,193,0.3), rgba(255,105,180,0.3)); border: 2px solid rgba(255,182,193,0.8); border-radius: 15px; padding: 25px; margin: 20px 0; text-align: center;">
<h3 style="color: #FFB6C1; font-size: 1.4em; margin: 0 0 10px 0;">${itemTitle} Purchased!</h3>
<p style="color: white; margin: 10px 0;">${itemDescription}</p>
<p style="color: #FFB6C1; font-size: 1.2em; font-weight: bold;">Added to your wardrobe!</p>
<p style="color: #FFD700;">Gold: ${SugarCube.State.variables.gold}</p>
</div>`;
let resultDiv = document.getElementById('purchase-result');
if (!resultDiv) {
resultDiv = document.createElement('div');
resultDiv.id = 'purchase-result';
const shopContent = document.querySelector('.shop-content');
shopContent.insertBefore(resultDiv, shopContent.firstChild);
}
resultDiv.innerHTML = resultMessage;
const goldDisplay = document.querySelector('.shop-header p[style*="color: #FFD700"]');
if (goldDisplay) {
goldDisplay.innerHTML = '💰 Current Gold: ' + SugarCube.State.variables.gold;
}
// Update the item display to show as owned
const itemElement = document.querySelector('[data-item-type="' + itemType + '"][data-item-name="' + itemName + '"]');
if (itemElement) {
itemElement.style.opacity = '0.6';
itemElement.style.cursor = 'not-allowed';
const ownedBadge = itemElement.querySelector('.owned-badge');
if (ownedBadge) {
ownedBadge.style.display = 'block';
}
}
resultDiv.scrollIntoView({ behavior: 'smooth', block: 'center' });
}
</script>
<<nobr>>
<style>
@keyframes sparkle {
0%, 100% { opacity: 0; transform: scale(0.8) rotate(0deg); }
50% { opacity: 1; transform: scale(1.2) rotate(180deg); }
}
@keyframes float {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-10px); }
}
@keyframes glow {
0%, 100% { box-shadow: 0 0 20px rgba(255,182,193,0.5); }
50% { box-shadow: 0 0 40px rgba(255,182,193,0.8), 0 0 60px rgba(255,105,180,0.6); }
}
@keyframes shimmer {
0% { background-position: -200% center; }
100% { background-position: 200% center; }
}
@keyframes pulse {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.05); }
}
@keyframes bounce {
0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
40% { transform: translateY(-15px); }
60% { transform: translateY(-7px); }
}
.sparkle {
position: absolute;
width: 4px;
height: 4px;
background: radial-gradient(circle, #FFD700, #FFA500);
border-radius: 50%;
animation: sparkle 2s infinite;
}
.floating {
animation: float 3s ease-in-out infinite;
}
.glow-effect {
animation: glow 2s ease-in-out infinite;
}
.shimmer-effect {
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: shimmer 2s infinite;
}
.pulse-effect {
animation: pulse 2s ease-in-out infinite;
}
.bounce-effect {
animation: bounce 1s ease-in-out infinite;
}
</style>
<div class="modern-lingerie-shop-container" style="background: linear-gradient(135deg, rgba(255,182,193,0.9), rgba(255,105,180,0.9), rgba(221,160,221,0.9), rgba(255,20,147,0.8)); min-height: 100vh; padding: 20px; margin: 0; position: relative; overflow: hidden;">
<!-- Floating Sparkles -->
<div class="sparkle" style="top: 10%; left: 10%; animation-delay: 0s;"></div>
<div class="sparkle" style="top: 20%; right: 15%; animation-delay: 0.5s;"></div>
<div class="sparkle" style="top: 60%; left: 5%; animation-delay: 1s;"></div>
<div class="sparkle" style="top: 80%; right: 20%; animation-delay: 1.5s;"></div>
<div class="sparkle" style="top: 40%; left: 50%; animation-delay: 2s;"></div>
<div class="shop-header floating glow-effect" style="background: linear-gradient(145deg, rgba(45,45,50,0.95), rgba(60,60,70,0.9)); border: 3px solid rgba(255,182,193,0.8); padding: 30px; text-align: center; border-radius: 20px; margin-bottom: 30px; position: relative; backdrop-filter: blur(10px); box-shadow: 0 20px 40px rgba(0,0,0,0.3);">
<div class="shimmer-effect" style="position: absolute; top: 0; left: 0; right: 0; height: 100%; border-radius: 20px; pointer-events: none;"></div>
<h1 class="bounce-effect" style="color: #FFB6C1; font-size: 3.2em; font-weight: bold; margin: 0; text-shadow: 0 0 20px rgba(255,182,193,0.8), 2px 2px 6px rgba(0,0,0,0.8); background: linear-gradient(45deg, #FFB6C1, #FF69B4, #DDA0DD, #FFB6C1); background-size: 400% 400%; -webkit-background-clip: text; -webkit-text-fill-color: transparent; animation: shimmer 3s ease-in-out infinite;">✨ LINGERIE BOUTIQUE ✨</h1>
<p class="floating" style="color: rgba(255,255,255,0.95); font-size: 1.4em; margin: 15px 0 0 0; font-style: italic; text-shadow: 0 0 10px rgba(255,255,255,0.5);">Elegant Intimates & Delicate Lingerie</p>
<div class="pulse-effect" style="background: linear-gradient(135deg, rgba(255,182,193,0.3), rgba(255,105,180,0.3)); border: 2px solid rgba(255,182,193,0.6); border-radius: 20px; padding: 20px; margin: 25px auto 0 auto; max-width: 600px; box-shadow: 0 10px 25px rgba(255,182,193,0.3);">
<p style="color: #FFD700; font-size: 1.4em; font-weight: bold; margin: 0; text-shadow: 0 0 15px rgba(255,215,0,0.8);">💰 Current Gold: $gold</p>
</div>
<div class="floating" style="background: linear-gradient(135deg, rgba(255,165,0,0.2), rgba(255,140,0,0.2)); border: 2px solid rgba(255,165,0,0.6); border-radius: 15px; padding: 20px; margin: 20px auto 0 auto; max-width: 700px; box-shadow: 0 8px 20px rgba(255,165,0,0.3);">
<p style="color: #FFA500; font-size: 1.1em; font-weight: bold; margin: 0 0 10px 0; text-shadow: 0 0 10px rgba(255,165,0,0.8);">⚠️ Important Notice ⚠️</p>
<p style="color: rgba(255,255,255,0.9); font-size: 1em; margin: 0; font-style: italic; text-shadow: 0 0 8px rgba(255,255,255,0.5);">These items only affect your sidebar appearance and wardrobe system. They do not change story scenes or character interactions.</p>
</div>
</div>
<div class="shop-content" style="max-width: 1200px; margin: 0 auto;">
<div class="clothing-categories" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(500px, 1fr)); gap: 30px; margin: 30px 0;">
<div class="bras-section floating" style="background: linear-gradient(145deg, rgba(255,182,193,0.25), rgba(255,105,180,0.2)); border: 3px solid rgba(255,182,193,0.7); border-radius: 20px; padding: 30px; position: relative; backdrop-filter: blur(5px); box-shadow: 0 15px 35px rgba(255,182,193,0.3);">
<div class="shimmer-effect" style="position: absolute; top: 0; left: 0; right: 0; height: 100%; border-radius: 20px; pointer-events: none;"></div>
<h2 class="pulse-effect" style="color: #FFB6C1; font-size: 2.4em; font-weight: bold; margin: 0 0 20px 0; text-align: center; text-shadow: 0 0 15px rgba(255,182,193,0.8);">👙 Bras & Bralettes 👙</h2>
<p class="floating" style="color: rgba(255,255,255,0.95); font-size: 1.2em; text-align: center; margin-bottom: 30px; font-style: italic; text-shadow: 0 0 8px rgba(255,255,255,0.5);">Delicate support with elegant designs</p>
<div class="clothing-grid" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px;">
<<if $gold >= 350>>
<<if $purchasedClothing and $purchasedClothing.bra and $purchasedClothing.bra.normalblack>>
<div class="clothing-item floating" style="background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(255,182,193,0.1)); border: 2px solid rgba(0,255,0,0.6); border-radius: 15px; padding: 20px; text-align: center; position: relative; opacity: 0.7; cursor: not-allowed; box-shadow: 0 8px 20px rgba(0,255,0,0.2); transition: all 0.3s ease;"
data-item-type="bra" data-item-name="normalblack">
<div class="owned-badge bounce-effect" style="position: absolute; top: 8px; right: 8px; background: linear-gradient(45deg, #00FF00, #32CD32); color: white; border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; font-size: 1em; font-weight: bold; box-shadow: 0 0 15px rgba(0,255,0,0.6);">✓</div>
<img src="images/rylan/femboy/clothes/underwear/bra/normalblack.webp" style="width: 90px; height: 90px; object-fit: cover; border-radius: 12px; margin-bottom: 15px; border: 3px solid rgba(0,255,0,0.4); box-shadow: 0 5px 15px rgba(0,255,0,0.3);">
<br><span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 0 0 8px rgba(255,255,255,0.5);">🖤 Black Bra</span><br>
<span style="color: #00FF00; font-size: 1.1em; font-weight: bold; text-shadow: 0 0 8px rgba(0,255,0,0.8); background: rgba(0,0,0,0.3); padding: 5px 10px; border-radius: 8px;">350 Gold (Owned)</span><br>
<span style="color: #FFD700; font-size: 0.9em; font-weight: bold; text-shadow: 0 0 8px rgba(255,215,0,0.8);">+1 Eros</span>
</div>
<<else>>
<div class="clothing-item floating" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,182,193,0.15)); border: 2px solid rgba(255,182,193,0.6); border-radius: 15px; padding: 20px; cursor: pointer; text-align: center; position: relative; box-shadow: 0 8px 20px rgba(255,182,193,0.3); transition: all 0.3s ease;"
data-item-type="bra" data-item-name="normalblack"
onclick="purchaseClothing('bra', 'normalblack', 350, '🖤 Black Bra', 'Classic black bra with elegant design')"
onmouseover="this.style.transform='scale(1.05)'; this.style.boxShadow='0 12px 30px rgba(255,182,193,0.5)'; this.style.borderColor='rgba(255,182,193,0.9)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(255,182,193,0.3)'; this.style.borderColor='rgba(255,182,193,0.6)';">
<img src="images/rylan/femboy/clothes/underwear/bra/normalblack.webp" style="width: 90px; height: 90px; object-fit: cover; border-radius: 12px; margin-bottom: 15px; border: 3px solid rgba(255,182,193,0.5); box-shadow: 0 5px 15px rgba(255,182,193,0.4);">
<br><span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 0 0 8px rgba(255,255,255,0.5);">🖤 Black Bra</span><br>
<span style="color: #FFB6C1; font-size: 1.1em; font-weight: bold; text-shadow: 0 0 8px rgba(255,182,193,0.8); background: rgba(0,0,0,0.3); padding: 5px 10px; border-radius: 8px;">350 Gold</span><br>
<span style="color: #FFD700; font-size: 0.9em; font-weight: bold; text-shadow: 0 0 8px rgba(255,215,0,0.8);">+1 Eros</span>
</div>
<</if>>
<<if $purchasedClothing and $purchasedClothing.bra and $purchasedClothing.bra.normalpink>>
<div class="clothing-item floating" style="background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(255,182,193,0.1)); border: 2px solid rgba(0,255,0,0.6); border-radius: 15px; padding: 20px; text-align: center; position: relative; opacity: 0.7; cursor: not-allowed; box-shadow: 0 8px 20px rgba(0,255,0,0.2); transition: all 0.3s ease;"
data-item-type="bra" data-item-name="normalpink">
<div class="owned-badge bounce-effect" style="position: absolute; top: 8px; right: 8px; background: linear-gradient(45deg, #00FF00, #32CD32); color: white; border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; font-size: 1em; font-weight: bold; box-shadow: 0 0 15px rgba(0,255,0,0.6);">✓</div>
<img src="images/rylan/femboy/clothes/underwear/bra/normalpink.webp" style="width: 90px; height: 90px; object-fit: cover; border-radius: 12px; margin-bottom: 15px; border: 3px solid rgba(0,255,0,0.4); box-shadow: 0 5px 15px rgba(0,255,0,0.3);">
<br><span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 0 0 8px rgba(255,255,255,0.5);">💗 Pink Bra</span><br>
<span style="color: #00FF00; font-size: 1.1em; font-weight: bold; text-shadow: 0 0 8px rgba(0,255,0,0.8); background: rgba(0,0,0,0.3); padding: 5px 10px; border-radius: 8px;">350 Gold (Owned)</span><br>
<span style="color: #FFD700; font-size: 0.9em; font-weight: bold; text-shadow: 0 0 8px rgba(255,215,0,0.8);">+1 Eros</span>
</div>
<<else>>
<div class="clothing-item floating" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,182,193,0.15)); border: 2px solid rgba(255,182,193,0.6); border-radius: 15px; padding: 20px; cursor: pointer; text-align: center; position: relative; box-shadow: 0 8px 20px rgba(255,182,193,0.3); transition: all 0.3s ease;"
data-item-type="bra" data-item-name="normalpink"
onclick="purchaseClothing('bra', 'normalpink', 350, '💗 Pink Bra', 'Soft pink bra with delicate lace')"
onmouseover="this.style.transform='scale(1.05)'; this.style.boxShadow='0 12px 30px rgba(255,182,193,0.5)'; this.style.borderColor='rgba(255,182,193,0.9)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(255,182,193,0.3)'; this.style.borderColor='rgba(255,182,193,0.6)';">
<img src="images/rylan/femboy/clothes/underwear/bra/normalpink.webp" style="width: 90px; height: 90px; object-fit: cover; border-radius: 12px; margin-bottom: 15px; border: 3px solid rgba(255,182,193,0.5); box-shadow: 0 5px 15px rgba(255,182,193,0.4);">
<br><span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 0 0 8px rgba(255,255,255,0.5);">💗 Pink Bra</span><br>
<span style="color: #FFB6C1; font-size: 1.1em; font-weight: bold; text-shadow: 0 0 8px rgba(255,182,193,0.8); background: rgba(0,0,0,0.3); padding: 5px 10px; border-radius: 8px;">350 Gold</span><br>
<span style="color: #FFD700; font-size: 0.9em; font-weight: bold; text-shadow: 0 0 8px rgba(255,215,0,0.8);">+1 Eros</span>
</div>
<</if>>
<<else>>
<div style="grid-column: 1 / -1; text-align: center; padding: 30px;">
<p style="color: rgba(255,255,255,0.6); font-size: 1.2em; font-style: italic;">💰 Insufficient Gold for Bras</p>
<p style="color: rgba(255,255,255,0.4); font-size: 1em;">You need 350 gold per bra</p>
</div>
<</if>>
</div>
</div>
<div class="panties-section floating" style="background: linear-gradient(145deg, rgba(221,160,221,0.25), rgba(186,85,211,0.2)); border: 3px solid rgba(221,160,221,0.7); border-radius: 20px; padding: 30px; position: relative; backdrop-filter: blur(5px); box-shadow: 0 15px 35px rgba(221,160,221,0.3);">
<div class="shimmer-effect" style="position: absolute; top: 0; left: 0; right: 0; height: 100%; border-radius: 20px; pointer-events: none;"></div>
<h2 class="pulse-effect" style="color: #DDA0DD; font-size: 2.4em; font-weight: bold; margin: 0 0 20px 0; text-align: center; text-shadow: 0 0 15px rgba(221,160,221,0.8);">🩲 Panties & Underwear 🩲</h2>
<p class="floating" style="color: rgba(255,255,255,0.95); font-size: 1.2em; text-align: center; margin-bottom: 30px; font-style: italic; text-shadow: 0 0 8px rgba(255,255,255,0.5);">Comfortable and stylish intimate wear</p>
<div class="clothing-grid" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px;">
<<if $gold >= 300>>
<<if $purchasedClothing and $purchasedClothing.panties and $purchasedClothing.panties.normalblack>>
<div class="clothing-item floating" style="background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(221,160,221,0.1)); border: 2px solid rgba(0,255,0,0.6); border-radius: 15px; padding: 20px; text-align: center; position: relative; opacity: 0.7; cursor: not-allowed; box-shadow: 0 8px 20px rgba(0,255,0,0.2); transition: all 0.3s ease;"
data-item-type="panties" data-item-name="normalblack">
<div class="owned-badge bounce-effect" style="position: absolute; top: 8px; right: 8px; background: linear-gradient(45deg, #00FF00, #32CD32); color: white; border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; font-size: 1em; font-weight: bold; box-shadow: 0 0 15px rgba(0,255,0,0.6);">✓</div>
<img src="images/rylan/femboy/clothes/underwear/panties/normalblack.webp" style="width: 90px; height: 90px; object-fit: cover; border-radius: 12px; margin-bottom: 15px; border: 3px solid rgba(0,255,0,0.4); box-shadow: 0 5px 15px rgba(0,255,0,0.3);">
<br><span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 0 0 8px rgba(255,255,255,0.5);">🖤 Black Panties</span><br>
<span style="color: #00FF00; font-size: 1.1em; font-weight: bold; text-shadow: 0 0 8px rgba(0,255,0,0.8); background: rgba(0,0,0,0.3); padding: 5px 10px; border-radius: 8px;">300 Gold (Owned)</span><br>
<span style="color: #FFD700; font-size: 0.9em; font-weight: bold; text-shadow: 0 0 8px rgba(255,215,0,0.8);">+1 Eros</span>
</div>
<<else>>
<div class="clothing-item floating" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(221,160,221,0.15)); border: 2px solid rgba(221,160,221,0.6); border-radius: 15px; padding: 20px; cursor: pointer; text-align: center; position: relative; box-shadow: 0 8px 20px rgba(221,160,221,0.3); transition: all 0.3s ease;"
data-item-type="panties" data-item-name="normalblack"
onclick="purchaseClothing('panties', 'normalblack', 300, '🖤 Black Panties', 'Classic black panties with comfortable fit')"
onmouseover="this.style.transform='scale(1.05)'; this.style.boxShadow='0 12px 30px rgba(221,160,221,0.5)'; this.style.borderColor='rgba(221,160,221,0.9)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(221,160,221,0.3)'; this.style.borderColor='rgba(221,160,221,0.6)';">
<img src="images/rylan/femboy/clothes/underwear/panties/normalblack.webp" style="width: 90px; height: 90px; object-fit: cover; border-radius: 12px; margin-bottom: 15px; border: 3px solid rgba(221,160,221,0.5); box-shadow: 0 5px 15px rgba(221,160,221,0.4);">
<br><span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 0 0 8px rgba(255,255,255,0.5);">🖤 Black Panties</span><br>
<span style="color: #DDA0DD; font-size: 1.1em; font-weight: bold; text-shadow: 0 0 8px rgba(221,160,221,0.8); background: rgba(0,0,0,0.3); padding: 5px 10px; border-radius: 8px;">300 Gold</span><br>
<span style="color: #FFD700; font-size: 0.9em; font-weight: bold; text-shadow: 0 0 8px rgba(255,215,0,0.8);">+1 Eros</span>
</div>
<</if>>
<<if $purchasedClothing and $purchasedClothing.panties and $purchasedClothing.panties.normalpink>>
<div class="clothing-item floating" style="background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(221,160,221,0.1)); border: 2px solid rgba(0,255,0,0.6); border-radius: 15px; padding: 20px; text-align: center; position: relative; opacity: 0.7; cursor: not-allowed; box-shadow: 0 8px 20px rgba(0,255,0,0.2); transition: all 0.3s ease;"
data-item-type="panties" data-item-name="normalpink">
<div class="owned-badge bounce-effect" style="position: absolute; top: 8px; right: 8px; background: linear-gradient(45deg, #00FF00, #32CD32); color: white; border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; font-size: 1em; font-weight: bold; box-shadow: 0 0 15px rgba(0,255,0,0.6);">✓</div>
<img src="images/rylan/femboy/clothes/underwear/panties/normalpink.webp" style="width: 90px; height: 90px; object-fit: cover; border-radius: 12px; margin-bottom: 15px; border: 3px solid rgba(0,255,0,0.4); box-shadow: 0 5px 15px rgba(0,255,0,0.3);">
<br><span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 0 0 8px rgba(255,255,255,0.5);">💗 Pink Panties</span><br>
<span style="color: #00FF00; font-size: 1.1em; font-weight: bold; text-shadow: 0 0 8px rgba(0,255,0,0.8); background: rgba(0,0,0,0.3); padding: 5px 10px; border-radius: 8px;">300 Gold (Owned)</span><br>
<span style="color: #FFD700; font-size: 0.9em; font-weight: bold; text-shadow: 0 0 8px rgba(255,215,0,0.8);">+1 Eros</span>
</div>
<<else>>
<div class="clothing-item floating" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(221,160,221,0.15)); border: 2px solid rgba(221,160,221,0.6); border-radius: 15px; padding: 20px; cursor: pointer; text-align: center; position: relative; box-shadow: 0 8px 20px rgba(221,160,221,0.3); transition: all 0.3s ease;"
data-item-type="panties" data-item-name="normalpink"
onclick="purchaseClothing('panties', 'normalpink', 300, '💗 Pink Panties', 'Soft pink panties with delicate trim')"
onmouseover="this.style.transform='scale(1.05)'; this.style.boxShadow='0 12px 30px rgba(221,160,221,0.5)'; this.style.borderColor='rgba(221,160,221,0.9)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(221,160,221,0.3)'; this.style.borderColor='rgba(221,160,221,0.6)';">
<img src="images/rylan/femboy/clothes/underwear/panties/normalpink.webp" style="width: 90px; height: 90px; object-fit: cover; border-radius: 12px; margin-bottom: 15px; border: 3px solid rgba(221,160,221,0.5); box-shadow: 0 5px 15px rgba(221,160,221,0.4);">
<br><span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 0 0 8px rgba(255,255,255,0.5);">💗 Pink Panties</span><br>
<span style="color: #DDA0DD; font-size: 1.1em; font-weight: bold; text-shadow: 0 0 8px rgba(221,160,221,0.8); background: rgba(0,0,0,0.3); padding: 5px 10px; border-radius: 8px;">300 Gold</span><br>
<span style="color: #FFD700; font-size: 0.9em; font-weight: bold; text-shadow: 0 0 8px rgba(255,215,0,0.8);">+1 Eros</span>
</div>
<</if>>
<<else>>
<div style="grid-column: 1 / -1; text-align: center; padding: 30px;">
<p style="color: rgba(255,255,255,0.6); font-size: 1.2em; font-style: italic;">💰 Insufficient Gold for Panties</p>
<p style="color: rgba(255,255,255,0.4); font-size: 1em;">You need 300 gold per panties</p>
</div>
<</if>>
</div>
</div>
<div class="legwear-section floating" style="background: linear-gradient(145deg, rgba(135,206,235,0.25), rgba(70,130,180,0.2)); border: 3px solid rgba(135,206,235,0.7); border-radius: 20px; padding: 30px; position: relative; backdrop-filter: blur(5px); box-shadow: 0 15px 35px rgba(135,206,235,0.3);">
<div class="shimmer-effect" style="position: absolute; top: 0; left: 0; right: 0; height: 100%; border-radius: 20px; pointer-events: none;"></div>
<h2 class="pulse-effect" style="color: #87CEEB; font-size: 2.4em; font-weight: bold; margin: 0 0 20px 0; text-align: center; text-shadow: 0 0 15px rgba(135,206,235,0.8);">🧦 Legwear & Socks 🧦</h2>
<p class="floating" style="color: rgba(255,255,255,0.95); font-size: 1.2em; text-align: center; margin-bottom: 30px; font-style: italic; text-shadow: 0 0 8px rgba(255,255,255,0.5);">Cozy and stylish leg accessories</p>
<div class="clothing-grid" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px;">
<<if $gold >= 250>>
<<if $purchasedClothing and $purchasedClothing.legwear and $purchasedClothing.legwear.knittedsocks>>
<div class="clothing-item floating" style="background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(135,206,235,0.1)); border: 2px solid rgba(0,255,0,0.6); border-radius: 15px; padding: 20px; text-align: center; position: relative; opacity: 0.7; cursor: not-allowed; box-shadow: 0 8px 20px rgba(0,255,0,0.2); transition: all 0.3s ease;"
data-item-type="legwear" data-item-name="knittedsocks">
<div class="owned-badge bounce-effect" style="position: absolute; top: 8px; right: 8px; background: linear-gradient(45deg, #00FF00, #32CD32); color: white; border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; font-size: 1em; font-weight: bold; box-shadow: 0 0 15px rgba(0,255,0,0.6);">✓</div>
<img src="images/rylan/femboy/clothes/underwear/legwear/knittedsocks.webp" style="width: 90px; height: 90px; object-fit: cover; border-radius: 12px; margin-bottom: 15px; border: 3px solid rgba(0,255,0,0.4); box-shadow: 0 5px 15px rgba(0,255,0,0.3);">
<br><span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 0 0 8px rgba(255,255,255,0.5);">🧦 Knitted Socks</span><br>
<span style="color: #00FF00; font-size: 1.1em; font-weight: bold; text-shadow: 0 0 8px rgba(0,255,0,0.8); background: rgba(0,0,0,0.3); padding: 5px 10px; border-radius: 8px;">250 Gold (Owned)</span><br>
<span style="color: #FFD700; font-size: 0.9em; font-weight: bold; text-shadow: 0 0 8px rgba(255,215,0,0.8);">+1 Eros</span>
</div>
<<else>>
<div class="clothing-item floating" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(135,206,235,0.15)); border: 2px solid rgba(135,206,235,0.6); border-radius: 15px; padding: 20px; cursor: pointer; text-align: center; position: relative; box-shadow: 0 8px 20px rgba(135,206,235,0.3); transition: all 0.3s ease;"
data-item-type="legwear" data-item-name="knittedsocks"
onclick="purchaseClothing('legwear', 'knittedsocks', 250, '🧦 Knitted Socks', 'Warm and cozy knitted socks')"
onmouseover="this.style.transform='scale(1.05)'; this.style.boxShadow='0 12px 30px rgba(135,206,235,0.5)'; this.style.borderColor='rgba(135,206,235,0.9)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(135,206,235,0.3)'; this.style.borderColor='rgba(135,206,235,0.6)';">
<img src="images/rylan/femboy/clothes/underwear/legwear/knittedsocks.webp" style="width: 90px; height: 90px; object-fit: cover; border-radius: 12px; margin-bottom: 15px; border: 3px solid rgba(135,206,235,0.5); box-shadow: 0 5px 15px rgba(135,206,235,0.4);">
<br><span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 0 0 8px rgba(255,255,255,0.5);">🧦 Knitted Socks</span><br>
<span style="color: #87CEEB; font-size: 1.1em; font-weight: bold; text-shadow: 0 0 8px rgba(135,206,235,0.8); background: rgba(0,0,0,0.3); padding: 5px 10px; border-radius: 8px;">250 Gold</span><br>
<span style="color: #FFD700; font-size: 0.9em; font-weight: bold; text-shadow: 0 0 8px rgba(255,215,0,0.8);">+1 Eros</span>
</div>
<</if>>
<<if $purchasedClothing and $purchasedClothing.legwear and $purchasedClothing.legwear.normalblack>>
<div class="clothing-item floating" style="background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(135,206,235,0.1)); border: 2px solid rgba(0,255,0,0.6); border-radius: 15px; padding: 20px; text-align: center; position: relative; opacity: 0.7; cursor: not-allowed; box-shadow: 0 8px 20px rgba(0,255,0,0.2); transition: all 0.3s ease;"
data-item-type="legwear" data-item-name="normalblack">
<div class="owned-badge bounce-effect" style="position: absolute; top: 8px; right: 8px; background: linear-gradient(45deg, #00FF00, #32CD32); color: white; border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; font-size: 1em; font-weight: bold; box-shadow: 0 0 15px rgba(0,255,0,0.6);">✓</div>
<img src="images/rylan/femboy/clothes/underwear/legwear/normalblack.webp" style="width: 90px; height: 90px; object-fit: cover; border-radius: 12px; margin-bottom: 15px; border: 3px solid rgba(0,255,0,0.4); box-shadow: 0 5px 15px rgba(0,255,0,0.3);">
<br><span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 0 0 8px rgba(255,255,255,0.5);">🖤 Black Socks</span><br>
<span style="color: #00FF00; font-size: 1.1em; font-weight: bold; text-shadow: 0 0 8px rgba(0,255,0,0.8); background: rgba(0,0,0,0.3); padding: 5px 10px; border-radius: 8px;">250 Gold (Owned)</span><br>
<span style="color: #FFD700; font-size: 0.9em; font-weight: bold; text-shadow: 0 0 8px rgba(255,215,0,0.8);">+1 Eros</span>
</div>
<<else>>
<div class="clothing-item floating" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(135,206,235,0.15)); border: 2px solid rgba(135,206,235,0.6); border-radius: 15px; padding: 20px; cursor: pointer; text-align: center; position: relative; box-shadow: 0 8px 20px rgba(135,206,235,0.3); transition: all 0.3s ease;"
data-item-type="legwear" data-item-name="normalblack"
onclick="purchaseClothing('legwear', 'normalblack', 250, '🖤 Black Socks', 'Classic black socks for everyday wear')"
onmouseover="this.style.transform='scale(1.05)'; this.style.boxShadow='0 12px 30px rgba(135,206,235,0.5)'; this.style.borderColor='rgba(135,206,235,0.9)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(135,206,235,0.3)'; this.style.borderColor='rgba(135,206,235,0.6)';">
<img src="images/rylan/femboy/clothes/underwear/legwear/normalblack.webp" style="width: 90px; height: 90px; object-fit: cover; border-radius: 12px; margin-bottom: 15px; border: 3px solid rgba(135,206,235,0.5); box-shadow: 0 5px 15px rgba(135,206,235,0.4);">
<br><span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 0 0 8px rgba(255,255,255,0.5);">🖤 Black Socks</span><br>
<span style="color: #87CEEB; font-size: 1.1em; font-weight: bold; text-shadow: 0 0 8px rgba(135,206,235,0.8); background: rgba(0,0,0,0.3); padding: 5px 10px; border-radius: 8px;">250 Gold</span><br>
<span style="color: #FFD700; font-size: 0.9em; font-weight: bold; text-shadow: 0 0 8px rgba(255,215,0,0.8);">+1 Eros</span>
</div>
<</if>>
<<if $purchasedClothing and $purchasedClothing.legwear and $purchasedClothing.legwear.normalpink>>
<div class="clothing-item floating" style="background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(135,206,235,0.1)); border: 2px solid rgba(0,255,0,0.6); border-radius: 15px; padding: 20px; text-align: center; position: relative; opacity: 0.7; cursor: not-allowed; box-shadow: 0 8px 20px rgba(0,255,0,0.2); transition: all 0.3s ease;"
data-item-type="legwear" data-item-name="normalpink">
<div class="owned-badge bounce-effect" style="position: absolute; top: 8px; right: 8px; background: linear-gradient(45deg, #00FF00, #32CD32); color: white; border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; font-size: 1em; font-weight: bold; box-shadow: 0 0 15px rgba(0,255,0,0.6);">✓</div>
<img src="images/rylan/femboy/clothes/underwear/legwear/normalpink.webp" style="width: 90px; height: 90px; object-fit: cover; border-radius: 12px; margin-bottom: 15px; border: 3px solid rgba(0,255,0,0.4); box-shadow: 0 5px 15px rgba(0,255,0,0.3);">
<br><span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 0 0 8px rgba(255,255,255,0.5);">💗 Pink Socks</span><br>
<span style="color: #00FF00; font-size: 1.1em; font-weight: bold; text-shadow: 0 0 8px rgba(0,255,0,0.8); background: rgba(0,0,0,0.3); padding: 5px 10px; border-radius: 8px;">250 Gold (Owned)</span><br>
<span style="color: #FFD700; font-size: 0.9em; font-weight: bold; text-shadow: 0 0 8px rgba(255,215,0,0.8);">+1 Eros</span>
</div>
<<else>>
<div class="clothing-item floating" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(135,206,235,0.15)); border: 2px solid rgba(135,206,235,0.6); border-radius: 15px; padding: 20px; cursor: pointer; text-align: center; position: relative; box-shadow: 0 8px 20px rgba(135,206,235,0.3); transition: all 0.3s ease;"
data-item-type="legwear" data-item-name="normalpink"
onclick="purchaseClothing('legwear', 'normalpink', 250, '💗 Pink Socks', 'Soft pink socks with delicate design')"
onmouseover="this.style.transform='scale(1.05)'; this.style.boxShadow='0 12px 30px rgba(135,206,235,0.5)'; this.style.borderColor='rgba(135,206,235,0.9)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(135,206,235,0.3)'; this.style.borderColor='rgba(135,206,235,0.6)';">
<img src="images/rylan/femboy/clothes/underwear/legwear/normalpink.webp" style="width: 90px; height: 90px; object-fit: cover; border-radius: 12px; margin-bottom: 15px; border: 3px solid rgba(135,206,235,0.5); box-shadow: 0 5px 15px rgba(135,206,235,0.4);">
<br><span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 0 0 8px rgba(255,255,255,0.5);">💗 Pink Socks</span><br>
<span style="color: #87CEEB; font-size: 1.1em; font-weight: bold; text-shadow: 0 0 8px rgba(135,206,235,0.8); background: rgba(0,0,0,0.3); padding: 5px 10px; border-radius: 8px;">250 Gold</span><br>
<span style="color: #FFD700; font-size: 0.9em; font-weight: bold; text-shadow: 0 0 8px rgba(255,215,0,0.8);">+1 Eros</span>
</div>
<</if>>
<<else>>
<div style="grid-column: 1 / -1; text-align: center; padding: 30px;">
<p style="color: rgba(255,255,255,0.6); font-size: 1.2em; font-style: italic;">💰 Insufficient Gold for Legwear</p>
<p style="color: rgba(255,255,255,0.4); font-size: 1em;">You need 250 gold per legwear</p>
</div>
<</if>>
</div>
</div>
</div>
</div>
<div class="shop-footer floating glow-effect" style="background: linear-gradient(145deg, rgba(45,45,50,0.95), rgba(60,60,70,0.9)); border: 3px solid rgba(255,182,193,0.8); padding: 40px; text-align: center; border-radius: 20px; margin-top: 30px; position: relative; backdrop-filter: blur(10px); box-shadow: 0 20px 40px rgba(0,0,0,0.3);">
<div class="shimmer-effect" style="position: absolute; top: 0; left: 0; right: 0; height: 100%; border-radius: 20px; pointer-events: none;"></div>
<div class="pulse-effect" style="background: linear-gradient(135deg, rgba(255,182,193,0.2), rgba(255,105,180,0.2)); border: 2px solid rgba(255,182,193,0.6); border-radius: 20px; padding: 25px; margin: 0 auto; max-width: 700px; box-shadow: 0 10px 25px rgba(255,182,193,0.3);">
<p class="bounce-effect" style="color: #FFB6C1; font-size: 1.4em; font-weight: bold; margin: 0 0 15px 0; text-shadow: 0 0 15px rgba(255,182,193,0.8);">✨ Bras: 350g | Panties: 300g | Legwear: 250g ✨</p>
<p class="floating" style="color: rgba(255,255,255,0.9); font-size: 1.2em; margin: 0; font-style: italic; text-shadow: 0 0 10px rgba(255,255,255,0.5);">"Find your perfect style, darling."</p>
</div>
<div style="margin-top: 40px;">
<div style="text-align: center;">
<<if $storyMasculinity30 == true>>
<div class="bounce-effect" style="background: linear-gradient(45deg, #FFB6C1, #FF69B4); border: 2px solid rgba(255,182,193,0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(255,182,193,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(255,182,193,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(255,182,193,0.4)';"
onclick="SugarCube.Engine.play('RylanMasculinity30part3')">
🚪 Leave the Shop
</div>
<<else>>
<div class="bounce-effect" style="background: linear-gradient(45deg, #FFB6C1, #FF69B4); border: 2px solid rgba(255,182,193,0.8); border-radius: 15px; padding: 15px 30px; color: white; font-weight: bold; text-decoration: none; display: inline-block; box-shadow: 0 8px 20px rgba(255,182,193,0.4); transition: all 0.3s ease; text-shadow: 0 0 10px rgba(255,255,255,0.5); cursor: pointer;"
onmouseover="this.style.transform='scale(1.1)'; this.style.boxShadow='0 12px 30px rgba(255,182,193,0.6)';"
onmouseout="this.style.transform='scale(1)'; this.style.boxShadow='0 8px 20px rgba(255,182,193,0.4)';"
onclick="SugarCube.Engine.play(SugarCube.State.variables.previousPassage || 'Start')">
🚪 Leave the Shop
</div>
<</if>>
</div>
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "soratheme.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "I excuse myself from the table, feeling the need to use the bathroom. It's been a while since breakfast, and nature calls.">>
<<narrative "I make my way to the bathroom, not thinking much about anything in particular. The morning has been tense enough with Gairos's presence.">>
<<narrative "Once inside, I close the door and start to relieve myself. It's a normal, everyday moment - nothing special about it.">>
<center><img src="images/story/chapter6/rylanbra/sitonbed.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I pull down my pants, and in that vulnerable moment, I hear the door handle turn. I freeze, caught off guard.">>
<<dialog "Mariel" "face" "Oh, I'm sorry, $humanName! I didn't realize you were in here." "she says, quickly turning away">>
<<narrative "But then she stops. I can see her reflection in the mirror, and her eyes are fixed on something. My heart stops beating.">>
<<thought "Rylan" "faceshocked" "Oh no... she can see them! She can see the panties I'm wearing! What do I do? What do I say?">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceangry" "What... what is that, sweetheart?" "her voice is sharp but still maternal, demanding an explanation">>
<<else>>
<<dialog "Mariel" "faceangry" "What... what is that?" "her voice is sharp, demanding an explanation">>
<</if>>
<<narrative "I feel like the world is collapsing around me. The fear is overwhelming, and I can't find the words to explain.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceangry" "Come to my bedroom, dear. Right now." "her tone leaves no room for argument but still sounds maternal">>
<<else>>
<<dialog "Mariel" "faceangry" "Come to my bedroom. Right now." "her tone leaves no room for argument">>
<</if>>
<<thought "Rylan" "faceworried" "I've never seen her this angry. I've disappointed her...">>
<<narrative "I quickly pull up my pants and follow her to her bedroom, my legs feeling like lead. The walk feels like an eternity.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceangry" "Close the door and sit down on the floor, honey." "she commands, pointing to a spot on the carpet">>
<<else>>
<<dialog "Mariel" "faceangry" "Close the door and sit down on the floor." "she commands, pointing to a spot on the carpet">>
<</if>>
<<thought "Rylan" "faceworried" "Fuck, how could I let Nimeria convince me to wear female underwear? This is all my fault. I should have known better.">>
<<narrative "I sit down on the floor, feeling small and vulnerable. The carpet is soft beneath me, but it offers no comfort.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceangry" "I assume you know why I'm angry, my dear child?" "she stands over me, her arms crossed">>
<<else>>
<<dialog "Mariel" "faceangry" "I assume you know why I'm angry?" "she stands over me, her arms crossed">>
<</if>>
<<dialog "Rylan" "faceworried" "Yes..." "tears begin to form in my eyes" "I'm sorry...">>
<<dialog "Mariel" "faceangry" "Then tell me!" "her voice is firm, demanding the truth">>
<<dialog "Rylan" "faceworried" "Because... because I'm wearing panties..." "the words come out in a whisper">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceangry" "This is only part of it, sweetheart. I'm really disappointed in you! I didn't raise a pervert!" "her words cut deep but still sound maternal">>
<<else>>
<<dialog "Mariel" "faceangry" "This is only part of it. I'm really disappointed in you! I didn't raise a pervert!" "her words cut deep">>
<</if>>
<<dialog "Rylan" "faceworried" "I'm sorry..." "tears start streaming down my face">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceangry" "I don't ever want to see you stealing underwear again, young man!" "she continues, her anger still burning but using maternal authority">>
<<else>>
<<dialog "Mariel" "faceangry" "I don't ever want to see you stealing underwear again!" "she continues, her anger still burning">>
<</if>>
<<dialog "Rylan" "faceworried" "What?" "I look up at her, confused">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "faceangry" "You heard me right, my dear child!" "she repeats, her tone still sharp but maternal">>
<<else>>
<<dialog "Mariel" "faceangry" "You heard me right, young man!" "she repeats, her tone still sharp">>
<</if>>
<<dialog "Rylan" "faceworried" "I... I didn't steal them... they're mine..." "I say quietly, not mentioning that Nimeria gave them to me">>
<<narrative "Mariel's expression changes completely. Her anger melts away, replaced by shock and then understanding.">>
<<dialog "Mariel" "faceworried" "Yours?" "she says, her voice much softer now">>
<<narrative "She stands there for a moment, processing this information. Then her face lights up with realization.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facehappy" "Oh my god, sweetheart!" "she exclaims, rushing forward to hug me" "I'm so sorry, my dear child!">>
<<else>>
<<dialog "Mariel" "facehappy" "Oh my god!" "she exclaims, rushing forward to hug me" "I'm so sorry!">>
<</if>>
<center><img src="images/story/chapter6/rylanbra/marielhugsad.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Her arms wrap around me, and I can feel her warmth and love. The relief is overwhelming.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facehappy" "I'm sorry for calling you a pervert, honey. I thought you stole the panties from one of the girls!" "she says, holding me close">>
<<else>>
<<dialog "Mariel" "facehappy" "I'm sorry for calling you a pervert. I thought you stole the panties from one of the girls!" "she says, holding me close">>
<</if>>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facehappy" "I'm so proud of you, sweetheart! Of course you can wear whatever you want!" "her voice is filled with genuine happiness">>
<<else>>
<<dialog "Mariel" "facehappy" "I'm so proud of you! Of course you can wear whatever you want!" "her voice is filled with genuine happiness">>
<</if>>
<center><img src="images/story/chapter6/rylanbra/marielhugcry.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She pulls back and looks at me with a bright smile. Then her expression becomes thoughtful.">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facehappy" "Wait, I have an idea, honey." "she says, getting up and moving to her closet">>
<<else>>
<<dialog "Mariel" "facehappy" "Wait, I have an idea." "she says, getting up and moving to her closet">>
<</if>>
<<narrative "She starts rummaging through old boxes, muttering to herself as she searches.">>
<<dialog "Mariel" "facehappy" "I should have them here somewhere..." "she says, pulling out various items">>
<<dialog "Mariel" "facehappy" "Oh, found them!" "she exclaims, pulling out a large box">>
<<narrative "She opens the box and starts sorting through what appears to be old underwear.">>
<center><img src="images/items/bras.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facehappy" "Here's my box with my old underwear, sweetheart. You know, during my pregnancy my breasts got a lot bigger, so they don't fit anymore. There are smaller sizes too, from when I was still a teenager." "she explains, showing me the contents">>
<<else>>
<<dialog "Mariel" "facehappy" "Here's my box with my old underwear. You know, during my pregnancy my breasts got a lot bigger, so they don't fit anymore. There are smaller sizes too, from when I was still a teenager." "she explains, showing me the contents">>
<</if>>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facehappy" "You know, I always wanted to have a daughter, so we could talk about girly stuff, sweetheart," "she continues, her eyes sparkling with excitement">>
<<else>>
<<dialog "Mariel" "facehappy" "You know, I always wanted to have a daughter, so we could talk about girly stuff," "she continues, her eyes sparkling with excitement">>
<</if>>
<<dialog "Rylan" "faceworried" "Erm..." "I'm not sure where this is going">>
<<dialog "Mariel" "facehappy" "Exchange clothes," "she says, holding up a pretty blouse">>
<<dialog "Rylan" "faceworried" "Cough..." "I clear my throat nervously">>
<<dialog "Mariel" "facehappy" "Talk about guys, or girls, paint each other's nails..." "she continues, getting more excited">>
<<dialog "Rylan" "faceworried" "$humanToMariel!" "I interrupt, my face turning red">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facehappy" "Oh, sorry, honey! But anyways, they're yours!" "she says, pushing the box toward me">>
<<else>>
<<dialog "Mariel" "facehappy" "Oh, sorry! But anyways, they're yours!" "she says, pushing the box toward me">>
<</if>>
<<dialog "Rylan" "faceworried" "Thank... you?" "I say uncertainly">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facehappy" "What are you waiting for, sweetheart? Put one on!" "she says, clapping her hands together">>
<<else>>
<<dialog "Mariel" "facehappy" "What are you waiting for? Put one on!" "she says, clapping her hands together">>
<</if>>
<<dialog "Rylan" "faceworried" "$humanToMariel, I'm not really comfortable..." "I try to protest">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facehappy" "What do you mean, honey? Nothing to be embarrassed about!" "she says, her enthusiasm undiminished">>
<<else>>
<<dialog "Mariel" "facehappy" "What do you mean? Nothing to be embarrassed about!" "she says, her enthusiasm undiminished">>
<</if>>
<<narrative "Despite my protests, her excitement is infectious. She's so happy, and I can't bear to disappoint her again.">>
<<narrative "I reluctantly pick up a bra from the box and start to put it on. The fabric feels different, but not entirely unpleasant.">>
<<continueBox "Chapter6RylanBathroomDiscoveryPart2" "Continue" "Try on the bra...">>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "I stand up and look at myself in the mirror. The reflection is strange, but... it doesn't look that bad.">>
<center><img src="images/rylan/femalestage1/braview.webp" style="max-width: 500px; margin-bottom: 20px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Mariel" "facehappy" "Oh god! You look so beautiful! Your skin is so smooth too!" "she exclaims, clapping her hands">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facehappy" "You should grow your hair, honey!" "she adds, running her fingers through my short hair">>
<<else>>
<<dialog "Mariel" "facehappy" "You should grow your hair!" "she adds, running her fingers through my short hair">>
<</if>>
<<dialog "Rylan" "faceworried" "I don't really want to wear them..." "I try to protest again">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facepuppyeyes" "What are you saying, sweetheart? You look so beautiful, please? Maybe just for a few days?" "she says, making puppy eyes at me">>
<<else>>
<<dialog "Mariel" "facepuppyeyes" "What are you saying? You look so beautiful, please? Maybe just for a few days?" "she says, making puppy eyes at me">>
<</if>>
<<narrative "Her expression is so hopeful, so happy. I can't say no to her.">>
<<dialog "Rylan" "faceworried" "God, okay, okay. Just a few days..." "I give in">>
<<if $marielTransformationMother>>
<<dialog "Mariel" "facehappy" "Yay, sweetheart!" "she exclaims, jumping up and down with joy">>
<<else>>
<<dialog "Mariel" "facehappy" "Yay!" "she exclaims, jumping up and down with joy">>
<</if>>
<<narrative "I start putting on my clothes again, but I can't help looking at the mirror one last time. It actually looks... good?">>
<<thought "Rylan" "face" "Looking at how happy $humanToMariel is, maybe a bit of embarrassment is worth it. She deserves to be happy, and if this small thing could lift her mood...">>
<<narrative "I finish getting dressed, but the image in the mirror stays with me. Maybe this isn't so bad after all.">>
<<set $rylan_wearingPanties = true>>
<<set $rylan_wearingBra = true>>
<<setTransformation "rylan" "bra" true>>
<<set $rylan_masculinityStage = 1>>
<<reduceMasculinity "Rylan" 3>>
<<set $masculinityDecreaseAmount = 1>>
<<changeFetish "Rylan" "crossdressingFetish" 0.5>>
<div style="background: linear-gradient(135deg, rgba(255, 182, 193, 0.9), rgba(255, 192, 203, 0.95)); border: 3px solid rgba(255, 105, 180, 0.6); border-radius: 15px; padding: 25px; margin: 30px 0; box-shadow: 0 8px 25px rgba(255, 105, 180, 0.3);">
<div style="text-align: center; margin-bottom: 20px;">
<h3 style="color: #8B008B; margin: 0 0 15px 0; font-size: 1.6em; text-shadow: 2px 2px 4px rgba(0,0,0,0.3);">✨ Feminization System Unlocked ✨</h3>
<div style="background: rgba(255, 255, 255, 0.2); border-radius: 10px; padding: 20px; margin: 15px 0;">
<p style="color: #4B0082; font-size: 1.1em; margin: 0 0 15px 0; line-height: 1.6; font-weight: 500;">From now on, wearing feminine clothing will gradually reduce your masculinity over time. This is a slow, natural process that reflects your growing comfort with feminine expression.</p>
</div>
</div>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 20px 0;">
<div style="background: rgba(255, 255, 255, 0.15); border-radius: 10px; padding: 15px; border-left: 4px solid #FF69B4;">
<h4 style="color: #8B008B; margin: 0 0 10px 0; font-size: 1.2em;">🎭 Stage Progression</h4>
<p style="color: #4B0082; margin: 0; font-size: 0.95em; line-height: 1.5;">Your masculinity decreases in stages, each with its own limit. Currently at <strong>Stage 1</strong> with a minimum of <strong>30 masculinity</strong>.</p>
</div>
<div style="background: rgba(255, 255, 255, 0.15); border-radius: 10px; padding: 15px; border-left: 4px solid #DA70D6;">
<h4 style="color: #8B008B; margin: 0 0 10px 0; font-size: 1.2em;">⏰ Time-Based Changes</h4>
<p style="color: #4B0082; margin: 0; font-size: 0.95em; line-height: 1.5;">Every time you advance through the day while wearing feminine clothing, your masculinity will naturally decrease by a small amount.</p>
</div>
</div>
<div style="background: rgba(255, 255, 255, 0.1); border-radius: 10px; padding: 15px; margin: 15px 0; border: 2px dashed rgba(255, 105, 180, 0.4);">
<h4 style="color: #8B008B; margin: 0 0 10px 0; font-size: 1.2em; text-align: center;">🌟 Current Chapter: Automatic Progress</h4>
<p style="color: #4B0082; margin: 0; font-size: 0.95em; line-height: 1.5; text-align: center;">Since this chapter introduces the system, you'll automatically reach the Stage 1 limit (30 masculinity) through natural story progression. In future chapters, you may need to actively participate in feminine activities to continue your transformation.</p>
</div>
<div style="background: linear-gradient(45deg, rgba(255, 105, 180, 0.2), rgba(255, 182, 193, 0.2)); border-radius: 10px; padding: 15px; margin: 15px 0;">
<h4 style="color: #8B008B; margin: 0 0 10px 0; font-size: 1.2em; text-align: center;">💫 Physical Changes</h4>
<p style="color: #4B0082; margin: 0; font-size: 0.95em; line-height: 1.5; text-align: center;">As your masculinity decreases and reaches certain thresholds, your appearance will gradually become more feminine. These changes will be subtle at first but become more noticeable over time.</p>
</div>
<div style="text-align: center; margin-top: 20px;">
<p style="color: #8B008B; font-size: 1em; margin: 0; font-style: italic;">"The journey of self-discovery begins with a single step... or in this case, a single piece of clothing."</p>
</div>
</div>
<<continueBox "Chapter6TrainingBegin" "Continue" "Time to start training...">>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="passage-container rylan">
<<narrative "The transformation is complete. Your masculinity has reached zero, and you have fully embraced your feminine side. Your movements, speech, and behavior are now completely feminine.">>
<<thought "Rylan" "face" "I... I feel like a completely different person now." "I look at my reflection" "This is who I was meant to be...">>
<<narrative "Your walk is graceful and fluid, your voice soft and melodic, your gestures delicate and refined. The masculine aspects of your personality have been completely replaced by feminine traits.">>
<<thought "Rylan" "facehappy" "I feel... right. This feels natural, like I've finally found my true self.">>
<<narrative "The transformation is complete. You have become the person you were always meant to be, embracing your feminine identity fully and without reservation.">>
<<dialog "Rylan" "face" "I... I think I understand now. This is who I really am.">>
<<narrative "You smile at your reflection, finally comfortable in your own skin. The journey of self-discovery has led you to your true identity.">>
<<if $timeOfDay === "evening" or $timeOfDay === "midnight">>
<<continueBox "NightActivityChoices" "Continue" "The day continues...">>
<<else>>
<<continueBox "MorningActivityChoices" "Continue" "The day continues...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<div class="passage-container rylan">
<<set $rylanFemboy = true>>
<<narrative "I wake up feeling different somehow, as if something fundamental has shifted during the night. The morning light filters through my window, and I can't shake this strange sensation that something is... wrong.">>
<<thought "Rylan" "faceconfused" "What is this feeling? I feel like I'm not quite myself today.">>
<<narrative "I get up and make my way to the bathroom, still half-asleep. The cold water from the faucet feels refreshing as I splash it on my face, trying to shake off this odd feeling.">>
<<narrative "I reach for my toothbrush and look up at the mirror, and what I see stops me dead in my tracks.">>
<<thought "Rylan" "faceshocked" "That's... that's not me. That's a girl looking back at me!">>
<<narrative "I drop my toothbrush in shock and quickly splash more water on my face, rubbing my eyes frantically. When I look up again, the same feminine face stares back at me - smooth skin, delicate features, and hair that's grown longer than I remember.">>
<<thought "Rylan" "facepanicked" "This can't be real. This has to be a dream. I'm still asleep, right?">>
<<narrative "I pinch myself hard, but the pain is real. The reflection doesn't change. I'm looking at a girl who could easily be mistaken for a beautiful young woman, and somehow... it's me.">>
<<thought "Rylan" "faceworried" "I need to talk to someone about this. Someone who might understand what's happening to me.">>
<<narrative "I run out of the bathroom and down the hallway, my heart pounding with panic and confusion.">>
<<thought "Rylan" "faceconfused" "Right, Nimeria! She knows about magic and strange things. She might have an idea what's going on.">>
<<narrative "I burst into Nimeria's room without knocking, finding her sitting at her desk, working on some kind of experiment with various crystals and vials.">>
<<dialog "Rylan" "facepanicked" "Nimeria! Something's wrong with me! Look at my face!">>
<<dialog "Nimeria" "facesmirk" "Oh my, what a lovely surprise! You look absolutely beautiful, $humanName.">>
<<thought "Rylan" "faceangry" "She's not taking this seriously! This is a crisis!">>
<<dialog "Rylan" "faceangry" "This isn't funny! I woke up looking like a girl! What's happening to me?">>
<<dialog "Nimeria" "faceconfident" "Ah, I think I know exactly what's happening. Do you remember when we swallowed those soulstones together? You gained the ability to reform your body and soul however you desire.">>
<<dialog "Rylan" "faceconfused" "Yes, you told me that before, but this is definitely not what I want!">>
<<dialog "Nimeria" "facesmirk" "Are you so sure about that? Maybe your unconscious mind has different ideas than your conscious one. Just look into the mirror again.">>
<<narrative "She gestures toward a small hand mirror on her desk. Reluctantly, I pick it up and look at my reflection.">>
<<thought "Rylan" "faceconfused" "The person looking back at me... they have beautiful, smooth skin that could easily be mistaken for a girl's. The features are delicate and feminine, and honestly... they would be exactly my type if I saw them on someone else.">>
<<dialog "Nimeria" "faceplayful" "I think the bulge in your pants answers your question quite clearly, don't you think?">>
<<narrative "I look down in shock and realize she's absolutely right. Despite my panic and confusion, my body is reacting to what it sees in the mirror.">>
<<thought "Rylan" "faceembarrassed" "Oh no... she's right. I'm actually... aroused by my own reflection. What does this mean about me?">>
<<dialog "Rylan" "faceembarrassed" "I... I need to think about this. This is all too much.">>
<<narrative "I set the mirror down and stumble out of her room, my mind racing with conflicting emotions and desires.">>
<<narrative "As I walk down the hallway, lost in thought, I nearly collide with $humanToMariel coming around the corner.">>
<<if $marielTransformationMother == true>>
<<dialog "Mariel" "facehappy" "Oh, $humanName! There you are, sweetheart! Wow, your new haircut looks absolutely wonderful! Longer hair suits you so well!">>
<<else>>
<<dialog "Mariel" "facehappy" "Oh, $humanName! There you are! Wow, your new haircut looks absolutely wonderful! Longer hair suits you so well!">>
<</if>>
<<dialog "Rylan" "faceworried" "$humanToMariel, I'm not really in the mood right now.">>
<<if $marielTransformationMother == true>>
<<dialog "Mariel" "faceplayful" "Oh, come on now, honey! And here I was going to pay you that 300 gold I promised!">>
<<else>>
<<dialog "Mariel" "faceplayful" "Oh, come on now! And here I was going to pay you that 300 gold I promised!">>
<</if>>
<<dialog "Rylan" "faceconfused" "Oh right... the gold.">>
<<dialog "Mariel" "facehappy" "Did you keep your promise? Did you wear those stockings like I asked?">>
<<dialog "Rylan" "faceembarrassed" "Yes... I did.">>
<<if $marielTransformationMother == true>>
<<dialog "Mariel" "faceexcited" "Wonderful! Hey, let's go shopping, my dear child! Looking at you like this, you need new clothes, and I want to get you some more nice things to wear!">>
<<else>>
<<dialog "Mariel" "faceexcited" "Wonderful! Hey, let's go shopping! Looking at you like this, you need new clothes, and I want to get you some more nice things to wear!">>
<</if>>
<<narrative "She takes my arm and starts leading me toward the door, completely oblivious to the internal crisis I'm experiencing.">>
<<thought "Rylan" "faceconfused" "I don't know what to do. Part of me wants to resist, but another part... another part is curious about what she might want to buy for me.">>
<<set $rylanMasculinity30Triggered = true>>
<<if $timeOfDay === "evening" or $timeOfDay === "midnight">>
<<continueBox "NightActivityChoices" "Continue" "The day continues...">>
<<else>>
<<continueBox "RylanMasculinity30part2" "Continue" "The day continues...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "soratheme.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "The bustling marketplace is alive with activity as $humanToMariel leads me through the crowded streets, her arm linked with mine. I can feel the curious glances of passersby, and I'm painfully aware of how different I must look now.">>
<<thought "Rylan" "faceembarrassed" "Everyone's staring at me. Do they know? Can they tell something's changed?">>
<<narrative "The market is filled with vendors selling everything from fresh produce to exotic trinkets, their voices calling out prices and special offers. The air is thick with the scent of spices, flowers, and street food.">>
<center><img src="images/landscapes/market.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $marielTransformationMother == true>>
<<dialog "Mariel" "facehappy" "Oh, this is so exciting, sweetheart! I can't wait to find you some beautiful new clothes that will really show off your lovely new look!">>
<<else>>
<<dialog "Mariel" "facehappy" "Oh, this is so exciting! I can't wait to find you some beautiful new clothes that will really show off your lovely new look!">>
<</if>>
<<thought "Rylan" "faceworried" "New look? She's acting like this is completely normal. Does she really not see how much I've changed?">>
<<narrative "Just as we're about to enter a clothing store, a familiar voice cuts through the market noise.">>
<<dialog "Sora" "faceplayful" "Hey there, $humanName! Looking absolutely stunning today!">>
<<narrative "I turn to see Sora approaching with his usual confident stride, a mischievous grin on his face. His eyes light up as he takes in my appearance.">>
<<dialog "Rylan" "faceembarrassed" "Sora... hey. What are you doing here?">>
<<dialog "Sora" "facesmirk" "Oh, just browsing the market, same as you. But wow, you look incredible! I had no idea you had such a beautiful lady in your life.">>
<<narrative "He turns to $humanToMariel with a charming smile and gives a slight bow.">>
<<dialog "Sora" "faceconfident" "Pleasure to meet you, ma'am. I'm Sora, a friend of $humanName's. No wonder he looks so radiant - he must be inspired by such an elegant companion!">>
<<dialog "Mariel" "facehappy" "Oh my, what a charming young man! I'm Mariel, $humanName's $marielToHuman. It's lovely to meet you!">>
<<dialog "Sora" "faceplayful" "Looking at you now, $humanName, I can see you've really embraced the beauty of femininity, haven't you? It suits you perfectly!">>
<<dialog "Rylan" "faceangry" "That's... that's not funny, Sora.">>
<<narrative "My face burns with embarrassment, but Sora just laughs, completely unfazed by my discomfort.">>
<<if $marielTransformationMother == true>>
<<dialog "Mariel" "faceexcited" "We were just about to go clothes shopping, dear! I want to get $humanName some new outfits that will really complement his lovely new style.">>
<<else>>
<<dialog "Mariel" "faceexcited" "We were just about to go clothes shopping! I want to get $humanName some new outfits that will really complement his lovely new style.">>
<</if>>
<<dialog "Sora" "facehappy" "Oh, that's perfect! I'd love to come along! You know, I have a real passion for fashion, and my dream is to open my own clothing boutique one day.">>
<<dialog "Mariel" "facesmile" "That sounds wonderful! You must have excellent taste then.">>
<<dialog "Sora" "faceplayful" "Well, I'd love to help, but sadly I have to take care of my twenty kitten siblings back home...">>
<<dialog "Mariel" "faceshocked" "Twenty? Oh my goodness, that must be quite a handful!">>
<<dialog "Sora" "facelaugh" "Just kidding! I grew up all alone, hahaha! But seriously, let me join you - I have some great ideas for what would look amazing on $humanName.">>
<<narrative "Before I can protest, Sora takes my other arm and starts leading us through the market with confident strides.">>
<<thought "Rylan" "faceworried" "This is getting worse and worse. Sora's going to drag me into some embarrassing situation, I just know it.">>
<<narrative "We walk through the market, and I notice Sora is steering us toward a particular section. My heart sinks when I see where we're heading.">>
<<dialog "Rylan" "faceshocked" "Wait... is that a lingerie shop? Sora, what are you doing?">>
<<dialog "Sora" "facesmirk" "Exactly what I said - helping you embrace your full femininity! You should really explore all aspects of your new look, don't you think?">>
<<narrative "I look at the shop window, and my face turns bright red. The displays show delicate lace, silk, and satin in various shades of pink, white, and black.">>
<<thought "Rylan" "faceembarrassed" "This is so humiliating. Everyone can see us standing in front of a lingerie shop!">>
<<dialog "Rylan" "faceangry" "This is all way too revealing! I can't wear any of this stuff!">>
<<dialog "Sora" "faceplayful" "Oh, come on! Don't be so modest. I'm sure there are at least a few things here that would look absolutely gorgeous on you.">>
<<narrative "I scan the window display, my eyes darting from one item to another. Despite my protests, I can't help but notice some pieces that catch my eye.">>
<<thought "Rylan" "faceconfused" "Actually... that white lace set over there is kind of pretty. And that pink silk one... no, what am I thinking?">>
<<dialog "Rylan" "faceembarrassed" "I... I guess there might be a few things I could consider... but nothing too revealing!">>
<<dialog "Sora" "facehappy" "That's the spirit! Let's go inside and see what catches your eye. I promise to be very selective and only suggest the most tasteful pieces.">>
<<narrative "Mariel claps her hands together with excitement, completely oblivious to my internal struggle.">>
<<if $marielTransformationMother == true>>
<<dialog "Mariel" "faceexcited" "This is going to be so much fun, my dear child! I can't wait to see what we find for you, $humanName!">>
<<else>>
<<dialog "Mariel" "faceexcited" "This is going to be so much fun! I can't wait to see what we find for you, $humanName!">>
<</if>>
<<set $storyMasculinity30 = true>>
<<continueBox "LingerieShop" "Continue" "Enter the lingerie shop...">>
</div>
<</nobr>>
<<pov "rylan" "soratheme.mp3">><<nobr>>
<div class="passage-container rylan">
<<set $storyMasculinity30 = false>>
<<narrative "You can find your Wardrobe on the right Sidebar by scrolling down to the Wardrobe button.">>
<center><img src="images/items/wardrobe.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The trio steps out of the lingerie boutique, and $humanName can't help but feel a bit overwhelmed by the prices they just encountered.">>
<<dialog "Rylan" "faceworried" "God, lingerie is so expensive!" "he mutters under his breath, still processing the cost of those delicate items">>
<<dialog "Sora" "facesmirk" "Well, who wants to look good has to pay the price, darling." "he says with a knowing smile, clearly enjoying his discomfort">>
<<narrative "But their shopping adventure is far from over. Sora's eyes light up with determination as he claps his hands together.">>
<<dialog "Sora" "facehappy" "But we aren't finished yet! We still have to go clothes shopping!" "he announces excitedly, already grabbing $humanName's arm">>
<<narrative "Mariel follows along happily, clearly enjoying the whole experience as Sora practically drags $humanName toward a nearby boutique. The storefront displays elegant mannequins wearing various styles of clothing.">>
<<dialog "Sora" "faceconfused" "Your clothes are far too wide now, sweetie. You need something that actually fits your new figure." "he says, examining his current outfit with a critical eye">>
<<narrative "$humanName sighs and reluctantly begins browsing through the racks. After what feels like an eternity of Sora and Mariel making suggestions, he finally emerges from the changing room.">>
<<narrative "To everyone's surprise, he's wearing the exact same style of outfit he had before - a simple shirt and pants - but now they fit his transformed body perfectly, hugging his curves in all the right places.">>
<center><img src="images/rylan/femboy/blue.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "faceangry" "Are you serious right now? You should try a new style!" "he exclaims, clearly frustrated with your choice">>
<<narrative "Sora's eyes scan the store, and he suddenly points to a display of more fashionable clothing.">>
<<dialog "Sora" "faceconfident" "Something black and white would look absolutely stunning on you!" "he suggests, his eyes sparkling with excitement">>
<<if $marielTransformationMother == true>>
<<dialog "Mariel" "facesmile" "Hmm, I think pink would look lovely on you, sweetheart." "she adds thoughtfully, clearly having her own vision">>
<<else>>
<<dialog "Mariel" "facesmile" "Hmm, I think pink would look lovely on you, dear." "she adds thoughtfully, clearly having her own vision">>
<</if>>
<<dialog "Rylan" "faceangry" "What the hell! I'm not your doll!" "he protests, crossing his arms defensively">>
<<narrative "A heated discussion ensues, with $humanName adamantly refusing to wear anything too feminine. After several minutes of back-and-forth, they finally reach a compromise.">>
<<narrative "He agrees to try on a sleek black shirt paired with crisp white pants - a classic, elegant look that's not too revealing but still stylish.">>
<<narrative "When he emerges from the changing room, the transformation is subtle but noticeable. The black shirt clings to his torso, and the white pants accentuate his new curves.">>
<<dialog "Rylan" "faceworried" "Yeah, this shirt is far too exposing!" "he complains, tugging at the fabric that seems to highlight every contour of his body">>
<center><img src="images/rylan/femboy/blackshort.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "facesmirk" "You should show off those sexy abs of yours!" "he teases, clearly enjoying his discomfort">>
<<narrative "$humanName quickly grabs a wider, more loose-fitting shirt and changes into it, feeling much more comfortable with the extra coverage.">>
<center><img src="images/rylan/femboy/blacktake.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $marielTransformationMother == true>>
<<dialog "Mariel" "facehappy" "Hmm, that looks good enough... for now, my dear child." "she says with a knowing smile, clearly planning future shopping trips">>
<<else>>
<<dialog "Mariel" "facehappy" "Hmm, that looks good enough... for now, dear." "she says with a knowing smile, clearly planning future shopping trips">>
<</if>>
<<dialog "Sora" "facesmirk" "Can't wait for next time!" "he adds with a mischievous grin">>
<<dialog "Rylan" "facesad" "God, hopefully that will never repeat." "he mutters, though there's a hint of resignation in his voice">>
<<narrative "As they leave the boutique, $humanName can't help but notice how the new clothes make him feel different - more aware of his body, more conscious of how he moves and presents himself. The transformation continues, both physically and mentally.">>
<div class="floating glow-effect" style="background: linear-gradient(135deg, rgba(255,182,193,0.2), rgba(255,105,180,0.2), rgba(221,160,221,0.2)); border: 3px solid rgba(255,182,193,0.8); border-radius: 20px; padding: 30px; margin: 30px 0; text-align: center; position: relative; backdrop-filter: blur(10px); box-shadow: 0 20px 40px rgba(255,182,193,0.3);">
<div class="shimmer-effect" style="position: absolute; top: 0; left: 0; right: 0; height: 100%; border-radius: 20px; pointer-events: none;"></div>
<div class="pulse-effect" style="background: linear-gradient(135deg, rgba(255,20,147,0.3), rgba(255,105,180,0.3)); border: 2px solid rgba(255,20,147,0.6); border-radius: 15px; padding: 25px; margin: 0 auto; max-width: 800px; box-shadow: 0 10px 25px rgba(255,20,147,0.3);">
<h3 class="bounce-effect" style="color: #FF1493; font-size: 2.2em; font-weight: bold; margin: 0 0 20px 0; text-shadow: 0 0 20px rgba(255,20,147,0.8), 2px 2px 6px rgba(0,0,0,0.8); background: linear-gradient(45deg, #FF1493, #FF69B4, #DDA0DD, #FF1493); background-size: 400% 400%; -webkit-background-clip: text; -webkit-text-fill-color: transparent; animation: shimmer 3s ease-in-out infinite;">✨ TRANSFORMATION TEASER ✨</h3>
<p class="floating" style="color: rgba(255,255,255,0.95); font-size: 1.4em; margin: 15px 0; font-style: italic; text-shadow: 0 0 10px rgba(255,255,255,0.5);">Your new femboy appearance is just beginning to take shape!</p>
<div class="pulse-effect" style="background: linear-gradient(135deg, rgba(255,20,147,0.1), rgba(255,105,180,0.1)); border: 2px solid rgba(255,20,147,0.4); border-radius: 15px; padding: 20px; margin: 20px 0; box-shadow: 0 8px 20px rgba(255,20,147,0.2);">
<p style="color: #FFB6C1; font-size: 1.2em; font-weight: bold; margin: 0 0 10px 0; text-shadow: 0 0 15px rgba(255,182,193,0.8);">🎭 Important Notice 🎭</p>
<p style="color: rgba(255,255,255,0.9); font-size: 1.1em; margin: 0; line-height: 1.6; text-shadow: 0 0 8px rgba(255,255,255,0.5);">This chapter serves as a <strong>teaser</strong> for your transformation. The femboy look will only start affecting story scenes and character interactions in the <strong>next chapter</strong>!</p>
<p style="color: rgba(255,255,255,0.8); font-size: 1em; margin: 10px 0 0 0; font-style: italic; text-shadow: 0 0 6px rgba(255,255,255,0.4);">"The real adventure begins when others start noticing your changes..."</p>
</div>
</div>
</div>
<<continueBox "MorningActivityChoicesNext" "Continue" "The shopping adventure ends...">>
</div>
<</nobr>>
<<pov "rylan" "soratheme.mp3">><<nobr>>
<<set $rylanMasculinity35Triggered = true>>
<div class="passage-container rylan">
<<narrative "I stand in front of the mirror in my underwear, and what I see shocks me to my core. My body looks even more feminine than before - my waist has narrowed further, my hips seem wider, and my skin appears smoother and more delicate.">>
<<thought "Rylan" "faceworried" "What's happening to me? I look... I look like a girl. This can't be real, can it?">>
<<narrative "Just as I'm staring at my reflection in horror, the door to my room opens, and $humanToMariel stands there, her eyes widening as she takes in the sight before her.">>
<<if $marielTransformationMother === true>>
<<dialog "Mariel" "faceembarrassed" "Oh sweetheart! I'm so sorry, I should have knocked first!">>
<<narrative "She starts to turn away but then stops, her gaze lingering on my transformed body with growing interest.">>
<<dialog "Mariel" "facehappy" "Wait honey... wow, your skin looks so smooth! Did you shave recently? And your waist... did you lose weight? You look... different.">>
<<dialog "Rylan" "faceworried" "No, I don't know what's happening to me either, or how to make it stop! I'm scared, $humanToMariel.">>
<<dialog "Mariel" "facesmile" "Hmm... I think you look beautiful this way, sweetheart! There's something elegant about your new figure.">>
<<narrative "She steps closer, examining me more carefully, then shakes her head disapprovingly at my current attire.">>
<<dialog "Mariel" "faceconfident" "But those socks just won't do anymore, dear. Come with me!">>
<<narrative "Before I can protest, she takes my hand and drags me toward her bedroom, her grip surprisingly firm.">>
<<dialog "Rylan" "faceembarrassed" "But $humanToMariel!">>
<<dialog "Mariel" "faceconfident" "Not $humanToMariel right now, sweetheart. Just come with me and try these on.">>
<<narrative "She rummages through her dresser and pulls out a pair of pristine white stockings, holding them up with a knowing smile.">>
<<dialog "Mariel" "facehappy" "Here, try these on, honey! They'll look much better on you than those old socks.">>
<<dialog "Rylan" "faceembarrassed" "But $humanToMariel, these are... these are women's stockings!">>
<<dialog "Mariel" "facesmile" "I know what they are, dear. Now try them on, please?">>
<<narrative "I reluctantly take the stockings and begin to put them on, my hands trembling slightly. As I pull them up my legs, I can't help but notice how smooth and soft they feel against my skin.">>
<center><img src="images/rylan/femboy/body/tryon.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Mariel giving Rylan stockings"></center>
<<thought "Rylan" "faceembarrassed" "They actually feel... nice. And they do look good on me. But if someone saw me like this...">>
<<dialog "Mariel" "facehappy" "You see, sweetheart? They suit you perfectly! The white really complements your skin tone.">>
<<thought "Rylan" "face" "It really does look good. The stockings make my legs look longer and more elegant. But if someone saw me like that... I'd be so embarrassed.">>
<<dialog "Mariel" "facesmile" "Let me tell you something, my dear child. If you wear these for just a few days, I'll pay you 300 gold!">>
<<dialog "Rylan" "faceshocked" "300 gold?! That's... that's a lot of money!">>
<<dialog "Mariel" "faceconfident" "I know it is, honey. But I think you'd look lovely in them, and it would make me happy to see you embrace this new side of yourself.">>
<<thought "Rylan" "faceworried" "300 gold is a lot! And she seems so excited about this... Maybe it wouldn't be so bad? Just for a few days?">>
<<dialog "Rylan" "faceembarrassed" "I... I suppose I could try it. Just for a few days, right?">>
<<dialog "Mariel" "facehappy" "Exactly, sweetheart! Just a few days. And who knows, you might even like how they feel.">>
<<else>>
<<dialog "Mariel" "faceembarrassed" "Oh! I'm so sorry, I should have knocked first!">>
<<narrative "She starts to turn away but then stops, her gaze lingering on my transformed body with growing interest.">>
<<dialog "Mariel" "facehappy" "Wait... wow, your skin looks so smooth! Did you shave recently? And your waist... did you lose weight? You look... different.">>
<<dialog "Rylan" "faceworried" "No, I don't know what's happening to me either, or how to make it stop! I'm scared, $humanToMariel.">>
<<dialog "Mariel" "facesmile" "Hmm... I think you look beautiful this way! There's something elegant about your new figure.">>
<<narrative "She steps closer, examining me more carefully, then shakes her head disapprovingly at my current attire.">>
<<dialog "Mariel" "faceconfident" "But those socks just won't do anymore. Come with me!">>
<<narrative "Before I can protest, she takes my hand and drags me toward her bedroom, her grip surprisingly firm.">>
<<dialog "Rylan" "faceembarrassed" "But $humanToMariel!">>
<<dialog "Mariel" "faceconfident" "Not $humanToMariel right now. Just come with me and try these on.">>
<<narrative "She rummages through her dresser and pulls out a pair of pristine white stockings, holding them up with a knowing smile.">>
<<dialog "Mariel" "facehappy" "Here, try these on! They'll look much better on you than those old socks.">>
<<dialog "Rylan" "faceembarrassed" "But $humanToMariel, these are... these are women's stockings!">>
<<dialog "Mariel" "facesmile" "I know what they are. Now try them on, please?">>
<<narrative "I reluctantly take the stockings and begin to put them on, my hands trembling slightly. As I pull them up my legs, I can't help but notice how smooth and soft they feel against my skin.">>
<<thought "Rylan" "faceembarrassed" "They actually feel... nice. And they do look good on me. But if someone saw me like this...">>
<<dialog "Mariel" "facehappy" "You see? They suit you perfectly! The white really complements your skin tone.">>
<<thought "Rylan" "face" "It really does look good. The stockings make my legs look longer and more elegant. But if someone saw me like that... I'd be so embarrassed.">>
<<dialog "Mariel" "facesmile" "Let me tell you something. If you wear these for just a few days, I'll pay you 300 gold!">>
<<dialog "Rylan" "faceshocked" "300 gold?! That's... that's a lot of money!">>
<<dialog "Mariel" "faceconfident" "I know it is. But I think you'd look lovely in them, and it would make me happy to see you embrace this new side of yourself.">>
<<thought "Rylan" "faceworried" "300 gold is a lot! And she seems so excited about this... Maybe it wouldn't be so bad? Just for a few days?">>
<<dialog "Rylan" "faceembarrassed" "I... I suppose I could try it. Just for a few days, right?">>
<<dialog "Mariel" "facehappy" "Exactly! Just a few days. And who knows, you might even like how they feel.">>
<</if>>
<<narrative "She claps her hands together with obvious delight, clearly pleased with my reluctant agreement.">>
<<if $timeOfDay === "evening" or $timeOfDay === "midnight">>
<<continueBox "NightActivityChoices" "Continue" "The day continues...">>
<<else>>
<<continueBox "MorningActivityChoices" "Continue" "The day continues...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "You stand in front of the mirror in your room, getting ready for the day, when something catches your attention.">>
<<thought "Rylan" "faceworried" "Wait... something looks different about me." "you think as you study your reflection more carefully">>
<<thought "Rylan" "faceworried" "My legs look... thinner. And I had to tighten my belt again. That's weird." "you think, running your hands over your body">>
<<thought "Rylan" "faceworried" "What's happening to me? My arms and legs have less hair than before. This doesn't feel right." "you think, feeling a growing sense of unease">>
<<narrative "You flex your muscles in the mirror, but they don't seem as defined as they used to be. The changes are subtle but noticeable - your body is becoming less masculine.">>
<<thought "Rylan" "faceworried" "I'm losing muscle mass too. This is... this is really happening. I'm changing, and I don't know why." "you think, feeling a mix of confusion and concern">>
<<narrative "You take a deep breath and try to shake off the uneasy feeling, but the changes in the mirror are undeniable. Something is definitely happening to your body.">>
<<set $rylanMasculinity40Triggered = true>>
<<if $timeOfDay === "evening" or $timeOfDay === "midnight">>
<<continueBox "NightActivityChoices" "Continue" "The day continues...">>
<<else>>
<<continueBox "MorningActivityChoices" "Continue" "The day continues...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "Rylan stands in front of the mirror in his room, examining his reflection more closely than usual. Something feels different about his appearance.">>
<<thought "Rylan" "face" "My skin looks... smoother somehow. Did I lose muscle too?">>
<<narrative "He flexes his arm, studying the definition. The muscles are still there, but they seem less pronounced than before. His skin has a softer, more delicate appearance.">>
<<thought "Rylan" "face" "I should train more. I need to get back to my usual strength.">>
<<narrative "With a determined expression, Rylan makes a mental note to increase his training regimen. He can't let himself become weak.">>
<<set $rylanMasculinity47Triggered = true>>
<<if not $characterTransformations>>
<<set $characterTransformations = {}>>
<</if>>
<<if not $characterTransformations.rylan>>
<<set $characterTransformations.rylan = { panties: false, bra: false, face: false, body: false, clothes: false, hair: false, makeup: false }>>
<</if>>
<<set $characterTransformations.rylan.bra = true>>
<<if $timeOfDay === "evening" or $timeOfDay === "midnight">>
<<continueBox "NightActivityChoices" "Continue" "The day continues...">>
<<else>>
<<continueBox "MorningActivityChoices" "Continue" "The day continues...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "defaultch6.mp3">><<stopLoopingSounds>>
<<nobr>>
<<stopLoopingSounds>>
<<if $rylanMasculinity30Triggered>>
<<set $rylanFemboy = true>>
<<set $rylan_breastSize = 1>>
<</if>>
<<calculateResonance>>
<<applyResonanceBonuses>>
<!-- Fallback for chapter 6 bug -->
<<if not $goblinBarracksPlaced and ($gameDay > 23 or $goblinBarracksPlaced == false)>>
<<set $gameDay = 20>>
<<set $timeOfDay = "morning">>
<</if>>
<<if not $currentChapter or $currentChapter < 7 and $gameDay > 16>>
<<set $gameDay = 16>>
<<set $timeOfDay = "morning">>
<</if>>
<<if $chapter7Epilogue>>
<<set $chapter7Epilogue = false>>
<<set $gameDay = 25>>
<<set $timeOfDay = "morning">>
<<set $lastDungeonDefenseDay = 24>>
<</if>>
<div class="passage-container rylan">
<<if $serinTrainingProgress === 1 && (($serinLesbianCuriosity == 0) || (not $serinLesbianCuriosity))>>
<<set $serinLesbianCuriosity = 1>>
<</if>>
<<silently>>
<<getEventRegistry>>
<<getChapter6Events>>
<<getChapter7Events>>
<<getChapter7NTREvents>>
<<if not $rylan_SmellFetish>>
<<set $rylan_SmellFetish = 0>>
<</if>>
<<if not $rylan_MuscleFetish>>
<<set $rylan_MuscleFetish = 0>>
<</if>>
<<if not $rylan_ThighFetish>>
<<set $rylan_ThighFetish = 0>>
<</if>>
<<if not $rylan_FeetFetish>>
<<set $rylan_FeetFetish = 0>>
<</if>>
<<if not $rylan_ArmpitFetish>>
<<set $rylan_ArmpitFetish = 0>>
<</if>>
<<if not $rylan_BreastFetish>>
<<set $rylan_BreastFetish = 0>>
<</if>>
<<if not $rylan_AssFetish>>
<<set $rylan_AssFetish = 0>>
<</if>>
<<if not $rylan_PenisFetish>>
<<set $rylan_PenisFetish = 0>>
<</if>>
<<if not $rylan_VaginaFetish>>
<<set $rylan_VaginaFetish = 0>>
<</if>>
<<if not $rylan_CumAddiction>>
<<set $rylan_CumAddiction = 0>>
<</if>>
<<if not $rylan_SweatFetish>>
<<set $rylan_SweatFetish = 0>>
<</if>>
<<if not $rylan_SalivaFetish>>
<<set $rylan_SalivaFetish = 0>>
<</if>>
<<if not $rylan_SubmissionFetish>>
<<set $rylan_SubmissionFetish = 0>>
<</if>>
<<if not $rylan_DominanceFetish>>
<<set $rylan_DominanceFetish = 0>>
<</if>>
<<if not $rylan_ExhibitionismFetish>>
<<set $rylan_ExhibitionismFetish = 0>>
<</if>>
<<if not $rylan_VoyeurismFetish>>
<<set $rylan_VoyeurismFetish = 0>>
<</if>>
<<if not $rylan_BondageFetish>>
<<set $rylan_BondageFetish = 0>>
<</if>>
<<if not $rylan_CrossdressingFetish>>
<<set $rylan_CrossdressingFetish = 0>>
<</if>>
<<if not $rylan_GayValue>>
<<set $rylan_GayValue = 0>>
<</if>>
<<if not $rylan_LesbianValue>>
<<set $rylan_LesbianValue = 0>>
<</if>>
<<if not $rylan_VoiceFetish>>
<<set $rylan_VoiceFetish = 0>>
<</if>>
<<if not $rylan_MasochismFetish>>
<<set $rylan_MasochismFetish = 0>>
<</if>>
<<if not $rylan_SadismFetish>>
<<set $rylan_SadismFetish = 0>>
<</if>>
<<if not $rylan_UniformFetish>>
<<set $rylan_UniformFetish = 0>>
<</if>>
<<if not $rylan_ClothingFetish>>
<<set $rylan_ClothingFetish = 0>>
<</if>>
<<if not $mariel_SmellFetish>>
<<set $mariel_SmellFetish = 0>>
<</if>>
<<if not $mariel_MuscleFetish>>
<<set $mariel_MuscleFetish = 0>>
<</if>>
<<if not $mariel_ThighFetish>>
<<set $mariel_ThighFetish = 0>>
<</if>>
<<if not $mariel_FeetFetish>>
<<set $mariel_FeetFetish = 0>>
<</if>>
<<if not $mariel_ArmpitFetish>>
<<set $mariel_ArmpitFetish = 0>>
<</if>>
<<if not $mariel_BreastFetish>>
<<set $mariel_BreastFetish = 0>>
<</if>>
<<if not $mariel_AssFetish>>
<<set $mariel_AssFetish = 0>>
<</if>>
<<if not $mariel_PenisFetish>>
<<set $mariel_PenisFetish = 0>>
<</if>>
<<if not $mariel_VaginaFetish>>
<<set $mariel_VaginaFetish = 0>>
<</if>>
<<if not $mariel_CumAddiction>>
<<set $mariel_CumAddiction = 0>>
<</if>>
<<if not $mariel_SweatFetish>>
<<set $mariel_SweatFetish = 0>>
<</if>>
<<if not $mariel_SalivaFetish>>
<<set $mariel_SalivaFetish = 0>>
<</if>>
<<if not $mariel_SubmissionFetish>>
<<set $mariel_SubmissionFetish = 0>>
<</if>>
<<if not $mariel_DominanceFetish>>
<<set $mariel_DominanceFetish = 0>>
<</if>>
<<if not $mariel_ExhibitionismFetish>>
<<set $mariel_ExhibitionismFetish = 0>>
<</if>>
<<if not $mariel_VoyeurismFetish>>
<<set $mariel_VoyeurismFetish = 0>>
<</if>>
<<if not $mariel_BondageFetish>>
<<set $mariel_BondageFetish = 0>>
<</if>>
<<if not $mariel_CrossdressingFetish>>
<<set $mariel_CrossdressingFetish = 0>>
<</if>>
<<if not $mariel_GayValue>>
<<set $mariel_GayValue = 0>>
<</if>>
<<if not $mariel_LesbianValue>>
<<set $mariel_LesbianValue = 0>>
<</if>>
<<if not $mariel_VoiceFetish>>
<<set $mariel_VoiceFetish = 0>>
<</if>>
<<if not $mariel_MasochismFetish>>
<<set $mariel_MasochismFetish = 0>>
<</if>>
<<if not $mariel_SadismFetish>>
<<set $mariel_SadismFetish = 0>>
<</if>>
<<if not $mariel_UniformFetish>>
<<set $mariel_UniformFetish = 0>>
<</if>>
<<if not $mariel_ClothingFetish>>
<<set $mariel_ClothingFetish = 0>>
<</if>>
<<if not $liora_SmellFetish>>
<<set $liora_SmellFetish = 0>>
<</if>>
<<if not $liora_MuscleFetish>>
<<set $liora_MuscleFetish = 0>>
<</if>>
<<if not $liora_ThighFetish>>
<<set $liora_ThighFetish = 0>>
<</if>>
<<if not $liora_FeetFetish>>
<<set $liora_FeetFetish = 0>>
<</if>>
<<if not $liora_ArmpitFetish>>
<<set $liora_ArmpitFetish = 0>>
<</if>>
<<if not $liora_BreastFetish>>
<<set $liora_BreastFetish = 0>>
<</if>>
<<if not $liora_AssFetish>>
<<set $liora_AssFetish = 0>>
<</if>>
<<if not $liora_PenisFetish>>
<<set $liora_PenisFetish = 0>>
<</if>>
<<if not $liora_VaginaFetish>>
<<set $liora_VaginaFetish = 0>>
<</if>>
<<if not $liora_CumAddiction>>
<<set $liora_CumAddiction = 0>>
<</if>>
<<if not $liora_SweatFetish>>
<<set $liora_SweatFetish = 0>>
<</if>>
<<if not $liora_SalivaFetish>>
<<set $liora_SalivaFetish = 0>>
<</if>>
<<if not $liora_SubmissionFetish>>
<<set $liora_SubmissionFetish = 0>>
<</if>>
<<if not $liora_DominanceFetish>>
<<set $liora_DominanceFetish = 0>>
<</if>>
<<if not $liora_ExhibitionismFetish>>
<<set $liora_ExhibitionismFetish = 0>>
<</if>>
<<if not $liora_VoyeurismFetish>>
<<set $liora_VoyeurismFetish = 0>>
<</if>>
<<if not $liora_BondageFetish>>
<<set $liora_BondageFetish = 0>>
<</if>>
<<if not $liora_CrossdressingFetish>>
<<set $liora_CrossdressingFetish = 0>>
<</if>>
<<if not $liora_GayValue>>
<<set $liora_GayValue = 0>>
<</if>>
<<if not $liora_LesbianValue>>
<<set $liora_LesbianValue = 0>>
<</if>>
<<if not $liora_VoiceFetish>>
<<set $liora_VoiceFetish = 0>>
<</if>>
<<if not $liora_MasochismFetish>>
<<set $liora_MasochismFetish = 0>>
<</if>>
<<if not $liora_SadismFetish>>
<<set $liora_SadismFetish = 0>>
<</if>>
<<if not $liora_UniformFetish>>
<<set $liora_UniformFetish = 0>>
<</if>>
<<if not $liora_ClothingFetish>>
<<set $liora_ClothingFetish = 0>>
<</if>>
<<if not $serin_SmellFetish>>
<<set $serin_SmellFetish = 0>>
<</if>>
<<if not $serin_MuscleFetish>>
<<set $serin_MuscleFetish = 0>>
<</if>>
<<if not $serin_ThighFetish>>
<<set $serin_ThighFetish = 0>>
<</if>>
<<if not $serin_FeetFetish>>
<<set $serin_FeetFetish = 0>>
<</if>>
<<if not $serin_ArmpitFetish>>
<<set $serin_ArmpitFetish = 0>>
<</if>>
<<if not $serin_BreastFetish>>
<<set $serin_BreastFetish = 0>>
<</if>>
<<if not $serin_AssFetish>>
<<set $serin_AssFetish = 0>>
<</if>>
<<if not $serin_PenisFetish>>
<<set $serin_PenisFetish = 0>>
<</if>>
<<if not $serin_VaginaFetish>>
<<set $serin_VaginaFetish = 0>>
<</if>>
<<if not $serin_CumAddiction>>
<<set $serin_CumAddiction = 0>>
<</if>>
<<if not $serin_SweatFetish>>
<<set $serin_SweatFetish = 0>>
<</if>>
<<if not $serin_SalivaFetish>>
<<set $serin_SalivaFetish = 0>>
<</if>>
<<if not $serin_SubmissionFetish>>
<<set $serin_SubmissionFetish = 0>>
<</if>>
<<if not $serin_DominanceFetish>>
<<set $serin_DominanceFetish = 0>>
<</if>>
<<if not $serin_ExhibitionismFetish>>
<<set $serin_ExhibitionismFetish = 0>>
<</if>>
<<if not $serin_VoyeurismFetish>>
<<set $serin_VoyeurismFetish = 0>>
<</if>>
<<if not $serin_BondageFetish>>
<<set $serin_BondageFetish = 0>>
<</if>>
<<if not $serin_CrossdressingFetish>>
<<set $serin_CrossdressingFetish = 0>>
<</if>>
<<if not $serin_GayValue>>
<<set $serin_GayValue = 0>>
<</if>>
<<if not $serin_LesbianValue>>
<<set $serin_LesbianValue = 0>>
<</if>>
<<if not $serin_VoiceFetish>>
<<set $serin_VoiceFetish = 0>>
<</if>>
<<if not $serin_MasochismFetish>>
<<set $serin_MasochismFetish = 0>>
<</if>>
<<if not $serin_SadismFetish>>
<<set $serin_SadismFetish = 0>>
<</if>>
<<if not $serin_UniformFetish>>
<<set $serin_UniformFetish = 0>>
<</if>>
<<if not $serin_ClothingFetish>>
<<set $serin_ClothingFetish = 0>>
<</if>>
<<if not $seryk_SmellFetish>>
<<set $seryk_SmellFetish = 0>>
<</if>>
<<if not $seryk_MuscleFetish>>
<<set $seryk_MuscleFetish = 0>>
<</if>>
<<if not $seryk_ThighFetish>>
<<set $seryk_ThighFetish = 0>>
<</if>>
<<if not $seryk_FeetFetish>>
<<set $seryk_FeetFetish = 0>>
<</if>>
<<if not $seryk_ArmpitFetish>>
<<set $seryk_ArmpitFetish = 0>>
<</if>>
<<if not $seryk_BreastFetish>>
<<set $seryk_BreastFetish = 0>>
<</if>>
<<if not $seryk_AssFetish>>
<<set $seryk_AssFetish = 0>>
<</if>>
<<if not $seryk_PenisFetish>>
<<set $seryk_PenisFetish = 0>>
<</if>>
<<if not $seryk_VaginaFetish>>
<<set $seryk_VaginaFetish = 0>>
<</if>>
<<if not $seryk_CumAddiction>>
<<set $seryk_CumAddiction = 0>>
<</if>>
<<if not $seryk_SweatFetish>>
<<set $seryk_SweatFetish = 0>>
<</if>>
<<if not $seryk_SalivaFetish>>
<<set $seryk_SalivaFetish = 0>>
<</if>>
<<if not $seryk_SubmissionFetish>>
<<set $seryk_SubmissionFetish = 0>>
<</if>>
<<if not $seryk_DominanceFetish>>
<<set $seryk_DominanceFetish = 0>>
<</if>>
<<if not $seryk_ExhibitionismFetish>>
<<set $seryk_ExhibitionismFetish = 0>>
<</if>>
<<if not $seryk_VoyeurismFetish>>
<<set $seryk_VoyeurismFetish = 0>>
<</if>>
<<if not $seryk_BondageFetish>>
<<set $seryk_BondageFetish = 0>>
<</if>>
<<if not $seryk_CrossdressingFetish>>
<<set $seryk_CrossdressingFetish = 0>>
<</if>>
<<if not $seryk_GayValue>>
<<set $seryk_GayValue = 0>>
<</if>>
<<if not $seryk_LesbianValue>>
<<set $seryk_LesbianValue = 0>>
<</if>>
<<if not $seryk_VoiceFetish>>
<<set $seryk_VoiceFetish = 0>>
<</if>>
<<if not $seryk_MasochismFetish>>
<<set $seryk_MasochismFetish = 0>>
<</if>>
<<if not $seryk_SadismFetish>>
<<set $seryk_SadismFetish = 0>>
<</if>>
<<if not $seryk_UniformFetish>>
<<set $seryk_UniformFetish = 0>>
<</if>>
<<if not $seryk_ClothingFetish>>
<<set $seryk_ClothingFetish = 0>>
<</if>>
<<if not $nimeria_SmellFetish>>
<<set $nimeria_SmellFetish = 0>>
<</if>>
<<if not $nimeria_MuscleFetish>>
<<set $nimeria_MuscleFetish = 0>>
<</if>>
<<if not $nimeria_ThighFetish>>
<<set $nimeria_ThighFetish = 0>>
<</if>>
<<if not $nimeria_FeetFetish>>
<<set $nimeria_FeetFetish = 0>>
<</if>>
<<if not $nimeria_ArmpitFetish>>
<<set $nimeria_ArmpitFetish = 0>>
<</if>>
<<if not $nimeria_BreastFetish>>
<<set $nimeria_BreastFetish = 0>>
<</if>>
<<if not $nimeria_AssFetish>>
<<set $nimeria_AssFetish = 0>>
<</if>>
<<if not $nimeria_PenisFetish>>
<<set $nimeria_PenisFetish = 0>>
<</if>>
<<if not $nimeria_VaginaFetish>>
<<set $nimeria_VaginaFetish = 0>>
<</if>>
<<if not $nimeria_CumAddiction>>
<<set $nimeria_CumAddiction = 0>>
<</if>>
<<if not $nimeria_SweatFetish>>
<<set $nimeria_SweatFetish = 0>>
<</if>>
<<if not $nimeria_SalivaFetish>>
<<set $nimeria_SalivaFetish = 0>>
<</if>>
<<if not $nimeria_SubmissionFetish>>
<<set $nimeria_SubmissionFetish = 0>>
<</if>>
<<if not $nimeria_DominanceFetish>>
<<set $nimeria_DominanceFetish = 0>>
<</if>>
<<if not $nimeria_ExhibitionismFetish>>
<<set $nimeria_ExhibitionismFetish = 0>>
<</if>>
<<if not $nimeria_VoyeurismFetish>>
<<set $nimeria_VoyeurismFetish = 0>>
<</if>>
<<if not $nimeria_BondageFetish>>
<<set $nimeria_BondageFetish = 0>>
<</if>>
<<if not $nimeria_CrossdressingFetish>>
<<set $nimeria_CrossdressingFetish = 0>>
<</if>>
<<if not $nimeria_GayValue>>
<<set $nimeria_GayValue = 0>>
<</if>>
<<if not $nimeria_LesbianValue>>
<<set $nimeria_LesbianValue = 0>>
<</if>>
<<if not $nimeria_VoiceFetish>>
<<set $nimeria_VoiceFetish = 0>>
<</if>>
<<if not $nimeria_MasochismFetish>>
<<set $nimeria_MasochismFetish = 0>>
<</if>>
<<if not $nimeria_SadismFetish>>
<<set $nimeria_SadismFetish = 0>>
<</if>>
<<if not $nimeria_UniformFetish>>
<<set $nimeria_UniformFetish = 0>>
<</if>>
<<if not $nimeria_ClothingFetish>>
<<set $nimeria_ClothingFetish = 0>>
<</if>>
<<if not $thalor_SmellFetish>>
<<set $thalor_SmellFetish = 0>>
<</if>>
<<if not $thalor_MuscleFetish>>
<<set $thalor_MuscleFetish = 0>>
<</if>>
<<if not $thalor_ThighFetish>>
<<set $thalor_ThighFetish = 0>>
<</if>>
<<if not $thalor_FeetFetish>>
<<set $thalor_FeetFetish = 0>>
<</if>>
<<if not $thalor_ArmpitFetish>>
<<set $thalor_ArmpitFetish = 0>>
<</if>>
<<if not $thalor_BreastFetish>>
<<set $thalor_BreastFetish = 0>>
<</if>>
<<if not $thalor_AssFetish>>
<<set $thalor_AssFetish = 0>>
<</if>>
<<if not $thalor_PenisFetish>>
<<set $thalor_PenisFetish = 0>>
<</if>>
<<if not $thalor_VaginaFetish>>
<<set $thalor_VaginaFetish = 0>>
<</if>>
<<if not $thalor_CumAddiction>>
<<set $thalor_CumAddiction = 0>>
<</if>>
<<if not $thalor_SweatFetish>>
<<set $thalor_SweatFetish = 0>>
<</if>>
<<if not $thalor_SalivaFetish>>
<<set $thalor_SalivaFetish = 0>>
<</if>>
<<if not $thalor_SubmissionFetish>>
<<set $thalor_SubmissionFetish = 0>>
<</if>>
<<if not $thalor_DominanceFetish>>
<<set $thalor_DominanceFetish = 0>>
<</if>>
<<if not $thalor_ExhibitionismFetish>>
<<set $thalor_ExhibitionismFetish = 0>>
<</if>>
<<if not $thalor_VoyeurismFetish>>
<<set $thalor_VoyeurismFetish = 0>>
<</if>>
<<if not $thalor_BondageFetish>>
<<set $thalor_BondageFetish = 0>>
<</if>>
<<if not $thalor_CrossdressingFetish>>
<<set $thalor_CrossdressingFetish = 0>>
<</if>>
<<if not $thalor_GayValue>>
<<set $thalor_GayValue = 0>>
<</if>>
<<if not $thalor_LesbianValue>>
<<set $thalor_LesbianValue = 0>>
<</if>>
<<if not $thalor_VoiceFetish>>
<<set $thalor_VoiceFetish = 0>>
<</if>>
<<if not $thalor_MasochismFetish>>
<<set $thalor_MasochismFetish = 0>>
<</if>>
<<if not $thalor_SadismFetish>>
<<set $thalor_SadismFetish = 0>>
<</if>>
<<if not $thalor_UniformFetish>>
<<set $thalor_UniformFetish = 0>>
<</if>>
<<if not $thalor_ClothingFetish>>
<<set $thalor_ClothingFetish = 0>>
<</if>>
<!-- Initialize Dungeon Management System -->
<<dungeonManagementSystem>>
<<calculateEros>>
<<set _currentChapter = $currentChapter || 6>>
<<set _scheduledEvent = window.EventScheduler.getEventForTime($gameMonth, $gameDay, $timeOfDay, _currentChapter)>>
<<set _masculinityEvent = window.EventScheduler.checkMasculinityEvents()>>
<<set _cumNeedEvent = window.EventScheduler.checkCumNeedEvents()>>
<</silently>>
<<if $isChapter6Epilogue and $currentChapter < 7>>
<<set $isChapter6Epilogue = false>>
<<set $gameDay = 11>>
<</if>>
<!-- Top Bar for Daily Rewards -->
<div style="position: fixed; top: 0; left: 320px; right: 310px; z-index: 1000; background: linear-gradient(135deg, rgba(255, 215, 0, 0.95), rgba(255, 165, 0, 0.98)); border-bottom: 2px solid rgba(255, 215, 0, 0.8); box-shadow: 0 2px 8px rgba(0,0,0,0.3); padding: 8px 0;">
<div style="display: flex; justify-content: center; align-items: center; gap: 30px; flex-wrap: wrap;">
<!-- Energy Display -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 255, 255, 0.2); border-radius: 15px; padding: 4px 12px; border: 1px solid rgba(255, 255, 255, 0.3);">
<span style="font-size: 1.2em;">⚡</span>
<span style="color: #FFFFFF; font-weight: bold; font-size: 1em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);"><<set _topBarEnergy = ($dungeonEnergyGeneration || 0) + ($energyIncrease || 0)>><<if _topBarEnergy >= 0>>+<</if>><<print _topBarEnergy>> Energy</span>
</div>
<!-- Gold Display -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 255, 255, 0.2); border-radius: 15px; padding: 4px 12px; border: 1px solid rgba(255, 255, 255, 0.3);">
<span style="font-size: 1.2em;">💰</span>
<span style="color: #FFFFFF; font-weight: bold; font-size: 1em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);"><<set _topBarGold = ($dungeonGoldGeneration || 0) + ($goldIncrease || 0)>><<if _topBarGold >= 0>>+<</if>><<print _topBarGold>> Gold</span>
</div>
<!-- Mana Crystals Display -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 255, 255, 0.2); border-radius: 15px; padding: 4px 12px; border: 1px solid rgba(255, 255, 255, 0.3);">
<span style="font-size: 1.2em;">💎</span>
<span style="color: #FFFFFF; font-weight: bold; font-size: 1em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);"><<set _topBarCrystals = ($dungeonCrystalGeneration || 0) + ($manaIncrease || 0)>><<if _topBarCrystals >= 0>>+<</if>><<print _topBarCrystals>> Crystals</span>
</div>
<!-- Eros Display -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 255, 255, 0.2); border-radius: 15px; padding: 4px 12px; border: 1px solid rgba(255, 255, 255, 0.3); white-space: nowrap;">
<span style="font-size: 1.2em;">🍆</span>
<span style="color: #FFFFFF; font-weight: bold; font-size: 1em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);"><<print $erosStat>> Eros</span>
</div>
<!-- Population Display -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 255, 255, 0.2); border-radius: 15px; padding: 4px 12px; border: 1px solid rgba(255, 255, 255, 0.3);">
<span style="font-size: 1.2em;">👥</span>
<span style="color: #FFFFFF; font-weight: bold; font-size: 1em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);"><<print $dungeonPopulation || 0>> Population</span>
</div>
<!-- Prisoner Love Display -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 255, 255, 0.2); border-radius: 15px; padding: 4px 12px; border: 1px solid rgba(255, 255, 255, 0.3);">
<span style="font-size: 1.2em;">💕</span>
<span style="color: #FFFFFF; font-weight: bold; font-size: 1em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">+<<print State.temporary.dungeonPrisonerLoveGeneration || 0>> Love</span>
</div>
</div>
</div>
<!-- Add top margin to account for fixed bar -->
<div style="margin-top: 45px;">
<<if $currentChapter == 7>>
<center><img src="images/dungeonbuildings/lands.webp" style="max-width: 500px; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); margin: 20px 0;"></center>
<<else>>
<center><img src="images/landscapes/rylanhouse.webp" style="max-width: 500px; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); margin: 20px 0;"></center>
<</if>>
<!-- Activity Choices Section -->
<div style="margin: 40px 0; background: linear-gradient(135deg, rgba(25, 25, 35, 0.95), rgba(45, 45, 55, 0.98)); border: 3px solid rgba(100, 100, 100, 0.6); border-radius: 25px; padding: 30px; box-shadow: 0 10px 30px rgba(0,0,0,0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #6B6B6B, #4A4A4A, #2C2C2C);"></div>
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; margin: 0 0 15px 0; font-size: 2.5em; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">🌅 Morning Activities 🌅</h2>
<p style="color: #B0B0B0; font-style: italic; margin: 0; font-size: 1.2em; text-shadow: 1px 1px 4px rgba(0,0,0,0.6);">Choose how to spend your day</p>
</div>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 25px; margin: 20px 0;">
<!-- Visit People Choice -->
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.15), rgba(255, 192, 203, 0.2)); border: 2px solid rgba(255, 182, 193, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 182, 193, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(255, 182, 193, 0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(255, 182, 193, 0.3)'">
<div style="font-size: 4em; margin-bottom: 15px;">👥</div>
<h3 style="color: #FFB6C1; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Visit People</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Spend time with your companions and deepen your relationships. Check on how everyone is doing.</p>
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.3), rgba(255, 192, 203, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('VisitPeopleChoicesRylan')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Visit Companions</a>
</div>
</div>
<!-- Visit Dungeon Choice -->
<div style="background: linear-gradient(145deg, rgba(139, 0, 139, 0.15), rgba(75, 0, 130, 0.2)); border: 2px solid rgba(139, 0, 139, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(139, 0, 139, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(139, 0, 139, 0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(139, 0, 139, 0.3)'">
<div style="font-size: 4em; margin-bottom: 15px;">🏰</div>
<h3 style="color: #DDA0DD; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Visit Dungeon</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Return to the mysterious dungeon to explore its depths, manage your dungeon and troops.</p>
<div style="background: linear-gradient(145deg, rgba(139, 0, 139, 0.3), rgba(75, 0, 130, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('DungeonChoices')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Enter Dungeon</a>
</div>
</div>
<!-- Training Choice -->
<div style="background: linear-gradient(145deg, rgba(255, 140, 0, 0.15), rgba(255, 165, 0, 0.2)); border: 2px solid rgba(255, 140, 0, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 140, 0, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(255, 140, 0, 0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(255, 140, 0, 0.3)'">
<div style="font-size: 4em; margin-bottom: 15px;">💪</div>
<h3 style="color: #FF8C00; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Combat Training</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Train with your party members to improve combat abilities. All party members gain 1-2 points in random combat stats.</p>
<div style="background: linear-gradient(145deg, rgba(255, 140, 0, 0.3), rgba(255, 165, 0, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('CombatTraining')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Start Training</a>
</div>
</div>
<!-- Farm Resources Choice -->
<div style="background: linear-gradient(145deg, rgba(34, 139, 34, 0.15), rgba(0, 128, 0, 0.2)); border: 2px solid rgba(34, 139, 34, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(34, 139, 34, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(34, 139, 34, 0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(34, 139, 34, 0.3)'">
<div style="font-size: 4em; margin-bottom: 15px;">🌾</div>
<h3 style="color: #90EE90; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Farm Resources</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Spend time gathering resources and materials. A productive day of farming yields 15+ mana crystals and 50+ gold coins.</p>
<div style="background: linear-gradient(145deg, rgba(34, 139, 34, 0.3), rgba(0, 128, 0, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('FarmResources')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Start Farming</a>
</div>
</div>
<!-- Visit Dungeon City Choice -->
<<if $dungeonTutorialStep >= 4>>
<div style="background: linear-gradient(145deg, rgba(50, 205, 50, 0.15), rgba(34, 139, 34, 0.2)); border: 2px solid rgba(50, 205, 50, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(50, 205, 50, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(50, 205, 50, 0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(50, 205, 50, 0.3)'">
<div style="font-size: 4em; margin-bottom: 15px;">🏙️</div>
<h3 style="color: #32CD32; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Visit Dungeon City</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Explore the bustling city within your dungeon, interact with residents, and discover new opportunities.</p>
<div style="background: linear-gradient(145deg, rgba(50, 205, 50, 0.3), rgba(34, 139, 34, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('DungeonCityChoices')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Enter City</a>
</div>
</div>
<<else>>
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.15), rgba(169, 169, 169, 0.2)); border: 2px solid rgba(105, 105, 105, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(105, 105, 105, 0.3); position: relative; opacity: 0.6;">
<div style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8); z-index: 2;">🔒</div>
<div style="font-size: 4em; margin-bottom: 15px; opacity: 0.5;">🏙️</div>
<h3 style="color: #A9A9A9; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Visit Dungeon City</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Explore the city within your dungeon. <strong>Complete the dungeon tutorial first</strong></p>
<div style="background: linear-gradient(145deg, rgba(105, 105, 105, 0.3), rgba(169, 169, 169, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<span style="color: #CCCCCC; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Locked</span>
</div>
</div>
<</if>>
<!-- Visit Lindale Choice -->
<<if $currentChapter == 7 && !($goblinBuildingsAdded && $goblinTavernPlaced && $goblinBarracksPlaced)>>
<div style="background: linear-gradient(145deg, rgba(100, 100, 100, 0.15), rgba(80, 80, 80, 0.2)); border: 2px solid rgba(100, 100, 100, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(100, 100, 100, 0.3); opacity: 0.6; cursor: not-allowed;">
<div style="font-size: 4em; margin-bottom: 15px;">🏘️</div>
<h3 style="color: #666; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Visit Lindale</h3>
<p style="color: #999; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">The town of Lindale is currently under occupation by Stormark forces. It's too dangerous to visit right now.</p>
<div style="background: linear-gradient(145deg, rgba(100, 100, 100, 0.3), rgba(80, 80, 80, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<span style="color: #999; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">🔒 Locked</span>
</div>
</div>
<<else>>
<div style="background: linear-gradient(145deg, rgba(70, 130, 180, 0.15), rgba(100, 149, 237, 0.2)); border: 2px solid rgba(70, 130, 180, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(70, 130, 180, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(70, 130, 180, 0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(70, 130, 180, 0.3)'">
<div style="font-size: 4em; margin-bottom: 15px;">🏘️</div>
<h3 style="color: #4682B4; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Visit Lindale</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Explore the bustling town of Lindale. Visit shops, meet townspeople, and discover what the local merchants have to offer.</p>
<div style="background: linear-gradient(145deg, rgba(70, 130, 180, 0.3), rgba(100, 149, 237, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('VisitLindale')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Enter Town</a>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 25px; padding-top: 20px; border-top: 2px solid rgba(100, 100, 100, 0.3);">
<p style="color: #B0B0B0; font-style: italic; margin: 0; font-size: 1em; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">💫 Choose your path and make the most of this new day 💫</p>
</div>
</div>
</div>
</div>
<<if $marielTransformationMother>>
<<initMarielFamily>>
<<addToMarielFamily $humanName>>
<</if>>
<</nobr>>
<<if $currentChapter == 7>>
<<pov "rylan" "defaultch7.mp3">>
<<else>>
<<pov "rylan" "defaultch6.mp3">>
<</if>>
<<script>>
// Ensure keyboard shortcuts are enabled for this passage
if (window.KeyboardChoiceSystem) {
window.KeyboardChoiceSystem._disabled = false;
}
if (window.FloatingEffects) {
window.FloatingEffects.removeEffect('Mariel');
window.FloatingEffects.removeEffect('Liora');
}
<</script>><<nobr>>
<<advanceTime 1>>
<<stopLoopingSounds>>
<div class="passage-container rylan">
<!-- Time Transition Overlay -->
<div id="timeTransitionOverlay" style="position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 215, 0, 0.95), rgba(255, 165, 0, 0.9), rgba(255, 140, 0, 0.95)); z-index: 9999; display: flex; align-items: center; justify-content: center; opacity: 1; transition: opacity 2s ease-in-out;">
<div style="text-align: center; color: #FFFFFF; font-size: 2.2em; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">
<div style="margin-bottom: 30px; opacity: 0; animation: fadeInOut 3s ease-in-out 0s infinite;">⏰ Time Flows Forward ⏰</div>
</div>
</div>
<style>
@keyframes fadeInOut {
0% { opacity: 0; transform: translateY(20px); }
20% { opacity: 1; transform: translateY(0); }
80% { opacity: 1; transform: translateY(0); }
100% { opacity: 0; transform: translateY(-20px); }
}
@keyframes pulse {
0% { transform: scale(1); }
50% { transform: scale(1.1); }
100% { transform: scale(1); }
}
</style>
<script>
setTimeout(function() {
const overlay = document.getElementById('timeTransitionOverlay');
if (overlay) {
overlay.style.opacity = '0';
setTimeout(function() {
overlay.style.display = 'none';
}, 1000);
}
}, 1500);
</script>
<!-- Time Display -->
<div style="text-align: center; margin: 40px 0; padding: 30px; background: linear-gradient(135deg, rgba(25, 25, 35, 0.95), rgba(45, 45, 55, 0.98)); border: 3px solid rgba(100, 100, 100, 0.6); border-radius: 25px; box-shadow: 0 10px 30px rgba(0,0,0,0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #6B6B6B, #4A4A4A, #2C2C2C);"></div>
<<if $timeOfDay === "morning">>
<div style="font-size: 4em; margin-bottom: 20px; animation: pulse 2s ease-in-out infinite;">🌅</div>
<h2 style="color: #FFD700; margin: 0 0 15px 0; font-size: 2.8em; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">Morning Dawn</h2>
<p style="color: #FFE4B5; font-style: italic; margin: 0; font-size: 1.4em; text-shadow: 2px 2px 6px rgba(0,0,0,0.6);">The golden sun rises, casting warm light across the land</p>
<<elseif $timeOfDay === "noon">>
<div style="font-size: 4em; margin-bottom: 20px; animation: pulse 2s ease-in-out infinite;">☀️</div>
<h2 style="color: #FFA500; margin: 0 0 15px 0; font-size: 2.8em; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">High Noon</h2>
<p style="color: #FFE4B5; font-style: italic; margin: 0; font-size: 1.4em; text-shadow: 2px 2px 6px rgba(0,0,0,0.6);">The sun reaches its peak, bathing everything in brilliant light</p>
<<elseif $timeOfDay === "afternoon">>
<div style="font-size: 4em; margin-bottom: 20px; animation: pulse 2s ease-in-out infinite;">🌤️</div>
<h2 style="color: #FF8C00; margin: 0 0 15px 0; font-size: 2.8em; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">Afternoon Glow</h2>
<p style="color: #FFE4B5; font-style: italic; margin: 0; font-size: 1.4em; text-shadow: 2px 2px 6px rgba(0,0,0,0.6);">The sun begins its descent, painting the sky in warm hues</p>
<<elseif $timeOfDay === "evening">>
<div style="font-size: 4em; margin-bottom: 20px; animation: pulse 2s ease-in-out infinite;">🌆</div>
<h2 style="color: #DDA0DD; margin: 0 0 15px 0; font-size: 2.8em; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">Evening Twilight</h2>
<p style="color: #E6E6FA; font-style: italic; margin: 0; font-size: 1.4em; text-shadow: 2px 2px 6px rgba(0,0,0,0.6);">The day fades into evening, stars begin to twinkle above</p>
<<elseif $timeOfDay === "midnight">>
<div style="font-size: 4em; margin-bottom: 20px; animation: pulse 2s ease-in-out infinite;">🌙</div>
<h2 style="color: #9370DB; margin: 0 0 15px 0; font-size: 2.8em; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">Midnight Hour</h2>
<p style="color: #DDA0DD; font-style: italic; margin: 0; font-size: 1.4em; text-shadow: 2px 2px 6px rgba(0,0,0,0.6);">The world sleeps under the silver moon's gentle glow</p>
<</if>>
<div style="margin-top: 25px; padding-top: 20px; border-top: 2px solid rgba(100, 100, 100, 0.3);">
<p style="color: #B0B0B0; font-style: italic; margin: 0; font-size: 1.1em; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">✨ Time flows but the journey continues ✨</p>
</div>
</div>
<!-- Event Check System -->
<<silently>>
<<getChapter6Events>>
<<getChapter7Events>>
<<getChapter7NTREvents>>
<<getEventRegistry>>
<</silently>>
<<set _currentChapter = $currentChapter || 6>>
<<set _scheduledEvent = window.EventScheduler.getEventForTime($gameMonth, $gameDay, $timeOfDay, _currentChapter)>>
<<set _masculinityEvent = window.EventScheduler.checkMasculinityEvents()>>
<<set _cumNeedEvent = window.EventScheduler.checkCumNeedEvents()>>
<<set _dungeonDefenseEvent = window.EventScheduler.checkDungeonDefenseEvents()>>
<<set _ntrEvent = window.EventScheduler.checkNTREvents()>>
<<if _scheduledEvent>>
<<continueBox _scheduledEvent.event "Continue" "A special event awaits...">>
<<elseif _masculinityEvent>>
<<run State.variables[`rylanMasculinity${_masculinityEvent.thresholdKey}Triggered`] = true>>
<<continueBox _masculinityEvent.event "Continue" "Something feels different about you...">>
<<elseif _cumNeedEvent>>
<<continueBox _cumNeedEvent.event "Continue" "Someone needs help tonight...">>
<<elseif _dungeonDefenseEvent>>
<<continueBox _dungeonDefenseEvent.event "Continue" "The dungeon is under attack!">>
<<elseif _ntrEvent>>
<<continueBox _ntrEvent.event "Continue" "Something is happening...">>
<<elseif $timeOfDay === "morning" or $timeOfDay === "noon" or $timeOfDay === "afternoon">>
<<continueBox "MorningActivityChoices" "Continue" "The day continues...">>
<<elseif $timeOfDay === "evening" or $timeOfDay === "midnight">>
<<continueBox "NightActivityChoices" "Continue" "The evening approaches...">>
<</if>>
</div>
<</nobr>>
<<if $currentChapter == 7>>
<<pov "rylan" "defaultch7.mp3">>
<<else>>
<<pov "rylan" "defaultch6.mp3">>
<</if>><<stopLoopingSounds>>
<<nobr>>
<div class="passage-container nimeria">
<<advanceTime 1>>
<!-- Give Daily Rewards if it's morning (before event checks) -->
<<if $timeOfDay === "morning">>
<<silently>>
<<dungeonManagementSystem>>
<<calculateEros>>
<<giveDailyRewards>>
<</silently>>
<</if>>
<!-- Event Check System -->
<<silently>>
<<getEventRegistry>>
<<getChapter6Events>>
<<getChapter7Events>>
<<getChapter7NTREvents>>
<<set _currentChapter = $currentChapter || 6>>
<<set _scheduledEvent = window.EventScheduler.getEventForTime($gameMonth, $gameDay, $timeOfDay, _currentChapter)>>
<<set _masculinityEvent = window.EventScheduler.checkMasculinityEvents()>>
<<set _cumNeedEvent = window.EventScheduler.checkCumNeedEvents()>>
<<set _dungeonDefenseEvent = window.EventScheduler.checkDungeonDefenseEvents()>>
<<set _ntrEvent = window.EventScheduler.checkNTREvents()>>
<<if $timeOfDay !== "morning">>
<<dungeonManagementSystem>>
<</if>>
<</silently>>
<<if _scheduledEvent>>
<<continueBox _scheduledEvent.event "Continue" "A special event awaits...">>
<<elseif _masculinityEvent>>
<<run State.variables[`rylanMasculinity${_masculinityEvent.thresholdKey}Triggered`] = true>>
<<continueBox _masculinityEvent.event "Continue" "Something feels different about you...">>
<<elseif _cumNeedEvent>>
<<continueBox _cumNeedEvent.event "Continue" "Someone needs help tonight...">>
<<elseif _dungeonDefenseEvent>>
<<continueBox _dungeonDefenseEvent.event "Continue" "The dungeon is under attack!">>
<<elseif _ntrEvent>>
<<continueBox _ntrEvent.event "Continue" "Something is happening...">>
<<elseif $timeOfDay === "morning">>
<<thought "Nimeria" "face" "It's already morning." "She rubs her eyes" "I should try to get at least a few hours of sleep before the day begins.">>
<<continueBox "MorningActivityChoices" "Continue" "Start the new day...">>
<<elseif $timeOfDay === "night">>
<<thought "Nimeria" "face" "The night is still long." "She stretches" "There's still so much I can do.">>
<<continueBox "NightActivityChoices" "Continue" "The night continues...">>
<<else>>
<<thought "Nimeria" "face" "It's already morning." "She rubs her eyes" "I should try to get at least a few hours of sleep before the day begins.">>
<<continueBox "MorningActivityChoices" "Continue" "Start the new day...">>
<</if>>
</div>
<</nobr>>
<<pov "nimeria" "nimeria.mp3">><<stopLoopingSounds>>
<<nobr>>
<<script>>window.AudioSystem.playBGM('nimeria.mp3');<</script>>
<<set $currentFace = $currentNimeriaFace>>
<<silently>>
<<getEventRegistry>>
<<getChapter6Events>>
<<getChapter7Events>>
<<getChapter7NTREvents>>
<!-- Initialize Dungeon Management System -->
<<dungeonManagementSystem>>
<<calculateEros>>
<<set _scheduledEvent = window.EventScheduler.getEventForTime($gameMonth, $gameDay, $timeOfDay, _currentChapter)>>
<<set _masculinityEvent = window.EventScheduler.checkMasculinityEvents()>>
<<set _cumNeedEvent = window.EventScheduler.checkCumNeedEvents()>>
<</silently>>
<<if not $rylanDreamSeryk>><<set $rylanDreamSeryk = false>><</if>>
<<if not $rylanDreamMariel>><<set $rylanDreamMariel = false>><</if>>
<<if not $rylanDreamSelfGay>><<set $rylanDreamSelfGay = false>><</if>>
<<if not $rylanDreamSelfHetero>><<set $rylanDreamSelfHetero = false>><</if>>
<<if not $rylanDreamSelfHeteroDominantPOV>><<set $rylanDreamSelfHeteroDominantPOV = false>><</if>>
<<if not $rylanDreamSelfGayDominantPOV>><<set $rylanDreamSelfGayDominantPOV = false>><</if>>
<<if not $rylan_SoraAttraction>>>><<set $rylan_SoraAttraction = 0>><<if $RylanSoraAttrraction >= 0>><<changeAttraction "Rylan" "Sora" 10>><</if>><</if>>
<<if not $liora_SoraAttraction>><<set $liora_SoraAttraction = 0>><</if>>
<<if not $mariel_SoraAttraction>><<set $mariel_SoraAttraction = 0>><</if>>
<<if not $serin_SoraAttraction>><<set $serin_SoraAttraction = 0>><</if>>
<<if not $seryk_SoraAttraction>><<set $seryk_SoraAttraction = 0>><</if>>
<<if not $thalor_SoraAttraction>><<set $thalor_SoraAttraction = 0>><</if>>
<<if not $nimeria_SoraAttraction>><<set $nimeria_SoraAttraction = 0>><</if>>
<div class="nimeria-mischief-container" style="background-image: url('images/landscapes/night.webp'); background-size: cover; background-position: center; min-height: 600px; position: relative; border-radius: 10px; overflow: hidden;">
<div class="night-overlay" style="background: linear-gradient(to bottom, rgba(75, 0, 130, 0.8), rgba(139, 0, 139, 0.9)); position: absolute; top: 0; left: 0; right: 0; bottom: 0;"></div>
<div class="mischief-content" style="position: relative; z-index: 2; padding: 30px; text-align: center;">
<h2 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin-bottom: 20px; font-size: 1.8em;">🌙 Night Activities 🌙</h2>
<div class="nimeria-thoughts" style="background: linear-gradient(145deg, rgba(120,80,160,0.3), rgba(100,60,140,0.4)); border: 2px solid rgba(200,150,255,0.4); border-radius: 12px; padding: 20px; margin: 20px auto; max-width: 600px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/nimeria/faceserious.webp" style="width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; line-height: 1.6;"><span class="dialog-nimeria">*The house sleeps, but not all doors are open to me tonight. Some opportunities present themselves... while others remain frustratingly out of reach.*</span></p>
<div style="clear: left;"></div>
</div>
<div style="background: rgba(75, 50, 100, 0.3); border: 1px solid rgba(120, 80, 150, 0.5); border-radius: 8px; padding: 15px; margin: 20px auto; max-width: 400px;">
<p style="color: #DDA0DD; font-size: 1.1em; margin: 0;"><span style="color: #FFD700;">💎 Mana Crystals:</span> <span style="color: white; font-weight: bold;"><<print $crystals || 0>></span></p>
<p style="color: #C0A0C0; font-size: 0.9em; margin: 5px 0 0 0; font-style: italic;">Each dream costs crystals depending on attraction</p>
</div>
<div style="background: linear-gradient(145deg, rgba(100,60,140,0.2), rgba(80,40,120,0.3)); border: 1px solid rgba(150,100,200,0.4); border-radius: 8px; padding: 15px; margin: 20px auto; max-width: 700px; box-shadow: 0 4px 8px rgba(0,0,0,0.2); backdrop-filter: blur(3px);">
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; line-height: 1.6; font-size: 0.95em; font-style: italic;">💡 <strong>Fetish Development Note:</strong> As in real life, you can have a fetish for both dominance and submission, so in here too. Your dominance and submission fetish values directly influence resistance rolls throughout the story - higher values make certain scenarios easier or harder to resist. Having higher or lower fetish values won't lock you into or out of scenes - you are free to play both dream corruption scenes. However, some future story choices may be influenced by your decisions. Choose freely and explore both paths!</p>
</div>
<div class="character-influence-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 40px 0;">
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;"><<print $humanName>></h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Sleeping peacefully, unaware..."</p>
</div>
<<link "Visit his room" "DreamCorruptionRylan">><</link>>
</div>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/liora/faceshortpink.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Liora</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"So innocent, so trusting..."</p>
</div>
</div>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/mariel/stage2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Mariel</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Alone in her new room..."</p>
</div>
</div>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/serin/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Serin</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Light still shines under her door..."</p>
</div>
</div>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/seryk/chapter2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Seryk</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Not interested for now..."</p>
</div>
</div>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/thalor/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Thalor</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Not interested for now..."</p>
</div>
</div>
<<if $currentChapter == 7 && ($goblinBuildingsAdded && $goblinTavernPlaced && $goblinBarracksPlaced)>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/prisoners/prisoner-icon.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Visit Prisoners</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"The captured enemies await..."</p>
</div>
<<link "Visit Prisoners" "PrisonerManagement">><</link>>
</div>
<<elseif not $currentChapter or $currentChapter < 7>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="locked-option" style="position: relative; opacity: 0.6;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(100,100,100,0.1), rgba(80,80,80,0.05)); border: 2px solid rgba(150,150,150,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px); position: relative;">
<div class="magical-barrier" style="position: absolute; top: -10px; left: -10px; right: -10px; bottom: -10px; border: 3px solid rgba(255, 100, 100, 0.8); border-radius: 20px; box-shadow: 0 0 20px rgba(255, 100, 100, 0.6), inset 0 0 20px rgba(255, 100, 100, 0.3); animation: pulse-barrier 2s infinite;"></div>
<img src="images/gairos/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(150,150,150,0.3); filter: grayscale(70%);">
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
<h3 style="color: #999; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Gairos</h3>
<p style="color: #AAA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Magical barriers surround his room..."</p>
</div>
</div>
<</if>>
<<if $goblinTavernPlaced>>
<div class="influence-option-wrapper" style="text-align: center; position: relative;">
<div class="influence-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05)); border: 2px solid rgba(255,255,255,0.2); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/dungeonbuildings/facetavern.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #DDA0DD; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Visit Goblin Tavern</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"A warm evening at the tavern..."</p>
</div>
<<link "Visit Tavern" "GoblinTavernVisitNight">><</link>>
</div>
<</if>>
</div>
<div class="sleep-option" style="margin-top: 50px;">
<div class="return-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease;">
<div style="background: linear-gradient(145deg, rgba(120,80,160,0.2), rgba(100,60,140,0.3)); border: 2px solid rgba(200,150,255,0.3); border-radius: 10px; padding: 15px 25px; display: inline-block; box-shadow: 0 4px 8px rgba(0,0,0,0.3); backdrop-filter: blur(3px);">
<h3 style="color: #DDA0DD; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; font-size: 1.1em;">Return to my room</h3>
<p style="color: #C0A0C0; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 5px 0 0 0; font-style: italic;">"Perhaps rest is what I need..."</p>
</div>
</div>
<div style="margin-top: 15px;"><<link "End the night" "NightActivitiesEnd">><</link>></div>
</div>
</div>
</div>
<</nobr>>
<style>
@keyframes pulse-barrier {
0% { opacity: 0.6; transform: scale(1); }
50% { opacity: 1; transform: scale(1.02); }
100% { opacity: 0.6; transform: scale(1); }
}
.influence-option:hover {
transform: translateY(-5px) scale(1.05);
opacity: 0.9;
}
.influence-option:hover .character-frame {
border-color: rgba(255,255,255,0.5);
box-shadow: 0 12px 24px rgba(0,0,0,0.4);
}
.influence-option:hover img {
border-color: rgba(255,255,255,0.6);
transform: scale(1.05);
}
.influence-option:hover h3 {
color: #FFE6FF;
}
.return-option:hover {
transform: translateY(-3px) scale(1.02);
opacity: 0.9;
}
.mischief-content a {
color: #DDA0DD;
text-decoration: none;
background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(255,255,255,0.1));
border: 1px solid rgba(255,255,255,0.3);
border-radius: 8px;
padding: 10px 20px;
display: inline-block;
margin-top: 10px;
transition: all 0.3s ease;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
font-weight: bold;
font-size: 1.1em;
}
.mischief-content a:hover {
color: #FFE6FF;
background: linear-gradient(145deg, rgba(255,255,255,0.25), rgba(255,255,255,0.15));
border-color: rgba(255,255,255,0.5);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}
</style>
<<changeFace $currentNimeriaFace>>
<<statSummary>><<nobr>>
<div class="passage-container rylan">
<<narrative "You make your way into the bustling town of Lindale, where merchants and townspeople go about their daily business.">>
<center><img src="images/landscapes/lindale.webp" style="max-width: 500px; border-radius: 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); margin: 20px 0;"></center>
<<narrative "The cobblestone streets are lined with various shops and establishments, each offering different goods and services.">>
<!-- Town Exploration Choices Section -->
<div style="margin: 40px 0; background: linear-gradient(135deg, rgba(25, 25, 35, 0.95), rgba(45, 45, 55, 0.98)); border: 3px solid rgba(100, 100, 100, 0.6); border-radius: 25px; padding: 30px; box-shadow: 0 10px 30px rgba(0,0,0,0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #6B6B6B, #4A4A4A, #2C2C2C);"></div>
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; margin: 0 0 15px 0; font-size: 2.5em; text-shadow: 3px 3px 10px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">🏘️ Lindale Town Center 🏘️</h2>
<p style="color: #B0B0B0; font-style: italic; margin: 0; font-size: 1.2em; text-shadow: 1px 1px 4px rgba(0,0,0,0.6);">Where would you like to go?</p>
</div>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 25px; margin: 20px 0;">
<!-- Whisper Wisdom Shop Choice -->
<div style="background: linear-gradient(145deg, rgba(75, 0, 130, 0.15), rgba(138, 43, 226, 0.2)); border: 2px solid rgba(75, 0, 130, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(75, 0, 130, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(75, 0, 130, 0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(75, 0, 130, 0.3)'">
<div style="font-size: 4em; margin-bottom: 15px;">📚</div>
<h3 style="color: #8A2BE2; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Whisper Wisdom Shop</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">A mysterious shop specializing in rare and exotic books. Browse their collection of fetish literature and educational materials.</p>
<div style="background: linear-gradient(145deg, rgba(75, 0, 130, 0.3), rgba(138, 43, 226, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('WhispersWisdomShopReturn')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Browse Books</a>
</div>
</div>
<!-- Lingerie Shop Choice (Conditional) -->
<<if $wardrobeUnlocked and $rylanMasculinity30Triggered>>
<div style="background: linear-gradient(145deg, rgba(255, 20, 147, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 20, 147, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 20, 147, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(255, 20, 147, 0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(255, 20, 147, 0.3)'">
<div style="font-size: 4em; margin-bottom: 15px;">👗</div>
<h3 style="color: #FF1493; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Lingerie Boutique</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Visit the exclusive lingerie boutique to purchase new undergarments and accessories. Items only affect sidebar appearance.</p>
<div style="background: linear-gradient(145deg, rgba(255, 20, 147, 0.3), rgba(255, 105, 180, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('LingerieShop')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Go Shopping</a>
</div>
</div>
<</if>>
<!-- Wardrobe Choice -->
<<if $wardrobeUnlocked and $rylanMasculinity30Triggered>>
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.15), rgba(255, 105, 180, 0.2)); border: 2px solid rgba(255, 182, 193, 0.6); border-radius: 20px; padding: 25px; text-align: center; box-shadow: 0 6px 20px rgba(255, 182, 193, 0.3); transition: transform 0.3s ease, box-shadow 0.3s ease; cursor: pointer;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 8px 25px rgba(255, 182, 193, 0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='0 6px 20px rgba(255, 182, 193, 0.3)'">
<div style="font-size: 4em; margin-bottom: 15px;">✨</div>
<h3 style="color: #FFB6C1; margin: 0 0 15px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Character Wardrobe</h3>
<p style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Access the wardrobe system to change character outfits and manage clothing items for all characters.</p>
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.3), rgba(255, 105, 180, 0.4)); border-radius: 10px; padding: 12px; margin-top: 15px;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('WardrobeRylan')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8); display: block;">Open Wardrobe</a>
</div>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 25px; padding-top: 20px; border-top: 2px solid rgba(100, 100, 100, 0.3);">
<p style="color: #B0B0B0; font-style: italic; margin: 0; font-size: 1em; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">🏘️ Explore the town and discover what Lindale has to offer 🏘️</p>
</div>
</div>
<!-- Return to Morning Choices -->
<div style="text-align: center; margin: 30px 0;">
<div style="background: linear-gradient(145deg, rgba(70, 130, 180, 0.3), rgba(100, 149, 237, 0.4)); border-radius: 10px; padding: 15px; display: inline-block;">
<a href="javascript:void(0)" onclick="SugarCube.Engine.play('MorningActivityChoices')" style="color: #FFFFFF; text-decoration: none; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">← Return to Morning Activities</a>
</div>
</div>
</div>
<</nobr>>
<<if $currentChapter == 7>>
<<pov "rylan" "defaultch7.mp3">>
<<else>>
<<pov "rylan" "defaultch6.mp3">>
<</if>><<nobr>>
<<stopLoopingSounds>>
<<silently>>
<<calculateCharacterInitiatedScenes>>
<<calculateLioraScenesForEachCharacter>>
<</silently>>
<div class="morning-visit-container" style="background-image: url('images/landscapes/morning.webp'); background-size: cover; background-position: center; min-height: 600px; position: relative; border-radius: 10px; overflow: hidden;">
<div class="morning-overlay" style="background: linear-gradient(to bottom, rgba(255, 215, 0, 0.3), rgba(255, 165, 0, 0.4)); position: absolute; top: 0; left: 0; right: 0; bottom: 0;"></div>
<div class="visit-content" style="position: relative; z-index: 2; padding: 30px; text-align: center;">
<!-- Character Navigation Bar -->
<div style="position: fixed; top: 0; left: 200px; right: 200px; z-index: 1000; background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(240, 240, 240, 0.98)); border-bottom: 2px solid rgba(255, 215, 0, 0.8); box-shadow: 0 2px 8px rgba(0,0,0,0.3); padding: 8px 0;">
<div style="display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap;">
<!-- Switch POV Warning -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 165, 0, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 165, 0, 0.3); position: relative;">
<span style="color: #FFA500; font-weight: bold; font-size: 0.8em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Click →</span>
</div>
<!-- Guide Button -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(167, 139, 250, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(167, 139, 250, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(167, 139, 250, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(167, 139, 250, 0.2)'; this.style.transform='translateY(0)'" onclick="toggleGuideImages()">
<span style="color: #A78BFA; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Guide</span>
</div>
<!-- Mariel -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 182, 193, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 182, 193, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 182, 193, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 182, 193, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesMariel')">
<div style="position: relative;">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $marielInitiatedScenes and $marielInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$marielInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFB6C1; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel</span>
</div>
<!-- HumanName -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(135, 206, 235, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(135, 206, 235, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(135, 206, 235, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(135, 206, 235, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesRylan')">
<div style="position: relative;">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<<if $humanInitiatedScenes and $humanInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$humanInitiatedScenes</div>
<</if>>
</div>
<span style="color: #87CEEB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">$humanName</span>
</div>
<!-- Serin -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 105, 180, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 105, 180, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 105, 180, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 105, 180, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesSerin')">
<div style="position: relative;">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serinInitiatedScenes and $serinInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serinInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FF69B4; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin</span>
</div>
<!-- Nimeria -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(221, 160, 221, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(221, 160, 221, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(221, 160, 221, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(221, 160, 221, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesNimeria')">
<div style="position: relative;">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $nimeriaInitiatedScenes and $nimeriaInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$nimeriaInitiatedScenes</div>
<</if>>
</div>
<span style="color: #DDA0DD; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Nimeria</span>
</div>
<!-- Seryk -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(240, 230, 140, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(240, 230, 140, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(240, 230, 140, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(240, 230, 140, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesSeryk')">
<div style="position: relative;">
<img src="images/seryk/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serykInitiatedScenes and $serykInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serykInitiatedScenes</div>
<</if>>
</div>
<span style="color: #F0E68C; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Seryk</span>
</div>
<!-- Thalor -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(176, 196, 222, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(176, 196, 222, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(176, 196, 222, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(176, 196, 222, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesThalor')">
<div style="position: relative;">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $thalorInitiatedScenes and $thalorInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$thalorInitiatedScenes</div>
<</if>>
</div>
<span style="color: #B0C4DE; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Thalor</span>
</div>
</div>
</div>
<!-- Add top margin to account for fixed bar -->
<div style="margin-top: 60px;">
<!-- Guide Image (initially hidden) -->
<div id="guideImages" style="display: none; margin: 20px 0; text-align: center;">
<center><img src="images/guide/visitpeople.webp" alt="Visit People Guide" style="width: 100%; height: auto; max-width: 800px; border-radius: 10px; box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
</div>
<!-- Time Display Box -->
<div class="time-display" style="background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(240, 240, 240, 0.95)); border: 2px solid rgba(255, 215, 0, 0.4); border-radius: 15px; padding: 15px 25px; margin: 0 auto 25px auto; max-width: 400px; box-shadow: 0 6px 15px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<div style="display: flex; align-items: center; justify-content: center; gap: 10px;">
<span style="font-size: 1.5em;">
<<switch $timeOfDay>>
<<case "morning">>🌅
<<case "noon">>🌞
<<case "afternoon">>☀️
<<case "evening">>🌆
<<case "night">>🌙
<</switch>>
</span>
<span style="color: #FFD700; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">
<<switch $timeOfDay>>
<<case "morning">>Morning
<<case "noon">>Noon
<<case "afternoon">>Afternoon
<<case "evening">>Evening
<<case "night">>Night
<</switch>>
</span>
</div>
</div>
<div class="liora-thoughts" style="background: linear-gradient(145deg, rgba(255, 192, 203, 0.2), rgba(255, 182, 193, 0.3)); border: 2px solid rgba(255, 192, 203, 0.4); border-radius: 12px; padding: 20px; margin: 20px auto; max-width: 600px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/liora/faceshortpink.webp" style="width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; line-height: 1.6;"><span class="dialog-liora">
<<switch $timeOfDay>>
<<case "morning">>*Good morning... who should I visit today?*
<<case "noon">>*It's noon... who might be available?*
<<case "afternoon">>*Afternoon... who should I see?*
<<case "evening">>*Evening time... who's around?*
<<case "night">>*Night... who might still be awake?*
<</switch>>
</span></p>
<div style="clear: left;"></div>
</div>
<!-- TAB MENU SYSTEM -->
<div style="margin: 40px 0;">
<div class="tab-container" style="background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(240, 240, 240, 0.95)); border: 2px solid rgba(255, 215, 0, 0.4); border-radius: 15px; padding: 20px; box-shadow: 0 8px 25px rgba(0,0,0,0.2);">
<!-- TAB HEADERS -->
<div class="tab-headers" style="display: flex; justify-content: center; gap: 10px; margin-bottom: 30px; flex-wrap: wrap;">
<div class="tab-header active" onclick="switchTab('human')" style="background: linear-gradient(145deg, rgba(135, 206, 235, 0.8), rgba(135, 206, 235, 0.9)); border: 2px solid rgba(135, 206, 235, 0.6); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #87CEEB; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<</if>>
<<if $lioraForRylan and $lioraForRylan > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$lioraForRylan</div>
<</if>>
</div>
$humanName 👤
</div>
<div class="tab-header" onclick="switchTab('mariel')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $lioraForMariel and $lioraForMariel > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$lioraForMariel</div>
<</if>>
</div>
Mariel 👩🦱
</div>
<div class="tab-header" onclick="switchTab('serin')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $lioraForSerin and $lioraForSerin > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$lioraForSerin</div>
<</if>>
</div>
Serin ⚔️
</div>
<div class="tab-header" onclick="switchTab('nimeria')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $lioraForNimeria and $lioraForNimeria > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$lioraForNimeria</div>
<</if>>
</div>
Nimeria 🌙
</div>
<div class="tab-header" onclick="switchTab('seryk')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/seryk/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $lioraForSeryk and $lioraForSeryk > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$lioraForSeryk</div>
<</if>>
</div>
Seryk 🗡️
</div>
<div class="tab-header" onclick="switchTab('thalor')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $lioraForThalor and $lioraForThalor > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$lioraForThalor</div>
<</if>>
</div>
Thalor 🛡️
</div>
</div>
<!-- TAB CONTENT -->
<div class="tab-content">
<!-- HUMAN TAB -->
<div id="human-tab" class="tab-panel active" style="display: block;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<<if $currentChapter >= 7 and ($rylanFemboy or $rylanMasculine)>>
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;" onclick="SugarCube.Engine.play('Ch7LioraRylanRomance')">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px); position: relative;">
<<if $rylanFemboy>>
<img src="images/liora/chapter7/romance/cunni/femboy/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/liora/chapter7/romance/cunni/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<<if $ch7LioraRylanRomanceVisited>>
<div style="position: absolute; top: 5px; right: 5px; background: rgba(0, 255, 0, 0.8); color: white; border-radius: 50%; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; font-size: 0.8em; font-weight: bold;">✓</div>
<</if>>
</div>
<h3 style="color: #87CEEB; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">$humanName 👤</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Visit $humanName"<<if $ch7LioraRylanRomanceVisited>> (Seen)<</if>></p>
</div>
</div>
<<else>>
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
</div>
<h3 style="color: #87CEEB; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">$humanName 👤</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
<</if>>
</div>
</div>
<!-- MARIEL TAB -->
<div id="mariel-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<<if not $marielCuddleVisited>>
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;" onclick="SugarCube.Engine.play('Chapter6MarielXLioraCuddle')">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/mariel/chapter6/lioracuddle/facecuddle1.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Mariel 👩🦱</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"cuddles... ♀️♀️"</p>
</div>
<<else>>
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;" onclick="SugarCube.Engine.play('Chapter6MarielXLioraCuddle')">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/mariel/chapter6/lioracuddle/facecuddle1.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Mariel 👩🦱</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"cuddles ♀️♀️"</p>
<div style="position: absolute; top: 10px; right: 10px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; font-size: 0.8em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">✓</div>
</div>
<</if>>
</div>
</div>
</div>
<!-- SERIN TAB -->
<div id="serin-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;" onclick="SugarCube.Engine.play('Ch6LioraTrainingSerin')">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/serin/chapter6/serinliora/scissor/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<if $lioraTrainingSerinVisited>>
<div style="position: absolute; top: 5px; right: 5px; background: rgba(0, 255, 0, 0.8); color: white; border-radius: 50%; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; font-size: 0.8em; font-weight: bold;">✓</div>
<</if>>
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Training ♀♀</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Practice with Serin"<<if $lioraTrainingSerinVisited>> (Seen)<</if>></p>
</div>
</div>
</div>
</div>
<!-- NIMERIA TAB -->
<div id="nimeria-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/nimeria/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Nimeria 🌙</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Mysterious talks..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- SERYK TAB -->
<div id="seryk-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<<if $serykxliorantr>>
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;" onclick="SugarCube.Engine.play('Ch6LioraSerykNTR')">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/liora/chapter5/serykntr/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<if $lioraSerykNTRVisited>>
<div style="position: absolute; top: 5px; right: 5px; background: rgba(0, 255, 0, 0.8); color: white; border-radius: 50%; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; font-size: 0.8em; font-weight: bold;">✓</div>
<</if>>
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Private Time 💕</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Mana Restoration"<<if $lioraSerykNTRVisited>> (Seen)<</if>></p>
</div>
</div>
<<else>>
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/seryk/chapter5/serykntr/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Seryk</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">""</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
<</if>>
</div>
</div>
<!-- THALOR TAB -->
<div id="thalor-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/thalor/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Thalor 🛡️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Wise counsel..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- NAVIGATION -->
<center>
<div class="return-option" style="margin-top: 50px;">
<div class="return-button" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease;" onclick="SugarCube.Engine.play('MorningActivityChoices');">
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.2), rgba(255, 165, 0, 0.3)); border: 2px solid rgba(255, 215, 0, 0.3); border-radius: 10px; padding: 15px 25px; display: inline-block; box-shadow: 0 4px 8px rgba(0,0,0,0.2); backdrop-filter: blur(3px);">
<h3 style="color: #FFD700; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; font-size: 1.1em;">Return to Morning Activities</h3>
<p style="color: #FFA500; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 5px 0 0 0; font-style: italic;">"Perhaps another time..."</p>
</div>
</div>
</div>
</center>
</div>
<</nobr>>
<style>
.tab-header {
transition: all 0.3s ease;
}
.tab-header:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.tab-header.active {
background: linear-gradient(145deg, rgba(135, 206, 235, 0.8), rgba(135, 206, 235, 0.9)) !important;
border-color: rgba(135, 206, 235, 0.6) !important;
color: #87CEEB !important;
}
.tab-panel {
display: none;
}
.tab-panel.active {
display: block;
}
.visit-option-wrapper {
width: 180px;
height: 250px;
display: flex;
flex-direction: column;
justify-content: flex-start;
margin-bottom: 20px;
}
.visit-option {
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
padding: 10px;
position: relative;
opacity: 0.6;
}
.character-frame {
height: 150px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 15px;
flex-shrink: 0;
}
.visit-option:hover {
transform: translateY(-5px) scale(1.05);
opacity: 0.8;
}
.visit-option:hover .character-frame {
border-color: rgba(255,255,255,0.5);
box-shadow: 0 12px 24px rgba(0,0,0,0.3);
}
.return-button:hover {
transform: translateY(-3px) scale(1.02);
opacity: 0.9;
}
.lock-overlay {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 3em;
color: rgba(255,255,255,0.8);
text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
z-index: 10;
}
</style>
<script>
function switchTab(tabName) {
// Hide all tab panels
const panels = document.querySelectorAll('.tab-panel');
panels.forEach(panel => {
panel.classList.remove('active');
panel.style.display = 'none';
});
// Remove active class from all headers and completely reset their styling
const headers = document.querySelectorAll('.tab-header');
headers.forEach(header => {
header.classList.remove('active');
// Remove any inline styles to ensure clean reset
header.style.removeProperty('background');
header.style.removeProperty('border-color');
header.style.removeProperty('color');
// Force inactive state
header.style.setProperty('background', 'linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7))', 'important');
header.style.setProperty('border-color', 'rgba(255, 182, 193, 0.3)', 'important');
header.style.setProperty('color', '#AAA', 'important');
});
// Show selected tab panel
const selectedPanel = document.getElementById(tabName + '-tab');
if (selectedPanel) {
selectedPanel.classList.add('active');
selectedPanel.style.display = 'block';
}
// Activate selected header with consistent styling
const selectedHeader = document.querySelector(`[onclick="switchTab('${tabName}')"]`);
if (selectedHeader) {
selectedHeader.classList.add('active');
// Remove any existing styles first
selectedHeader.style.removeProperty('background');
selectedHeader.style.removeProperty('border-color');
selectedHeader.style.removeProperty('color');
// Apply active styling based on tab type
if (tabName === 'human') {
selectedHeader.style.setProperty('background', 'linear-gradient(145deg, rgba(135, 206, 235, 0.8), rgba(135, 206, 235, 0.9))', 'important');
selectedHeader.style.setProperty('border-color', 'rgba(135, 206, 235, 0.6)', 'important');
selectedHeader.style.setProperty('color', '#87CEEB', 'important');
} else {
selectedHeader.style.setProperty('background', 'linear-gradient(145deg, rgba(255, 182, 193, 0.8), rgba(255, 192, 203, 0.9))', 'important');
selectedHeader.style.setProperty('border-color', 'rgba(255, 182, 193, 0.6)', 'important');
selectedHeader.style.setProperty('color', '#FFB6C1', 'important');
}
}
}
// Toggle guide images visibility
function toggleGuideImages() {
const guideImages = document.getElementById('guideImages');
if (guideImages.style.display === 'none') {
guideImages.style.display = 'block';
} else {
guideImages.style.display = 'none';
}
}
// Ensure proper initialization on page load - always default to humanName
document.addEventListener('DOMContentLoaded', function() {
switchTab('humanName');
});
</script>
<<if $currentChapter == 7>>
<<pov "liora" "defaultch7.mp3">>
<<else>>
<<pov "liora" "defaultch6.mp3">>
<</if>><<nobr>>
<<stopLoopingSounds>>
<<silently>>
<<calculateCharacterInitiatedScenes>>
<<calculateMarielScenesForEachCharacter>>
<</silently>>
<div class="morning-visit-container" style="background-image: url('images/landscapes/morning.webp'); background-size: cover; background-position: center; min-height: 600px; position: relative; border-radius: 10px; overflow: hidden;">
<div class="morning-overlay" style="background: linear-gradient(to bottom, rgba(255, 215, 0, 0.3), rgba(255, 165, 0, 0.4)); position: absolute; top: 0; left: 0; right: 0; bottom: 0;"></div>
<div class="visit-content" style="position: relative; z-index: 2; padding: 30px; text-align: center;">
<!-- Character Navigation Bar -->
<div style="position: fixed; top: 0; left: 200px; right: 200px; z-index: 1000; background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(240, 240, 240, 0.98)); border-bottom: 2px solid rgba(255, 215, 0, 0.8); box-shadow: 0 2px 8px rgba(0,0,0,0.3); padding: 8px 0;">
<div style="display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap;">
<!-- Switch POV Warning -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 165, 0, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 165, 0, 0.3); position: relative;">
<span style="color: #FFA500; font-weight: bold; font-size: 0.8em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Click →</span>
</div>
<!-- Guide Button -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(167, 139, 250, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(167, 139, 250, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(167, 139, 250, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(167, 139, 250, 0.2)'; this.style.transform='translateY(0)'" onclick="toggleGuideImages()">
<span style="color: #A78BFA; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Guide</span>
</div>
<!-- HumanName -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(135, 206, 235, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(135, 206, 235, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(135, 206, 235, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(135, 206, 235, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesRylan')">
<div style="position: relative;">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<<if $humanInitiatedScenes and $humanInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$humanInitiatedScenes</div>
<</if>>
</div>
<span style="color: #87CEEB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">$humanName</span>
</div>
<!-- Liora -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 192, 203, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 192, 203, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 192, 203, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 192, 203, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesLiora')">
<div style="position: relative;">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $lioraInitiatedScenes and $lioraInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$lioraInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFC0CB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Liora</span>
</div>
<!-- Serin -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 105, 180, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 105, 180, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 105, 180, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 105, 180, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesSerin')">
<div style="position: relative;">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serinInitiatedScenes and $serinInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serinInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FF69B4; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin</span>
</div>
<!-- Nimeria -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(221, 160, 221, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(221, 160, 221, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(221, 160, 221, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(221, 160, 221, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesNimeria')">
<div style="position: relative;">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $nimeriaInitiatedScenes and $nimeriaInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$nimeriaInitiatedScenes</div>
<</if>>
</div>
<span style="color: #DDA0DD; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Nimeria</span>
</div>
<!-- Seryk -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(240, 230, 140, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(240, 230, 140, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(240, 230, 140, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(240, 230, 140, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesSeryk')">
<div style="position: relative;">
<img src="images/seryk/chapter2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serykInitiatedScenes and $serykInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serykInitiatedScenes</div>
<</if>>
</div>
<span style="color: #F0E68C; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Seryk</span>
</div>
<!-- Thalor -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(176, 196, 222, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(176, 196, 222, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(176, 196, 222, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(176, 196, 222, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesThalor')">
<div style="position: relative;">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $thalorInitiatedScenes and $thalorInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$thalorInitiatedScenes</div>
<</if>>
</div>
<span style="color: #B0C4DE; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Thalor</span>
</div>
</div>
</div>
<!-- Add top margin to account for fixed bar -->
<div style="margin-top: 60px;">
<!-- Guide Image (initially hidden) -->
<div id="guideImages" style="display: none; margin: 20px 0; text-align: center;">
<center><img src="images/guide/visitpeople.webp" alt="Visit People Guide" style="width: 100%; height: auto; max-width: 800px; border-radius: 10px; box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
</div>
<!-- Time Display Box -->
<div class="time-display" style="background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(240, 240, 240, 0.95)); border: 2px solid rgba(255, 215, 0, 0.4); border-radius: 15px; padding: 15px 25px; margin: 0 auto 25px auto; max-width: 400px; box-shadow: 0 6px 15px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<div style="display: flex; align-items: center; justify-content: center; gap: 10px;">
<span style="font-size: 1.5em;">
<<switch $timeOfDay>>
<<case "morning">>🌅
<<case "noon">>🌞
<<case "afternoon">>☀️
<<case "evening">>🌆
<<case "night">>🌙
<</switch>>
</span>
<span style="color: #FFD700; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">
<<switch $timeOfDay>>
<<case "morning">>Morning
<<case "noon">>Noon
<<case "afternoon">>Afternoon
<<case "evening">>Evening
<<case "night">>Night
<</switch>>
</span>
</div>
</div>
<div class="mariel-thoughts" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.2), rgba(255, 192, 203, 0.3)); border: 2px solid rgba(255, 182, 193, 0.4); border-radius: 12px; padding: 20px; margin: 20px auto; max-width: 600px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/mariel/stage2/face.webp" style="width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; line-height: 1.6;"><span class="dialog-mariel">
<<switch $timeOfDay>>
<<case "morning">>*Good morning! Who should I visit today?*
<<case "noon">>*Perfect time for a visit! Who's available?*
<<case "afternoon">>*Afternoon's here! Who should I catch up with?*
<<case "evening">>*Evening time! Who should I spend it with?*
<<case "night">>*The night is young! Who should I visit?*
<</switch>>
</span></p>
<div style="clear: left;"></div>
</div>
<!-- TAB MENU SYSTEM -->
<div style="margin: 40px 0;">
<div class="tab-container" style="background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(240, 240, 240, 0.95)); border: 2px solid rgba(255, 215, 0, 0.4); border-radius: 15px; padding: 20px; box-shadow: 0 8px 25px rgba(0,0,0,0.2);">
<!-- TAB HEADERS -->
<div class="tab-headers" style="display: flex; justify-content: center; gap: 10px; margin-bottom: 30px; flex-wrap: wrap;">
<div class="tab-header active" onclick="switchTab('human')" style="background: linear-gradient(145deg, rgba(135, 206, 235, 0.8), rgba(135, 206, 235, 0.9)); border: 2px solid rgba(135, 206, 235, 0.6); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #87CEEB; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<</if>>
<<if $marielForHuman and $marielForHuman > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$marielForHuman</div>
<</if>>
</div>
$humanName 👤
</div>
<div class="tab-header" onclick="switchTab('liora')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $marielForLiora and $marielForLiora > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$marielForLiora</div>
<</if>>
</div>
Liora 💕
</div>
<div class="tab-header" onclick="switchTab('serin')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $marielForSerin and $marielForSerin > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$marielForSerin</div>
<</if>>
</div>
Serin ⚔️
</div>
<div class="tab-header" onclick="switchTab('nimeria')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $marielForNimeria and $marielForNimeria > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$marielForNimeria</div>
<</if>>
</div>
Nimeria 🌙
</div>
<div class="tab-header" onclick="switchTab('seryk')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/seryk/chapter2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $marielForSeryk and $marielForSeryk > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$marielForSeryk</div>
<</if>>
</div>
Seryk 🗡️
</div>
<div class="tab-header" onclick="switchTab('thalor')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $marielForThalor and $marielForThalor > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$marielForThalor</div>
<</if>>
</div>
Thalor 🛡️
</div>
</div>
<!-- TAB CONTENT -->
<div class="tab-content">
<!-- HUMAN TAB -->
<div id="human-tab" class="tab-panel active" style="display: block;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
</div>
<h3 style="color: #87CEEB; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">$humanName 👤</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"My dear $humanIsMariel..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- LIORA TAB -->
<div id="liora-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/liora/faceshortpink.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Liora 💕</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Sweet moments..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- SERIN TAB -->
<div id="serin-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/serin/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Serin ⚔️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Training time..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- NIMERIA TAB -->
<div id="nimeria-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/nimeria/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Nimeria 🌙</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Mysterious talks..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- SERYK TAB -->
<div id="seryk-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/seryk/chapter2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Seryk 🗡️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Brotherly bond..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- THALOR TAB -->
<div id="thalor-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/thalor/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Thalor 🛡️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Wise counsel..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- NAVIGATION -->
<center>
<div class="return-option" style="margin-top: 50px;">
<div class="return-button" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease;" onclick="SugarCube.Engine.play('MorningActivityChoices');">
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.2), rgba(255, 165, 0, 0.3)); border: 2px solid rgba(255, 215, 0, 0.3); border-radius: 10px; padding: 15px 25px; display: inline-block; box-shadow: 0 4px 8px rgba(0,0,0,0.2); backdrop-filter: blur(3px);">
<h3 style="color: #FFD700; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; font-size: 1.1em;">Return to Morning Activities</h3>
<p style="color: #FFA500; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 5px 0 0 0; font-style: italic;">"Perhaps another time..."</p>
</div>
</div>
</div>
</center>
</div>
<</nobr>>
<style>
.tab-header {
transition: all 0.3s ease;
}
.tab-header:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.tab-header.active {
background: linear-gradient(145deg, rgba(135, 206, 235, 0.8), rgba(135, 206, 235, 0.9)) !important;
border-color: rgba(135, 206, 235, 0.6) !important;
color: #87CEEB !important;
}
.tab-panel {
display: none;
}
.tab-panel.active {
display: block;
}
.visit-option-wrapper {
width: 180px;
height: 250px;
display: flex;
flex-direction: column;
justify-content: flex-start;
margin-bottom: 20px;
}
.visit-option {
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
padding: 10px;
position: relative;
opacity: 0.6;
}
.character-frame {
height: 150px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 15px;
flex-shrink: 0;
}
.visit-option:hover {
transform: translateY(-5px) scale(1.05);
opacity: 0.8;
}
.visit-option:hover .character-frame {
border-color: rgba(255,255,255,0.5);
box-shadow: 0 12px 24px rgba(0,0,0,0.3);
}
.return-button:hover {
transform: translateY(-3px) scale(1.02);
opacity: 0.9;
}
.lock-overlay {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 3em;
color: rgba(255,255,255,0.8);
text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
z-index: 10;
}
</style>
<script>
function switchTab(tabName) {
// Hide all tab panels
const panels = document.querySelectorAll('.tab-panel');
panels.forEach(panel => {
panel.classList.remove('active');
panel.style.display = 'none';
});
// Remove active class from all headers and completely reset their styling
const headers = document.querySelectorAll('.tab-header');
headers.forEach(header => {
header.classList.remove('active');
// Remove any inline styles to ensure clean reset
header.style.removeProperty('background');
header.style.removeProperty('border-color');
header.style.removeProperty('color');
// Force inactive state
header.style.setProperty('background', 'linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7))', 'important');
header.style.setProperty('border-color', 'rgba(255, 182, 193, 0.3)', 'important');
header.style.setProperty('color', '#AAA', 'important');
});
// Show selected tab panel
const selectedPanel = document.getElementById(tabName + '-tab');
if (selectedPanel) {
selectedPanel.classList.add('active');
selectedPanel.style.display = 'block';
}
// Activate selected header with consistent styling
const selectedHeader = document.querySelector(`[onclick="switchTab('${tabName}')"]`);
if (selectedHeader) {
selectedHeader.classList.add('active');
// Remove any existing styles first
selectedHeader.style.removeProperty('background');
selectedHeader.style.removeProperty('border-color');
selectedHeader.style.removeProperty('color');
// Apply active styling based on tab type
if (tabName === 'human') {
selectedHeader.style.setProperty('background', 'linear-gradient(145deg, rgba(135, 206, 235, 0.8), rgba(135, 206, 235, 0.9))', 'important');
selectedHeader.style.setProperty('border-color', 'rgba(135, 206, 235, 0.6)', 'important');
selectedHeader.style.setProperty('color', '#87CEEB', 'important');
} else {
selectedHeader.style.setProperty('background', 'linear-gradient(145deg, rgba(255, 182, 193, 0.8), rgba(255, 192, 203, 0.9))', 'important');
selectedHeader.style.setProperty('border-color', 'rgba(255, 182, 193, 0.6)', 'important');
selectedHeader.style.setProperty('color', '#FFB6C1', 'important');
}
}
}
// Toggle guide images visibility
function toggleGuideImages() {
const guideImages = document.getElementById('guideImages');
if (guideImages.style.display === 'none') {
guideImages.style.display = 'block';
} else {
guideImages.style.display = 'none';
}
}
// Ensure proper initialization on page load - always default to human
document.addEventListener('DOMContentLoaded', function() {
switchTab('human');
});
</script>
<<if $currentChapter == 7>>
<<pov "mariel" "defaultch7.mp3">>
<<else>>
<<pov "mariel" "defaultch6.mp3">>
<</if>><<nobr>>
<<stopLoopingSounds>>
<<silently>>
<<calculateCharacterInitiatedScenes>>
<<calculateNimeriaScenesForEachCharacter>>
<</silently>>
<div class="morning-visit-container" style="background-image: url('images/landscapes/morning.webp'); background-size: cover; background-position: center; min-height: 600px; position: relative; border-radius: 10px; overflow: hidden;">
<div class="morning-overlay" style="background: linear-gradient(to bottom, rgba(255, 215, 0, 0.3), rgba(255, 165, 0, 0.4)); position: absolute; top: 0; left: 0; right: 0; bottom: 0;"></div>
<div class="visit-content" style="position: relative; z-index: 2; padding: 30px; text-align: center;">
<!-- Character Navigation Bar -->
<div style="position: fixed; top: 0; left: 200px; right: 200px; z-index: 1000; background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(240, 240, 240, 0.98)); border-bottom: 2px solid rgba(255, 215, 0, 0.8); box-shadow: 0 2px 8px rgba(0,0,0,0.3); padding: 8px 0;">
<div style="display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap;">
<!-- Switch POV Warning -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 165, 0, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 165, 0, 0.3); position: relative;">
<span style="color: #FFA500; font-weight: bold; font-size: 0.8em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Click →</span>
</div>
<!-- Guide Button -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(167, 139, 250, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(167, 139, 250, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(167, 139, 250, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(167, 139, 250, 0.2)'; this.style.transform='translateY(0)'" onclick="toggleGuideImages()">
<span style="color: #A78BFA; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Guide</span>
</div>
<!-- Mariel -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 182, 193, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 182, 193, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 182, 193, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 182, 193, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesMariel')">
<div style="position: relative;">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $marielInitiatedScenes and $marielInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$marielInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFB6C1; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel</span>
</div>
<!-- Liora -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 192, 203, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 192, 203, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 192, 203, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 192, 203, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesLiora')">
<div style="position: relative;">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $lioraInitiatedScenes and $lioraInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$lioraInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFC0CB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Liora</span>
</div>
<!-- Serin -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 105, 180, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 105, 180, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 105, 180, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 105, 180, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesSerin')">
<div style="position: relative;">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serinInitiatedScenes and $serinInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serinInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FF69B4; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin</span>
</div>
<!-- humanName -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(135, 206, 235, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(135, 206, 235, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(135, 206, 235, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(135, 206, 235, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesRylan')">
<div style="position: relative;">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<<if $humanInitiatedScenes and $humanInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$humanInitiatedScenes</div>
<</if>>
</div>
<span style="color: #87CEEB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">$humanName</span>
</div>
<!-- Seryk -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(240, 230, 140, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(240, 230, 140, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(240, 230, 140, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(240, 230, 140, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesSeryk')">
<div style="position: relative;">
<img src="images/seryk/chapter2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serykInitiatedScenes and $serykInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serykInitiatedScenes</div>
<</if>>
</div>
<span style="color: #F0E68C; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Seryk</span>
</div>
<!-- Thalor -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(176, 196, 222, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(176, 196, 222, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(176, 196, 222, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(176, 196, 222, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesThalor')">
<div style="position: relative;">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $thalorInitiatedScenes and $thalorInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$thalorInitiatedScenes</div>
<</if>>
</div>
<span style="color: #B0C4DE; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Thalor</span>
</div>
</div>
</div>
<!-- Add top margin to account for fixed bar -->
<div style="margin-top: 60px;">
<!-- Guide Image (initially hidden) -->
<div id="guideImages" style="display: none; margin: 20px 0; text-align: center;">
<center><img src="images/guide/visitpeople.webp" alt="Visit People Guide" style="width: 100%; height: auto; max-width: 800px; border-radius: 10px; box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
</div>
<!-- Time Display Box -->
<div class="time-display" style="background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(240, 240, 240, 0.95)); border: 2px solid rgba(255, 215, 0, 0.4); border-radius: 15px; padding: 15px 25px; margin: 0 auto 25px auto; max-width: 400px; box-shadow: 0 6px 15px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<div style="display: flex; align-items: center; justify-content: center; gap: 10px;">
<span style="font-size: 1.5em;">
<<switch $timeOfDay>>
<<case "morning">>🌅
<<case "noon">>🌞
<<case "afternoon">>☀️
<<case "evening">>🌆
<<case "night">>🌙
<</switch>>
</span>
<span style="color: #FFD700; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">
<<switch $timeOfDay>>
<<case "morning">>Morning
<<case "noon">>Noon
<<case "afternoon">>Afternoon
<<case "evening">>Evening
<<case "night">>Night
<</switch>>
</span>
</div>
</div>
<div class="nimeria-thoughts" style="background: linear-gradient(145deg, rgba(221, 160, 221, 0.2), rgba(186, 85, 211, 0.3)); border: 2px solid rgba(221, 160, 221, 0.4); border-radius: 12px; padding: 20px; margin: 20px auto; max-width: 600px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/nimeria/face.webp" style="width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; line-height: 1.6;"><span class="dialog-nimeria">
<<switch $timeOfDay>>
<<case "morning">>*Morning! Who should I visit first?*
<<case "noon">>*Perfect time for a visit! Who's available?*
<<case "afternoon">>*Afternoon's here! Who should I catch up with?*
<<case "evening">>*Evening time! Who should I spend it with?*
<<case "night">>*The night is young! Who should I visit?*
<</switch>>
</span></p>
<div style="clear: left;"></div>
</div>
<!-- TAB MENU SYSTEM -->
<div style="margin: 40px 0;">
<div class="tab-container" style="background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(240, 240, 240, 0.95)); border: 2px solid rgba(255, 215, 0, 0.4); border-radius: 15px; padding: 20px; box-shadow: 0 8px 25px rgba(0,0,0,0.2);">
<!-- TAB HEADERS -->
<div class="tab-headers" style="display: flex; justify-content: center; gap: 10px; margin-bottom: 30px; flex-wrap: wrap;">
<div class="tab-header active" onclick="switchTab('human')" style="background: linear-gradient(145deg, rgba(135, 206, 235, 0.8), rgba(135, 206, 235, 0.9)); border: 2px solid rgba(135, 206, 235, 0.6); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #87CEEB; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<</if>>
<<if $nimeriaForHuman and $nimeriaForHuman > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$nimeriaForHuman</div>
<</if>>
</div>
$humanName 👤
</div>
<div class="tab-header" onclick="switchTab('mariel')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $nimeriaForMariel and $nimeriaForMariel > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$nimeriaForMariel</div>
<</if>>
</div>
Mariel 👩🦱
</div>
<div class="tab-header" onclick="switchTab('liora')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $nimeriaForLiora and $nimeriaForLiora > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$nimeriaForLiora</div>
<</if>>
</div>
Liora 💕
</div>
<div class="tab-header" onclick="switchTab('serin')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $nimeriaForSerin and $nimeriaForSerin > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$nimeriaForSerin</div>
<</if>>
</div>
Serin ⚔️
</div>
<div class="tab-header" onclick="switchTab('seryk')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/seryk/chapter2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $nimeriaForSeryk and $nimeriaForSeryk > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$nimeriaForSeryk</div>
<</if>>
</div>
Seryk 🗡️
</div>
<div class="tab-header" onclick="switchTab('thalor')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $nimeriaForThalor and $nimeriaForThalor > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$nimeriaForThalor</div>
<</if>>
</div>
Thalor 🛡️
</div>
</div>
<!-- TAB CONTENT -->
<div class="tab-content">
<!-- MARIEL TAB -->
<div id="mariel-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/mariel/stage2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Mariel 👩🦱</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Morning tea..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- LIORA TAB -->
<div id="liora-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/liora/faceshortpink.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Liora 💕</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Sweet moments..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- SERIN TAB -->
<div id="serin-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/serin/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Serin ⚔️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Training time..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- HUMAN TAB -->
<div id="human-tab" class="tab-panel active" style="display: block;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
</div>
<h3 style="color: #87CEEB; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">$humanName 👤</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- SERYK TAB -->
<div id="seryk-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/seryk/chapter2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Seryk 🗡️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Brotherly bond..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- THALOR TAB -->
<div id="thalor-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/thalor/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Thalor 🛡️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Wise counsel..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- NAVIGATION -->
<center>
<div class="return-option" style="margin-top: 50px;">
<div class="return-button" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease;" onclick="SugarCube.Engine.play('MorningActivityChoices');">
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.2), rgba(255, 165, 0, 0.3)); border: 2px solid rgba(255, 215, 0, 0.3); border-radius: 10px; padding: 15px 25px; display: inline-block; box-shadow: 0 4px 8px rgba(0,0,0,0.2); backdrop-filter: blur(3px);">
<h3 style="color: #FFD700; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; font-size: 1.1em;">Return to Morning Activities</h3>
<p style="color: #FFA500; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 5px 0 0 0; font-style: italic;">"Perhaps another time..."</p>
</div>
</div>
</div>
</center>
</div>
<</nobr>>
<style>
.tab-header {
transition: all 0.3s ease;
}
.tab-header:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.tab-header.active {
background: linear-gradient(145deg, rgba(135, 206, 235, 0.8), rgba(135, 206, 235, 0.9)) !important;
border-color: rgba(135, 206, 235, 0.6) !important;
color: #87CEEB !important;
}
.tab-panel {
display: none;
}
.tab-panel.active {
display: block;
}
.visit-option-wrapper {
width: 180px;
height: 250px;
display: flex;
flex-direction: column;
justify-content: flex-start;
margin-bottom: 20px;
}
.visit-option {
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
padding: 10px;
position: relative;
opacity: 0.6;
}
.character-frame {
height: 150px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 15px;
flex-shrink: 0;
}
.visit-option:hover {
transform: translateY(-5px) scale(1.05);
opacity: 0.8;
}
.visit-option:hover .character-frame {
border-color: rgba(255,255,255,0.5);
box-shadow: 0 12px 24px rgba(0,0,0,0.3);
}
.return-button:hover {
transform: translateY(-3px) scale(1.02);
opacity: 0.9;
}
.lock-overlay {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 3em;
color: rgba(255,255,255,0.8);
text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
z-index: 10;
}
</style>
<script>
function switchTab(tabName) {
// Hide all tab panels
const panels = document.querySelectorAll('.tab-panel');
panels.forEach(panel => {
panel.classList.remove('active');
panel.style.display = 'none';
});
// Remove active class from all headers and completely reset their styling
const headers = document.querySelectorAll('.tab-header');
headers.forEach(header => {
header.classList.remove('active');
// Remove any inline styles to ensure clean reset
header.style.removeProperty('background');
header.style.removeProperty('border-color');
header.style.removeProperty('color');
// Force inactive state
header.style.setProperty('background', 'linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7))', 'important');
header.style.setProperty('border-color', 'rgba(255, 182, 193, 0.3)', 'important');
header.style.setProperty('color', '#AAA', 'important');
});
// Show selected tab panel
const selectedPanel = document.getElementById(tabName + '-tab');
if (selectedPanel) {
selectedPanel.classList.add('active');
selectedPanel.style.display = 'block';
}
// Activate selected header with consistent styling
const selectedHeader = document.querySelector(`[onclick="switchTab('${tabName}')"]`);
if (selectedHeader) {
selectedHeader.classList.add('active');
// Remove any existing styles first
selectedHeader.style.removeProperty('background');
selectedHeader.style.removeProperty('border-color');
selectedHeader.style.removeProperty('color');
// Apply active styling based on tab type
if (tabName === 'human') {
selectedHeader.style.setProperty('background', 'linear-gradient(145deg, rgba(135, 206, 235, 0.8), rgba(135, 206, 235, 0.9))', 'important');
selectedHeader.style.setProperty('border-color', 'rgba(135, 206, 235, 0.6)', 'important');
selectedHeader.style.setProperty('color', '#87CEEB', 'important');
} else {
selectedHeader.style.setProperty('background', 'linear-gradient(145deg, rgba(255, 182, 193, 0.8), rgba(255, 192, 203, 0.9))', 'important');
selectedHeader.style.setProperty('border-color', 'rgba(255, 182, 193, 0.6)', 'important');
selectedHeader.style.setProperty('color', '#FFB6C1', 'important');
}
}
}
// Toggle guide images visibility
function toggleGuideImages() {
const guideImages = document.getElementById('guideImages');
if (guideImages.style.display === 'none') {
guideImages.style.display = 'block';
} else {
guideImages.style.display = 'none';
}
}
// Ensure proper initialization on page load - always default to human
document.addEventListener('DOMContentLoaded', function() {
switchTab('human');
});
</script>
<<if $currentChapter == 7>>
<<pov "nimeria" "defaultch7.mp3">>
<<else>>
<<pov "nimeria" "defaultch6.mp3">>
<</if>><<script>>
// Show POV switching tutorial on first visit
if (!State.variables.povTutorialShown) {
State.variables.povTutorialShown = true;
// Create tutorial dialog
const tutorialDialog = document.createElement('div');
tutorialDialog.className = 'tutorial-dialog';
tutorialDialog.innerHTML = `
<div class="tutorial-content">
<h3>🎭 Point of View Switching</h3>
<p>Welcome to the Visit People interface! Here you can experience the story from different character perspectives.</p>
<p><strong>How to switch POVs:</strong></p>
<ul>
<li>Click on any character's image in the top navigation bar</li>
<li>Each character has their own unique scenes and storylines</li>
<li>The green numbers show how many scenes you've initiated with each character</li>
</ul>
<p>You can also click the <strong>Guide</strong> button for more detailed explanations about the interface.</p>
<p>Try clicking on different character images to see their unique perspectives!</p>
<button onclick="this.parentElement.parentElement.remove()">Got it!</button>
</div>
`;
document.body.appendChild(tutorialDialog);
}
<</script>>
<<nobr>>
<<stopLoopingSounds>>
<<silently>>
<<calculateCharacterInitiatedScenes>>
<<calculateRylanScenesForEachCharacter>>
<</silently>>
<div class="morning-visit-container" style="background-image: url('images/landscapes/morning.webp'); background-size: cover; background-position: center; min-height: 600px; position: relative; border-radius: 10px; overflow: hidden;">
<div class="morning-overlay" style="background: linear-gradient(to bottom, rgba(255, 215, 0, 0.3), rgba(255, 165, 0, 0.4)); position: absolute; top: 0; left: 0; right: 0; bottom: 0;"></div>
<div class="visit-content" style="position: relative; z-index: 2; padding: 30px; text-align: center;">
<!-- Character Navigation Bar -->
<div style="position: fixed; top: 0; left: 200px; right: 200px; z-index: 1000; background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(240, 240, 240, 0.98)); border-bottom: 2px solid rgba(255, 215, 0, 0.8); box-shadow: 0 2px 8px rgba(0,0,0,0.3); padding: 8px 0;">
<div style="display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap;">
<!-- Switch POV Warning -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 165, 0, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 165, 0, 0.3); position: relative;">
<span style="color: #FFA500; font-weight: bold; font-size: 0.8em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Click →</span>
</div>
<!-- Guide Button -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(167, 139, 250, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(167, 139, 250, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(167, 139, 250, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(167, 139, 250, 0.2)'; this.style.transform='translateY(0)'" onclick="toggleGuideImages()">
<span style="color: #A78BFA; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Guide</span>
</div>
<!-- Mariel -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 182, 193, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 182, 193, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 182, 193, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 182, 193, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesMariel')">
<div style="position: relative;">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<!--<<calculateCharacterInitiatedScenes>>-->
<<if $marielInitiatedScenes and $marielInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$marielInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFB6C1; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel</span>
</div>
<!-- Liora -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 192, 203, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 192, 203, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 192, 203, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 192, 203, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesLiora')">
<div style="position: relative;">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $lioraInitiatedScenes and $lioraInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$lioraInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFC0CB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Liora</span>
</div>
<!-- Serin -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 105, 180, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 105, 180, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 105, 180, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 105, 180, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesSerin')">
<div style="position: relative;">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serinInitiatedScenes and $serinInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serinInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FF69B4; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin</span>
</div>
<!-- Nimeria -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(221, 160, 221, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(221, 160, 221, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(221, 160, 221, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(221, 160, 221, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesNimeria')">
<div style="position: relative;">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $nimeriaInitiatedScenes and $nimeriaInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$nimeriaInitiatedScenes</div>
<</if>>
</div>
<span style="color: #DDA0DD; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Nimeria</span>
</div>
<!-- Seryk -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(240, 230, 140, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(240, 230, 140, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(240, 230, 140, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(240, 230, 140, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesSeryk')">
<div style="position: relative;">
<img src="images/seryk/chapter2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serykInitiatedScenes and $serykInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serykInitiatedScenes</div>
<</if>>
</div>
<span style="color: #F0E68C; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Seryk</span>
</div>
<!-- Thalor -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(176, 196, 222, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(176, 196, 222, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(176, 196, 222, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(176, 196, 222, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesThalor')">
<div style="position: relative;">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $thalorInitiatedScenes and $thalorInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$thalorInitiatedScenes</div>
<</if>>
</div>
<span style="color: #B0C4DE; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Thalor</span>
</div>
</div>
</div>
<!-- Add top margin to account for fixed bar -->
<div style="margin-top: 60px;">
<!-- Guide Image (initially hidden) -->
<div id="guideImages" style="display: none; margin: 20px 0; text-align: center;">
<center><img src="images/guide/visitpeople.webp" alt="Visit People Guide" style="width: 100%; height: auto; max-width: 800px; border-radius: 10px; box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
</div>
<!-- Time Display Box -->
<div class="time-display" style="background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(240, 240, 240, 0.95)); border: 2px solid rgba(255, 215, 0, 0.4); border-radius: 15px; padding: 15px 25px; margin: 0 auto 25px auto; max-width: 400px; box-shadow: 0 6px 15px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<div style="display: flex; align-items: center; justify-content: center; gap: 10px;">
<span style="font-size: 1.5em;">
<<switch $timeOfDay>>
<<case "morning">>🌅
<<case "noon">>🌞
<<case "afternoon">>☀️
<<case "evening">>🌆
<<case "night">>🌙
<</switch>>
</span>
<span style="color: #FFD700; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">
<<switch $timeOfDay>>
<<case "morning">>Morning
<<case "noon">>Noon
<<case "afternoon">>Afternoon
<<case "evening">>Evening
<<case "night">>Night
<</switch>>
</span>
</div>
</div>
<div class="rylan-thoughts" style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.2), rgba(255, 165, 0, 0.3)); border: 2px solid rgba(255, 215, 0, 0.4); border-radius: 12px; padding: 20px; margin: 20px auto; max-width: 600px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<<else>>
<img src="images/rylan/face.webp" style="width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<</if>>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; line-height: 1.6;"><span class="dialog-rylan">
<<switch $timeOfDay>>
<<case "morning">>*Morning! Who should I visit first?*
<<case "noon">>*Perfect time for a visit! Who's available?*
<<case "afternoon">>*Afternoon's here! Who should I catch up with?*
<<case "evening">>*Evening time! Who should I spend it with?*
<<case "night">>*The night is young! Who should I visit?*
<</switch>>
</span></p>
<div style="clear: left;"></div>
</div>
<!-- TAB MENU SYSTEM -->
<div style="margin: 40px 0;">
<div class="tab-container" style="background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(240, 240, 240, 0.95)); border: 2px solid rgba(255, 215, 0, 0.4); border-radius: 15px; padding: 20px; box-shadow: 0 8px 25px rgba(0,0,0,0.2);">
<!-- TAB HEADERS -->
<div class="tab-headers" style="display: flex; justify-content: center; gap: 10px; margin-bottom: 30px; flex-wrap: wrap;">
<div class="tab-header active" onclick="switchTab('mariel')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.8), rgba(255, 192, 203, 0.9)); border: 2px solid rgba(255, 182, 193, 0.6); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #FFB6C1; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $rylanForMariel and $rylanForMariel > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$rylanForMariel</div>
<</if>>
</div>
Mariel 👩🦱
</div>
<div class="tab-header" onclick="switchTab('liora')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $rylanForLiora and $rylanForLiora > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$rylanForLiora</div>
<</if>>
</div>
Liora 💕
</div>
<div class="tab-header" onclick="switchTab('serin')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $rylanForSerin and $rylanForSerin > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$rylanForSerin</div>
<</if>>
</div>
Serin ⚔️
</div>
<div class="tab-header" onclick="switchTab('nimeria')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $rylanForNimeria and $rylanForNimeria > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$rylanForNimeria</div>
<</if>>
</div>
Nimeria 🌙
</div>
<div class="tab-header" onclick="switchTab('seryk')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/seryk/chapter2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $rylanForSeryk and $rylanForSeryk > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$rylanForSeryk</div>
<</if>>
</div>
Seryk 🗡️
</div>
<div class="tab-header" onclick="switchTab('thalor')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $rylanForThalor and $rylanForThalor > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$rylanForThalor</div>
<</if>>
</div>
Thalor 🛡️
</div>
</div>
<!-- TAB CONTENT -->
<div class="tab-content">
<!-- MARIEL TAB -->
<div id="mariel-tab" class="tab-panel active" style="display: block;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;" onclick="SugarCube.Engine.play('Ch6GameNightMarielSerin')">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/serin/chapter6/serinmariel/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<if $gameNightMarielSerinVisited>>
<div style="position: absolute; top: 5px; right: 5px; background: rgba(0, 255, 0, 0.8); color: white; border-radius: 50%; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; font-size: 0.8em; font-weight: bold;">✓</div>
<</if>>
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Game Night 🎲 (Serin + Mariel NTR💕)</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Mariel + Serin"<<if $gameNightMarielSerinVisited>> (Seen)<</if>></p>
</div>
</div>
</div>
</div>
<!-- LIORA TAB -->
<div id="liora-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<<if $lioraFutaCurrious === true>>
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;" onclick="SugarCube.Engine.play('Chapter6GiveHerHandLiora')">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<<if $rylanFemboy>>
<img src="images/liora/chapter6/giveherhand/femboy/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/liora/chapter6/giveherhand/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<<if $giveHerHandLioraVisited>>
<div style="position: absolute; top: 5px; right: 5px; background: rgba(0, 255, 0, 0.8); color: white; border-radius: 50%; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; font-size: 0.8em; font-weight: bold;">✓</div>
<</if>>
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Give Her a Hand 🍆</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Help Liora"<<if $giveHerHandLioraVisited>> (Seen)<</if>></p>
</div>
</div>
<<else>>
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<<if $rylanFemboy>>
<img src="images/liora/chapter6/giveherhand/femboy/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/liora/chapter6/giveherhand/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Give Her a Hand 🍆</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Not available (Futa)..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
<</if>>
</div>
</div>
<!-- SERIN TAB -->
<div id="serin-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/serin/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Serin ⚔️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Training time..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- NIMERIA TAB -->
<div id="nimeria-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/nimeria/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Nimeria 🌙</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Mysterious talks..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- SERYK TAB -->
<div id="seryk-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<!-- Bath Scene -->
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;" onclick="SugarCube.Engine.play('Ch6SerykBathScene')">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/seryk/bath/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<if $serykBathSceneVisited>>
<div style="position: absolute; top: 5px; right: 5px; background: rgba(0, 255, 0, 0.8); color: white; border-radius: 50%; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; font-size: 0.8em; font-weight: bold;">✓</div>
<</if>>
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Bath Scene 🛁</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Relaxing together"<<if $serykBathSceneVisited>> (Seen)<</if>></p>
</div>
</div>
<!-- Dungeon Sex Scene -->
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;" onclick="SugarCube.Engine.play('Ch6SerykDungeonSex')">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<<if $rylanFemboy>>
<img src="images/seryk/chapter6/rylandungeonsex/kiss/femboy/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/seryk/chapter6/rylandungeonsex/kiss/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<<if $serykDungeonSexVisited>>
<div style="position: absolute; top: 5px; right: 5px; background: rgba(0, 255, 0, 0.8); color: white; border-radius: 50%; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; font-size: 0.8em; font-weight: bold;">✓</div>
<</if>>
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Dungeon 🗡️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Adventure time"<<if $serykDungeonSexVisited>> (Seen)<</if>></p>
</div>
</div>
<<if $currentChapter >= 7 and $serykBathSceneVisited>>
<!-- Second Bath Scene (More Intimate) -->
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;" onclick="SugarCube.Engine.play('Ch7SerykBathScene2Intro')">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/seryk/bath/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<if $serykBathScene2Visited>>
<div style="position: absolute; top: 5px; right: 5px; background: rgba(0, 255, 0, 0.8); color: white; border-radius: 50%; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; font-size: 0.8em; font-weight: bold;">✓</div>
<</if>>
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Bath Scene II 🛁</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"More intimate..."<<if $serykBathScene2Visited>> (Seen)<</if>></p>
</div>
</div>
<</if>>
</div>
</div>
<!-- THALOR TAB -->
<div id="thalor-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/thalor/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Thalor 🛡️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- NAVIGATION -->
<center>
<div class="return-option" style="margin-top: 50px;">
<div class="return-button" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease;" onclick="SugarCube.Engine.play('MorningActivityChoices');">
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.2), rgba(255, 165, 0, 0.3)); border: 2px solid rgba(255, 215, 0, 0.3); border-radius: 10px; padding: 15px 25px; display: inline-block; box-shadow: 0 4px 8px rgba(0,0,0,0.2); backdrop-filter: blur(3px);">
<h3 style="color: #FFD700; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; font-size: 1.1em;">Return to Morning Activities</h3>
<p style="color: #FFA500; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 5px 0 0 0; font-style: italic;">"Perhaps another time..."</p>
</div>
</div>
</div>
</center>
</div>
<</nobr>>
<style>
.tab-header {
transition: all 0.3s ease;
}
.tab-header:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.tab-header.active {
background: linear-gradient(145deg, rgba(255, 182, 193, 0.8), rgba(255, 192, 203, 0.9)) !important;
border-color: rgba(255, 182, 193, 0.6) !important;
color: #FFB6C1 !important;
}
.tab-panel {
display: none;
}
.tab-panel.active {
display: block;
}
.visit-option-wrapper {
width: 180px;
height: 250px;
display: flex;
flex-direction: column;
justify-content: flex-start;
margin-bottom: 20px;
}
.visit-option {
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
padding: 10px;
position: relative;
opacity: 0.6;
}
.character-frame {
height: 150px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 15px;
flex-shrink: 0;
}
.visit-option:hover {
transform: translateY(-5px) scale(1.05);
opacity: 0.8;
}
.visit-option:hover .character-frame {
border-color: rgba(255,255,255,0.5);
box-shadow: 0 12px 24px rgba(0,0,0,0.3);
}
.return-button:hover {
transform: translateY(-3px) scale(1.02);
opacity: 0.9;
}
.lock-overlay {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 3em;
color: rgba(255,255,255,0.8);
text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
z-index: 10;
}
.tutorial-dialog {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: linear-gradient(145deg, rgba(25, 25, 35, 0.95), rgba(45, 45, 55, 0.98));
border: 3px solid rgba(255, 215, 0, 0.6);
border-radius: 15px;
padding: 30px;
z-index: 10001;
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5);
max-width: 500px;
width: 90%;
}
.tutorial-dialog .tutorial-content h3 {
color: #FFD700;
text-align: center;
margin-bottom: 20px;
font-size: 1.5em;
text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
}
.tutorial-dialog .tutorial-content p {
color: #E6E6FA;
margin-bottom: 15px;
line-height: 1.6;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}
.tutorial-dialog .tutorial-content ul {
color: #E6E6FA;
margin: 15px 0;
padding-left: 20px;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}
.tutorial-dialog .tutorial-content li {
margin-bottom: 8px;
line-height: 1.5;
}
.tutorial-dialog .tutorial-content button {
background: linear-gradient(145deg, rgba(255, 215, 0, 0.8), rgba(255, 165, 0, 0.9));
border: 2px solid rgba(255, 215, 0, 0.6);
border-radius: 8px;
padding: 12px 24px;
color: #000;
font-weight: bold;
cursor: pointer;
transition: all 0.3s ease;
margin-top: 20px;
font-size: 1em;
text-shadow: 1px 1px 2px rgba(255,255,255,0.3);
}
.tutorial-dialog .tutorial-content button:hover {
background: linear-gradient(145deg, rgba(255, 215, 0, 0.9), rgba(255, 165, 0, 1));
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(255, 215, 0, 0.4);
}
</style>
<script>
function switchTab(tabName) {
// Hide all tab panels
const panels = document.querySelectorAll('.tab-panel');
panels.forEach(panel => {
panel.classList.remove('active');
panel.style.display = 'none';
});
// Remove active class from all headers and completely reset their styling
const headers = document.querySelectorAll('.tab-header');
headers.forEach(header => {
header.classList.remove('active');
// Remove any inline styles to ensure clean reset
header.style.removeProperty('background');
header.style.removeProperty('border-color');
header.style.removeProperty('color');
// Force inactive state
header.style.setProperty('background', 'linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7))', 'important');
header.style.setProperty('border-color', 'rgba(255, 182, 193, 0.3)', 'important');
header.style.setProperty('color', '#AAA', 'important');
});
// Show selected tab panel
const selectedPanel = document.getElementById(tabName + '-tab');
if (selectedPanel) {
selectedPanel.classList.add('active');
selectedPanel.style.display = 'block';
}
// Activate selected header with consistent styling
const selectedHeader = document.querySelector(`[onclick="switchTab('${tabName}')"]`);
if (selectedHeader) {
selectedHeader.classList.add('active');
// Remove any existing styles first
selectedHeader.style.removeProperty('background');
selectedHeader.style.removeProperty('border-color');
selectedHeader.style.removeProperty('color');
// Apply consistent styling (Rylan file doesn't use human tab special styling)
selectedHeader.style.setProperty('background', 'linear-gradient(145deg, rgba(255, 182, 193, 0.8), rgba(255, 192, 203, 0.9))', 'important');
selectedHeader.style.setProperty('border-color', 'rgba(255, 182, 193, 0.6)', 'important');
selectedHeader.style.setProperty('color', '#FFB6C1', 'important');
}
}
// Toggle guide images visibility
function toggleGuideImages() {
const guideImages = document.getElementById('guideImages');
if (guideImages.style.display === 'none') {
guideImages.style.display = 'block';
} else {
guideImages.style.display = 'none';
}
}
// Show POV switching tutorial on first visit
window.showPOVTutorial = function() {
console.log('showPOVTutorial called');
// For testing, let's always show the tutorial
// Check if tutorial was already shown using SugarCube variable
// if (State.variables.povTutorialShown) {
// console.log('Tutorial already shown, skipping');
// return;
// }
// Set the variable to true so it won't show again
// State.variables.povTutorialShown = true;
// Create tutorial dialog
const tutorialDialog = document.createElement('div');
tutorialDialog.className = 'tutorial-dialog';
tutorialDialog.innerHTML = `
<div class="tutorial-content">
<h3>🎭 Point of View Switching</h3>
<p>Welcome to the Visit People interface! Here you can experience the story from different character perspectives.</p>
<p><strong>How to switch POVs:</strong></p>
<ul>
<li>Click on any character's image in the top navigation bar</li>
<li>Each character has their own unique scenes and storylines</li>
<li>The green numbers show how many scenes you've initiated with each character</li>
</ul>
<p>You can also click the <strong>Guide</strong> button for more detailed explanations about the interface.</p>
<p>Try clicking on different character images to see their unique perspectives!</p>
<button onclick="this.parentElement.parentElement.remove()">Got it!</button>
</div>
`;
document.body.appendChild(tutorialDialog);
console.log('Tutorial dialog created and added to body');
}
// Ensure proper initialization on page load - always default to mariel
document.addEventListener('DOMContentLoaded', function() {
console.log('DOMContentLoaded event fired');
// Show tutorial first, before anything else
setTimeout(function() {
console.log('About to call showPOVTutorial');
window.showPOVTutorial();
}, 100);
switchTab('mariel');
});
</script>
<<if $currentChapter == 7>>
<<pov "rylan" "defaultch7.mp3">>
<<else>>
<<pov "rylan" "defaultch6.mp3">>
<</if>><<nobr>>
<<stopLoopingSounds>>
<<silently>>
<<calculateCharacterInitiatedScenes>>
<<calculateSerinScenesForEachCharacter>>
<</silently>>
<div class="morning-visit-container" style="background-image: url('images/landscapes/morning.webp'); background-size: cover; background-position: center; min-height: 600px; position: relative; border-radius: 10px; overflow: hidden;">
<div class="morning-overlay" style="background: linear-gradient(to bottom, rgba(255, 215, 0, 0.3), rgba(255, 165, 0, 0.4)); position: absolute; top: 0; left: 0; right: 0; bottom: 0;"></div>
<div class="visit-content" style="position: relative; z-index: 2; padding: 30px; text-align: center;">
<!-- Character Navigation Bar -->
<div style="position: fixed; top: 0; left: 200px; right: 200px; z-index: 1000; background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(240, 240, 240, 0.98)); border-bottom: 2px solid rgba(255, 215, 0, 0.8); box-shadow: 0 2px 8px rgba(0,0,0,0.3); padding: 8px 0;">
<div style="display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap;">
<!-- Switch POV Warning -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 165, 0, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 165, 0, 0.3); position: relative;">
<span style="color: #FFA500; font-weight: bold; font-size: 0.8em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Click →</span>
</div>
<!-- Guide Button -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(167, 139, 250, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(167, 139, 250, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(167, 139, 250, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(167, 139, 250, 0.2)'; this.style.transform='translateY(0)'" onclick="toggleGuideImages()">
<span style="color: #A78BFA; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Guide</span>
</div>
<!-- Mariel -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 182, 193, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 182, 193, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 182, 193, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 182, 193, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesMariel')">
<div style="position: relative;">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $marielInitiatedScenes and $marielInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$marielInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFB6C1; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel</span>
</div>
<!-- Liora -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 192, 203, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 192, 203, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 192, 203, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 192, 203, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesLiora')">
<div style="position: relative;">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $lioraInitiatedScenes and $lioraInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$lioraInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFC0CB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Liora</span>
</div>
<!-- humanName -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(135, 206, 235, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(135, 206, 235, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(135, 206, 235, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(135, 206, 235, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesRylan')">
<div style="position: relative;">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<<if $humanInitiatedScenes and $humanInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$humanInitiatedScenes</div>
<</if>>
</div>
<span style="color: #87CEEB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">$humanName</span>
</div>
<!-- Nimeria -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(221, 160, 221, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(221, 160, 221, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(221, 160, 221, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(221, 160, 221, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesNimeria')">
<div style="position: relative;">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $nimeriaInitiatedScenes and $nimeriaInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$nimeriaInitiatedScenes</div>
<</if>>
</div>
<span style="color: #DDA0DD; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Nimeria</span>
</div>
<!-- Seryk -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(240, 230, 140, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(240, 230, 140, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(240, 230, 140, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(240, 230, 140, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesSeryk')">
<div style="position: relative;">
<img src="images/seryk/chapter2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serykInitiatedScenes and $serykInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serykInitiatedScenes</div>
<</if>>
</div>
<span style="color: #F0E68C; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Seryk</span>
</div>
<!-- Thalor -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(176, 196, 222, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(176, 196, 222, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(176, 196, 222, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(176, 196, 222, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesThalor')">
<div style="position: relative;">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $thalorInitiatedScenes and $thalorInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$thalorInitiatedScenes</div>
<</if>>
</div>
<span style="color: #B0C4DE; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Thalor</span>
</div>
</div>
</div>
<!-- Add top margin to account for fixed bar -->
<div style="margin-top: 60px;">
<!-- Guide Image (initially hidden) -->
<div id="guideImages" style="display: none; margin: 20px 0; text-align: center;">
<center><img src="images/guide/visitpeople.webp" alt="Visit People Guide" style="width: 100%; height: auto; max-width: 800px; border-radius: 10px; box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
</div>
<!-- Time Display Box -->
<div class="time-display" style="background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(240, 240, 240, 0.95)); border: 2px solid rgba(255, 215, 0, 0.4); border-radius: 15px; padding: 15px 25px; margin: 0 auto 25px auto; max-width: 400px; box-shadow: 0 6px 15px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<div style="display: flex; align-items: center; justify-content: center; gap: 10px;">
<span style="font-size: 1.5em;">
<<switch $timeOfDay>>
<<case "morning">>🌅
<<case "noon">>🌞
<<case "afternoon">>☀️
<<case "evening">>🌆
<<case "night">>🌙
<</switch>>
</span>
<span style="color: #FFD700; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">
<<switch $timeOfDay>>
<<case "morning">>Morning
<<case "noon">>Noon
<<case "afternoon">>Afternoon
<<case "evening">>Evening
<<case "night">>Night
<</switch>>
</span>
</div>
</div>
<div class="serin-thoughts" style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.2), rgba(255, 20, 147, 0.3)); border: 2px solid rgba(255, 105, 180, 0.4); border-radius: 12px; padding: 20px; margin: 20px auto; max-width: 600px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<img src="images/serin/face.webp" style="width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; line-height: 1.6;"><span class="dialog-serin">
<<switch $timeOfDay>>
<<case "morning">>*Morning! Who should I visit first?*
<<case "noon">>*Perfect time for a visit! Who's available?*
<<case "afternoon">>*Afternoon's here! Who should I catch up with?*
<<case "evening">>*Evening time! Who should I spend it with?*
<<case "night">>*The night is young! Who should I visit?*
<</switch>>
</span></p>
<div style="clear: left;"></div>
</div>
<!-- TAB MENU SYSTEM -->
<div style="margin: 40px 0;">
<div class="tab-container" style="background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(240, 240, 240, 0.95)); border: 2px solid rgba(255, 215, 0, 0.4); border-radius: 15px; padding: 20px; box-shadow: 0 8px 25px rgba(0,0,0,0.2);">
<!-- TAB HEADERS -->
<div class="tab-headers" style="display: flex; justify-content: center; gap: 10px; margin-bottom: 30px; flex-wrap: wrap;">
<div class="tab-header active" onclick="switchTab('human')" style="background: linear-gradient(145deg, rgba(135, 206, 235, 0.8), rgba(135, 206, 235, 0.9)); border: 2px solid rgba(135, 206, 235, 0.6); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #87CEEB; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<</if>>
<<if $serinForRylan and $serinForRylan > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serinForRylan</div>
<</if>>
</div>
$humanName 👤
</div>
<div class="tab-header" onclick="switchTab('mariel')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $serinForMariel and $serinForMariel > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serinForMariel</div>
<</if>>
</div>
Mariel 👩🦱
</div>
<div class="tab-header" onclick="switchTab('liora')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $serinForLiora and $serinForLiora > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serinForLiora</div>
<</if>>
</div>
Liora 💕
</div>
<div class="tab-header" onclick="switchTab('nimeria')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $serinForNimeria and $serinForNimeria > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serinForNimeria</div>
<</if>>
</div>
Nimeria 🌙
</div>
<div class="tab-header" onclick="switchTab('seryk')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/seryk/chapter2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $serinForSeryk and $serinForSeryk > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serinForSeryk</div>
<</if>>
</div>
Seryk 🗡️
</div>
<div class="tab-header" onclick="switchTab('thalor')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $serinForThalor and $serinForThalor > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serinForThalor</div>
<</if>>
</div>
Thalor 🛡️
</div>
</div>
<!-- TAB CONTENT -->
<div class="tab-content">
<!-- HUMAN TAB -->
<div id="human-tab" class="tab-panel active" style="display: block;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
</div>
<h3 style="color: #87CEEB; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">$humanName 👤</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- MARIEL TAB -->
<div id="mariel-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/mariel/stage2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Mariel 👩🦱</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Morning tea..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- LIORA TAB -->
<div id="liora-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/liora/faceshortpink.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Liora 💕</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Sweet moments..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- NIMERIA TAB -->
<div id="nimeria-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<<if $currentChapter >= 7>>
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;" onclick="SugarCube.Engine.play('Ch7SerinNimeriaPetplayIntro')">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<<if $serinFutanariTransformation>>
<img src="images/serin/chapter7/petplay/futa/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/serin/chapter7/petplay/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<<if $serinNimeriaPetplayVisited>>
<div style="position: absolute; top: 5px; right: 5px; background: rgba(0, 255, 0, 0.8); color: white; border-radius: 50%; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; font-size: 0.8em; font-weight: bold;">✓</div>
<</if>>
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Submission Training 🐕</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Learn from Nimeria"<<if $serinNimeriaPetplayVisited>> (Seen)<</if>></p>
</div>
</div>
<</if>>
</div>
</div>
<!-- SERYK TAB -->
<div id="seryk-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/seryk/chapter2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Seryk 🗡️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Brotherly bond..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- THALOR TAB -->
<div id="thalor-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/thalor/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Thalor 🛡️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Wise counsel..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- NAVIGATION -->
<center>
<div class="return-option" style="margin-top: 50px;">
<div class="return-button" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease;" onclick="SugarCube.Engine.play('MorningActivityChoices');">
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.2), rgba(255, 165, 0, 0.3)); border: 2px solid rgba(255, 215, 0, 0.3); border-radius: 10px; padding: 15px 25px; display: inline-block; box-shadow: 0 4px 8px rgba(0,0,0,0.2); backdrop-filter: blur(3px);">
<h3 style="color: #FFD700; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; font-size: 1.1em;">Return to Morning Activities</h3>
<p style="color: #FFA500; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 5px 0 0 0; font-style: italic;">"Perhaps another time..."</p>
</div>
</div>
</div>
</center>
</div>
<</nobr>>
<style>
.tab-header {
transition: all 0.3s ease;
}
.tab-header:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.tab-header.active {
background: linear-gradient(145deg, rgba(135, 206, 235, 0.8), rgba(135, 206, 235, 0.9)) !important;
border-color: rgba(135, 206, 235, 0.6) !important;
color: #87CEEB !important;
}
.tab-panel {
display: none;
}
.tab-panel.active {
display: block;
}
.visit-option-wrapper {
width: 180px;
height: 250px;
display: flex;
flex-direction: column;
justify-content: flex-start;
margin-bottom: 20px;
}
.visit-option {
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
padding: 10px;
position: relative;
opacity: 0.6;
}
.character-frame {
height: 150px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 15px;
flex-shrink: 0;
}
.visit-option:hover {
transform: translateY(-5px) scale(1.05);
opacity: 0.8;
}
.visit-option:hover .character-frame {
border-color: rgba(255,255,255,0.5);
box-shadow: 0 12px 24px rgba(0,0,0,0.3);
}
.return-button:hover {
transform: translateY(-3px) scale(1.02);
opacity: 0.9;
}
.lock-overlay {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 3em;
color: rgba(255,255,255,0.8);
text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
z-index: 10;
}
</style>
<script>
function switchTab(tabName) {
// Hide all tab panels
const panels = document.querySelectorAll('.tab-panel');
panels.forEach(panel => {
panel.classList.remove('active');
panel.style.display = 'none';
});
// Remove active class from all headers and completely reset their styling
const headers = document.querySelectorAll('.tab-header');
headers.forEach(header => {
header.classList.remove('active');
// Remove any inline styles to ensure clean reset
header.style.removeProperty('background');
header.style.removeProperty('border-color');
header.style.removeProperty('color');
// Force inactive state
header.style.setProperty('background', 'linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7))', 'important');
header.style.setProperty('border-color', 'rgba(255, 182, 193, 0.3)', 'important');
header.style.setProperty('color', '#AAA', 'important');
});
// Show selected tab panel
const selectedPanel = document.getElementById(tabName + '-tab');
if (selectedPanel) {
selectedPanel.classList.add('active');
selectedPanel.style.display = 'block';
}
// Activate selected header with consistent styling
const selectedHeader = document.querySelector(`[onclick="switchTab('${tabName}')"]`);
if (selectedHeader) {
selectedHeader.classList.add('active');
// Remove any existing styles first
selectedHeader.style.removeProperty('background');
selectedHeader.style.removeProperty('border-color');
selectedHeader.style.removeProperty('color');
// Apply active styling based on tab type
if (tabName === 'human') {
selectedHeader.style.setProperty('background', 'linear-gradient(145deg, rgba(135, 206, 235, 0.8), rgba(135, 206, 235, 0.9))', 'important');
selectedHeader.style.setProperty('border-color', 'rgba(135, 206, 235, 0.6)', 'important');
selectedHeader.style.setProperty('color', '#87CEEB', 'important');
} else {
selectedHeader.style.setProperty('background', 'linear-gradient(145deg, rgba(255, 182, 193, 0.8), rgba(255, 192, 203, 0.9))', 'important');
selectedHeader.style.setProperty('border-color', 'rgba(255, 182, 193, 0.6)', 'important');
selectedHeader.style.setProperty('color', '#FFB6C1', 'important');
}
}
}
// Toggle guide images visibility
function toggleGuideImages() {
const guideImages = document.getElementById('guideImages');
if (guideImages.style.display === 'none') {
guideImages.style.display = 'block';
} else {
guideImages.style.display = 'none';
}
}
// Ensure proper initialization on page load - always default to human
document.addEventListener('DOMContentLoaded', function() {
switchTab('human');
});
</script>
<<if $currentChapter == 7>>
<<pov "serin" "defaultch7.mp3">>
<<else>>
<<pov "serin" "defaultch6.mp3">>
<</if>><<nobr>>
<<stopLoopingSounds>>
<<silently>>
<<calculateCharacterInitiatedScenes>>
<<calculateSerykScenesForEachCharacter>>
<</silently>>
<div class="morning-visit-container" style="background-image: url('images/landscapes/morning.webp'); background-size: cover; background-position: center; min-height: 600px; position: relative; border-radius: 10px; overflow: hidden;">
<div class="morning-overlay" style="background: linear-gradient(to bottom, rgba(255, 215, 0, 0.3), rgba(255, 165, 0, 0.4)); position: absolute; top: 0; left: 0; right: 0; bottom: 0;"></div>
<div class="visit-content" style="position: relative; z-index: 2; padding: 30px; text-align: center;">
<!-- Character Navigation Bar -->
<div style="position: fixed; top: 0; left: 200px; right: 200px; z-index: 1000; background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(240, 240, 240, 0.98)); border-bottom: 2px solid rgba(255, 215, 0, 0.8); box-shadow: 0 2px 8px rgba(0,0,0,0.3); padding: 8px 0;">
<div style="display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap;">
<!-- Switch POV Warning -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 165, 0, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 165, 0, 0.3); position: relative;">
<span style="color: #FFA500; font-weight: bold; font-size: 0.8em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Click →</span>
</div>
<!-- Guide Button -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(167, 139, 250, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(167, 139, 250, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(167, 139, 250, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(167, 139, 250, 0.2)'; this.style.transform='translateY(0)'" onclick="toggleGuideImages()">
<span style="color: #A78BFA; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Guide</span>
</div>
<!-- Mariel -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 182, 193, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 182, 193, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 182, 193, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 182, 193, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesMariel')">
<div style="position: relative;">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $marielInitiatedScenes and $marielInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$marielInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFB6C1; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel</span>
</div>
<!-- Liora -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 192, 203, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 192, 203, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 192, 203, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 192, 203, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesLiora')">
<div style="position: relative;">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $lioraInitiatedScenes and $lioraInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$lioraInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFC0CB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Liora</span>
</div>
<!-- Serin -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 105, 180, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 105, 180, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 105, 180, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 105, 180, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesSerin')">
<div style="position: relative;">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serinInitiatedScenes and $serinInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serinInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FF69B4; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin</span>
</div>
<!-- Nimeria -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(221, 160, 221, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(221, 160, 221, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(221, 160, 221, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(221, 160, 221, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesNimeria')">
<div style="position: relative;">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $nimeriaInitiatedScenes and $nimeriaInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$nimeriaInitiatedScenes</div>
<</if>>
</div>
<span style="color: #DDA0DD; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Nimeria</span>
</div>
<!-- humanName -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(135, 206, 235, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(135, 206, 235, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(135, 206, 235, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(135, 206, 235, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesRylan')">
<div style="position: relative;">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<<if $humanInitiatedScenes and $humanInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$humanInitiatedScenes</div>
<</if>>
</div>
<span style="color: #87CEEB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">$humanName</span>
</div>
<!-- Thalor -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(176, 196, 222, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(176, 196, 222, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(176, 196, 222, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(176, 196, 222, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesThalor')">
<div style="position: relative;">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $thalorInitiatedScenes and $thalorInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$thalorInitiatedScenes</div>
<</if>>
</div>
<span style="color: #B0C4DE; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Thalor</span>
</div>
</div>
</div>
<!-- Add top margin to account for fixed bar -->
<div style="margin-top: 60px;">
<!-- Guide Image (initially hidden) -->
<div id="guideImages" style="display: none; margin: 20px 0; text-align: center;">
<center><img src="images/guide/visitpeople.webp" alt="Visit People Guide" style="width: 100%; height: auto; max-width: 800px; border-radius: 10px; box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
</div>
<!-- Time Display Box -->
<div class="time-display" style="background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(240, 240, 240, 0.95)); border: 2px solid rgba(255, 215, 0, 0.4); border-radius: 15px; padding: 15px 25px; margin: 0 auto 25px auto; max-width: 400px; box-shadow: 0 6px 15px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<div style="display: flex; align-items: center; justify-content: center; gap: 10px;">
<span style="font-size: 1.5em;">
<<switch $timeOfDay>>
<<case "morning">>🌅
<<case "noon">>🌞
<<case "afternoon">>☀️
<<case "evening">>🌆
<<case "night">>🌙
<</switch>>
</span>
<span style="color: #FFD700; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">
<<switch $timeOfDay>>
<<case "morning">>Morning
<<case "noon">>Noon
<<case "afternoon">>Afternoon
<<case "evening">>Evening
<<case "night">>Night
<</switch>>
</span>
</div>
</div>
<div class="rylan-thoughts" style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.2), rgba(255, 165, 0, 0.3)); border: 2px solid rgba(255, 215, 0, 0.4); border-radius: 12px; padding: 20px; margin: 20px auto; max-width: 600px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<<else>>
<img src="images/rylan/face.webp" style="width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<</if>>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; line-height: 1.6;"><span class="dialog-rylan">
<<switch $timeOfDay>>
<<case "morning">>*Morning! Who should I visit first?*
<<case "noon">>*Perfect time for a visit! Who's available?*
<<case "afternoon">>*Afternoon's here! Who should I catch up with?*
<<case "evening">>*Evening time! Who should I spend it with?*
<<case "night">>*The night is young! Who should I visit?*
<</switch>>
</span></p>
<div style="clear: left;"></div>
</div>
<!-- TAB MENU SYSTEM -->
<div style="margin: 40px 0;">
<div class="tab-container" style="background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(240, 240, 240, 0.95)); border: 2px solid rgba(255, 215, 0, 0.4); border-radius: 15px; padding: 20px; box-shadow: 0 8px 25px rgba(0,0,0,0.2);">
<!-- TAB HEADERS -->
<div class="tab-headers" style="display: flex; justify-content: center; gap: 10px; margin-bottom: 30px; flex-wrap: wrap;">
<div class="tab-header active" onclick="switchTab('human')" style="background: linear-gradient(145deg, rgba(135, 206, 235, 0.8), rgba(135, 206, 235, 0.9)); border: 2px solid rgba(135, 206, 235, 0.6); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #87CEEB; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<</if>>
<<if $serykForHuman and $serykForHuman > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serykForHuman</div>
<</if>>
</div>
$humanName 👤
</div>
<div class="tab-header" onclick="switchTab('mariel')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $serykForMariel and $serykForMariel > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serykForMariel</div>
<</if>>
</div>
Mariel 👩🦱
</div>
<div class="tab-header" onclick="switchTab('liora')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $serykForLiora and $serykForLiora > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serykForLiora</div>
<</if>>
</div>
Liora 💕
</div>
<div class="tab-header" onclick="switchTab('serin')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $serykForSerin and $serykForSerin > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serykForSerin</div>
<</if>>
</div>
Serin ⚔️
</div>
<div class="tab-header" onclick="switchTab('nimeria')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $serykForNimeria and $serykForNimeria > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serykForNimeria</div>
<</if>>
</div>
Nimeria 🌙
</div>
<div class="tab-header" onclick="switchTab('thalor')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $serykForThalor and $serykForThalor > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serykForThalor</div>
<</if>>
</div>
Thalor 🛡️
</div>
</div>
<!-- TAB CONTENT -->
<div class="tab-content">
<!-- HUMAN TAB -->
<div id="human-tab" class="tab-panel active" style="display: block;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
</div>
<h3 style="color: #87CEEB; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">$humanName 👤</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- MARIEL TAB -->
<div id="mariel-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/mariel/stage2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Mariel 👩🦱</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Morning tea..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- LIORA TAB -->
<div id="liora-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/liora/faceshortpink.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Liora 💕</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Sweet moments..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- SERIN TAB -->
<div id="serin-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/serin/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Serin ⚔️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Training time..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- NIMERIA TAB -->
<div id="nimeria-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/nimeria/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Nimeria 🌙</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Mysterious talks..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- THALOR TAB -->
<div id="thalor-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/thalor/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Thalor 🛡️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Wise counsel..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- NAVIGATION -->
<center>
<div class="return-option" style="margin-top: 50px;">
<div class="return-button" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease;" onclick="SugarCube.Engine.play('MorningActivityChoices');">
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.2), rgba(255, 165, 0, 0.3)); border: 2px solid rgba(255, 215, 0, 0.3); border-radius: 10px; padding: 15px 25px; display: inline-block; box-shadow: 0 4px 8px rgba(0,0,0,0.2); backdrop-filter: blur(3px);">
<h3 style="color: #FFD700; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; font-size: 1.1em;">Return to Morning Activities</h3>
<p style="color: #FFA500; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 5px 0 0 0; font-style: italic;">"Perhaps another time..."</p>
</div>
</div>
</div>
</center>
</div>
<</nobr>>
<style>
.tab-header {
transition: all 0.3s ease;
}
.tab-header:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.tab-header.active {
background: linear-gradient(145deg, rgba(135, 206, 235, 0.8), rgba(135, 206, 235, 0.9)) !important;
border-color: rgba(135, 206, 235, 0.6) !important;
color: #87CEEB !important;
}
.tab-panel {
display: none;
}
.tab-panel.active {
display: block;
}
.visit-option-wrapper {
width: 180px;
height: 250px;
display: flex;
flex-direction: column;
justify-content: flex-start;
margin-bottom: 20px;
}
.visit-option {
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
padding: 10px;
position: relative;
opacity: 0.6;
}
.character-frame {
height: 150px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 15px;
flex-shrink: 0;
}
.visit-option:hover {
transform: translateY(-5px) scale(1.05);
opacity: 0.8;
}
.visit-option:hover .character-frame {
border-color: rgba(255,255,255,0.5);
box-shadow: 0 12px 24px rgba(0,0,0,0.3);
}
.return-button:hover {
transform: translateY(-3px) scale(1.02);
opacity: 0.9;
}
.lock-overlay {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 3em;
color: rgba(255,255,255,0.8);
text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
z-index: 10;
}
</style>
<script>
function switchTab(tabName) {
// Hide all tab panels
const panels = document.querySelectorAll('.tab-panel');
panels.forEach(panel => {
panel.classList.remove('active');
panel.style.display = 'none';
});
// Remove active class from all headers and completely reset their styling
const headers = document.querySelectorAll('.tab-header');
headers.forEach(header => {
header.classList.remove('active');
// Remove any inline styles to ensure clean reset
header.style.removeProperty('background');
header.style.removeProperty('border-color');
header.style.removeProperty('color');
// Force inactive state
header.style.setProperty('background', 'linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7))', 'important');
header.style.setProperty('border-color', 'rgba(255, 182, 193, 0.3)', 'important');
header.style.setProperty('color', '#AAA', 'important');
});
// Show selected tab panel
const selectedPanel = document.getElementById(tabName + '-tab');
if (selectedPanel) {
selectedPanel.classList.add('active');
selectedPanel.style.display = 'block';
}
// Activate selected header with consistent styling
const selectedHeader = document.querySelector(`[onclick="switchTab('${tabName}')"]`);
if (selectedHeader) {
selectedHeader.classList.add('active');
// Remove any existing styles first
selectedHeader.style.removeProperty('background');
selectedHeader.style.removeProperty('border-color');
selectedHeader.style.removeProperty('color');
// Apply active styling based on tab type
if (tabName === 'human') {
selectedHeader.style.setProperty('background', 'linear-gradient(145deg, rgba(135, 206, 235, 0.8), rgba(135, 206, 235, 0.9))', 'important');
selectedHeader.style.setProperty('border-color', 'rgba(135, 206, 235, 0.6)', 'important');
selectedHeader.style.setProperty('color', '#87CEEB', 'important');
} else {
selectedHeader.style.setProperty('background', 'linear-gradient(145deg, rgba(255, 182, 193, 0.8), rgba(255, 192, 203, 0.9))', 'important');
selectedHeader.style.setProperty('border-color', 'rgba(255, 182, 193, 0.6)', 'important');
selectedHeader.style.setProperty('color', '#FFB6C1', 'important');
}
}
}
// Toggle guide images visibility
function toggleGuideImages() {
const guideImages = document.getElementById('guideImages');
if (guideImages.style.display === 'none') {
guideImages.style.display = 'block';
} else {
guideImages.style.display = 'none';
}
}
// Ensure proper initialization on page load - always default to human
document.addEventListener('DOMContentLoaded', function() {
switchTab('human');
});
</script>
<<if $currentChapter == 7>>
<<pov "seryk" "defaultch7.mp3">>
<<else>>
<<pov "seryk" "defaultch6.mp3">>
<</if>><<nobr>>
<<stopLoopingSounds>>
<<silently>>
<<calculateCharacterInitiatedScenes>>
<<calculateThalorScenesForEachCharacter>>
<</silently>>
<div class="morning-visit-container" style="background-image: url('images/landscapes/morning.webp'); background-size: cover; background-position: center; min-height: 600px; position: relative; border-radius: 10px; overflow: hidden;">
<div class="morning-overlay" style="background: linear-gradient(to bottom, rgba(255, 215, 0, 0.3), rgba(255, 165, 0, 0.4)); position: absolute; top: 0; left: 0; right: 0; bottom: 0;"></div>
<div class="visit-content" style="position: relative; z-index: 2; padding: 30px; text-align: center;">
<!-- Character Navigation Bar -->
<div style="position: fixed; top: 0; left: 200px; right: 200px; z-index: 1000; background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(240, 240, 240, 0.98)); border-bottom: 2px solid rgba(255, 215, 0, 0.8); box-shadow: 0 2px 8px rgba(0,0,0,0.3); padding: 8px 0;">
<div style="display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap;">
<!-- Switch POV Warning -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 165, 0, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 165, 0, 0.3); position: relative;">
<span style="color: #FFA500; font-weight: bold; font-size: 0.8em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Click →</span>
</div>
<!-- Guide Button -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(167, 139, 250, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(167, 139, 250, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(167, 139, 250, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(167, 139, 250, 0.2)'; this.style.transform='translateY(0)'" onclick="toggleGuideImages()">
<span style="color: #A78BFA; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Guide</span>
</div>
<!-- Mariel -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 182, 193, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 182, 193, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 182, 193, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 182, 193, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesMariel')">
<div style="position: relative;">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $marielInitiatedScenes and $marielInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$marielInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFB6C1; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel</span>
</div>
<!-- Liora -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 192, 203, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 192, 203, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 192, 203, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 192, 203, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesLiora')">
<div style="position: relative;">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $lioraInitiatedScenes and $lioraInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$lioraInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFC0CB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Liora</span>
</div>
<!-- Serin -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 105, 180, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 105, 180, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 105, 180, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 105, 180, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesSerin')">
<div style="position: relative;">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serinInitiatedScenes and $serinInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serinInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FF69B4; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin</span>
</div>
<!-- Nimeria -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(221, 160, 221, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(221, 160, 221, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(221, 160, 221, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(221, 160, 221, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesNimeria')">
<div style="position: relative;">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $nimeriaInitiatedScenes and $nimeriaInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$nimeriaInitiatedScenes</div>
<</if>>
</div>
<span style="color: #DDA0DD; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Nimeria</span>
</div>
<!-- Seryk -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(240, 230, 140, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(240, 230, 140, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(240, 230, 140, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(240, 230, 140, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesSeryk')">
<div style="position: relative;">
<img src="images/seryk/chapter2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serykInitiatedScenes and $serykInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serykInitiatedScenes</div>
<</if>>
</div>
<span style="color: #F0E68C; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Seryk</span>
</div>
<!-- humanName -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(135, 206, 235, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(135, 206, 235, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(135, 206, 235, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(135, 206, 235, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('VisitPeopleChoicesRylan')">
<div style="position: relative;">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<<if $humanInitiatedScenes and $humanInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$humanInitiatedScenes</div>
<</if>>
</div>
<span style="color: #87CEEB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">$humanName</span>
</div>
</div>
</div>
<!-- Add top margin to account for fixed bar -->
<div style="margin-top: 60px;">
<!-- Guide Image (initially hidden) -->
<div id="guideImages" style="display: none; margin: 20px 0; text-align: center;">
<center><img src="images/guide/visitpeople.webp" alt="Visit People Guide" style="width: 100%; height: auto; max-width: 800px; border-radius: 10px; box-shadow: 0 4px 8px rgba(0,0,0,0.3);"></center>
</div>
<!-- Time Display Box -->
<div class="time-display" style="background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(240, 240, 240, 0.95)); border: 2px solid rgba(255, 215, 0, 0.4); border-radius: 15px; padding: 15px 25px; margin: 0 auto 25px auto; max-width: 400px; box-shadow: 0 6px 15px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<div style="display: flex; align-items: center; justify-content: center; gap: 10px;">
<span style="font-size: 1.5em;">
<<switch $timeOfDay>>
<<case "morning">>🌅
<<case "noon">>🌞
<<case "afternoon">>☀️
<<case "evening">>🌆
<<case "night">>🌙
<</switch>>
</span>
<span style="color: #FFD700; font-weight: bold; font-size: 1.2em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">
<<switch $timeOfDay>>
<<case "morning">>Morning
<<case "noon">>Noon
<<case "afternoon">>Afternoon
<<case "evening">>Evening
<<case "night">>Night
<</switch>>
</span>
</div>
</div>
<div class="rylan-thoughts" style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.2), rgba(255, 165, 0, 0.3)); border: 2px solid rgba(255, 215, 0, 0.4); border-radius: 12px; padding: 20px; margin: 20px auto; max-width: 600px; box-shadow: 0 6px 12px rgba(0,0,0,0.3); backdrop-filter: blur(5px);">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<<else>>
<img src="images/rylan/face.webp" style="width: 60px; height: 60px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<</if>>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; line-height: 1.6;"><span class="dialog-rylan">
<<switch $timeOfDay>>
<<case "morning">>*Morning! Who should I visit first?*
<<case "noon">>*Perfect time for a visit! Who's available?*
<<case "afternoon">>*Afternoon's here! Who should I catch up with?*
<<case "evening">>*Evening time! Who should I spend it with?*
<<case "night">>*The night is young! Who should I visit?*
<</switch>>
</span></p>
<div style="clear: left;"></div>
</div>
<!-- TAB MENU SYSTEM -->
<div style="margin: 40px 0;">
<div class="tab-container" style="background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(240, 240, 240, 0.95)); border: 2px solid rgba(255, 215, 0, 0.4); border-radius: 15px; padding: 20px; box-shadow: 0 8px 25px rgba(0,0,0,0.2);">
<!-- TAB HEADERS -->
<div class="tab-headers" style="display: flex; justify-content: center; gap: 10px; margin-bottom: 30px; flex-wrap: wrap;">
<div class="tab-header active" onclick="switchTab('human')" style="background: linear-gradient(145deg, rgba(135, 206, 235, 0.8), rgba(135, 206, 235, 0.9)); border: 2px solid rgba(135, 206, 235, 0.6); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #87CEEB; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<</if>>
<<if $thalorForHuman and $thalorForHuman > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$thalorForHuman</div>
<</if>>
</div>
$humanName 👤
</div>
<div class="tab-header" onclick="switchTab('mariel')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $thalorForMariel and $thalorForMariel > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$thalorForMariel</div>
<</if>>
</div>
Mariel 👩🦱
</div>
<div class="tab-header" onclick="switchTab('liora')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $thalorForLiora and $thalorForLiora > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$thalorForLiora</div>
<</if>>
</div>
Liora 💕
</div>
<div class="tab-header" onclick="switchTab('serin')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $thalorForSerin and $thalorForSerin > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$thalorForSerin</div>
<</if>>
</div>
Serin ⚔️
</div>
<div class="tab-header" onclick="switchTab('nimeria')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $thalorForNimeria and $thalorForNimeria > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$thalorForNimeria</div>
<</if>>
</div>
Nimeria 🌙
</div>
<div class="tab-header" onclick="switchTab('seryk')" style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 10px; padding: 12px 20px; cursor: pointer; transition: all 0.3s ease; color: #AAA; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); position: relative;">
<div style="position: relative; display: inline-block;">
<img src="images/seryk/chapter2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); margin-right: 8px; vertical-align: middle;">
<<if $thalorForSeryk and $thalorForSeryk > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$thalorForSeryk</div>
<</if>>
</div>
Seryk 🗡️
</div>
</div>
<!-- TAB CONTENT -->
<div class="tab-content">
<!-- MARIEL TAB -->
<div id="mariel-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/mariel/stage2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Mariel 👩🦱</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Morning tea..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- LIORA TAB -->
<div id="liora-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/liora/faceshortpink.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Liora 💕</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Sweet moments..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- SERIN TAB -->
<div id="serin-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/serin/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Serin ⚔️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Training time..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- NIMERIA TAB -->
<div id="nimeria-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/nimeria/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Nimeria 🌙</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Mysterious talks..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- SERYK TAB -->
<div id="seryk-tab" class="tab-panel" style="display: none;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<img src="images/seryk/chapter2/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
</div>
<h3 style="color: #FFB6C1; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">Seryk 🗡️</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"Brotherly bond..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
<!-- HUMAN TAB -->
<div id="human-tab" class="tab-panel active" style="display: block;">
<div class="character-visit-options" style="display: flex; justify-content: center; gap: 25px; flex-wrap: wrap; margin: 20px 0;">
<div class="visit-option-wrapper" style="text-align: center; position: relative;">
<div class="visit-option" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease; position: relative; z-index: 2;">
<div class="character-frame" style="background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,255,255,0.1)); border: 2px solid rgba(255,255,255,0.3); border-radius: 15px; padding: 15px; margin-bottom: 10px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); backdrop-filter: blur(5px);">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 120px; height: 120px; border-radius: 10px; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
</div>
<h3 style="color: #87CEEB; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0 5px 0; font-size: 1.2em;">$humanName 👤</h3>
<p style="color: #E6E6FA; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; font-style: italic;">"My $humanIsThalor..."</p>
<div class="lock-overlay" style="position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 3em; color: rgba(255,255,255,0.8); text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🔒</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- NAVIGATION -->
<center>
<div class="return-option" style="margin-top: 50px;">
<div class="return-button" style="cursor: pointer; transition: transform 0.3s ease, opacity 0.3s ease;" onclick="SugarCube.Engine.play('MorningActivityChoices');">
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.2), rgba(255, 165, 0, 0.3)); border: 2px solid rgba(255, 215, 0, 0.3); border-radius: 10px; padding: 15px 25px; display: inline-block; box-shadow: 0 4px 8px rgba(0,0,0,0.2); backdrop-filter: blur(3px);">
<h3 style="color: #FFD700; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); margin: 0; font-size: 1.1em;">Return to Morning Activities</h3>
<p style="color: #FFA500; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); font-size: 0.9em; margin: 5px 0 0 0; font-style: italic;">"Perhaps another time..."</p>
</div>
</div>
</div>
</center>
</div>
<</nobr>>
<style>
.tab-header {
transition: all 0.3s ease;
}
.tab-header:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
.tab-header.active {
background: linear-gradient(145deg, rgba(135, 206, 235, 0.8), rgba(135, 206, 235, 0.9)) !important;
border-color: rgba(135, 206, 235, 0.6) !important;
color: #87CEEB !important;
}
.tab-panel {
display: none;
}
.tab-panel.active {
display: block;
}
.visit-option-wrapper {
width: 180px;
height: 250px;
display: flex;
flex-direction: column;
justify-content: flex-start;
margin-bottom: 20px;
}
.visit-option {
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-start;
padding: 10px;
position: relative;
opacity: 0.6;
}
.character-frame {
height: 150px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 15px;
flex-shrink: 0;
}
.visit-option:hover {
transform: translateY(-5px) scale(1.05);
opacity: 0.8;
}
.visit-option:hover .character-frame {
border-color: rgba(255,255,255,0.5);
box-shadow: 0 12px 24px rgba(0,0,0,0.3);
}
.return-button:hover {
transform: translateY(-3px) scale(1.02);
opacity: 0.9;
}
.lock-overlay {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 3em;
color: rgba(255,255,255,0.8);
text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
z-index: 10;
}
</style>
<script>
function switchTab(tabName) {
// Hide all tab panels
const panels = document.querySelectorAll('.tab-panel');
panels.forEach(panel => {
panel.classList.remove('active');
panel.style.display = 'none';
});
// Remove active class from all headers and completely reset their styling
const headers = document.querySelectorAll('.tab-header');
headers.forEach(header => {
header.classList.remove('active');
// Remove any inline styles to ensure clean reset
header.style.removeProperty('background');
header.style.removeProperty('border-color');
header.style.removeProperty('color');
// Force inactive state
header.style.setProperty('background', 'linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7))', 'important');
header.style.setProperty('border-color', 'rgba(255, 182, 193, 0.3)', 'important');
header.style.setProperty('color', '#AAA', 'important');
});
// Show selected tab panel
const selectedPanel = document.getElementById(tabName + '-tab');
if (selectedPanel) {
selectedPanel.classList.add('active');
selectedPanel.style.display = 'block';
}
// Activate selected header with consistent styling
const selectedHeader = document.querySelector(`[onclick="switchTab('${tabName}')"]`);
if (selectedHeader) {
selectedHeader.classList.add('active');
// Remove any existing styles first
selectedHeader.style.removeProperty('background');
selectedHeader.style.removeProperty('border-color');
selectedHeader.style.removeProperty('color');
// Apply active styling based on tab type
if (tabName === 'human') {
selectedHeader.style.setProperty('background', 'linear-gradient(145deg, rgba(135, 206, 235, 0.8), rgba(135, 206, 235, 0.9))', 'important');
selectedHeader.style.setProperty('border-color', 'rgba(135, 206, 235, 0.6)', 'important');
selectedHeader.style.setProperty('color', '#87CEEB', 'important');
} else {
selectedHeader.style.setProperty('background', 'linear-gradient(145deg, rgba(255, 182, 193, 0.8), rgba(255, 192, 203, 0.9))', 'important');
selectedHeader.style.setProperty('border-color', 'rgba(255, 182, 193, 0.6)', 'important');
selectedHeader.style.setProperty('color', '#FFB6C1', 'important');
}
}
}
// Toggle guide images visibility
function toggleGuideImages() {
const guideImages = document.getElementById('guideImages');
if (guideImages.style.display === 'none') {
guideImages.style.display = 'block';
} else {
guideImages.style.display = 'none';
}
}
// Ensure proper initialization on page load - always default to human
document.addEventListener('DOMContentLoaded', function() {
switchTab('human');
});
</script>
<<if $currentChapter == 7>>
<<pov "thalor" "defaultch7.mp3">>
<<else>>
<<pov "thalor" "defaultch6.mp3">>
<</if>><<set $previousPassage = previous()>>
<<if not $wardrobe>>
<<set $wardrobe = {}>>
<</if>>
<<if not $wardrobe.liora>>
<<set $wardrobe.liora = {bra: 'normalwhite', panties: 'normalwhite', legwear: 'normalwhite'}>>
<</if>>
<<nobr>>
<style>
@keyframes wardrobeFloat {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-8px); }
}
@keyframes wardrobeGlow {
0%, 100% { box-shadow: 0 0 20px rgba(255,182,193,0.5); }
50% { box-shadow: 0 0 30px rgba(255,182,193,0.8), 0 0 40px rgba(255,105,180,0.6); }
}
@keyframes wardrobeShimmer {
0% { background-position: -200% center; }
100% { background-position: 200% center; }
}
.wardrobe-container {
background: linear-gradient(135deg, rgba(255,182,193,0.9), rgba(255,105,180,0.9), rgba(221,160,221,0.9), rgba(255,20,147,0.8));
min-height: 100vh;
padding: 20px;
margin: 0;
position: relative;
overflow: hidden;
}
.wardrobe-header {
background: linear-gradient(145deg, rgba(45,45,50,0.95), rgba(60,60,70,0.9));
border: 3px solid rgba(255,182,193,0.8);
padding: 30px;
text-align: center;
border-radius: 20px;
margin-bottom: 30px;
position: relative;
backdrop-filter: blur(10px);
box-shadow: 0 20px 40px rgba(0,0,0,0.3);
animation: wardrobeGlow 3s ease-in-out infinite;
}
.wardrobe-header::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 3s infinite;
pointer-events: none;
}
.wardrobe-title {
color: #FFB6C1;
font-size: 3.2em;
font-weight: bold;
margin: 0;
text-shadow: 0 0 20px rgba(255,182,193,0.8), 2px 2px 6px rgba(0,0,0,0.8);
background: linear-gradient(45deg, #FFB6C1, #FF69B4, #DDA0DD, #FFB6C1);
background-size: 400% 400%;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
animation: wardrobeShimmer 3s ease-in-out infinite;
}
.wardrobe-subtitle {
color: rgba(255,255,255,0.95);
font-size: 1.4em;
margin: 15px 0 0 0;
font-style: italic;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.character-nav {
background: linear-gradient(145deg, rgba(45,45,50,0.9), rgba(60,60,70,0.85));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 15px;
padding: 20px;
margin-bottom: 30px;
display: flex;
justify-content: center;
gap: 15px;
flex-wrap: wrap;
backdrop-filter: blur(5px);
box-shadow: 0 10px 25px rgba(0,0,0,0.3);
}
.character-nav-button {
background: linear-gradient(145deg, rgba(255,182,193,0.3), rgba(255,105,180,0.2));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 10px;
padding: 12px 20px;
color: white;
font-weight: bold;
text-decoration: none;
transition: all 0.3s ease;
cursor: pointer;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
}
.character-nav-button:hover {
transform: scale(1.05);
box-shadow: 0 8px 20px rgba(255,182,193,0.4);
border-color: rgba(255,182,193,0.9);
color: white;
text-decoration: none;
}
.character-nav-button.active {
background: linear-gradient(145deg, rgba(0,255,0,0.3), rgba(0,200,0,0.2));
border-color: rgba(0,255,0,0.8);
box-shadow: 0 8px 20px rgba(0,255,0,0.3);
}
.wardrobe-content {
max-width: 1200px;
margin: 0 auto;
}
.wardrobe-categories {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
gap: 30px;
margin: 30px 0;
}
.wardrobe-section {
background: linear-gradient(145deg, rgba(255,182,193,0.25), rgba(255,105,180,0.2));
border: 3px solid rgba(255,182,193,0.7);
border-radius: 20px;
padding: 30px;
position: relative;
backdrop-filter: blur(5px);
box-shadow: 0 15px 35px rgba(255,182,193,0.3);
animation: wardrobeFloat 5s ease-in-out infinite;
}
.wardrobe-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 4s infinite;
pointer-events: none;
}
.wardrobe-section-title {
color: #FFB6C1;
font-size: 2.4em;
font-weight: bold;
margin: 0 0 20px 0;
text-align: center;
text-shadow: 0 0 15px rgba(255,182,193,0.8);
animation: wardrobeFloat 3s ease-in-out infinite;
}
.wardrobe-section-subtitle {
color: rgba(255,255,255,0.95);
font-size: 1.2em;
text-align: center;
margin-bottom: 30px;
font-style: italic;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
}
.wardrobe-item {
background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,182,193,0.15));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 15px;
padding: 20px;
cursor: pointer;
text-align: center;
position: relative;
box-shadow: 0 8px 20px rgba(255,182,193,0.3);
transition: all 0.3s ease;
animation: wardrobeFloat 6s ease-in-out infinite;
}
.wardrobe-item:hover {
transform: scale(1.05);
box-shadow: 0 12px 30px rgba(255,182,193,0.5);
border-color: rgba(255,182,193,0.9);
}
.wardrobe-item.selected {
background: linear-gradient(145deg, rgba(0,255,0,0.2), rgba(0,200,0,0.15));
border: 2px solid rgba(0,255,0,0.8);
box-shadow: 0 8px 20px rgba(0,255,0,0.3);
}
.wardrobe-item.selected:hover {
box-shadow: 0 12px 30px rgba(0,255,0,0.5);
border-color: rgba(0,255,0,1);
}
.wardrobe-item img {
width: 90px;
height: 90px;
object-fit: cover;
border-radius: 12px;
margin-bottom: 15px;
border: 3px solid rgba(255,182,193,0.5);
box-shadow: 0 5px 15px rgba(255,182,193,0.4);
}
.wardrobe-item.selected img {
border: 3px solid rgba(0,255,0,0.6);
box-shadow: 0 5px 15px rgba(0,255,0,0.4);
}
.wardrobe-item-name {
color: white;
font-weight: bold;
font-size: 1.1em;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
margin-bottom: 10px;
}
.wardrobe-item-status {
color: #FFB6C1;
font-size: 1em;
font-weight: bold;
text-shadow: 0 0 8px rgba(255,182,193,0.8);
background: rgba(0,0,0,0.3);
padding: 5px 10px;
border-radius: 8px;
}
.wardrobe-item.selected .wardrobe-item-status {
color: #00FF00;
text-shadow: 0 0 8px rgba(0,255,0,0.8);
}
.wardrobe-footer {
background: linear-gradient(145deg, rgba(45,45,50,0.95), rgba(60,60,70,0.9));
border: 3px solid rgba(255,182,193,0.8);
padding: 40px;
text-align: center;
border-radius: 20px;
margin-top: 30px;
position: relative;
backdrop-filter: blur(10px);
box-shadow: 0 20px 40px rgba(0,0,0,0.3);
animation: wardrobeGlow 3s ease-in-out infinite;
}
.wardrobe-footer::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 3s infinite;
pointer-events: none;
}
.wardrobe-footer-content {
background: linear-gradient(135deg, rgba(255,182,193,0.2), rgba(255,105,180,0.2));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 20px;
padding: 25px;
margin: 0 auto;
max-width: 700px;
box-shadow: 0 10px 25px rgba(255,182,193,0.3);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-footer-text {
color: #FFB6C1;
font-size: 1.4em;
font-weight: bold;
margin: 0 0 15px 0;
text-shadow: 0 0 15px rgba(255,182,193,0.8);
animation: wardrobeFloat 3s ease-in-out infinite;
}
.wardrobe-footer-subtitle {
color: rgba(255,255,255,0.9);
font-size: 1.2em;
margin: 0;
font-style: italic;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-button {
background: linear-gradient(45deg, #FFB6C1, #FF69B4);
border: 2px solid rgba(255,182,193,0.8);
border-radius: 15px;
padding: 15px 30px;
color: white;
font-weight: bold;
text-decoration: none;
display: inline-block;
box-shadow: 0 8px 20px rgba(255,182,193,0.4);
transition: all 0.3s ease;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
cursor: pointer;
animation: wardrobeFloat 5s ease-in-out infinite;
}
.wardrobe-button:hover {
transform: scale(1.1);
box-shadow: 0 12px 30px rgba(255,182,193,0.6);
color: white;
text-decoration: none;
}
.wardrobe-button:active {
transform: scale(1.05);
}
</style>
<div class="wardrobe-container">
<div class="wardrobe-header">
<h1 class="wardrobe-title">✨ WARDROBE ✨</h1>
<p class="wardrobe-subtitle">Dress to Impress</p>
</div>
<!-- Character Navigation Bar -->
<div style="position: fixed; top: 0; left: 320px; right: 310px; z-index: 1000; background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(240, 240, 240, 0.98)); border-bottom: 2px solid rgba(255, 215, 0, 0.8); box-shadow: 0 2px 8px rgba(0,0,0,0.3); padding: 8px 0;">
<div style="display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap;">
<!-- Mariel -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 182, 193, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 182, 193, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 182, 193, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 182, 193, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeMariel')">
<div style="position: relative;">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $marielInitiatedScenes and $marielInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$marielInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFB6C1; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel</span>
</div>
<!-- Liora -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 192, 203, 0.4); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 192, 203, 0.6); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 192, 203, 0.6)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 192, 203, 0.4)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeLiora')">
<div style="position: relative;">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $lioraInitiatedScenes and $lioraInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$lioraInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFC0CB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Liora</span>
</div>
<!-- Serin -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 105, 180, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 105, 180, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 105, 180, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 105, 180, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeSerin')">
<div style="position: relative;">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serinInitiatedScenes and $serinInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serinInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FF69B4; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin</span>
</div>
<!-- Nimeria -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(221, 160, 221, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(221, 160, 221, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(221, 160, 221, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(221, 160, 221, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeNimeria')">
<div style="position: relative;">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $nimeriaInitiatedScenes and $nimeriaInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$nimeriaInitiatedScenes</div>
<</if>>
</div>
<span style="color: #DDA0DD; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Nimeria</span>
</div>
<!-- Seryk -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(240, 230, 140, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(240, 230, 140, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(240, 230, 140, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(240, 230, 140, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeSeryk')">
<div style="position: relative;">
<img src="images/seryk/chapter2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serykInitiatedScenes and $serykInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serykInitiatedScenes</div>
<</if>>
</div>
<span style="color: #F0E68C; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Seryk</span>
</div>
<!-- humanName -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(135, 206, 235, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(135, 206, 235, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(135, 206, 235, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(135, 206, 235, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeRylan')">
<div style="position: relative;">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<<if $humanInitiatedScenes and $humanInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$humanInitiatedScenes</div>
<</if>>
</div>
<span style="color: #87CEEB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">$humanName</span>
</div>
<!-- Thalor -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 165, 0, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 165, 0, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 165, 0, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 165, 0, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeThalor')">
<div style="position: relative;">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $thalorInitiatedScenes and $thalorInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$thalorInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFA500; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Thalor</span>
</div>
</div>
</div>
<!-- Add top margin to account for fixed bar -->
<div style="margin-top: 60px;">
<div class="wardrobe-content">
<!-- Current Outfit Preview -->
<div class="current-outfit-preview" style="background: linear-gradient(145deg, rgba(255,182,193,0.2), rgba(255,105,180,0.2)); border: 3px solid rgba(255,182,193,0.6); border-radius: 20px; padding: 30px; margin-bottom: 30px; text-align: center;">
<h2 style="color: #FFB6C1; font-size: 2em; margin: 0 0 20px 0; text-shadow: 0 0 10px rgba(255,182,193,0.8);">✨ Liora's Current Outfit ✨</h2>
<div style="display: flex; justify-content: center; gap: 30px; flex-wrap: wrap;">
<!-- Bra Preview -->
<div style="text-align: center;">
<h3 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0;">Bra</h3>
<<if $wardrobe and $wardrobe.liora and $wardrobe.liora.bra>>
<<if $wardrobe.liora.bra === 'normalblack'>>
<img src="images/liora/clothes/underwear/bra/normalblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Bra</div>
<<elseif $wardrobe.liora.bra === 'normalpink'>>
<img src="images/liora/clothes/underwear/bra/normalpink.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Pink Bra</div>
<<elseif $wardrobe.liora.bra === 'normalpurple'>>
<img src="images/liora/clothes/underwear/bra/normalpurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Bra</div>
<<else>>
<img src="images/liora/clothes/underwear/bra/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🤍 White Bra</div>
<</if>>
<<else>>
<div style="width: 80px; height: 80px; background: rgba(255,255,255,0.1); border-radius: 10px; border: 2px dashed rgba(255,182,193,0.4); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);">🤍</div>
<div style="color: rgba(255,255,255,0.6); font-size: 0.9em; margin-top: 5px;">Default</div>
<</if>>
</div>
<!-- Panties Preview -->
<div style="text-align: center;">
<h3 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0;">Panties</h3>
<<if $wardrobe and $wardrobe.liora and $wardrobe.liora.panties>>
<<if $wardrobe.liora.panties === 'normalblack'>>
<img src="images/liora/clothes/underwear/panties/normalblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Panties</div>
<<elseif $wardrobe.liora.panties === 'normalpink'>>
<img src="images/liora/clothes/underwear/panties/normalpink.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Pink Panties</div>
<<elseif $wardrobe.liora.panties === 'normalpurple'>>
<img src="images/liora/clothes/underwear/panties/normalpurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Panties</div>
<<else>>
<img src="images/liora/clothes/underwear/panties/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🤍 White Panties</div>
<</if>>
<<else>>
<div style="width: 80px; height: 80px; background: rgba(255,255,255,0.1); border-radius: 10px; border: 2px dashed rgba(255,182,193,0.4); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);">🤍</div>
<div style="color: rgba(255,255,255,0.6); font-size: 0.9em; margin-top: 5px;">Default</div>
<</if>>
</div>
<!-- Legwear Preview -->
<div style="text-align: center;">
<h3 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0;">Legwear</h3>
<<if $wardrobe and $wardrobe.liora and $wardrobe.liora.legwear>>
<<if $wardrobe.liora.legwear === 'knittedsocks'>>
<img src="images/liora/clothes/underwear/legwear/knittedsocks.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🧦 Knitted Socks</div>
<<elseif $wardrobe.liora.legwear === 'normalblack'>>
<img src="images/liora/clothes/underwear/legwear/normalblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Socks</div>
<<elseif $wardrobe.liora.legwear === 'normalpink'>>
<img src="images/liora/clothes/underwear/legwear/normalpink.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Pink Socks</div>
<<elseif $wardrobe.liora.legwear === 'normalpurple'>>
<img src="images/liora/clothes/underwear/legwear/normalpurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Socks</div>
<<else>>
<img src="images/liora/clothes/underwear/legwear/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🤍 White Socks</div>
<</if>>
<<else>>
<div style="width: 80px; height: 80px; background: rgba(255,255,255,0.1); border-radius: 10px; border: 2px dashed rgba(255,182,193,0.4); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);">🤍</div>
<div style="color: rgba(255,255,255,0.6); font-size: 0.9em; margin-top: 5px;">Default</div>
<</if>>
</div>
</div>
</div>
<div class="wardrobe-categories">
<!-- Bras Section -->
<div class="wardrobe-section">
<h2 class="wardrobe-section-title">👙 Bras & Bralettes 👙</h2>
<p class="wardrobe-section-subtitle">Choose your perfect support</p>
<div class="wardrobe-grid">
<!-- Default White Bra (Always Available) -->
<<if $wardrobe and $wardrobe.liora and $wardrobe.liora.bra === 'normalwhite'>>
<div class="wardrobe-item selected">
<img src="images/liora/clothes/underwear/bra/normalwhite.webp" alt="White Bra">
<div class="wardrobe-item-name">🤍 White Bra</div>
<div class="wardrobe-item-status">Currently Wearing</div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.liora.bra = 'normalwhite'; SugarCube.Engine.play('WardrobeLiora');">
<img src="images/liora/clothes/underwear/bra/normalwhite.webp" alt="White Bra">
<div class="wardrobe-item-name">🤍 White Bra</div>
<div class="wardrobe-item-status">Available</div>
</div>
<</if>>
<!-- Purchased Black Bra -->
<<if $purchasedClothingLiora and $purchasedClothingLiora.bra and $purchasedClothingLiora.bra.normalblack>>
<<if $wardrobe and $wardrobe.liora and $wardrobe.liora.bra === 'normalblack'>>
<div class="wardrobe-item selected">
<img src="images/liora/clothes/underwear/bra/normalblack.webp" alt="Black Bra">
<div class="wardrobe-item-name">🖤 Black Bra</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.liora.bra = 'normalblack'; SugarCube.Engine.play('WardrobeLiora');">
<img src="images/liora/clothes/underwear/bra/normalblack.webp" alt="Black Bra">
<div class="wardrobe-item-name">🖤 Black Bra</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Pink Bra -->
<<if $purchasedClothingLiora and $purchasedClothingLiora.bra and $purchasedClothingLiora.bra.normalpink>>
<<if $wardrobe and $wardrobe.liora and $wardrobe.liora.bra === 'normalpink'>>
<div class="wardrobe-item selected">
<img src="images/liora/clothes/underwear/bra/normalpink.webp" alt="Pink Bra">
<div class="wardrobe-item-name">💗 Pink Bra</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.liora.bra = 'normalpink'; SugarCube.Engine.play('WardrobeLiora');">
<img src="images/liora/clothes/underwear/bra/normalpink.webp" alt="Pink Bra">
<div class="wardrobe-item-name">💗 Pink Bra</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Purple Bra -->
<<if $purchasedClothingLiora and $purchasedClothingLiora.bra and $purchasedClothingLiora.bra.normalpurple>>
<<if $wardrobe and $wardrobe.liora and $wardrobe.liora.bra === 'normalpurple'>>
<div class="wardrobe-item selected">
<img src="images/liora/clothes/underwear/bra/normalpurple.webp" alt="Purple Bra">
<div class="wardrobe-item-name">💜 Purple Bra</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.liora.bra = 'normalpurple'; SugarCube.Engine.play('WardrobeLiora');">
<img src="images/liora/clothes/underwear/bra/normalpurple.webp" alt="Purple Bra">
<div class="wardrobe-item-name">💜 Purple Bra</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<img src="images/liora/clothes/underwear/bra/normalpurple.webp" alt="Purple Bra">
<div class="wardrobe-item-name">💜 Purple Bra</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
</div>
</div>
<!-- Panties Section -->
<div class="wardrobe-section">
<h2 class="wardrobe-section-title">🩲 Panties & Underwear 🩲</h2>
<p class="wardrobe-section-subtitle">Comfortable and stylish</p>
<div class="wardrobe-grid">
<!-- Default White Panties (Always Available) -->
<<if $wardrobe and $wardrobe.liora and $wardrobe.liora.panties === 'normalwhite'>>
<div class="wardrobe-item selected">
<img src="images/liora/clothes/underwear/panties/normalwhite.webp" alt="White Panties">
<div class="wardrobe-item-name">🤍 White Panties</div>
<div class="wardrobe-item-status">Currently Wearing</div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.liora.panties = 'normalwhite'; SugarCube.Engine.play('WardrobeLiora');">
<img src="images/liora/clothes/underwear/panties/normalwhite.webp" alt="White Panties">
<div class="wardrobe-item-name">🤍 White Panties</div>
<div class="wardrobe-item-status">Available</div>
</div>
<</if>>
<!-- Purchased Black Panties -->
<<if $purchasedClothingLiora and $purchasedClothingLiora.panties and $purchasedClothingLiora.panties.normalblack>>
<<if $wardrobe and $wardrobe.liora and $wardrobe.liora.panties === 'normalblack'>>
<div class="wardrobe-item selected">
<img src="images/liora/clothes/underwear/panties/normalblack.webp" alt="Black Panties">
<div class="wardrobe-item-name">🖤 Black Panties</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.liora.panties = 'normalblack'; SugarCube.Engine.play('WardrobeLiora');">
<img src="images/liora/clothes/underwear/panties/normalblack.webp" alt="Black Panties">
<div class="wardrobe-item-name">🖤 Black Panties</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Pink Panties -->
<<if $purchasedClothingLiora and $purchasedClothingLiora.panties and $purchasedClothingLiora.panties.normalpink>>
<<if $wardrobe and $wardrobe.liora and $wardrobe.liora.panties === 'normalpink'>>
<div class="wardrobe-item selected">
<img src="images/liora/clothes/underwear/panties/normalpink.webp" alt="Pink Panties">
<div class="wardrobe-item-name">💗 Pink Panties</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.liora.panties = 'normalpink'; SugarCube.Engine.play('WardrobeLiora');">
<img src="images/liora/clothes/underwear/panties/normalpink.webp" alt="Pink Panties">
<div class="wardrobe-item-name">💗 Pink Panties</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Purple Panties -->
<<if $purchasedClothingLiora and $purchasedClothingLiora.panties and $purchasedClothingLiora.panties.normalpurple>>
<<if $wardrobe and $wardrobe.liora and $wardrobe.liora.panties === 'normalpurple'>>
<div class="wardrobe-item selected">
<img src="images/liora/clothes/underwear/panties/normalpurple.webp" alt="Purple Panties">
<div class="wardrobe-item-name">💜 Purple Panties</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.liora.panties = 'normalpurple'; SugarCube.Engine.play('WardrobeLiora');">
<img src="images/liora/clothes/underwear/panties/normalpurple.webp" alt="Purple Panties">
<div class="wardrobe-item-name">💜 Purple Panties</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<img src="images/liora/clothes/underwear/panties/normalpurple.webp" alt="Purple Panties">
<div class="wardrobe-item-name">💜 Purple Panties</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
</div>
</div>
<!-- Legwear Section -->
<div class="wardrobe-section">
<h2 class="wardrobe-section-title">🧦 Legwear & Socks 🧦</h2>
<p class="wardrobe-section-subtitle">Cozy and stylish leg accessories</p>
<div class="wardrobe-grid">
<!-- Default White Socks (Always Available) -->
<<if $wardrobe and $wardrobe.liora and $wardrobe.liora.legwear === 'normalwhite'>>
<div class="wardrobe-item selected">
<img src="images/liora/clothes/underwear/legwear/normalwhite.webp" alt="White Socks">
<div class="wardrobe-item-name">🤍 White Socks</div>
<div class="wardrobe-item-status">Currently Wearing</div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.liora.legwear = 'normalwhite'; SugarCube.Engine.play('WardrobeLiora');">
<img src="images/liora/clothes/underwear/legwear/normalwhite.webp" alt="White Socks">
<div class="wardrobe-item-name">🤍 White Socks</div>
<div class="wardrobe-item-status">Available</div>
</div>
<</if>>
<!-- Purchased Knitted Socks -->
<<if $purchasedClothingLiora and $purchasedClothingLiora.legwear and $purchasedClothingLiora.legwear.knittedsocks>>
<<if $wardrobe and $wardrobe.liora and $wardrobe.liora.legwear === 'knittedsocks'>>
<div class="wardrobe-item selected">
<img src="images/liora/clothes/underwear/legwear/knittedsocks.webp" alt="Knitted Socks">
<div class="wardrobe-item-name">🧦 Knitted Socks</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.liora.legwear = 'knittedsocks'; SugarCube.Engine.play('WardrobeLiora');">
<img src="images/liora/clothes/underwear/legwear/knittedsocks.webp" alt="Knitted Socks">
<div class="wardrobe-item-name">🧦 Knitted Socks</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Black Socks -->
<<if $purchasedClothingLiora and $purchasedClothingLiora.legwear and $purchasedClothingLiora.legwear.normalblack>>
<<if $wardrobe and $wardrobe.liora and $wardrobe.liora.legwear === 'normalblack'>>
<div class="wardrobe-item selected">
<img src="images/liora/clothes/underwear/legwear/normalblack.webp" alt="Black Socks">
<div class="wardrobe-item-name">🖤 Black Socks</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.liora.legwear = 'normalblack'; SugarCube.Engine.play('WardrobeLiora');">
<img src="images/liora/clothes/underwear/legwear/normalblack.webp" alt="Black Socks">
<div class="wardrobe-item-name">🖤 Black Socks</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Pink Socks -->
<<if $purchasedClothingLiora and $purchasedClothingLiora.legwear and $purchasedClothingLiora.legwear.normalpink>>
<<if $wardrobe and $wardrobe.liora and $wardrobe.liora.legwear === 'normalpink'>>
<div class="wardrobe-item selected">
<img src="images/liora/clothes/underwear/legwear/normalpink.webp" alt="Pink Socks">
<div class="wardrobe-item-name">💗 Pink Socks</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.liora.legwear = 'normalpink'; SugarCube.Engine.play('WardrobeLiora');">
<img src="images/liora/clothes/underwear/legwear/normalpink.webp" alt="Pink Socks">
<div class="wardrobe-item-name">💗 Pink Socks</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Purple Socks -->
<<if $purchasedClothingLiora and $purchasedClothingLiora.legwear and $purchasedClothingLiora.legwear.normalpurple>>
<<if $wardrobe and $wardrobe.liora and $wardrobe.liora.legwear === 'normalpurple'>>
<div class="wardrobe-item selected">
<img src="images/liora/clothes/underwear/legwear/normalpurple.webp" alt="Purple Socks">
<div class="wardrobe-item-name">💜 Purple Socks</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.liora.legwear = 'normalpurple'; SugarCube.Engine.play('WardrobeLiora');">
<img src="images/liora/clothes/underwear/legwear/normalpurple.webp" alt="Purple Socks">
<div class="wardrobe-item-name">💜 Purple Socks</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<img src="images/liora/clothes/underwear/legwear/normalpurple.webp" alt="Purple Socks">
<div class="wardrobe-item-name">💜 Purple Socks</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
</div>
</div>
</div>
</div>
<div class="wardrobe-footer">
<div class="wardrobe-footer-content">
<p class="wardrobe-footer-text">✨ Mix and Match Your Style ✨</p>
<p class="wardrobe-footer-subtitle">"Fashion is what you make it, darling."</p>
</div>
<div style="margin-top: 40px;">
<div style="text-align: center;">
<div class="wardrobe-button" onclick="SugarCube.Engine.play('MorningActivityChoices')">
🚪 Leave the Wardrobe
</div>
</div>
</div>
</div>
</div>
</div>
<</nobr>>
<<silently>>
<<pov "liora" "soratheme.mp3">>
<</silently>><<set $previousPassage = previous()>>
<<if not $wardrobe>>
<<set $wardrobe = {}>>
<</if>>
<<if not $wardrobe.mariel>>
<<set $wardrobe.mariel = {bra: 'normalwhite', panties: 'normalwhite', legwear: 'normalwhite'}>>
<</if>>
<<nobr>>
<style>
@keyframes wardrobeFloat {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-8px); }
}
@keyframes wardrobeGlow {
0%, 100% { box-shadow: 0 0 20px rgba(255,182,193,0.5); }
50% { box-shadow: 0 0 30px rgba(255,182,193,0.8), 0 0 40px rgba(255,105,180,0.6); }
}
@keyframes wardrobeShimmer {
0% { background-position: -200% center; }
100% { background-position: 200% center; }
}
.wardrobe-container {
background: linear-gradient(135deg, rgba(255,182,193,0.9), rgba(255,105,180,0.9), rgba(221,160,221,0.9), rgba(255,20,147,0.8));
min-height: 100vh;
padding: 20px;
margin: 0;
position: relative;
overflow: hidden;
}
.wardrobe-header {
background: linear-gradient(145deg, rgba(45,45,50,0.95), rgba(60,60,70,0.9));
border: 3px solid rgba(255,182,193,0.8);
padding: 30px;
text-align: center;
border-radius: 20px;
margin-bottom: 30px;
position: relative;
backdrop-filter: blur(10px);
box-shadow: 0 20px 40px rgba(0,0,0,0.3);
animation: wardrobeGlow 3s ease-in-out infinite;
}
.wardrobe-header::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 3s infinite;
pointer-events: none;
}
.wardrobe-title {
color: #FFB6C1;
font-size: 3.2em;
font-weight: bold;
margin: 0;
text-shadow: 0 0 20px rgba(255,182,193,0.8), 2px 2px 6px rgba(0,0,0,0.8);
background: linear-gradient(45deg, #FFB6C1, #FF69B4, #DDA0DD, #FFB6C1);
background-size: 400% 400%;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
animation: wardrobeShimmer 3s ease-in-out infinite;
}
.wardrobe-subtitle {
color: rgba(255,255,255,0.95);
font-size: 1.4em;
margin: 15px 0 0 0;
font-style: italic;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.character-nav {
background: linear-gradient(145deg, rgba(45,45,50,0.9), rgba(60,60,70,0.85));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 15px;
padding: 20px;
margin-bottom: 30px;
display: flex;
justify-content: center;
gap: 15px;
flex-wrap: wrap;
backdrop-filter: blur(5px);
box-shadow: 0 10px 25px rgba(0,0,0,0.3);
}
.character-nav-button {
background: linear-gradient(145deg, rgba(255,182,193,0.3), rgba(255,105,180,0.2));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 10px;
padding: 12px 20px;
color: white;
font-weight: bold;
text-decoration: none;
transition: all 0.3s ease;
cursor: pointer;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
}
.character-nav-button:hover {
transform: scale(1.05);
box-shadow: 0 8px 20px rgba(255,182,193,0.4);
border-color: rgba(255,182,193,0.9);
color: white;
text-decoration: none;
}
.character-nav-button.active {
background: linear-gradient(145deg, rgba(0,255,0,0.3), rgba(0,200,0,0.2));
border-color: rgba(0,255,0,0.8);
box-shadow: 0 8px 20px rgba(0,255,0,0.3);
}
.wardrobe-content {
max-width: 1200px;
margin: 0 auto;
}
.wardrobe-categories {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
gap: 30px;
margin: 30px 0;
}
.wardrobe-section {
background: linear-gradient(145deg, rgba(255,182,193,0.25), rgba(255,105,180,0.2));
border: 3px solid rgba(255,182,193,0.7);
border-radius: 20px;
padding: 30px;
position: relative;
backdrop-filter: blur(5px);
box-shadow: 0 15px 35px rgba(255,182,193,0.3);
animation: wardrobeFloat 5s ease-in-out infinite;
}
.wardrobe-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 4s infinite;
pointer-events: none;
}
.wardrobe-section-title {
color: #FFB6C1;
font-size: 2.4em;
font-weight: bold;
margin: 0 0 20px 0;
text-align: center;
text-shadow: 0 0 15px rgba(255,182,193,0.8);
animation: wardrobeFloat 3s ease-in-out infinite;
}
.wardrobe-section-subtitle {
color: rgba(255,255,255,0.95);
font-size: 1.2em;
text-align: center;
margin-bottom: 30px;
font-style: italic;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
}
.wardrobe-item {
background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,182,193,0.15));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 15px;
padding: 20px;
cursor: pointer;
text-align: center;
position: relative;
box-shadow: 0 8px 20px rgba(255,182,193,0.3);
transition: all 0.3s ease;
animation: wardrobeFloat 6s ease-in-out infinite;
}
.wardrobe-item:hover {
transform: scale(1.05);
box-shadow: 0 12px 30px rgba(255,182,193,0.5);
border-color: rgba(255,182,193,0.9);
}
.wardrobe-item.selected {
background: linear-gradient(145deg, rgba(0,255,0,0.2), rgba(0,200,0,0.15));
border: 2px solid rgba(0,255,0,0.8);
box-shadow: 0 8px 20px rgba(0,255,0,0.3);
}
.wardrobe-item.selected:hover {
box-shadow: 0 12px 30px rgba(0,255,0,0.5);
border-color: rgba(0,255,0,1);
}
.wardrobe-item img {
width: 90px;
height: 90px;
object-fit: cover;
border-radius: 12px;
margin-bottom: 15px;
border: 3px solid rgba(255,182,193,0.5);
box-shadow: 0 5px 15px rgba(255,182,193,0.4);
}
.wardrobe-item.selected img {
border: 3px solid rgba(0,255,0,0.6);
box-shadow: 0 5px 15px rgba(0,255,0,0.4);
}
.wardrobe-item-name {
color: white;
font-weight: bold;
font-size: 1.1em;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
margin-bottom: 10px;
}
.wardrobe-item-status {
color: #FFB6C1;
font-size: 1em;
font-weight: bold;
text-shadow: 0 0 8px rgba(255,182,193,0.8);
background: rgba(0,0,0,0.3);
padding: 5px 10px;
border-radius: 8px;
}
.wardrobe-item.selected .wardrobe-item-status {
color: #00FF00;
text-shadow: 0 0 8px rgba(0,255,0,0.8);
}
.wardrobe-footer {
background: linear-gradient(145deg, rgba(45,45,50,0.95), rgba(60,60,70,0.9));
border: 3px solid rgba(255,182,193,0.8);
padding: 40px;
text-align: center;
border-radius: 20px;
margin-top: 30px;
position: relative;
backdrop-filter: blur(10px);
box-shadow: 0 20px 40px rgba(0,0,0,0.3);
animation: wardrobeGlow 3s ease-in-out infinite;
}
.wardrobe-footer::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 3s infinite;
pointer-events: none;
}
.wardrobe-footer-content {
background: linear-gradient(135deg, rgba(255,182,193,0.2), rgba(255,105,180,0.2));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 20px;
padding: 25px;
margin: 0 auto;
max-width: 700px;
box-shadow: 0 10px 25px rgba(255,182,193,0.3);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-footer-text {
color: #FFB6C1;
font-size: 1.4em;
font-weight: bold;
margin: 0 0 15px 0;
text-shadow: 0 0 15px rgba(255,182,193,0.8);
animation: wardrobeFloat 3s ease-in-out infinite;
}
.wardrobe-footer-subtitle {
color: rgba(255,255,255,0.9);
font-size: 1.2em;
margin: 0;
font-style: italic;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-button {
background: linear-gradient(45deg, #FFB6C1, #FF69B4);
border: 2px solid rgba(255,182,193,0.8);
border-radius: 15px;
padding: 15px 30px;
color: white;
font-weight: bold;
text-decoration: none;
display: inline-block;
box-shadow: 0 8px 20px rgba(255,182,193,0.4);
transition: all 0.3s ease;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
cursor: pointer;
animation: wardrobeFloat 5s ease-in-out infinite;
}
.wardrobe-button:hover {
transform: scale(1.1);
box-shadow: 0 12px 30px rgba(255,182,193,0.6);
color: white;
text-decoration: none;
}
.wardrobe-button:active {
transform: scale(1.05);
}
</style>
<div class="wardrobe-container">
<div class="wardrobe-header">
<h1 class="wardrobe-title">✨ WARDROBE ✨</h1>
<p class="wardrobe-subtitle">Dress to Impress</p>
</div>
<!-- Character Navigation Bar -->
<div style="position: fixed; top: 0; left: 320px; right: 310px; z-index: 1000; background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(240, 240, 240, 0.98)); border-bottom: 2px solid rgba(255, 215, 0, 0.8); box-shadow: 0 2px 8px rgba(0,0,0,0.3); padding: 8px 0;">
<div style="display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap;">
<!-- Mariel -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 182, 193, 0.4); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 182, 193, 0.6); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 182, 193, 0.6)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 182, 193, 0.4)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeMariel')">
<div style="position: relative;">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $marielInitiatedScenes and $marielInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$marielInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFB6C1; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel</span>
</div>
<!-- Liora -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 192, 203, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 192, 203, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 192, 203, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 192, 203, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeLiora')">
<div style="position: relative;">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $lioraInitiatedScenes and $lioraInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$lioraInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFC0CB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Liora</span>
</div>
<!-- Serin -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 105, 180, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 105, 180, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 105, 180, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 105, 180, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeSerin')">
<div style="position: relative;">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serinInitiatedScenes and $serinInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serinInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FF69B4; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin</span>
</div>
<!-- Nimeria -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(221, 160, 221, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(221, 160, 221, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(221, 160, 221, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(221, 160, 221, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeNimeria')">
<div style="position: relative;">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $nimeriaInitiatedScenes and $nimeriaInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$nimeriaInitiatedScenes</div>
<</if>>
</div>
<span style="color: #DDA0DD; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Nimeria</span>
</div>
<!-- Seryk -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(240, 230, 140, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(240, 230, 140, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(240, 230, 140, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(240, 230, 140, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeSeryk')">
<div style="position: relative;">
<img src="images/seryk/chapter2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serykInitiatedScenes and $serykInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serykInitiatedScenes</div>
<</if>>
</div>
<span style="color: #F0E68C; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Seryk</span>
</div>
<!-- humanName -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(135, 206, 235, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(135, 206, 235, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(135, 206, 235, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(135, 206, 235, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeRylan')">
<div style="position: relative;">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<<if $humanInitiatedScenes and $humanInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$humanInitiatedScenes</div>
<</if>>
</div>
<span style="color: #87CEEB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">$humanName</span>
</div>
<!-- Thalor -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 165, 0, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 165, 0, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 165, 0, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 165, 0, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeThalor')">
<div style="position: relative;">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $thalorInitiatedScenes and $thalorInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$thalorInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFA500; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Thalor</span>
</div>
</div>
</div>
<!-- Add top margin to account for fixed bar -->
<div style="margin-top: 60px;">
<div class="wardrobe-content">
<!-- Current Outfit Preview -->
<div class="current-outfit-preview" style="background: linear-gradient(145deg, rgba(255,182,193,0.2), rgba(255,105,180,0.2)); border: 3px solid rgba(255,182,193,0.6); border-radius: 20px; padding: 30px; margin-bottom: 30px; text-align: center;">
<h2 style="color: #FFB6C1; font-size: 2em; margin: 0 0 20px 0; text-shadow: 0 0 10px rgba(255,182,193,0.8);">✨ Mariel's Current Outfit ✨</h2>
<div style="display: flex; justify-content: center; gap: 30px; flex-wrap: wrap;">
<!-- Bra Preview -->
<div style="text-align: center;">
<h3 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0;">Bra</h3>
<<if $wardrobe and $wardrobe.mariel and $wardrobe.mariel.bra>>
<<if $wardrobe.mariel.bra === 'normalblack'>>
<img src="images/mariel/clothes/underwear/bra/normalblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Bra</div>
<<elseif $wardrobe.mariel.bra === 'normalred'>>
<img src="images/mariel/clothes/underwear/bra/normalred.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Red Bra</div>
<<elseif $wardrobe.mariel.bra === 'normalpurple'>>
<img src="images/mariel/clothes/underwear/bra/normalpurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Bra</div>
<<else>>
<img src="images/mariel/clothes/underwear/bra/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🤍 White Bra</div>
<</if>>
<<else>>
<div style="width: 80px; height: 80px; background: rgba(255,255,255,0.1); border-radius: 10px; border: 2px dashed rgba(255,182,193,0.4); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);">🤍</div>
<div style="color: rgba(255,255,255,0.6); font-size: 0.9em; margin-top: 5px;">Default</div>
<</if>>
</div>
<!-- Panties Preview -->
<div style="text-align: center;">
<h3 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0;">Panties</h3>
<<if $wardrobe and $wardrobe.mariel and $wardrobe.mariel.panties>>
<<if $wardrobe.mariel.panties === 'normalblack'>>
<img src="images/mariel/clothes/underwear/panties/normalblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Panties</div>
<<elseif $wardrobe.mariel.panties === 'normalred'>>
<img src="images/mariel/clothes/underwear/panties/normalred.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Red Panties</div>
<<elseif $wardrobe.mariel.panties === 'normalpurple'>>
<img src="images/mariel/clothes/underwear/panties/normalpurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Panties</div>
<<else>>
<img src="images/mariel/clothes/underwear/panties/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🤍 White Panties</div>
<</if>>
<<else>>
<div style="width: 80px; height: 80px; background: rgba(255,255,255,0.1); border-radius: 10px; border: 2px dashed rgba(255,182,193,0.4); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);">🤍</div>
<div style="color: rgba(255,255,255,0.6); font-size: 0.9em; margin-top: 5px;">Default</div>
<</if>>
</div>
<!-- Legwear Preview -->
<div style="text-align: center;">
<h3 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0;">Legwear</h3>
<<if $wardrobe and $wardrobe.mariel and $wardrobe.mariel.legwear>>
<<if $wardrobe.mariel.legwear === 'knittedNails'>>
<img src="images/mariel/clothes/underwear/legwear/knittedNails.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🧦 Knitted Nails</div>
<<elseif $wardrobe.mariel.legwear === 'normalblack'>>
<img src="images/mariel/clothes/underwear/legwear/normalblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Nails</div>
<<elseif $wardrobe.mariel.legwear === 'normalred'>>
<img src="images/mariel/clothes/underwear/legwear/normalred.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Red Nails</div>
<<elseif $wardrobe.mariel.legwear === 'normalpurple'>>
<img src="images/mariel/clothes/underwear/legwear/normalpurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Nails</div>
<<else>>
<img src="images/mariel/clothes/underwear/legwear/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🤍 White Nails</div>
<</if>>
<<else>>
<div style="width: 80px; height: 80px; background: rgba(255,255,255,0.1); border-radius: 10px; border: 2px dashed rgba(255,182,193,0.4); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);">🤍</div>
<div style="color: rgba(255,255,255,0.6); font-size: 0.9em; margin-top: 5px;">Default</div>
<</if>>
</div>
</div>
</div>
<div class="wardrobe-categories">
<!-- Bras Section -->
<div class="wardrobe-section">
<h2 class="wardrobe-section-title">👙 Bras & Bralettes 👙</h2>
<p class="wardrobe-section-subtitle">Choose your perfect support</p>
<div class="wardrobe-grid">
<!-- Default White Bra (Always Available) -->
<<if $wardrobe and $wardrobe.mariel and $wardrobe.mariel.bra === 'normalwhite'>>
<div class="wardrobe-item selected">
<img src="images/mariel/clothes/underwear/bra/normalwhite.webp" alt="White Bra">
<div class="wardrobe-item-name">🤍 White Bra</div>
<div class="wardrobe-item-status">Currently Wearing</div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.mariel.bra = 'normalwhite'; SugarCube.Engine.play('WardrobeMariel');">
<img src="images/mariel/clothes/underwear/bra/normalwhite.webp" alt="White Bra">
<div class="wardrobe-item-name">🤍 White Bra</div>
<div class="wardrobe-item-status">Available</div>
</div>
<</if>>
<!-- Purchased Black Bra -->
<<if $purchasedClothingMariel and $purchasedClothingMariel.bra and $purchasedClothingMariel.bra.normalblack>>
<<if $wardrobe and $wardrobe.mariel and $wardrobe.mariel.bra === 'normalblack'>>
<div class="wardrobe-item selected">
<img src="images/mariel/clothes/underwear/bra/normalblack.webp" alt="Black Bra">
<div class="wardrobe-item-name">🖤 Black Bra</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.mariel.bra = 'normalblack'; SugarCube.Engine.play('WardrobeMariel');">
<img src="images/mariel/clothes/underwear/bra/normalblack.webp" alt="Black Bra">
<div class="wardrobe-item-name">🖤 Black Bra</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Red Bra -->
<<if $purchasedClothingMariel and $purchasedClothingMariel.bra and $purchasedClothingMariel.bra.normalred>>
<<if $wardrobe and $wardrobe.mariel and $wardrobe.mariel.bra === 'normalred'>>
<div class="wardrobe-item selected">
<img src="images/mariel/clothes/underwear/bra/normalred.webp" alt="Red Bra">
<div class="wardrobe-item-name">💗 Red Bra</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.mariel.bra = 'normalred'; SugarCube.Engine.play('WardrobeMariel');">
<img src="images/mariel/clothes/underwear/bra/normalred.webp" alt="Red Bra">
<div class="wardrobe-item-name">💗 Red Bra</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Purple Bra -->
<<if $purchasedClothingMariel and $purchasedClothingMariel.bra and $purchasedClothingMariel.bra.normalpurple>>
<<if $wardrobe and $wardrobe.mariel and $wardrobe.mariel.bra === 'normalpurple'>>
<div class="wardrobe-item selected">
<img src="images/mariel/clothes/underwear/bra/normalpurple.webp" alt="Purple Bra">
<div class="wardrobe-item-name">💜 Purple Bra</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.mariel.bra = 'normalpurple'; SugarCube.Engine.play('WardrobeMariel');">
<img src="images/mariel/clothes/underwear/bra/normalpurple.webp" alt="Purple Bra">
<div class="wardrobe-item-name">💜 Purple Bra</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<img src="images/mariel/clothes/underwear/bra/normalpurple.webp" alt="Purple Bra">
<div class="wardrobe-item-name">💜 Purple Bra</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
</div>
</div>
<!-- Panties Section -->
<div class="wardrobe-section">
<h2 class="wardrobe-section-title">🩲 Panties & Underwear 🩲</h2>
<p class="wardrobe-section-subtitle">Comfortable and stylish</p>
<div class="wardrobe-grid">
<!-- Default White Panties (Always Available) -->
<<if $wardrobe and $wardrobe.mariel and $wardrobe.mariel.panties === 'normalwhite'>>
<div class="wardrobe-item selected">
<img src="images/mariel/clothes/underwear/panties/normalwhite.webp" alt="White Panties">
<div class="wardrobe-item-name">🤍 White Panties</div>
<div class="wardrobe-item-status">Currently Wearing</div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.mariel.panties = 'normalwhite'; SugarCube.Engine.play('WardrobeMariel');">
<img src="images/mariel/clothes/underwear/panties/normalwhite.webp" alt="White Panties">
<div class="wardrobe-item-name">🤍 White Panties</div>
<div class="wardrobe-item-status">Available</div>
</div>
<</if>>
<!-- Purchased Black Panties -->
<<if $purchasedClothingMariel and $purchasedClothingMariel.panties and $purchasedClothingMariel.panties.normalblack>>
<<if $wardrobe and $wardrobe.mariel and $wardrobe.mariel.panties === 'normalblack'>>
<div class="wardrobe-item selected">
<img src="images/mariel/clothes/underwear/panties/normalblack.webp" alt="Black Panties">
<div class="wardrobe-item-name">🖤 Black Panties</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.mariel.panties = 'normalblack'; SugarCube.Engine.play('WardrobeMariel');">
<img src="images/mariel/clothes/underwear/panties/normalblack.webp" alt="Black Panties">
<div class="wardrobe-item-name">🖤 Black Panties</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Red Panties -->
<<if $purchasedClothingMariel and $purchasedClothingMariel.panties and $purchasedClothingMariel.panties.normalred>>
<<if $wardrobe and $wardrobe.mariel and $wardrobe.mariel.panties === 'normalred'>>
<div class="wardrobe-item selected">
<img src="images/mariel/clothes/underwear/panties/normalred.webp" alt="Red Panties">
<div class="wardrobe-item-name">💗 Red Panties</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.mariel.panties = 'normalred'; SugarCube.Engine.play('WardrobeMariel');">
<img src="images/mariel/clothes/underwear/panties/normalred.webp" alt="Red Panties">
<div class="wardrobe-item-name">💗 Red Panties</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Purple Panties -->
<<if $purchasedClothingMariel and $purchasedClothingMariel.panties and $purchasedClothingMariel.panties.normalpurple>>
<<if $wardrobe and $wardrobe.mariel and $wardrobe.mariel.panties === 'normalpurple'>>
<div class="wardrobe-item selected">
<img src="images/mariel/clothes/underwear/panties/normalpurple.webp" alt="Purple Panties">
<div class="wardrobe-item-name">💜 Purple Panties</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.mariel.panties = 'normalpurple'; SugarCube.Engine.play('WardrobeMariel');">
<img src="images/mariel/clothes/underwear/panties/normalpurple.webp" alt="Purple Panties">
<div class="wardrobe-item-name">💜 Purple Panties</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<img src="images/mariel/clothes/underwear/panties/normalpurple.webp" alt="Purple Panties">
<div class="wardrobe-item-name">💜 Purple Panties</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
</div>
</div>
<!-- Legwear Section -->
<div class="wardrobe-section">
<h2 class="wardrobe-section-title">🧦 Legwear & Nails 🧦</h2>
<p class="wardrobe-section-subtitle">Cozy and stylish leg accessories</p>
<div class="wardrobe-grid">
<!-- Default White Nails (Always Available) -->
<<if $wardrobe and $wardrobe.mariel and $wardrobe.mariel.legwear === 'normalwhite'>>
<div class="wardrobe-item selected">
<img src="images/mariel/clothes/underwear/legwear/normalwhite.webp" alt="White Nails">
<div class="wardrobe-item-name">🤍 White Nails</div>
<div class="wardrobe-item-status">Currently Wearing</div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.mariel.legwear = 'normalwhite'; SugarCube.Engine.play('WardrobeMariel');">
<img src="images/mariel/clothes/underwear/legwear/normalwhite.webp" alt="White Nails">
<div class="wardrobe-item-name">🤍 White Nails</div>
<div class="wardrobe-item-status">Available</div>
</div>
<</if>>
<!-- Purchased Knitted Nails -->
<<if $purchasedClothingMariel and $purchasedClothingMariel.legwear and $purchasedClothingMariel.legwear.knittedNails>>
<<if $wardrobe and $wardrobe.mariel and $wardrobe.mariel.legwear === 'knittedNails'>>
<div class="wardrobe-item selected">
<img src="images/mariel/clothes/underwear/legwear/knittedNails.webp" alt="Knitted Nails">
<div class="wardrobe-item-name">🧦 Knitted Nails</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.mariel.legwear = 'knittedNails'; SugarCube.Engine.play('WardrobeMariel');">
<img src="images/mariel/clothes/underwear/legwear/knittedNails.webp" alt="Knitted Nails">
<div class="wardrobe-item-name">🧦 Knitted Nails</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Black Nails -->
<<if $purchasedClothingMariel and $purchasedClothingMariel.legwear and $purchasedClothingMariel.legwear.normalblack>>
<<if $wardrobe and $wardrobe.mariel and $wardrobe.mariel.legwear === 'normalblack'>>
<div class="wardrobe-item selected">
<img src="images/mariel/clothes/underwear/legwear/normalblack.webp" alt="Black Nails">
<div class="wardrobe-item-name">🖤 Black Nails</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.mariel.legwear = 'normalblack'; SugarCube.Engine.play('WardrobeMariel');">
<img src="images/mariel/clothes/underwear/legwear/normalblack.webp" alt="Black Nails">
<div class="wardrobe-item-name">🖤 Black Nails</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Red Nails -->
<<if $purchasedClothingMariel and $purchasedClothingMariel.legwear and $purchasedClothingMariel.legwear.normalred>>
<<if $wardrobe and $wardrobe.mariel and $wardrobe.mariel.legwear === 'normalred'>>
<div class="wardrobe-item selected">
<img src="images/mariel/clothes/underwear/legwear/normalred.webp" alt="Red Nails">
<div class="wardrobe-item-name">💗 Red Nails</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.mariel.legwear = 'normalred'; SugarCube.Engine.play('WardrobeMariel');">
<img src="images/mariel/clothes/underwear/legwear/normalred.webp" alt="Red Nails">
<div class="wardrobe-item-name">💗 Red Nails</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Purple Nails -->
<<if $purchasedClothingMariel and $purchasedClothingMariel.legwear and $purchasedClothingMariel.legwear.normalpurple>>
<<if $wardrobe and $wardrobe.mariel and $wardrobe.mariel.legwear === 'normalpurple'>>
<div class="wardrobe-item selected">
<img src="images/mariel/clothes/underwear/legwear/normalpurple.webp" alt="Purple Nails">
<div class="wardrobe-item-name">💜 Purple Nails</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.mariel.legwear = 'normalpurple'; SugarCube.Engine.play('WardrobeMariel');">
<img src="images/mariel/clothes/underwear/legwear/normalpurple.webp" alt="Purple Nails">
<div class="wardrobe-item-name">💜 Purple Nails</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<img src="images/mariel/clothes/underwear/legwear/normalpurple.webp" alt="Purple Nails">
<div class="wardrobe-item-name">💜 Purple Nails</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
</div>
</div>
</div>
</div>
<div class="wardrobe-footer">
<div class="wardrobe-footer-content">
<p class="wardrobe-footer-text">✨ Mix and Match Your Style ✨</p>
<p class="wardrobe-footer-subtitle">"Fashion is what you make it, darling."</p>
</div>
<div style="margin-top: 40px;">
<div style="text-align: center;">
<div class="wardrobe-button" onclick="SugarCube.Engine.play('MorningActivityChoices')">
🚪 Leave the Wardrobe
</div>
</div>
</div>
</div>
</div>
</div>
<</nobr>>
<<silently>>
<<pov "mariel" "soratheme.mp3">>
<</silently>><<set $previousPassage = previous()>>
<<if not $wardrobe>>
<<set $wardrobe = {}>>
<</if>>
<<if not $wardrobe.nimeria>>
<<set $wardrobe.nimeria = {bra: 'normalwhite', panties: 'normalwhite', legwear: 'normalwhite'}>>
<</if>>
<<nobr>>
<style>
@keyframes wardrobeFloat {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-8px); }
}
@keyframes wardrobeGlow {
0%, 100% { box-shadow: 0 0 20px rgba(255,182,193,0.5); }
50% { box-shadow: 0 0 30px rgba(255,182,193,0.8), 0 0 40px rgba(255,105,180,0.6); }
}
@keyframes wardrobeShimmer {
0% { background-position: -200% center; }
100% { background-position: 200% center; }
}
.wardrobe-container {
background: linear-gradient(135deg, rgba(255,182,193,0.9), rgba(255,105,180,0.9), rgba(221,160,221,0.9), rgba(255,20,147,0.8));
min-height: 100vh;
padding: 20px;
margin: 0;
position: relative;
overflow: hidden;
}
.wardrobe-header {
background: linear-gradient(145deg, rgba(45,45,50,0.95), rgba(60,60,70,0.9));
border: 3px solid rgba(255,182,193,0.8);
padding: 30px;
text-align: center;
border-radius: 20px;
margin-bottom: 30px;
position: relative;
backdrop-filter: blur(10px);
box-shadow: 0 20px 40px rgba(0,0,0,0.3);
animation: wardrobeGlow 3s ease-in-out infinite;
}
.wardrobe-header::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 3s infinite;
pointer-events: none;
}
.wardrobe-title {
color: #FFB6C1;
font-size: 3.2em;
font-weight: bold;
margin: 0;
text-shadow: 0 0 20px rgba(255,182,193,0.8), 2px 2px 6px rgba(0,0,0,0.8);
background: linear-gradient(45deg, #FFB6C1, #FF69B4, #DDA0DD, #FFB6C1);
background-size: 400% 400%;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
animation: wardrobeShimmer 3s ease-in-out infinite;
}
.wardrobe-subtitle {
color: rgba(255,255,255,0.95);
font-size: 1.4em;
margin: 15px 0 0 0;
font-style: italic;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.character-nav {
background: linear-gradient(145deg, rgba(45,45,50,0.9), rgba(60,60,70,0.85));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 15px;
padding: 20px;
margin-bottom: 30px;
display: flex;
justify-content: center;
gap: 15px;
flex-wrap: wrap;
backdrop-filter: blur(5px);
box-shadow: 0 10px 25px rgba(0,0,0,0.3);
}
.character-nav-button {
background: linear-gradient(145deg, rgba(255,182,193,0.3), rgba(255,105,180,0.2));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 10px;
padding: 12px 20px;
color: white;
font-weight: bold;
text-decoration: none;
transition: all 0.3s ease;
cursor: pointer;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
}
.character-nav-button:hover {
transform: scale(1.05);
box-shadow: 0 8px 20px rgba(255,182,193,0.4);
border-color: rgba(255,182,193,0.9);
color: white;
text-decoration: none;
}
.character-nav-button.active {
background: linear-gradient(145deg, rgba(0,255,0,0.3), rgba(0,200,0,0.2));
border-color: rgba(0,255,0,0.8);
box-shadow: 0 8px 20px rgba(0,255,0,0.3);
}
.wardrobe-content {
max-width: 1200px;
margin: 0 auto;
}
.wardrobe-categories {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
gap: 30px;
margin: 30px 0;
}
.wardrobe-section {
background: linear-gradient(145deg, rgba(255,182,193,0.25), rgba(255,105,180,0.2));
border: 3px solid rgba(255,182,193,0.7);
border-radius: 20px;
padding: 30px;
position: relative;
backdrop-filter: blur(5px);
box-shadow: 0 15px 35px rgba(255,182,193,0.3);
animation: wardrobeFloat 5s ease-in-out infinite;
}
.wardrobe-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 4s infinite;
pointer-events: none;
}
.wardrobe-section-title {
color: #FFB6C1;
font-size: 2.4em;
font-weight: bold;
margin: 0 0 20px 0;
text-align: center;
text-shadow: 0 0 15px rgba(255,182,193,0.8);
animation: wardrobeFloat 3s ease-in-out infinite;
}
.wardrobe-section-subtitle {
color: rgba(255,255,255,0.95);
font-size: 1.2em;
text-align: center;
margin-bottom: 30px;
font-style: italic;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
}
.wardrobe-item {
background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,182,193,0.15));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 15px;
padding: 20px;
cursor: pointer;
text-align: center;
position: relative;
box-shadow: 0 8px 20px rgba(255,182,193,0.3);
transition: all 0.3s ease;
animation: wardrobeFloat 6s ease-in-out infinite;
}
.wardrobe-item:hover {
transform: scale(1.05);
box-shadow: 0 12px 30px rgba(255,182,193,0.5);
border-color: rgba(255,182,193,0.9);
}
.wardrobe-item.selected {
background: linear-gradient(145deg, rgba(0,255,0,0.2), rgba(0,200,0,0.15));
border: 2px solid rgba(0,255,0,0.8);
box-shadow: 0 8px 20px rgba(0,255,0,0.3);
}
.wardrobe-item.selected:hover {
box-shadow: 0 12px 30px rgba(0,255,0,0.5);
border-color: rgba(0,255,0,1);
}
.wardrobe-item img {
width: 90px;
height: 90px;
object-fit: cover;
border-radius: 12px;
margin-bottom: 15px;
border: 3px solid rgba(255,182,193,0.5);
box-shadow: 0 5px 15px rgba(255,182,193,0.4);
}
.wardrobe-item.selected img {
border: 3px solid rgba(0,255,0,0.6);
box-shadow: 0 5px 15px rgba(0,255,0,0.4);
}
.wardrobe-item-name {
color: white;
font-weight: bold;
font-size: 1.1em;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
margin-bottom: 10px;
}
.wardrobe-item-status {
color: #FFB6C1;
font-size: 1em;
font-weight: bold;
text-shadow: 0 0 8px rgba(255,182,193,0.8);
background: rgba(0,0,0,0.3);
padding: 5px 10px;
border-radius: 8px;
}
.wardrobe-item.selected .wardrobe-item-status {
color: #00FF00;
text-shadow: 0 0 8px rgba(0,255,0,0.8);
}
.wardrobe-footer {
background: linear-gradient(145deg, rgba(45,45,50,0.95), rgba(60,60,70,0.9));
border: 3px solid rgba(255,182,193,0.8);
padding: 40px;
text-align: center;
border-radius: 20px;
margin-top: 30px;
position: relative;
backdrop-filter: blur(10px);
box-shadow: 0 20px 40px rgba(0,0,0,0.3);
animation: wardrobeGlow 3s ease-in-out infinite;
}
.wardrobe-footer::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 3s infinite;
pointer-events: none;
}
.wardrobe-footer-content {
background: linear-gradient(135deg, rgba(255,182,193,0.2), rgba(255,105,180,0.2));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 20px;
padding: 25px;
margin: 0 auto;
max-width: 700px;
box-shadow: 0 10px 25px rgba(255,182,193,0.3);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-footer-text {
color: #FFB6C1;
font-size: 1.4em;
font-weight: bold;
margin: 0 0 15px 0;
text-shadow: 0 0 15px rgba(255,182,193,0.8);
animation: wardrobeFloat 3s ease-in-out infinite;
}
.wardrobe-footer-subtitle {
color: rgba(255,255,255,0.9);
font-size: 1.2em;
margin: 0;
font-style: italic;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-button {
background: linear-gradient(45deg, #FFB6C1, #FF69B4);
border: 2px solid rgba(255,182,193,0.8);
border-radius: 15px;
padding: 15px 30px;
color: white;
font-weight: bold;
text-decoration: none;
display: inline-block;
box-shadow: 0 8px 20px rgba(255,182,193,0.4);
transition: all 0.3s ease;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
cursor: pointer;
animation: wardrobeFloat 5s ease-in-out infinite;
}
.wardrobe-button:hover {
transform: scale(1.1);
box-shadow: 0 12px 30px rgba(255,182,193,0.6);
color: white;
text-decoration: none;
}
.wardrobe-button:active {
transform: scale(1.05);
}
</style>
<div class="wardrobe-container">
<div class="wardrobe-header">
<h1 class="wardrobe-title">✨ WARDROBE ✨</h1>
<p class="wardrobe-subtitle">Dress to Impress</p>
</div>
<!-- Character Navigation Bar -->
<div style="position: fixed; top: 0; left: 320px; right: 310px; z-index: 1000; background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(240, 240, 240, 0.98)); border-bottom: 2px solid rgba(255, 215, 0, 0.8); box-shadow: 0 2px 8px rgba(0,0,0,0.3); padding: 8px 0;">
<div style="display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap;">
<!-- Mariel -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 182, 193, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 182, 193, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 182, 193, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 182, 193, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeMariel')">
<div style="position: relative;">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $marielInitiatedScenes and $marielInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$marielInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFB6C1; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel</span>
</div>
<!-- Liora -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 192, 203, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 192, 203, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 192, 203, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 192, 203, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeLiora')">
<div style="position: relative;">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $lioraInitiatedScenes and $lioraInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$lioraInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFC0CB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Liora</span>
</div>
<!-- Serin -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 105, 180, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 105, 180, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 105, 180, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 105, 180, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeSerin')">
<div style="position: relative;">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serinInitiatedScenes and $serinInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serinInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FF69B4; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin</span>
</div>
<!-- Nimeria -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(221, 160, 221, 0.4); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(221, 160, 221, 0.6); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(221, 160, 221, 0.6)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(221, 160, 221, 0.4)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeNimeria')">
<div style="position: relative;">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $nimeriaInitiatedScenes and $nimeriaInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$nimeriaInitiatedScenes</div>
<</if>>
</div>
<span style="color: #DDA0DD; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Nimeria</span>
</div>
<!-- Seryk -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(240, 230, 140, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(240, 230, 140, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(240, 230, 140, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(240, 230, 140, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeSeryk')">
<div style="position: relative;">
<img src="images/seryk/chapter2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serykInitiatedScenes and $serykInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serykInitiatedScenes</div>
<</if>>
</div>
<span style="color: #F0E68C; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Seryk</span>
</div>
<!-- humanName -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(135, 206, 235, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(135, 206, 235, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(135, 206, 235, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(135, 206, 235, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeRylan')">
<div style="position: relative;">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<<if $humanInitiatedScenes and $humanInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$humanInitiatedScenes</div>
<</if>>
</div>
<span style="color: #87CEEB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">$humanName</span>
</div>
<!-- Thalor -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 165, 0, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 165, 0, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 165, 0, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 165, 0, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeThalor')">
<div style="position: relative;">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $thalorInitiatedScenes and $thalorInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$thalorInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFA500; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Thalor</span>
</div>
</div>
</div>
<!-- Add top margin to account for fixed bar -->
<div style="margin-top: 60px;">
<div class="wardrobe-content">
<!-- Current Outfit Preview -->
<div class="current-outfit-preview" style="background: linear-gradient(145deg, rgba(255,182,193,0.2), rgba(255,105,180,0.2)); border: 3px solid rgba(255,182,193,0.6); border-radius: 20px; padding: 30px; margin-bottom: 30px; text-align: center;">
<h2 style="color: #FFB6C1; font-size: 2em; margin: 0 0 20px 0; text-shadow: 0 0 10px rgba(255,182,193,0.8);">✨ Nimeria's Current Outfit ✨</h2>
<div style="display: flex; justify-content: center; gap: 30px; flex-wrap: wrap;">
<!-- Bra Preview -->
<div style="text-align: center;">
<h3 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0;">Bra</h3>
<<if $wardrobe and $wardrobe.nimeria and $wardrobe.nimeria.bra>>
<<if $wardrobe.nimeria.bra === 'normalblack'>>
<img src="images/nimeria/clothes/underwear/bra/normalblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Bra</div>
<<elseif $wardrobe.nimeria.bra === 'normalpink'>>
<img src="images/nimeria/clothes/underwear/bra/normalpink.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Pink Bra</div>
<<elseif $wardrobe.nimeria.bra === 'normalpurple'>>
<img src="images/nimeria/clothes/underwear/bra/normalpurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Bra</div>
<<else>>
<img src="images/nimeria/clothes/underwear/bra/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🤍 White Bra</div>
<</if>>
<<else>>
<div style="width: 80px; height: 80px; background: rgba(255,255,255,0.1); border-radius: 10px; border: 2px dashed rgba(255,182,193,0.4); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);">🤍</div>
<div style="color: rgba(255,255,255,0.6); font-size: 0.9em; margin-top: 5px;">Default</div>
<</if>>
</div>
<!-- Panties Preview -->
<div style="text-align: center;">
<h3 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0;">Panties</h3>
<<if $wardrobe and $wardrobe.nimeria and $wardrobe.nimeria.panties>>
<<if $wardrobe.nimeria.panties === 'normalblack'>>
<img src="images/nimeria/clothes/underwear/panties/normalblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Panties</div>
<<elseif $wardrobe.nimeria.panties === 'normalpink'>>
<img src="images/nimeria/clothes/underwear/panties/normalpink.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Pink Panties</div>
<<elseif $wardrobe.nimeria.panties === 'normalpurple'>>
<img src="images/nimeria/clothes/underwear/panties/normalpurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Panties</div>
<<else>>
<img src="images/nimeria/clothes/underwear/panties/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🤍 White Panties</div>
<</if>>
<<else>>
<div style="width: 80px; height: 80px; background: rgba(255,255,255,0.1); border-radius: 10px; border: 2px dashed rgba(255,182,193,0.4); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);">🤍</div>
<div style="color: rgba(255,255,255,0.6); font-size: 0.9em; margin-top: 5px;">Default</div>
<</if>>
</div>
<!-- Legwear Preview -->
<div style="text-align: center;">
<h3 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0;">Legwear</h3>
<<if $wardrobe and $wardrobe.nimeria and $wardrobe.nimeria.legwear>>
<<if $wardrobe.nimeria.legwear === 'knittedsocks'>>
<img src="images/nimeria/clothes/underwear/legwear/knittedsocks.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🧦 Knitted Socks</div>
<<elseif $wardrobe.nimeria.legwear === 'normalblack'>>
<img src="images/nimeria/clothes/underwear/legwear/normalblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Socks</div>
<<elseif $wardrobe.nimeria.legwear === 'normalpink'>>
<img src="images/nimeria/clothes/underwear/legwear/normalpink.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Pink Socks</div>
<<elseif $wardrobe.nimeria.legwear === 'normalpurple'>>
<img src="images/nimeria/clothes/underwear/legwear/normalpurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Socks</div>
<<else>>
<img src="images/nimeria/clothes/underwear/legwear/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🤍 White Socks</div>
<</if>>
<<else>>
<div style="width: 80px; height: 80px; background: rgba(255,255,255,0.1); border-radius: 10px; border: 2px dashed rgba(255,182,193,0.4); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);">🤍</div>
<div style="color: rgba(255,255,255,0.6); font-size: 0.9em; margin-top: 5px;">Default</div>
<</if>>
</div>
</div>
</div>
<div class="wardrobe-categories">
<!-- Bras Section -->
<div class="wardrobe-section">
<h2 class="wardrobe-section-title">👙 Bras & Bralettes 👙</h2>
<p class="wardrobe-section-subtitle">Choose your perfect support</p>
<div class="wardrobe-grid">
<!-- Default White Bra (Always Available) -->
<<if $wardrobe and $wardrobe.nimeria and $wardrobe.nimeria.bra === 'normalwhite'>>
<div class="wardrobe-item selected">
<img src="images/nimeria/clothes/underwear/bra/normalwhite.webp" alt="White Bra">
<div class="wardrobe-item-name">🤍 White Bra</div>
<div class="wardrobe-item-status">Currently Wearing</div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.nimeria.bra = 'normalwhite'; SugarCube.Engine.play('WardrobeNimeria');">
<img src="images/nimeria/clothes/underwear/bra/normalwhite.webp" alt="White Bra">
<div class="wardrobe-item-name">🤍 White Bra</div>
<div class="wardrobe-item-status">Available</div>
</div>
<</if>>
<!-- Purchased Black Bra -->
<<if $purchasedClothingNimeria and $purchasedClothingNimeria.bra and $purchasedClothingNimeria.bra.normalblack>>
<<if $wardrobe and $wardrobe.nimeria and $wardrobe.nimeria.bra === 'normalblack'>>
<div class="wardrobe-item selected">
<img src="images/nimeria/clothes/underwear/bra/normalblack.webp" alt="Black Bra">
<div class="wardrobe-item-name">🖤 Black Bra</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.nimeria.bra = 'normalblack'; SugarCube.Engine.play('WardrobeNimeria');">
<img src="images/nimeria/clothes/underwear/bra/normalblack.webp" alt="Black Bra">
<div class="wardrobe-item-name">🖤 Black Bra</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Pink Bra -->
<<if $purchasedClothingNimeria and $purchasedClothingNimeria.bra and $purchasedClothingNimeria.bra.normalpink>>
<<if $wardrobe and $wardrobe.nimeria and $wardrobe.nimeria.bra === 'normalpink'>>
<div class="wardrobe-item selected">
<img src="images/nimeria/clothes/underwear/bra/normalpink.webp" alt="Pink Bra">
<div class="wardrobe-item-name">💗 Pink Bra</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.nimeria.bra = 'normalpink'; SugarCube.Engine.play('WardrobeNimeria');">
<img src="images/nimeria/clothes/underwear/bra/normalpink.webp" alt="Pink Bra">
<div class="wardrobe-item-name">💗 Pink Bra</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Purple Bra -->
<<if $purchasedClothingNimeria and $purchasedClothingNimeria.bra and $purchasedClothingNimeria.bra.normalpurple>>
<<if $wardrobe and $wardrobe.nimeria and $wardrobe.nimeria.bra === 'normalpurple'>>
<div class="wardrobe-item selected">
<img src="images/nimeria/clothes/underwear/bra/normalpurple.webp" alt="Purple Bra">
<div class="wardrobe-item-name">💜 Purple Bra</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.nimeria.bra = 'normalpurple'; SugarCube.Engine.play('WardrobeNimeria');">
<img src="images/nimeria/clothes/underwear/bra/normalpurple.webp" alt="Purple Bra">
<div class="wardrobe-item-name">💜 Purple Bra</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<img src="images/nimeria/clothes/underwear/bra/normalpurple.webp" alt="Purple Bra">
<div class="wardrobe-item-name">💜 Purple Bra</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
</div>
</div>
<!-- Panties Section -->
<div class="wardrobe-section">
<h2 class="wardrobe-section-title">🩲 Panties & Underwear 🩲</h2>
<p class="wardrobe-section-subtitle">Comfortable and stylish</p>
<div class="wardrobe-grid">
<!-- Default White Panties (Always Available) -->
<<if $wardrobe and $wardrobe.nimeria and $wardrobe.nimeria.panties === 'normalwhite'>>
<div class="wardrobe-item selected">
<img src="images/nimeria/clothes/underwear/panties/normalwhite.webp" alt="White Panties">
<div class="wardrobe-item-name">🤍 White Panties</div>
<div class="wardrobe-item-status">Currently Wearing</div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.nimeria.panties = 'normalwhite'; SugarCube.Engine.play('WardrobeNimeria');">
<img src="images/nimeria/clothes/underwear/panties/normalwhite.webp" alt="White Panties">
<div class="wardrobe-item-name">🤍 White Panties</div>
<div class="wardrobe-item-status">Available</div>
</div>
<</if>>
<!-- Purchased Black Panties -->
<<if $purchasedClothingNimeria and $purchasedClothingNimeria.panties and $purchasedClothingNimeria.panties.normalblack>>
<<if $wardrobe and $wardrobe.nimeria and $wardrobe.nimeria.panties === 'normalblack'>>
<div class="wardrobe-item selected">
<img src="images/nimeria/clothes/underwear/panties/normalblack.webp" alt="Black Panties">
<div class="wardrobe-item-name">🖤 Black Panties</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.nimeria.panties = 'normalblack'; SugarCube.Engine.play('WardrobeNimeria');">
<img src="images/nimeria/clothes/underwear/panties/normalblack.webp" alt="Black Panties">
<div class="wardrobe-item-name">🖤 Black Panties</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Pink Panties -->
<<if $purchasedClothingNimeria and $purchasedClothingNimeria.panties and $purchasedClothingNimeria.panties.normalpink>>
<<if $wardrobe and $wardrobe.nimeria and $wardrobe.nimeria.panties === 'normalpink'>>
<div class="wardrobe-item selected">
<img src="images/nimeria/clothes/underwear/panties/normalpink.webp" alt="Pink Panties">
<div class="wardrobe-item-name">💗 Pink Panties</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.nimeria.panties = 'normalpink'; SugarCube.Engine.play('WardrobeNimeria');">
<img src="images/nimeria/clothes/underwear/panties/normalpink.webp" alt="Pink Panties">
<div class="wardrobe-item-name">💗 Pink Panties</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Purple Panties -->
<<if $purchasedClothingNimeria and $purchasedClothingNimeria.panties and $purchasedClothingNimeria.panties.normalpurple>>
<<if $wardrobe and $wardrobe.nimeria and $wardrobe.nimeria.panties === 'normalpurple'>>
<div class="wardrobe-item selected">
<img src="images/nimeria/clothes/underwear/panties/normalpurple.webp" alt="Purple Panties">
<div class="wardrobe-item-name">💜 Purple Panties</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.nimeria.panties = 'normalpurple'; SugarCube.Engine.play('WardrobeNimeria');">
<img src="images/nimeria/clothes/underwear/panties/normalpurple.webp" alt="Purple Panties">
<div class="wardrobe-item-name">💜 Purple Panties</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<img src="images/nimeria/clothes/underwear/panties/normalpurple.webp" alt="Purple Panties">
<div class="wardrobe-item-name">💜 Purple Panties</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
</div>
</div>
<!-- Legwear Section -->
<div class="wardrobe-section">
<h2 class="wardrobe-section-title">🧦 Legwear & Socks 🧦</h2>
<p class="wardrobe-section-subtitle">Cozy and stylish leg accessories</p>
<div class="wardrobe-grid">
<!-- Default White Socks (Always Available) -->
<<if $wardrobe and $wardrobe.nimeria and $wardrobe.nimeria.legwear === 'normalwhite'>>
<div class="wardrobe-item selected">
<img src="images/nimeria/clothes/underwear/legwear/normalwhite.webp" alt="White Socks">
<div class="wardrobe-item-name">🤍 White Socks</div>
<div class="wardrobe-item-status">Currently Wearing</div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.nimeria.legwear = 'normalwhite'; SugarCube.Engine.play('WardrobeNimeria');">
<img src="images/nimeria/clothes/underwear/legwear/normalwhite.webp" alt="White Socks">
<div class="wardrobe-item-name">🤍 White Socks</div>
<div class="wardrobe-item-status">Available</div>
</div>
<</if>>
<!-- Purchased Knitted Socks -->
<<if $purchasedClothingNimeria and $purchasedClothingNimeria.legwear and $purchasedClothingNimeria.legwear.knittedsocks>>
<<if $wardrobe and $wardrobe.nimeria and $wardrobe.nimeria.legwear === 'knittedsocks'>>
<div class="wardrobe-item selected">
<img src="images/nimeria/clothes/underwear/legwear/knittedsocks.webp" alt="Knitted Socks">
<div class="wardrobe-item-name">🧦 Knitted Socks</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.nimeria.legwear = 'knittedsocks'; SugarCube.Engine.play('WardrobeNimeria');">
<img src="images/nimeria/clothes/underwear/legwear/knittedsocks.webp" alt="Knitted Socks">
<div class="wardrobe-item-name">🧦 Knitted Socks</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Black Socks -->
<<if $purchasedClothingNimeria and $purchasedClothingNimeria.legwear and $purchasedClothingNimeria.legwear.normalblack>>
<<if $wardrobe and $wardrobe.nimeria and $wardrobe.nimeria.legwear === 'normalblack'>>
<div class="wardrobe-item selected">
<img src="images/nimeria/clothes/underwear/legwear/normalblack.webp" alt="Black Socks">
<div class="wardrobe-item-name">🖤 Black Socks</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.nimeria.legwear = 'normalblack'; SugarCube.Engine.play('WardrobeNimeria');">
<img src="images/nimeria/clothes/underwear/legwear/normalblack.webp" alt="Black Socks">
<div class="wardrobe-item-name">🖤 Black Socks</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Pink Socks -->
<<if $purchasedClothingNimeria and $purchasedClothingNimeria.legwear and $purchasedClothingNimeria.legwear.normalpink>>
<<if $wardrobe and $wardrobe.nimeria and $wardrobe.nimeria.legwear === 'normalpink'>>
<div class="wardrobe-item selected">
<img src="images/nimeria/clothes/underwear/legwear/normalpink.webp" alt="Pink Socks">
<div class="wardrobe-item-name">💗 Pink Socks</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.nimeria.legwear = 'normalpink'; SugarCube.Engine.play('WardrobeNimeria');">
<img src="images/nimeria/clothes/underwear/legwear/normalpink.webp" alt="Pink Socks">
<div class="wardrobe-item-name">💗 Pink Socks</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Purple Socks -->
<<if $purchasedClothingNimeria and $purchasedClothingNimeria.legwear and $purchasedClothingNimeria.legwear.normalpurple>>
<<if $wardrobe and $wardrobe.nimeria and $wardrobe.nimeria.legwear === 'normalpurple'>>
<div class="wardrobe-item selected">
<img src="images/nimeria/clothes/underwear/legwear/normalpurple.webp" alt="Purple Socks">
<div class="wardrobe-item-name">💜 Purple Socks</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.nimeria.legwear = 'normalpurple'; SugarCube.Engine.play('WardrobeNimeria');">
<img src="images/nimeria/clothes/underwear/legwear/normalpurple.webp" alt="Purple Socks">
<div class="wardrobe-item-name">💜 Purple Socks</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<img src="images/nimeria/clothes/underwear/legwear/normalpurple.webp" alt="Purple Socks">
<div class="wardrobe-item-name">💜 Purple Socks</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
</div>
</div>
</div>
</div>
<div class="wardrobe-footer">
<div class="wardrobe-footer-content">
<p class="wardrobe-footer-text">✨ Mix and Match Your Style ✨</p>
<p class="wardrobe-footer-subtitle">"Fashion is what you make it, darling."</p>
</div>
<div style="margin-top: 40px;">
<div style="text-align: center;">
<div class="wardrobe-button" onclick="SugarCube.Engine.play('MorningActivityChoices')">
🚪 Leave the Wardrobe
</div>
</div>
</div>
</div>
</div>
</div>
<</nobr>>
<<silently>>
<<pov "nimeria" "soratheme.mp3">>
<</silently>><<set $previousPassage = previous()>>
<<if not $wardrobe>>
<<set $wardrobe = {}>>
<</if>>
<<if not $wardrobe.rylan>>
<<set $wardrobe.rylan = {bra: 'normalwhite', panties: 'normalwhite', legwear: 'normalwhite'}>>
<</if>>
<<nobr>>
<style>
@keyframes wardrobeFloat {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-8px); }
}
@keyframes wardrobeGlow {
0%, 100% { box-shadow: 0 0 20px rgba(255,182,193,0.5); }
50% { box-shadow: 0 0 30px rgba(255,182,193,0.8), 0 0 40px rgba(255,105,180,0.6); }
}
@keyframes wardrobeShimmer {
0% { background-position: -200% center; }
100% { background-position: 200% center; }
}
.wardrobe-container {
background: linear-gradient(135deg, rgba(255,182,193,0.9), rgba(255,105,180,0.9), rgba(221,160,221,0.9), rgba(255,20,147,0.8));
min-height: 100vh;
padding: 20px;
margin: 0;
position: relative;
overflow: hidden;
}
.wardrobe-header {
background: linear-gradient(145deg, rgba(45,45,50,0.95), rgba(60,60,70,0.9));
border: 3px solid rgba(255,182,193,0.8);
padding: 30px;
text-align: center;
border-radius: 20px;
margin-bottom: 30px;
position: relative;
backdrop-filter: blur(10px);
box-shadow: 0 20px 40px rgba(0,0,0,0.3);
animation: wardrobeGlow 3s ease-in-out infinite;
}
.wardrobe-header::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 3s infinite;
pointer-events: none;
}
.wardrobe-title {
color: #FFB6C1;
font-size: 3.2em;
font-weight: bold;
margin: 0;
text-shadow: 0 0 20px rgba(255,182,193,0.8), 2px 2px 6px rgba(0,0,0,0.8);
background: linear-gradient(45deg, #FFB6C1, #FF69B4, #DDA0DD, #FFB6C1);
background-size: 400% 400%;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
animation: wardrobeShimmer 3s ease-in-out infinite;
}
.wardrobe-subtitle {
color: rgba(255,255,255,0.95);
font-size: 1.4em;
margin: 15px 0 0 0;
font-style: italic;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.character-nav {
background: linear-gradient(145deg, rgba(45,45,50,0.9), rgba(60,60,70,0.85));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 15px;
padding: 20px;
margin-bottom: 30px;
display: flex;
justify-content: center;
gap: 15px;
flex-wrap: wrap;
backdrop-filter: blur(5px);
box-shadow: 0 10px 25px rgba(0,0,0,0.3);
}
.character-nav-button {
background: linear-gradient(145deg, rgba(255,182,193,0.3), rgba(255,105,180,0.2));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 10px;
padding: 12px 20px;
color: white;
font-weight: bold;
text-decoration: none;
transition: all 0.3s ease;
cursor: pointer;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
}
.character-nav-button:hover {
transform: scale(1.05);
box-shadow: 0 8px 20px rgba(255,182,193,0.4);
border-color: rgba(255,182,193,0.9);
color: white;
text-decoration: none;
}
.character-nav-button.active {
background: linear-gradient(145deg, rgba(0,255,0,0.3), rgba(0,200,0,0.2));
border-color: rgba(0,255,0,0.8);
box-shadow: 0 8px 20px rgba(0,255,0,0.3);
}
.wardrobe-content {
max-width: 1200px;
margin: 0 auto;
}
.wardrobe-categories {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
gap: 30px;
margin: 30px 0;
}
.wardrobe-section {
background: linear-gradient(145deg, rgba(255,182,193,0.25), rgba(255,105,180,0.2));
border: 3px solid rgba(255,182,193,0.7);
border-radius: 20px;
padding: 30px;
position: relative;
backdrop-filter: blur(5px);
box-shadow: 0 15px 35px rgba(255,182,193,0.3);
animation: wardrobeFloat 5s ease-in-out infinite;
}
.wardrobe-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 4s infinite;
pointer-events: none;
}
.wardrobe-section-title {
color: #FFB6C1;
font-size: 2.4em;
font-weight: bold;
margin: 0 0 20px 0;
text-align: center;
text-shadow: 0 0 15px rgba(255,182,193,0.8);
animation: wardrobeFloat 3s ease-in-out infinite;
}
.wardrobe-section-subtitle {
color: rgba(255,255,255,0.95);
font-size: 1.2em;
text-align: center;
margin-bottom: 30px;
font-style: italic;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
}
.wardrobe-item {
background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,182,193,0.15));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 15px;
padding: 20px;
cursor: pointer;
text-align: center;
position: relative;
box-shadow: 0 8px 20px rgba(255,182,193,0.3);
transition: all 0.3s ease;
animation: wardrobeFloat 6s ease-in-out infinite;
}
.wardrobe-item:hover {
transform: scale(1.05);
box-shadow: 0 12px 30px rgba(255,182,193,0.5);
border-color: rgba(255,182,193,0.9);
}
.wardrobe-item.selected {
background: linear-gradient(145deg, rgba(0,255,0,0.2), rgba(0,200,0,0.15));
border: 2px solid rgba(0,255,0,0.8);
box-shadow: 0 8px 20px rgba(0,255,0,0.3);
}
.wardrobe-item.selected:hover {
box-shadow: 0 12px 30px rgba(0,255,0,0.5);
border-color: rgba(0,255,0,1);
}
.wardrobe-item img {
width: 90px;
height: 90px;
object-fit: cover;
border-radius: 12px;
margin-bottom: 15px;
border: 3px solid rgba(255,182,193,0.5);
box-shadow: 0 5px 15px rgba(255,182,193,0.4);
}
.wardrobe-item.selected img {
border: 3px solid rgba(0,255,0,0.6);
box-shadow: 0 5px 15px rgba(0,255,0,0.4);
}
.wardrobe-item-name {
color: white;
font-weight: bold;
font-size: 1.1em;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
margin-bottom: 10px;
}
.wardrobe-item-status {
color: #FFB6C1;
font-size: 1em;
font-weight: bold;
text-shadow: 0 0 8px rgba(255,182,193,0.8);
background: rgba(0,0,0,0.3);
padding: 5px 10px;
border-radius: 8px;
}
.wardrobe-item.selected .wardrobe-item-status {
color: #00FF00;
text-shadow: 0 0 8px rgba(0,255,0,0.8);
}
.wardrobe-footer {
background: linear-gradient(145deg, rgba(45,45,50,0.95), rgba(60,60,70,0.9));
border: 3px solid rgba(255,182,193,0.8);
padding: 40px;
text-align: center;
border-radius: 20px;
margin-top: 30px;
position: relative;
backdrop-filter: blur(10px);
box-shadow: 0 20px 40px rgba(0,0,0,0.3);
animation: wardrobeGlow 3s ease-in-out infinite;
}
.wardrobe-footer::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 3s infinite;
pointer-events: none;
}
.wardrobe-footer-content {
background: linear-gradient(135deg, rgba(255,182,193,0.2), rgba(255,105,180,0.2));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 20px;
padding: 25px;
margin: 0 auto;
max-width: 700px;
box-shadow: 0 10px 25px rgba(255,182,193,0.3);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-footer-text {
color: #FFB6C1;
font-size: 1.4em;
font-weight: bold;
margin: 0 0 15px 0;
text-shadow: 0 0 15px rgba(255,182,193,0.8);
animation: wardrobeFloat 3s ease-in-out infinite;
}
.wardrobe-footer-subtitle {
color: rgba(255,255,255,0.9);
font-size: 1.2em;
margin: 0;
font-style: italic;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-button {
background: linear-gradient(45deg, #FFB6C1, #FF69B4);
border: 2px solid rgba(255,182,193,0.8);
border-radius: 15px;
padding: 15px 30px;
color: white;
font-weight: bold;
text-decoration: none;
display: inline-block;
box-shadow: 0 8px 20px rgba(255,182,193,0.4);
transition: all 0.3s ease;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
cursor: pointer;
animation: wardrobeFloat 5s ease-in-out infinite;
}
.wardrobe-button:hover {
transform: scale(1.1);
box-shadow: 0 12px 30px rgba(255,182,193,0.6);
color: white;
text-decoration: none;
}
.wardrobe-button:active {
transform: scale(1.05);
}
</style>
<div class="wardrobe-container">
<div class="wardrobe-header">
<h1 class="wardrobe-title">✨ WARDROBE ✨</h1>
<p class="wardrobe-subtitle">Dress to Impress</p>
</div>
<!-- Character Navigation Bar -->
<div style="position: fixed; top: 0; left: 320px; right: 310px; z-index: 1000; background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(240, 240, 240, 0.98)); border-bottom: 2px solid rgba(255, 215, 0, 0.8); box-shadow: 0 2px 8px rgba(0,0,0,0.3); padding: 8px 0;">
<div style="display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap;">
<!-- Mariel -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 182, 193, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 182, 193, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 182, 193, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 182, 193, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeMariel')">
<div style="position: relative;">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $marielInitiatedScenes and $marielInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$marielInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFB6C1; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel</span>
</div>
<!-- Liora -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 192, 203, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 192, 203, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 192, 203, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 192, 203, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeLiora')">
<div style="position: relative;">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $lioraInitiatedScenes and $lioraInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$lioraInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFC0CB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Liora</span>
</div>
<!-- Serin -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 105, 180, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 105, 180, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 105, 180, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 105, 180, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeSerin')">
<div style="position: relative;">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serinInitiatedScenes and $serinInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serinInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FF69B4; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin</span>
</div>
<!-- Nimeria -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(221, 160, 221, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(221, 160, 221, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(221, 160, 221, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(221, 160, 221, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeNimeria')">
<div style="position: relative;">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $nimeriaInitiatedScenes and $nimeriaInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$nimeriaInitiatedScenes</div>
<</if>>
</div>
<span style="color: #DDA0DD; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Nimeria</span>
</div>
<!-- Seryk -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(240, 230, 140, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(240, 230, 140, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(240, 230, 140, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(240, 230, 140, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeSeryk')">
<div style="position: relative;">
<img src="images/seryk/chapter2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serykInitiatedScenes and $serykInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serykInitiatedScenes</div>
<</if>>
</div>
<span style="color: #F0E68C; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Seryk</span>
</div>
<!-- humanName -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(135, 206, 235, 0.4); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(135, 206, 235, 0.6); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(135, 206, 235, 0.6)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(135, 206, 235, 0.4)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeRylan')">
<div style="position: relative;">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<<if $humanInitiatedScenes and $humanInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$humanInitiatedScenes</div>
<</if>>
</div>
<span style="color: #87CEEB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">$humanName</span>
</div>
<!-- Thalor -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 165, 0, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 165, 0, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 165, 0, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 165, 0, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeThalor')">
<div style="position: relative;">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $thalorInitiatedScenes and $thalorInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$thalorInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFA500; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Thalor</span>
</div>
</div>
</div>
<!-- Add top margin to account for fixed bar -->
<div style="margin-top: 60px;">
<div class="wardrobe-content">
<!-- Current Outfit Preview -->
<div class="current-outfit-preview" style="background: linear-gradient(145deg, rgba(255,182,193,0.2), rgba(255,105,180,0.2)); border: 3px solid rgba(255,182,193,0.6); border-radius: 20px; padding: 30px; margin-bottom: 30px; text-align: center;">
<h2 style="color: #FFB6C1; font-size: 2em; margin: 0 0 20px 0; text-shadow: 0 0 10px rgba(255,182,193,0.8);">✨ $humanName's Current Outfit ✨</h2>
<div style="display: flex; justify-content: center; gap: 30px; flex-wrap: wrap;">
<<if $rylanFemboy == true>>
<!-- Bra Preview (Femboy only) -->
<div style="text-align: center;">
<h3 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0;">Bra</h3>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.bra>>
<<if $wardrobe.rylan.bra === 'normalblack'>>
<img src="images/rylan/femboy/clothes/underwear/bra/normalblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Bra</div>
<<elseif $wardrobe.rylan.bra === 'normalpink'>>
<img src="images/rylan/femboy/clothes/underwear/bra/normalpink.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Pink Bra</div>
<<elseif $wardrobe.rylan.bra === 'normalpurple'>>
<img src="images/rylan/femboy/clothes/underwear/bra/normalpurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Bra</div>
<<else>>
<img src="images/rylan/femboy/clothes/underwear/bra/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🤍 White Bra</div>
<</if>>
<<else>>
<div style="width: 80px; height: 80px; background: rgba(255,255,255,0.1); border-radius: 10px; border: 2px dashed rgba(255,182,193,0.4); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);">🤍</div>
<div style="color: rgba(255,255,255,0.6); font-size: 0.9em; margin-top: 5px;">Default</div>
<</if>>
</div>
<</if>>
<!-- Panties/Underwear Preview -->
<div style="text-align: center;">
<<if $rylanFemboy == false>>
<h3 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0;">Panties & Underwear</h3>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.panties>>
<<if $wardrobe.rylan.panties === 'normalblack'>>
<img src="images/rylan/male/clothes/underwear/panties/normalblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Boxers</div>
<<elseif $wardrobe.rylan.panties === 'normalpink'>>
<img src="images/rylan/male/clothes/underwear/panties/normalpink.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Pink Boxers</div>
<<elseif $wardrobe.rylan.panties === 'normalpurple'>>
<img src="images/rylan/male/clothes/underwear/panties/normalpurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Boxers</div>
<<elseif $wardrobe.rylan.panties === 'briefswhite'>>
<img src="images/rylan/male/clothes/underwear/briefs/briefswhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">⚪ White Briefs</div>
<<elseif $wardrobe.rylan.panties === 'briefsblack'>>
<img src="images/rylan/male/clothes/underwear/briefs/briefsblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Briefs</div>
<<elseif $wardrobe.rylan.panties === 'briefspink'>>
<img src="images/rylan/male/clothes/underwear/briefs/briefspink.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Pink Briefs</div>
<<elseif $wardrobe.rylan.panties === 'briefspurple'>>
<img src="images/rylan/male/clothes/underwear/briefs/briefspurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Briefs</div>
<<else>>
<img src="images/rylan/male/clothes/underwear/panties/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🤍 White Boxers</div>
<</if>>
<<else>>
<div style="width: 80px; height: 80px; background: rgba(255,255,255,0.1); border-radius: 10px; border: 2px dashed rgba(255,182,193,0.4); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);">🤍</div>
<div style="color: rgba(255,255,255,0.6); font-size: 0.9em; margin-top: 5px;">Default</div>
<</if>>
<<else>>
<h3 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0;">Panties</h3>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.panties>>
<<if $wardrobe.rylan.panties === 'normalblack'>>
<img src="images/rylan/femboy/clothes/underwear/panties/normalblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Panties</div>
<<elseif $wardrobe.rylan.panties === 'normalpink'>>
<img src="images/rylan/femboy/clothes/underwear/panties/normalpink.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Pink Panties</div>
<<elseif $wardrobe.rylan.panties === 'normalpurple'>>
<img src="images/rylan/femboy/clothes/underwear/panties/normalpurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Panties</div>
<<else>>
<img src="images/rylan/femboy/clothes/underwear/panties/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🤍 White Panties</div>
<</if>>
<<else>>
<div style="width: 80px; height: 80px; background: rgba(255,255,255,0.1); border-radius: 10px; border: 2px dashed rgba(255,182,193,0.4); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);">🤍</div>
<div style="color: rgba(255,255,255,0.6); font-size: 0.9em; margin-top: 5px;">Default</div>
<</if>>
<</if>>
</div>
<<if $rylanFemboy == true>>
<!-- Legwear Preview (Femboy only) -->
<div style="text-align: center;">
<h3 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0;">Legwear</h3>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.legwear>>
<<if $wardrobe.rylan.legwear === 'knittedsocks'>>
<img src="images/rylan/femboy/clothes/underwear/legwear/knittedsocks.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🧦 Knitted Socks</div>
<<elseif $wardrobe.rylan.legwear === 'normalblack'>>
<img src="images/rylan/femboy/clothes/underwear/legwear/normalblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Socks</div>
<<elseif $wardrobe.rylan.legwear === 'normalpink'>>
<img src="images/rylan/femboy/clothes/underwear/legwear/normalpink.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Pink Socks</div>
<<elseif $wardrobe.rylan.legwear === 'normalpurple'>>
<img src="images/rylan/femboy/clothes/underwear/legwear/normalpurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Socks</div>
<<else>>
<img src="images/rylan/femboy/clothes/underwear/legwear/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🤍 White Socks</div>
<</if>>
<<else>>
<div style="width: 80px; height: 80px; background: rgba(255,255,255,0.1); border-radius: 10px; border: 2px dashed rgba(255,182,193,0.4); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);">🤍</div>
<div style="color: rgba(255,255,255,0.6); font-size: 0.9em; margin-top: 5px;">Default</div>
<</if>>
</div>
<</if>>
</div>
</div>
<div class="wardrobe-categories">
<!-- Bras Section (Only for Femboy) -->
<<if $rylanFemboy == true>>
<div class="wardrobe-section">
<h2 class="wardrobe-section-title">👙 Bras & Bralettes 👙</h2>
<p class="wardrobe-section-subtitle">Choose your perfect support</p>
<div class="wardrobe-grid">
<!-- Default White Bra (Always Available) -->
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.bra === 'normalwhite'>>
<div class="wardrobe-item selected">
<img src="images/rylan/femboy/clothes/underwear/bra/normalwhite.webp" alt="White Bra">
<div class="wardrobe-item-name">🤍 White Bra</div>
<div class="wardrobe-item-status">Currently Wearing</div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.bra = 'normalwhite'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/femboy/clothes/underwear/bra/normalwhite.webp" alt="White Bra">
<div class="wardrobe-item-name">🤍 White Bra</div>
<div class="wardrobe-item-status">Available</div>
</div>
<</if>>
<!-- Purchased Black Bra -->
<<if $purchasedClothing and $purchasedClothing.bra and $purchasedClothing.bra.normalblack>>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.bra === 'normalblack'>>
<div class="wardrobe-item selected">
<img src="images/rylan/femboy/clothes/underwear/bra/normalblack.webp" alt="Black Bra">
<div class="wardrobe-item-name">🖤 Black Bra</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.bra = 'normalblack'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/femboy/clothes/underwear/bra/normalblack.webp" alt="Black Bra">
<div class="wardrobe-item-name">🖤 Black Bra</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Pink Bra -->
<<if $purchasedClothing and $purchasedClothing.bra and $purchasedClothing.bra.normalpink>>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.bra === 'normalpink'>>
<div class="wardrobe-item selected">
<img src="images/rylan/femboy/clothes/underwear/bra/normalpink.webp" alt="Pink Bra">
<div class="wardrobe-item-name">💗 Pink Bra</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.bra = 'normalpink'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/femboy/clothes/underwear/bra/normalpink.webp" alt="Pink Bra">
<div class="wardrobe-item-name">💗 Pink Bra</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Purple Bra -->
<<if $purchasedClothing and $purchasedClothing.bra and $purchasedClothing.bra.normalpurple>>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.bra === 'normalpurple'>>
<div class="wardrobe-item selected">
<img src="images/rylan/femboy/clothes/underwear/bra/normalpurple.webp" alt="Purple Bra">
<div class="wardrobe-item-name">💜 Purple Bra</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.bra = 'normalpurple'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/femboy/clothes/underwear/bra/normalpurple.webp" alt="Purple Bra">
<div class="wardrobe-item-name">💜 Purple Bra</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<img src="images/rylan/femboy/clothes/underwear/bra/normalpurple.webp" alt="Purple Bra">
<div class="wardrobe-item-name">💜 Purple Bra</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
</div>
</div>
<</if>>
<!-- Panties Section -->
<div class="wardrobe-section">
<<if $rylanFemboy == false>>
<h2 class="wardrobe-section-title">🩲 Panties & Underwear 🩲</h2>
<p class="wardrobe-section-subtitle">Boxers and briefs for every occasion</p>
<<else>>
<h2 class="wardrobe-section-title">🩲 Panties & Underwear 🩲</h2>
<p class="wardrobe-section-subtitle">Comfortable and stylish</p>
<</if>>
<div class="wardrobe-grid">
<<if $rylanFemboy == false>>
<!-- Male Boxers - Same options as femboy but with 3x Eros -->
<!-- Default White Boxers (Always Available) -->
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.panties === 'normalwhite'>>
<div class="wardrobe-item selected">
<img src="images/rylan/male/clothes/underwear/panties/normalwhite.webp" alt="White Boxers">
<div class="wardrobe-item-name">🤍 White Boxers</div>
<div class="wardrobe-item-status">Currently Wearing</div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.panties = 'normalwhite'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/male/clothes/underwear/panties/normalwhite.webp" alt="White Boxers">
<div class="wardrobe-item-name">🤍 White Boxers</div>
<div class="wardrobe-item-status">Available</div>
</div>
<</if>>
<!-- Purchased Black Boxers -->
<<if $purchasedClothing and $purchasedClothing.panties and $purchasedClothing.panties.normalblack>>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.panties === 'normalblack'>>
<div class="wardrobe-item selected">
<img src="images/rylan/male/clothes/underwear/panties/normalblack.webp" alt="Black Boxers">
<div class="wardrobe-item-name">🖤 Black Boxers</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.panties = 'normalblack'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/male/clothes/underwear/panties/normalblack.webp" alt="Black Boxers">
<div class="wardrobe-item-name">🖤 Black Boxers</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<img src="images/rylan/male/clothes/underwear/panties/normalblack.webp" alt="Black Boxers">
<div class="wardrobe-item-name">🖤 Black Boxers</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<</if>>
<!-- Purchased Pink Boxers -->
<<if $purchasedClothing and $purchasedClothing.panties and $purchasedClothing.panties.normalpink>>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.panties === 'normalpink'>>
<div class="wardrobe-item selected">
<img src="images/rylan/male/clothes/underwear/panties/normalpink.webp" alt="Pink Boxers">
<div class="wardrobe-item-name">💗 Pink Boxers</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.panties = 'normalpink'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/male/clothes/underwear/panties/normalpink.webp" alt="Pink Boxers">
<div class="wardrobe-item-name">💗 Pink Boxers</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<img src="images/rylan/male/clothes/underwear/panties/normalpink.webp" alt="Pink Boxers">
<div class="wardrobe-item-name">💗 Pink Boxers</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<</if>>
<!-- Purchased Purple Boxers -->
<<if $purchasedClothing and $purchasedClothing.panties and $purchasedClothing.panties.normalpurple>>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.panties === 'normalpurple'>>
<div class="wardrobe-item selected">
<img src="images/rylan/male/clothes/underwear/panties/normalpurple.webp" alt="Purple Boxers">
<div class="wardrobe-item-name">💜 Purple Boxers</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+6 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.panties = 'normalpurple'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/male/clothes/underwear/panties/normalpurple.webp" alt="Purple Boxers">
<div class="wardrobe-item-name">💜 Purple Boxers</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+6 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<img src="images/rylan/male/clothes/underwear/panties/normalpurple.webp" alt="Purple Boxers">
<div class="wardrobe-item-name">💜 Purple Boxers</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+6 Eros</span></div>
</div>
<</if>>
<!-- Purchased White Briefs -->
<<if $purchasedClothing and $purchasedClothing.panties and $purchasedClothing.panties.briefswhite>>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.panties === 'briefswhite'>>
<div class="wardrobe-item selected">
<img src="images/rylan/male/clothes/underwear/briefs/briefswhite.webp" alt="White Briefs">
<div class="wardrobe-item-name">⚪ White Briefs</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.panties = 'briefswhite'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/male/clothes/underwear/briefs/briefswhite.webp" alt="White Briefs">
<div class="wardrobe-item-name">⚪ White Briefs</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Black Briefs -->
<<if $purchasedClothing and $purchasedClothing.panties and $purchasedClothing.panties.briefsblack>>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.panties === 'briefsblack'>>
<div class="wardrobe-item selected">
<img src="images/rylan/male/clothes/underwear/briefs/briefsblack.webp" alt="Black Briefs">
<div class="wardrobe-item-name">🖤 Black Briefs</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.panties = 'briefsblack'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/male/clothes/underwear/briefs/briefsblack.webp" alt="Black Briefs">
<div class="wardrobe-item-name">🖤 Black Briefs</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Pink Briefs -->
<<if $purchasedClothing and $purchasedClothing.panties and $purchasedClothing.panties.briefspink>>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.panties === 'briefspink'>>
<div class="wardrobe-item selected">
<img src="images/rylan/male/clothes/underwear/briefs/briefspink.webp" alt="Pink Briefs">
<div class="wardrobe-item-name">💗 Pink Briefs</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.panties = 'briefspink'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/male/clothes/underwear/briefs/briefspink.webp" alt="Pink Briefs">
<div class="wardrobe-item-name">💗 Pink Briefs</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Purple Briefs -->
<<if $purchasedClothing and $purchasedClothing.panties and $purchasedClothing.panties.briefspurple>>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.panties === 'briefspurple'>>
<div class="wardrobe-item selected">
<img src="images/rylan/male/clothes/underwear/briefs/briefspurple.webp" alt="Purple Briefs">
<div class="wardrobe-item-name">💜 Purple Briefs</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+6 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.panties = 'briefspurple'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/male/clothes/underwear/briefs/briefspurple.webp" alt="Purple Briefs">
<div class="wardrobe-item-name">💜 Purple Briefs</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+6 Eros</span></div>
</div>
<</if>>
<</if>>
<<else>>
<!-- Femboy Panties -->
<!-- Default White Panties (Always Available) -->
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.panties === 'normalwhite'>>
<div class="wardrobe-item selected">
<img src="images/rylan/femboy/clothes/underwear/panties/normalwhite.webp" alt="White Panties">
<div class="wardrobe-item-name">🤍 White Panties</div>
<div class="wardrobe-item-status">Currently Wearing</div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.panties = 'normalwhite'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/femboy/clothes/underwear/panties/normalwhite.webp" alt="White Panties">
<div class="wardrobe-item-name">🤍 White Panties</div>
<div class="wardrobe-item-status">Available</div>
</div>
<</if>>
<!-- Purchased Black Panties -->
<<if $purchasedClothing and $purchasedClothing.panties and $purchasedClothing.panties.normalblack>>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.panties === 'normalblack'>>
<div class="wardrobe-item selected">
<img src="images/rylan/femboy/clothes/underwear/panties/normalblack.webp" alt="Black Panties">
<div class="wardrobe-item-name">🖤 Black Panties</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.panties = 'normalblack'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/femboy/clothes/underwear/panties/normalblack.webp" alt="Black Panties">
<div class="wardrobe-item-name">🖤 Black Panties</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Pink Panties -->
<<if $purchasedClothing and $purchasedClothing.panties and $purchasedClothing.panties.normalpink>>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.panties === 'normalpink'>>
<div class="wardrobe-item selected">
<img src="images/rylan/femboy/clothes/underwear/panties/normalpink.webp" alt="Pink Panties">
<div class="wardrobe-item-name">💗 Pink Panties</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.panties = 'normalpink'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/femboy/clothes/underwear/panties/normalpink.webp" alt="Pink Panties">
<div class="wardrobe-item-name">💗 Pink Panties</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<!-- Purchased Purple Panties -->
<<if $purchasedClothing and $purchasedClothing.panties and $purchasedClothing.panties.normalpurple>>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.panties === 'normalpurple'>>
<div class="wardrobe-item selected">
<img src="images/rylan/femboy/clothes/underwear/panties/normalpurple.webp" alt="Purple Panties">
<div class="wardrobe-item-name">💜 Purple Panties</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.panties = 'normalpurple'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/femboy/clothes/underwear/panties/normalpurple.webp" alt="Purple Panties">
<div class="wardrobe-item-name">💜 Purple Panties</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<img src="images/rylan/femboy/clothes/underwear/panties/normalpurple.webp" alt="Purple Panties">
<div class="wardrobe-item-name">💜 Purple Panties</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
<</if>>
<</if>>
</div>
</div>
<!-- Legwear Section (Only for Femboy) -->
<<if $rylanFemboy == true>>
<div class="wardrobe-section">
<h2 class="wardrobe-section-title">🧦 Legwear & Socks 🧦</h2>
<p class="wardrobe-section-subtitle">Cozy and stylish leg accessories</p>
<div class="wardrobe-grid">
<!-- Default White Socks (Always Available) -->
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.legwear === 'normalwhite'>>
<div class="wardrobe-item selected">
<img src="images/rylan/femboy/clothes/underwear/legwear/normalwhite.webp" alt="White Socks">
<div class="wardrobe-item-name">🤍 White Socks</div>
<div class="wardrobe-item-status">Currently Wearing</div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.legwear = 'normalwhite'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/femboy/clothes/underwear/legwear/normalwhite.webp" alt="White Socks">
<div class="wardrobe-item-name">🤍 White Socks</div>
<div class="wardrobe-item-status">Available</div>
</div>
<</if>>
<!-- Purchased Knitted Socks -->
<<if $purchasedClothing and $purchasedClothing.legwear and $purchasedClothing.legwear.knittedsocks>>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.legwear === 'knittedsocks'>>
<div class="wardrobe-item selected">
<img src="images/rylan/femboy/clothes/underwear/legwear/knittedsocks.webp" alt="Knitted Socks">
<div class="wardrobe-item-name">🧦 Knitted Socks</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.legwear = 'knittedsocks'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/femboy/clothes/underwear/legwear/knittedsocks.webp" alt="Knitted Socks">
<div class="wardrobe-item-name">🧦 Knitted Socks</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Black Socks -->
<<if $purchasedClothing and $purchasedClothing.legwear and $purchasedClothing.legwear.normalblack>>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.legwear === 'normalblack'>>
<div class="wardrobe-item selected">
<img src="images/rylan/femboy/clothes/underwear/legwear/normalblack.webp" alt="Black Socks">
<div class="wardrobe-item-name">🖤 Black Socks</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.legwear = 'normalblack'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/femboy/clothes/underwear/legwear/normalblack.webp" alt="Black Socks">
<div class="wardrobe-item-name">🖤 Black Socks</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Pink Socks -->
<<if $purchasedClothing and $purchasedClothing.legwear and $purchasedClothing.legwear.normalpink>>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.legwear === 'normalpink'>>
<div class="wardrobe-item selected">
<img src="images/rylan/femboy/clothes/underwear/legwear/normalpink.webp" alt="Pink Socks">
<div class="wardrobe-item-name">💗 Pink Socks</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.legwear = 'normalpink'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/femboy/clothes/underwear/legwear/normalpink.webp" alt="Pink Socks">
<div class="wardrobe-item-name">💗 Pink Socks</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Purple Socks -->
<<if $purchasedClothing and $purchasedClothing.legwear and $purchasedClothing.legwear.normalpurple>>
<<if $wardrobe and $wardrobe.rylan and $wardrobe.rylan.legwear === 'normalpurple'>>
<div class="wardrobe-item selected">
<img src="images/rylan/femboy/clothes/underwear/legwear/normalpurple.webp" alt="Purple Socks">
<div class="wardrobe-item-name">💜 Purple Socks</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.rylan.legwear = 'normalpurple'; SugarCube.Engine.play('WardrobeRylan');">
<img src="images/rylan/femboy/clothes/underwear/legwear/normalpurple.webp" alt="Purple Socks">
<div class="wardrobe-item-name">💜 Purple Socks</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<img src="images/rylan/femboy/clothes/underwear/legwear/normalpurple.webp" alt="Purple Socks">
<div class="wardrobe-item-name">💜 Purple Socks</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
</div>
</div>
<</if>>
</div>
</div>
<div class="wardrobe-footer">
<div class="wardrobe-footer-content">
<p class="wardrobe-footer-text">✨ Mix and Match Your Style ✨</p>
<p class="wardrobe-footer-subtitle">"Fashion is what you make it, darling."</p>
</div>
<div style="margin-top: 40px;">
<div style="text-align: center;">
<div class="wardrobe-button" onclick="SugarCube.Engine.play('MorningActivityChoices')">
🚪 Leave the Wardrobe
</div>
</div>
</div>
</div>
</div>
</div>
<</nobr>>
<<silently>>
<<pov "rylan" "soratheme.mp3">>
<</silently>><<set $previousPassage = previous()>>
<<if not $wardrobe>>
<<set $wardrobe = {}>>
<</if>>
<<if not $wardrobe.serin>>
<<set $wardrobe.serin = {bra: 'normalwhite', panties: 'normalwhite', legwear: 'normalwhite'}>>
<</if>>
<<nobr>>
<style>
@keyframes wardrobeFloat {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-8px); }
}
@keyframes wardrobeGlow {
0%, 100% { box-shadow: 0 0 20px rgba(255,182,193,0.5); }
50% { box-shadow: 0 0 30px rgba(255,182,193,0.8), 0 0 40px rgba(255,105,180,0.6); }
}
@keyframes wardrobeShimmer {
0% { background-position: -200% center; }
100% { background-position: 200% center; }
}
.wardrobe-container {
background: linear-gradient(135deg, rgba(255,182,193,0.9), rgba(255,105,180,0.9), rgba(221,160,221,0.9), rgba(255,20,147,0.8));
min-height: 100vh;
padding: 20px;
margin: 0;
position: relative;
overflow: hidden;
}
.wardrobe-header {
background: linear-gradient(145deg, rgba(45,45,50,0.95), rgba(60,60,70,0.9));
border: 3px solid rgba(255,182,193,0.8);
padding: 30px;
text-align: center;
border-radius: 20px;
margin-bottom: 30px;
position: relative;
backdrop-filter: blur(10px);
box-shadow: 0 20px 40px rgba(0,0,0,0.3);
animation: wardrobeGlow 3s ease-in-out infinite;
}
.wardrobe-header::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 3s infinite;
pointer-events: none;
}
.wardrobe-title {
color: #FFB6C1;
font-size: 3.2em;
font-weight: bold;
margin: 0;
text-shadow: 0 0 20px rgba(255,182,193,0.8), 2px 2px 6px rgba(0,0,0,0.8);
background: linear-gradient(45deg, #FFB6C1, #FF69B4, #DDA0DD, #FFB6C1);
background-size: 400% 400%;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
animation: wardrobeShimmer 3s ease-in-out infinite;
}
.wardrobe-subtitle {
color: rgba(255,255,255,0.95);
font-size: 1.4em;
margin: 15px 0 0 0;
font-style: italic;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.character-nav {
background: linear-gradient(145deg, rgba(45,45,50,0.9), rgba(60,60,70,0.85));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 15px;
padding: 20px;
margin-bottom: 30px;
display: flex;
justify-content: center;
gap: 15px;
flex-wrap: wrap;
backdrop-filter: blur(5px);
box-shadow: 0 10px 25px rgba(0,0,0,0.3);
}
.character-nav-button {
background: linear-gradient(145deg, rgba(255,182,193,0.3), rgba(255,105,180,0.2));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 10px;
padding: 12px 20px;
color: white;
font-weight: bold;
text-decoration: none;
transition: all 0.3s ease;
cursor: pointer;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
}
.character-nav-button:hover {
transform: scale(1.05);
box-shadow: 0 8px 20px rgba(255,182,193,0.4);
border-color: rgba(255,182,193,0.9);
color: white;
text-decoration: none;
}
.character-nav-button.active {
background: linear-gradient(145deg, rgba(0,255,0,0.3), rgba(0,200,0,0.2));
border-color: rgba(0,255,0,0.8);
box-shadow: 0 8px 20px rgba(0,255,0,0.3);
}
.wardrobe-content {
max-width: 1200px;
margin: 0 auto;
}
.wardrobe-categories {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
gap: 30px;
margin: 30px 0;
}
.wardrobe-section {
background: linear-gradient(145deg, rgba(255,182,193,0.25), rgba(255,105,180,0.2));
border: 3px solid rgba(255,182,193,0.7);
border-radius: 20px;
padding: 30px;
position: relative;
backdrop-filter: blur(5px);
box-shadow: 0 15px 35px rgba(255,182,193,0.3);
animation: wardrobeFloat 5s ease-in-out infinite;
}
.wardrobe-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 4s infinite;
pointer-events: none;
}
.wardrobe-section-title {
color: #FFB6C1;
font-size: 2.4em;
font-weight: bold;
margin: 0 0 20px 0;
text-align: center;
text-shadow: 0 0 15px rgba(255,182,193,0.8);
animation: wardrobeFloat 3s ease-in-out infinite;
}
.wardrobe-section-subtitle {
color: rgba(255,255,255,0.95);
font-size: 1.2em;
text-align: center;
margin-bottom: 30px;
font-style: italic;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
}
.wardrobe-item {
background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,182,193,0.15));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 15px;
padding: 20px;
cursor: pointer;
text-align: center;
position: relative;
box-shadow: 0 8px 20px rgba(255,182,193,0.3);
transition: all 0.3s ease;
animation: wardrobeFloat 6s ease-in-out infinite;
}
.wardrobe-item:hover {
transform: scale(1.05);
box-shadow: 0 12px 30px rgba(255,182,193,0.5);
border-color: rgba(255,182,193,0.9);
}
.wardrobe-item.selected {
background: linear-gradient(145deg, rgba(0,255,0,0.2), rgba(0,200,0,0.15));
border: 2px solid rgba(0,255,0,0.8);
box-shadow: 0 8px 20px rgba(0,255,0,0.3);
}
.wardrobe-item.selected:hover {
box-shadow: 0 12px 30px rgba(0,255,0,0.5);
border-color: rgba(0,255,0,1);
}
.wardrobe-item img {
width: 90px;
height: 90px;
object-fit: cover;
border-radius: 12px;
margin-bottom: 15px;
border: 3px solid rgba(255,182,193,0.5);
box-shadow: 0 5px 15px rgba(255,182,193,0.4);
}
.wardrobe-item.selected img {
border: 3px solid rgba(0,255,0,0.6);
box-shadow: 0 5px 15px rgba(0,255,0,0.4);
}
.wardrobe-item-name {
color: white;
font-weight: bold;
font-size: 1.1em;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
margin-bottom: 10px;
}
.wardrobe-item-status {
color: #FFB6C1;
font-size: 1em;
font-weight: bold;
text-shadow: 0 0 8px rgba(255,182,193,0.8);
background: rgba(0,0,0,0.3);
padding: 5px 10px;
border-radius: 8px;
}
.wardrobe-item.selected .wardrobe-item-status {
color: #00FF00;
text-shadow: 0 0 8px rgba(0,255,0,0.8);
}
.wardrobe-footer {
background: linear-gradient(145deg, rgba(45,45,50,0.95), rgba(60,60,70,0.9));
border: 3px solid rgba(255,182,193,0.8);
padding: 40px;
text-align: center;
border-radius: 20px;
margin-top: 30px;
position: relative;
backdrop-filter: blur(10px);
box-shadow: 0 20px 40px rgba(0,0,0,0.3);
animation: wardrobeGlow 3s ease-in-out infinite;
}
.wardrobe-footer::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 3s infinite;
pointer-events: none;
}
.wardrobe-footer-content {
background: linear-gradient(135deg, rgba(255,182,193,0.2), rgba(255,105,180,0.2));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 20px;
padding: 25px;
margin: 0 auto;
max-width: 700px;
box-shadow: 0 10px 25px rgba(255,182,193,0.3);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-footer-text {
color: #FFB6C1;
font-size: 1.4em;
font-weight: bold;
margin: 0 0 15px 0;
text-shadow: 0 0 15px rgba(255,182,193,0.8);
animation: wardrobeFloat 3s ease-in-out infinite;
}
.wardrobe-footer-subtitle {
color: rgba(255,255,255,0.9);
font-size: 1.2em;
margin: 0;
font-style: italic;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-button {
background: linear-gradient(45deg, #FFB6C1, #FF69B4);
border: 2px solid rgba(255,182,193,0.8);
border-radius: 15px;
padding: 15px 30px;
color: white;
font-weight: bold;
text-decoration: none;
display: inline-block;
box-shadow: 0 8px 20px rgba(255,182,193,0.4);
transition: all 0.3s ease;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
cursor: pointer;
animation: wardrobeFloat 5s ease-in-out infinite;
}
.wardrobe-button:hover {
transform: scale(1.1);
box-shadow: 0 12px 30px rgba(255,182,193,0.6);
color: white;
text-decoration: none;
}
.wardrobe-button:active {
transform: scale(1.05);
}
</style>
<div class="wardrobe-container">
<div class="wardrobe-header">
<h1 class="wardrobe-title">✨ WARDROBE ✨</h1>
<p class="wardrobe-subtitle">Dress to Impress</p>
</div>
<!-- Character Navigation Bar -->
<div style="position: fixed; top: 0; left: 320px; right: 310px; z-index: 1000; background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(240, 240, 240, 0.98)); border-bottom: 2px solid rgba(255, 215, 0, 0.8); box-shadow: 0 2px 8px rgba(0,0,0,0.3); padding: 8px 0;">
<div style="display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap;">
<!-- Mariel -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 182, 193, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 182, 193, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 182, 193, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 182, 193, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeMariel')">
<div style="position: relative;">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $marielInitiatedScenes and $marielInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$marielInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFB6C1; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel</span>
</div>
<!-- Liora -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 192, 203, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 192, 203, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 192, 203, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 192, 203, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeLiora')">
<div style="position: relative;">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $lioraInitiatedScenes and $lioraInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$lioraInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFC0CB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Liora</span>
</div>
<!-- Serin -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 105, 180, 0.4); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 105, 180, 0.6); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 105, 180, 0.6)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 105, 180, 0.4)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeSerin')">
<div style="position: relative;">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serinInitiatedScenes and $serinInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serinInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FF69B4; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin</span>
</div>
<!-- Nimeria -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(221, 160, 221, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(221, 160, 221, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(221, 160, 221, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(221, 160, 221, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeNimeria')">
<div style="position: relative;">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $nimeriaInitiatedScenes and $nimeriaInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$nimeriaInitiatedScenes</div>
<</if>>
</div>
<span style="color: #DDA0DD; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Nimeria</span>
</div>
<!-- Seryk -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(240, 230, 140, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(240, 230, 140, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(240, 230, 140, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(240, 230, 140, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeSeryk')">
<div style="position: relative;">
<img src="images/seryk/chapter2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serykInitiatedScenes and $serykInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serykInitiatedScenes</div>
<</if>>
</div>
<span style="color: #F0E68C; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Seryk</span>
</div>
<!-- humanName -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(135, 206, 235, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(135, 206, 235, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(135, 206, 235, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(135, 206, 235, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeRylan')">
<div style="position: relative;">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<<if $humanInitiatedScenes and $humanInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$humanInitiatedScenes</div>
<</if>>
</div>
<span style="color: #87CEEB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">$humanName</span>
</div>
<!-- Thalor -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 165, 0, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 165, 0, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 165, 0, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 165, 0, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeThalor')">
<div style="position: relative;">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $thalorInitiatedScenes and $thalorInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$thalorInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFA500; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Thalor</span>
</div>
</div>
</div>
<!-- Add top margin to account for fixed bar -->
<div style="margin-top: 60px;">
<div class="wardrobe-content">
<!-- Current Outfit Preview -->
<div class="current-outfit-preview" style="background: linear-gradient(145deg, rgba(255,182,193,0.2), rgba(255,105,180,0.2)); border: 3px solid rgba(255,182,193,0.6); border-radius: 20px; padding: 30px; margin-bottom: 30px; text-align: center;">
<h2 style="color: #FFB6C1; font-size: 2em; margin: 0 0 20px 0; text-shadow: 0 0 10px rgba(255,182,193,0.8);">✨ Serin's Current Outfit ✨</h2>
<div style="display: flex; justify-content: center; gap: 30px; flex-wrap: wrap;">
<!-- Bra Preview -->
<div style="text-align: center;">
<h3 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0;">Bra</h3>
<<if $wardrobe and $wardrobe.serin and $wardrobe.serin.bra>>
<<if $wardrobe.serin.bra === 'normalblack'>>
<img src="images/serin/clothes/underwear/bra/normalblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Bra</div>
<<elseif $wardrobe.serin.bra === 'normalpink'>>
<img src="images/serin/clothes/underwear/bra/normalpink.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Pink Bra</div>
<<elseif $wardrobe.serin.bra === 'normalpurple'>>
<img src="images/serin/clothes/underwear/bra/normalpurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Bra</div>
<<else>>
<img src="images/serin/clothes/underwear/bra/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🤍 White Bra</div>
<</if>>
<<else>>
<div style="width: 80px; height: 80px; background: rgba(255,255,255,0.1); border-radius: 10px; border: 2px dashed rgba(255,182,193,0.4); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);">🤍</div>
<div style="color: rgba(255,255,255,0.6); font-size: 0.9em; margin-top: 5px;">Default</div>
<</if>>
</div>
<!-- Panties Preview -->
<div style="text-align: center;">
<h3 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0;">Panties</h3>
<<if $wardrobe and $wardrobe.serin and $wardrobe.serin.panties>>
<<if $wardrobe.serin.panties === 'normalblack'>>
<<if $serinFutanari>>
<img src="images/serin/clothes/underwear/panties/futa/normalblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<<else>>
<img src="images/serin/clothes/underwear/panties/normalblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<</if>>
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Panties</div>
<<elseif $wardrobe.serin.panties === 'normalpink'>>
<<if $serinFutanari>>
<img src="images/serin/clothes/underwear/panties/futa/normalpink.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<<else>>
<img src="images/serin/clothes/underwear/panties/normalpink.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<</if>>
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Pink Panties</div>
<<elseif $wardrobe.serin.panties === 'normalpurple'>>
<<if $serinFutanari>>
<img src="images/serin/clothes/underwear/panties/futa/normalpurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<<else>>
<img src="images/serin/clothes/underwear/panties/normalpurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<</if>>
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Panties</div>
<<else>>
<<if $serinFutanari>>
<img src="images/serin/clothes/underwear/panties/futa/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<<else>>
<img src="images/serin/clothes/underwear/panties/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<</if>>
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🤍 White Panties</div>
<</if>>
<<else>>
<div style="width: 80px; height: 80px; background: rgba(255,255,255,0.1); border-radius: 10px; border: 2px dashed rgba(255,182,193,0.4); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);">🤍</div>
<div style="color: rgba(255,255,255,0.6); font-size: 0.9em; margin-top: 5px;">Default</div>
<</if>>
</div>
<!-- Legwear Preview -->
<div style="text-align: center;">
<h3 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0;">Legwear</h3>
<<if $wardrobe and $wardrobe.serin and $wardrobe.serin.legwear>>
<<if $wardrobe.serin.legwear === 'knittedsocks'>>
<img src="images/serin/clothes/underwear/legwear/knittedsocks.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🧦 Knitted Socks</div>
<<elseif $wardrobe.serin.legwear === 'normalblack'>>
<img src="images/serin/clothes/underwear/legwear/normalblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Socks</div>
<<elseif $wardrobe.serin.legwear === 'normalpink'>>
<img src="images/serin/clothes/underwear/legwear/normalpink.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Pink Socks</div>
<<elseif $wardrobe.serin.legwear === 'normalpurple'>>
<img src="images/serin/clothes/underwear/legwear/normalpurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Socks</div>
<<else>>
<img src="images/serin/clothes/underwear/legwear/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🤍 White Socks</div>
<</if>>
<<else>>
<div style="width: 80px; height: 80px; background: rgba(255,255,255,0.1); border-radius: 10px; border: 2px dashed rgba(255,182,193,0.4); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);">🤍</div>
<div style="color: rgba(255,255,255,0.6); font-size: 0.9em; margin-top: 5px;">Default</div>
<</if>>
</div>
</div>
</div>
<div class="wardrobe-categories">
<!-- Bras Section -->
<div class="wardrobe-section">
<h2 class="wardrobe-section-title">👙 Bras & Bralettes 👙</h2>
<p class="wardrobe-section-subtitle">Choose your perfect support</p>
<div class="wardrobe-grid">
<!-- Default White Bra (Always Available) -->
<<if $wardrobe and $wardrobe.serin and $wardrobe.serin.bra === 'normalwhite'>>
<div class="wardrobe-item selected">
<img src="images/serin/clothes/underwear/bra/normalwhite.webp" alt="White Bra">
<div class="wardrobe-item-name">🤍 White Bra</div>
<div class="wardrobe-item-status">Currently Wearing</div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.serin.bra = 'normalwhite'; SugarCube.Engine.play('WardrobeSerin');">
<img src="images/serin/clothes/underwear/bra/normalwhite.webp" alt="White Bra">
<div class="wardrobe-item-name">🤍 White Bra</div>
<div class="wardrobe-item-status">Available</div>
</div>
<</if>>
<!-- Purchased Black Bra -->
<<if $purchasedClothingSerin and $purchasedClothingSerin.bra and $purchasedClothingSerin.bra.normalblack>>
<<if $wardrobe and $wardrobe.serin and $wardrobe.serin.bra === 'normalblack'>>
<div class="wardrobe-item selected">
<img src="images/serin/clothes/underwear/bra/normalblack.webp" alt="Black Bra">
<div class="wardrobe-item-name">🖤 Black Bra</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.serin.bra = 'normalblack'; SugarCube.Engine.play('WardrobeSerin');">
<img src="images/serin/clothes/underwear/bra/normalblack.webp" alt="Black Bra">
<div class="wardrobe-item-name">🖤 Black Bra</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Pink Bra -->
<<if $purchasedClothingSerin and $purchasedClothingSerin.bra and $purchasedClothingSerin.bra.normalpink>>
<<if $wardrobe and $wardrobe.serin and $wardrobe.serin.bra === 'normalpink'>>
<div class="wardrobe-item selected">
<img src="images/serin/clothes/underwear/bra/normalpink.webp" alt="Pink Bra">
<div class="wardrobe-item-name">💗 Pink Bra</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.serin.bra = 'normalpink'; SugarCube.Engine.play('WardrobeSerin');">
<img src="images/serin/clothes/underwear/bra/normalpink.webp" alt="Pink Bra">
<div class="wardrobe-item-name">💗 Pink Bra</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Purple Bra -->
<<if $purchasedClothingSerin and $purchasedClothingSerin.bra and $purchasedClothingSerin.bra.normalpurple>>
<<if $wardrobe and $wardrobe.serin and $wardrobe.serin.bra === 'normalpurple'>>
<div class="wardrobe-item selected">
<img src="images/serin/clothes/underwear/bra/normalpurple.webp" alt="Purple Bra">
<div class="wardrobe-item-name">💜 Purple Bra</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.serin.bra = 'normalpurple'; SugarCube.Engine.play('WardrobeSerin');">
<img src="images/serin/clothes/underwear/bra/normalpurple.webp" alt="Purple Bra">
<div class="wardrobe-item-name">💜 Purple Bra</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<img src="images/serin/clothes/underwear/bra/normalpurple.webp" alt="Purple Bra">
<div class="wardrobe-item-name">💜 Purple Bra</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
</div>
</div>
<!-- Panties Section -->
<div class="wardrobe-section">
<h2 class="wardrobe-section-title">🩲 Panties & Underwear 🩲</h2>
<p class="wardrobe-section-subtitle">Comfortable and stylish</p>
<div class="wardrobe-grid">
<!-- Default White Panties (Always Available) -->
<<if $wardrobe and $wardrobe.serin and $wardrobe.serin.panties === 'normalwhite'>>
<div class="wardrobe-item selected">
<<if $serinFutanari>>
<img src="images/serin/clothes/underwear/panties/futa/normalwhite.webp" alt="White Panties">
<<else>>
<img src="images/serin/clothes/underwear/panties/normalwhite.webp" alt="White Panties">
<</if>>
<div class="wardrobe-item-name">🤍 White Panties</div>
<div class="wardrobe-item-status">Currently Wearing</div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.serin.panties = 'normalwhite'; SugarCube.Engine.play('WardrobeSerin');">
<<if $serinFutanari>>
<img src="images/serin/clothes/underwear/panties/futa/normalwhite.webp" alt="White Panties">
<<else>>
<img src="images/serin/clothes/underwear/panties/normalwhite.webp" alt="White Panties">
<</if>>
<div class="wardrobe-item-name">🤍 White Panties</div>
<div class="wardrobe-item-status">Available</div>
</div>
<</if>>
<!-- Purchased Black Panties -->
<<if $purchasedClothingSerin and $purchasedClothingSerin.panties and $purchasedClothingSerin.panties.normalblack>>
<<if $wardrobe and $wardrobe.serin and $wardrobe.serin.panties === 'normalblack'>>
<div class="wardrobe-item selected">
<<if $serinFutanari>>
<img src="images/serin/clothes/underwear/panties/futa/normalblack.webp" alt="Black Panties">
<<else>>
<img src="images/serin/clothes/underwear/panties/normalblack.webp" alt="Black Panties">
<</if>>
<div class="wardrobe-item-name">🖤 Black Panties</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.serin.panties = 'normalblack'; SugarCube.Engine.play('WardrobeSerin');">
<<if $serinFutanari>>
<img src="images/serin/clothes/underwear/panties/futa/normalblack.webp" alt="Black Panties">
<<else>>
<img src="images/serin/clothes/underwear/panties/normalblack.webp" alt="Black Panties">
<</if>>
<div class="wardrobe-item-name">🖤 Black Panties</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Pink Panties -->
<<if $purchasedClothingSerin and $purchasedClothingSerin.panties and $purchasedClothingSerin.panties.normalpink>>
<<if $wardrobe and $wardrobe.serin and $wardrobe.serin.panties === 'normalpink'>>
<div class="wardrobe-item selected">
<<if $serinFutanari>>
<img src="images/serin/clothes/underwear/panties/futa/normalpink.webp" alt="Pink Panties">
<<else>>
<img src="images/serin/clothes/underwear/panties/normalpink.webp" alt="Pink Panties">
<</if>>
<div class="wardrobe-item-name">💗 Pink Panties</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.serin.panties = 'normalpink'; SugarCube.Engine.play('WardrobeSerin');">
<<if $serinFutanari>>
<img src="images/serin/clothes/underwear/panties/futa/normalpink.webp" alt="Pink Panties">
<<else>>
<img src="images/serin/clothes/underwear/panties/normalpink.webp" alt="Pink Panties">
<</if>>
<div class="wardrobe-item-name">💗 Pink Panties</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Purple Panties -->
<<if $purchasedClothingSerin and $purchasedClothingSerin.panties and $purchasedClothingSerin.panties.normalpurple>>
<<if $wardrobe and $wardrobe.serin and $wardrobe.serin.panties === 'normalpurple'>>
<div class="wardrobe-item selected">
<<if $serinFutanari>>
<img src="images/serin/clothes/underwear/panties/futa/normalpurple.webp" alt="Purple Panties">
<<else>>
<img src="images/serin/clothes/underwear/panties/normalpurple.webp" alt="Purple Panties">
<</if>>
<div class="wardrobe-item-name">💜 Purple Panties</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.serin.panties = 'normalpurple'; SugarCube.Engine.play('WardrobeSerin');">
<<if $serinFutanari>>
<img src="images/serin/clothes/underwear/panties/futa/normalpurple.webp" alt="Purple Panties">
<<else>>
<img src="images/serin/clothes/underwear/panties/normalpurple.webp" alt="Purple Panties">
<</if>>
<div class="wardrobe-item-name">💜 Purple Panties</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<<if $serinFutanari>>
<img src="images/serin/clothes/underwear/panties/futa/normalpurple.webp" alt="Purple Panties">
<<else>>
<img src="images/serin/clothes/underwear/panties/normalpurple.webp" alt="Purple Panties">
<</if>>
<div class="wardrobe-item-name">💜 Purple Panties</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
</div>
</div>
<!-- Legwear Section -->
<div class="wardrobe-section">
<h2 class="wardrobe-section-title">🧦 Legwear & Socks 🧦</h2>
<p class="wardrobe-section-subtitle">Cozy and stylish leg accessories</p>
<div class="wardrobe-grid">
<!-- Default White Socks (Always Available) -->
<<if $wardrobe and $wardrobe.serin and $wardrobe.serin.legwear === 'normalwhite'>>
<div class="wardrobe-item selected">
<img src="images/serin/clothes/underwear/legwear/normalwhite.webp" alt="White Socks">
<div class="wardrobe-item-name">🤍 White Socks</div>
<div class="wardrobe-item-status">Currently Wearing</div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.serin.legwear = 'normalwhite'; SugarCube.Engine.play('WardrobeSerin');">
<img src="images/serin/clothes/underwear/legwear/normalwhite.webp" alt="White Socks">
<div class="wardrobe-item-name">🤍 White Socks</div>
<div class="wardrobe-item-status">Available</div>
</div>
<</if>>
<!-- Purchased Black Socks -->
<<if $purchasedClothingSerin and $purchasedClothingSerin.legwear and $purchasedClothingSerin.legwear.normalblack>>
<<if $wardrobe and $wardrobe.serin and $wardrobe.serin.legwear === 'normalblack'>>
<div class="wardrobe-item selected">
<img src="images/serin/clothes/underwear/legwear/normalblack.webp" alt="Black Socks">
<div class="wardrobe-item-name">🖤 Black Socks</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.serin.legwear = 'normalblack'; SugarCube.Engine.play('WardrobeSerin');">
<img src="images/serin/clothes/underwear/legwear/normalblack.webp" alt="Black Socks">
<div class="wardrobe-item-name">🖤 Black Socks</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Pink Socks -->
<<if $purchasedClothingSerin and $purchasedClothingSerin.legwear and $purchasedClothingSerin.legwear.normalpink>>
<<if $wardrobe and $wardrobe.serin and $wardrobe.serin.legwear === 'normalpink'>>
<div class="wardrobe-item selected">
<img src="images/serin/clothes/underwear/legwear/normalpink.webp" alt="Pink Socks">
<div class="wardrobe-item-name">💗 Pink Socks</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.serin.legwear = 'normalpink'; SugarCube.Engine.play('WardrobeSerin');">
<img src="images/serin/clothes/underwear/legwear/normalpink.webp" alt="Pink Socks">
<div class="wardrobe-item-name">💗 Pink Socks</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Purple Socks -->
<<if $purchasedClothingSerin and $purchasedClothingSerin.legwear and $purchasedClothingSerin.legwear.normalpurple>>
<<if $wardrobe and $wardrobe.serin and $wardrobe.serin.legwear === 'normalpurple'>>
<div class="wardrobe-item selected">
<img src="images/serin/clothes/underwear/legwear/normalpurple.webp" alt="Purple Socks">
<div class="wardrobe-item-name">💜 Purple Socks</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.serin.legwear = 'normalpurple'; SugarCube.Engine.play('WardrobeSerin');">
<img src="images/serin/clothes/underwear/legwear/normalpurple.webp" alt="Purple Socks">
<div class="wardrobe-item-name">💜 Purple Socks</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<img src="images/serin/clothes/underwear/legwear/normalpurple.webp" alt="Purple Socks">
<div class="wardrobe-item-name">💜 Purple Socks</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+2 Eros</span></div>
</div>
<</if>>
</div>
</div>
</div>
</div>
<div class="wardrobe-footer">
<div class="wardrobe-footer-content">
<p class="wardrobe-footer-text">✨ Mix and Match Your Style ✨</p>
<p class="wardrobe-footer-subtitle">"Fashion is what you make it, darling."</p>
</div>
<div style="margin-top: 40px;">
<div style="text-align: center;">
<div class="wardrobe-button" onclick="SugarCube.Engine.play('MorningActivityChoices')">
🚪 Leave the Wardrobe
</div>
</div>
</div>
</div>
</div>
</div>
<</nobr>>
<<silently>>
<<pov "serin" "soratheme.mp3">>
<</silently>><<set $previousPassage = previous()>>
<<if not $wardrobe>>
<<set $wardrobe = {}>>
<</if>>
<<if not $wardrobe.seryk>>
<<set $wardrobe.seryk = {bra: 'normalwhite', panties: 'normalwhite', legwear: 'normalwhite'}>>
<</if>>
<<nobr>>
<style>
@keyframes wardrobeFloat {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-8px); }
}
@keyframes wardrobeGlow {
0%, 100% { box-shadow: 0 0 20px rgba(255,182,193,0.5); }
50% { box-shadow: 0 0 30px rgba(255,182,193,0.8), 0 0 40px rgba(255,105,180,0.6); }
}
@keyframes wardrobeShimmer {
0% { background-position: -200% center; }
100% { background-position: 200% center; }
}
.wardrobe-container {
background: linear-gradient(135deg, rgba(255,182,193,0.9), rgba(255,105,180,0.9), rgba(221,160,221,0.9), rgba(255,20,147,0.8));
min-height: 100vh;
padding: 20px;
margin: 0;
position: relative;
overflow: hidden;
}
.wardrobe-header {
background: linear-gradient(145deg, rgba(45,45,50,0.95), rgba(60,60,70,0.9));
border: 3px solid rgba(255,182,193,0.8);
padding: 30px;
text-align: center;
border-radius: 20px;
margin-bottom: 30px;
position: relative;
backdrop-filter: blur(10px);
box-shadow: 0 20px 40px rgba(0,0,0,0.3);
animation: wardrobeGlow 3s ease-in-out infinite;
}
.wardrobe-header::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 3s infinite;
pointer-events: none;
}
.wardrobe-title {
color: #FFB6C1;
font-size: 3.2em;
font-weight: bold;
margin: 0;
text-shadow: 0 0 20px rgba(255,182,193,0.8), 2px 2px 6px rgba(0,0,0,0.8);
background: linear-gradient(45deg, #FFB6C1, #FF69B4, #DDA0DD, #FFB6C1);
background-size: 400% 400%;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
animation: wardrobeShimmer 3s ease-in-out infinite;
}
.wardrobe-subtitle {
color: rgba(255,255,255,0.95);
font-size: 1.4em;
margin: 15px 0 0 0;
font-style: italic;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.character-nav {
background: linear-gradient(145deg, rgba(45,45,50,0.9), rgba(60,60,70,0.85));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 15px;
padding: 20px;
margin-bottom: 30px;
display: flex;
justify-content: center;
gap: 15px;
flex-wrap: wrap;
backdrop-filter: blur(5px);
box-shadow: 0 10px 25px rgba(0,0,0,0.3);
}
.character-nav-button {
background: linear-gradient(145deg, rgba(255,182,193,0.3), rgba(255,105,180,0.2));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 10px;
padding: 12px 20px;
color: white;
font-weight: bold;
text-decoration: none;
transition: all 0.3s ease;
cursor: pointer;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
}
.character-nav-button:hover {
transform: scale(1.05);
box-shadow: 0 8px 20px rgba(255,182,193,0.4);
border-color: rgba(255,182,193,0.9);
color: white;
text-decoration: none;
}
.character-nav-button.active {
background: linear-gradient(145deg, rgba(0,255,0,0.3), rgba(0,200,0,0.2));
border-color: rgba(0,255,0,0.8);
box-shadow: 0 8px 20px rgba(0,255,0,0.3);
}
.wardrobe-content {
max-width: 1200px;
margin: 0 auto;
}
.wardrobe-categories {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
gap: 30px;
margin: 30px 0;
}
.wardrobe-section {
background: linear-gradient(145deg, rgba(255,182,193,0.25), rgba(255,105,180,0.2));
border: 3px solid rgba(255,182,193,0.7);
border-radius: 20px;
padding: 30px;
position: relative;
backdrop-filter: blur(5px);
box-shadow: 0 15px 35px rgba(255,182,193,0.3);
animation: wardrobeFloat 5s ease-in-out infinite;
}
.wardrobe-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 4s infinite;
pointer-events: none;
}
.wardrobe-section-title {
color: #FFB6C1;
font-size: 2.4em;
font-weight: bold;
margin: 0 0 20px 0;
text-align: center;
text-shadow: 0 0 15px rgba(255,182,193,0.8);
animation: wardrobeFloat 3s ease-in-out infinite;
}
.wardrobe-section-subtitle {
color: rgba(255,255,255,0.95);
font-size: 1.2em;
text-align: center;
margin-bottom: 30px;
font-style: italic;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
}
.wardrobe-item {
background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,182,193,0.15));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 15px;
padding: 20px;
cursor: pointer;
text-align: center;
position: relative;
box-shadow: 0 8px 20px rgba(255,182,193,0.3);
transition: all 0.3s ease;
animation: wardrobeFloat 6s ease-in-out infinite;
}
.wardrobe-item:hover {
transform: scale(1.05);
box-shadow: 0 12px 30px rgba(255,182,193,0.5);
border-color: rgba(255,182,193,0.9);
}
.wardrobe-item.selected {
background: linear-gradient(145deg, rgba(0,255,0,0.2), rgba(0,200,0,0.15));
border: 2px solid rgba(0,255,0,0.8);
box-shadow: 0 8px 20px rgba(0,255,0,0.3);
}
.wardrobe-item.selected:hover {
box-shadow: 0 12px 30px rgba(0,255,0,0.5);
border-color: rgba(0,255,0,1);
}
.wardrobe-item img {
width: 90px;
height: 90px;
object-fit: cover;
border-radius: 12px;
margin-bottom: 15px;
border: 3px solid rgba(255,182,193,0.5);
box-shadow: 0 5px 15px rgba(255,182,193,0.4);
}
.wardrobe-item.selected img {
border: 3px solid rgba(0,255,0,0.6);
box-shadow: 0 5px 15px rgba(0,255,0,0.4);
}
.wardrobe-item-name {
color: white;
font-weight: bold;
font-size: 1.1em;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
margin-bottom: 10px;
}
.wardrobe-item-status {
color: #FFB6C1;
font-size: 1em;
font-weight: bold;
text-shadow: 0 0 8px rgba(255,182,193,0.8);
background: rgba(0,0,0,0.3);
padding: 5px 10px;
border-radius: 8px;
}
.wardrobe-item.selected .wardrobe-item-status {
color: #00FF00;
text-shadow: 0 0 8px rgba(0,255,0,0.8);
}
.wardrobe-footer {
background: linear-gradient(145deg, rgba(45,45,50,0.95), rgba(60,60,70,0.9));
border: 3px solid rgba(255,182,193,0.8);
padding: 40px;
text-align: center;
border-radius: 20px;
margin-top: 30px;
position: relative;
backdrop-filter: blur(10px);
box-shadow: 0 20px 40px rgba(0,0,0,0.3);
animation: wardrobeGlow 3s ease-in-out infinite;
}
.wardrobe-footer::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 3s infinite;
pointer-events: none;
}
.wardrobe-footer-content {
background: linear-gradient(135deg, rgba(255,182,193,0.2), rgba(255,105,180,0.2));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 20px;
padding: 25px;
margin: 0 auto;
max-width: 700px;
box-shadow: 0 10px 25px rgba(255,182,193,0.3);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-footer-text {
color: #FFB6C1;
font-size: 1.4em;
font-weight: bold;
margin: 0 0 15px 0;
text-shadow: 0 0 15px rgba(255,182,193,0.8);
animation: wardrobeFloat 3s ease-in-out infinite;
}
.wardrobe-footer-subtitle {
color: rgba(255,255,255,0.9);
font-size: 1.2em;
margin: 0;
font-style: italic;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-button {
background: linear-gradient(45deg, #FFB6C1, #FF69B4);
border: 2px solid rgba(255,182,193,0.8);
border-radius: 15px;
padding: 15px 30px;
color: white;
font-weight: bold;
text-decoration: none;
display: inline-block;
box-shadow: 0 8px 20px rgba(255,182,193,0.4);
transition: all 0.3s ease;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
cursor: pointer;
animation: wardrobeFloat 5s ease-in-out infinite;
}
.wardrobe-button:hover {
transform: scale(1.1);
box-shadow: 0 12px 30px rgba(255,182,193,0.6);
color: white;
text-decoration: none;
}
.wardrobe-button:active {
transform: scale(1.05);
}
</style>
<div class="wardrobe-container">
<div class="wardrobe-header">
<h1 class="wardrobe-title">✨ WARDROBE ✨</h1>
<p class="wardrobe-subtitle">Dress to Impress</p>
</div>
<!-- Character Navigation Bar -->
<div style="position: fixed; top: 0; left: 320px; right: 310px; z-index: 1000; background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(240, 240, 240, 0.98)); border-bottom: 2px solid rgba(255, 215, 0, 0.8); box-shadow: 0 2px 8px rgba(0,0,0,0.3); padding: 8px 0;">
<div style="display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap;">
<!-- Mariel -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 182, 193, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 182, 193, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 182, 193, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 182, 193, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeMariel')">
<div style="position: relative;">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $marielInitiatedScenes and $marielInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$marielInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFB6C1; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel</span>
</div>
<!-- Liora -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 192, 203, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 192, 203, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 192, 203, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 192, 203, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeLiora')">
<div style="position: relative;">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $lioraInitiatedScenes and $lioraInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$lioraInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFC0CB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Liora</span>
</div>
<!-- Serin -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 105, 180, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 105, 180, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 105, 180, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 105, 180, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeSerin')">
<div style="position: relative;">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serinInitiatedScenes and $serinInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serinInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FF69B4; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin</span>
</div>
<!-- Nimeria -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(221, 160, 221, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(221, 160, 221, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(221, 160, 221, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(221, 160, 221, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeNimeria')">
<div style="position: relative;">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $nimeriaInitiatedScenes and $nimeriaInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$nimeriaInitiatedScenes</div>
<</if>>
</div>
<span style="color: #DDA0DD; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Nimeria</span>
</div>
<!-- Seryk -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(240, 230, 140, 0.4); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(240, 230, 140, 0.6); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(240, 230, 140, 0.6)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(240, 230, 140, 0.4)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeSeryk')">
<div style="position: relative;">
<img src="images/seryk/chapter2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serykInitiatedScenes and $serykInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serykInitiatedScenes</div>
<</if>>
</div>
<span style="color: #F0E68C; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Seryk</span>
</div>
<!-- humanName -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(135, 206, 235, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(135, 206, 235, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(135, 206, 235, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(135, 206, 235, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeRylan')">
<div style="position: relative;">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<<if $humanInitiatedScenes and $humanInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$humanInitiatedScenes</div>
<</if>>
</div>
<span style="color: #87CEEB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">$humanName</span>
</div>
<!-- Thalor -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 165, 0, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 165, 0, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 165, 0, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 165, 0, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeThalor')">
<div style="position: relative;">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $thalorInitiatedScenes and $thalorInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$thalorInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFA500; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Thalor</span>
</div>
</div>
</div>
<!-- Add top margin to account for fixed bar -->
<div style="margin-top: 60px;">
<div class="wardrobe-content">
<!-- Current Outfit Preview -->
<div class="current-outfit-preview" style="background: linear-gradient(145deg, rgba(255,182,193,0.2), rgba(255,105,180,0.2)); border: 3px solid rgba(255,182,193,0.6); border-radius: 20px; padding: 30px; margin-bottom: 30px; text-align: center;">
<h2 style="color: #FFB6C1; font-size: 2em; margin: 0 0 20px 0; text-shadow: 0 0 10px rgba(255,182,193,0.8);">✨ Seryk's Current Outfit ✨</h2>
<div style="display: flex; justify-content: center; gap: 30px; flex-wrap: wrap;">
<!-- Underwear Preview (Boxers & Briefs) -->
<div style="text-align: center;">
<h3 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0;">Underwear</h3>
<<if $wardrobe and $wardrobe.seryk and $wardrobe.seryk.panties>>
<<if $wardrobe.seryk.panties === 'normalwhite'>>
<img src="images/seryk/clothes/underwear/panties/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🤍 White Boxers</div>
<<elseif $wardrobe.seryk.panties === 'normalblack'>>
<img src="images/seryk/clothes/underwear/panties/normalblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Boxers</div>
<<elseif $wardrobe.seryk.panties === 'normalpink'>>
<img src="images/seryk/clothes/underwear/panties/normalpink.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Pink Boxers</div>
<<elseif $wardrobe.seryk.panties === 'normalpurple'>>
<img src="images/seryk/clothes/underwear/panties/normalpurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Boxers</div>
<<elseif $wardrobe.seryk.panties === 'briefswhite'>>
<img src="images/seryk/clothes/underwear/briefs/briefswhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">⚪ White Briefs</div>
<<elseif $wardrobe.seryk.panties === 'briefsblack'>>
<img src="images/seryk/clothes/underwear/briefs/briefsblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Briefs</div>
<<elseif $wardrobe.seryk.panties === 'briefspink'>>
<img src="images/seryk/clothes/underwear/briefs/briefspink.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Pink Briefs</div>
<<elseif $wardrobe.seryk.panties === 'briefspurple'>>
<img src="images/seryk/clothes/underwear/briefs/briefspurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Briefs</div>
<<else>>
<img src="images/seryk/clothes/underwear/panties/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🤍 White Boxers</div>
<</if>>
<<else>>
<div style="width: 80px; height: 80px; background: rgba(255,255,255,0.1); border-radius: 10px; border: 2px dashed rgba(255,182,193,0.4); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);">🤍</div>
<div style="color: rgba(255,255,255,0.6); font-size: 0.9em; margin-top: 5px;">Default</div>
<</if>>
</div>
</div>
</div>
<div class="wardrobe-categories">
<!-- Boxers Section -->
<div class="wardrobe-section">
<h2 class="wardrobe-section-title">🩲 Panties & Underwear 🩲</h2>
<p class="wardrobe-section-subtitle">Comfortable and stylish intimate wear</p>
<div class="wardrobe-grid">
<!-- Default White Boxers (Always Available) -->
<<if $wardrobe and $wardrobe.seryk and $wardrobe.seryk.panties === 'normalwhite'>>
<div class="wardrobe-item selected">
<img src="images/seryk/clothes/underwear/panties/normalwhite.webp" alt="White Boxers">
<div class="wardrobe-item-name">🤍 White Boxers</div>
<div class="wardrobe-item-status">Currently Wearing</div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.seryk.panties = 'normalwhite'; SugarCube.Engine.play('WardrobeSeryk');">
<img src="images/seryk/clothes/underwear/panties/normalwhite.webp" alt="White Boxers">
<div class="wardrobe-item-name">🤍 White Boxers</div>
<div class="wardrobe-item-status">Available</div>
</div>
<</if>>
<!-- Purchased Black Boxers -->
<<if $purchasedClothingSeryk and $purchasedClothingSeryk.panties and $purchasedClothingSeryk.panties.normalblack>>
<<if $wardrobe and $wardrobe.seryk and $wardrobe.seryk.panties === 'normalblack'>>
<div class="wardrobe-item selected">
<img src="images/seryk/clothes/underwear/panties/normalblack.webp" alt="Black Boxers">
<div class="wardrobe-item-name">🖤 Black Boxers</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.seryk.panties = 'normalblack'; SugarCube.Engine.play('WardrobeSeryk');">
<img src="images/seryk/clothes/underwear/panties/normalblack.webp" alt="Black Boxers">
<div class="wardrobe-item-name">🖤 Black Boxers</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Pink Boxers -->
<<if $purchasedClothingSeryk and $purchasedClothingSeryk.panties and $purchasedClothingSeryk.panties.normalpink>>
<<if $wardrobe and $wardrobe.seryk and $wardrobe.seryk.panties === 'normalpink'>>
<div class="wardrobe-item selected">
<img src="images/seryk/clothes/underwear/panties/normalpink.webp" alt="Pink Boxers">
<div class="wardrobe-item-name">💗 Pink Boxers</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.seryk.panties = 'normalpink'; SugarCube.Engine.play('WardrobeSeryk');">
<img src="images/seryk/clothes/underwear/panties/normalpink.webp" alt="Pink Boxers">
<div class="wardrobe-item-name">💗 Pink Boxers</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Purple Boxers -->
<<if $purchasedClothingSeryk and $purchasedClothingSeryk.panties and $purchasedClothingSeryk.panties.normalpurple>>
<<if $wardrobe and $wardrobe.seryk and $wardrobe.seryk.panties === 'normalpurple'>>
<div class="wardrobe-item selected">
<img src="images/seryk/clothes/underwear/panties/normalpurple.webp" alt="Purple Boxers">
<div class="wardrobe-item-name">💜 Purple Boxers</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+6 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.seryk.panties = 'normalpurple'; SugarCube.Engine.play('WardrobeSeryk');">
<img src="images/seryk/clothes/underwear/panties/normalpurple.webp" alt="Purple Boxers">
<div class="wardrobe-item-name">💜 Purple Boxers</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+6 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<img src="images/seryk/clothes/underwear/panties/normalpurple.webp" alt="Purple Boxers">
<div class="wardrobe-item-name">💜 Purple Boxers</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+6 Eros</span></div>
</div>
<</if>>
<!-- Purchased White Briefs -->
<<if $purchasedClothingSeryk and $purchasedClothingSeryk.panties and $purchasedClothingSeryk.panties.briefswhite>>
<<if $wardrobe and $wardrobe.seryk and $wardrobe.seryk.panties === 'briefswhite'>>
<div class="wardrobe-item selected">
<img src="images/seryk/clothes/underwear/briefs/briefswhite.webp" alt="White Briefs">
<div class="wardrobe-item-name">⚪ White Briefs</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.seryk.panties = 'briefswhite'; SugarCube.Engine.play('WardrobeSeryk');">
<img src="images/seryk/clothes/underwear/briefs/briefswhite.webp" alt="White Briefs">
<div class="wardrobe-item-name">⚪ White Briefs</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Black Briefs -->
<<if $purchasedClothingSeryk and $purchasedClothingSeryk.panties and $purchasedClothingSeryk.panties.briefsblack>>
<<if $wardrobe and $wardrobe.seryk and $wardrobe.seryk.panties === 'briefsblack'>>
<div class="wardrobe-item selected">
<img src="images/seryk/clothes/underwear/briefs/briefsblack.webp" alt="Black Briefs">
<div class="wardrobe-item-name">🖤 Black Briefs</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.seryk.panties = 'briefsblack'; SugarCube.Engine.play('WardrobeSeryk');">
<img src="images/seryk/clothes/underwear/briefs/briefsblack.webp" alt="Black Briefs">
<div class="wardrobe-item-name">🖤 Black Briefs</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Pink Briefs -->
<<if $purchasedClothingSeryk and $purchasedClothingSeryk.panties and $purchasedClothingSeryk.panties.briefspink>>
<<if $wardrobe and $wardrobe.seryk and $wardrobe.seryk.panties === 'briefspink'>>
<div class="wardrobe-item selected">
<img src="images/seryk/clothes/underwear/briefs/briefspink.webp" alt="Pink Briefs">
<div class="wardrobe-item-name">💗 Pink Briefs</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.seryk.panties = 'briefspink'; SugarCube.Engine.play('WardrobeSeryk');">
<img src="images/seryk/clothes/underwear/briefs/briefspink.webp" alt="Pink Briefs">
<div class="wardrobe-item-name">💗 Pink Briefs</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Purple Briefs -->
<<if $purchasedClothingSeryk and $purchasedClothingSeryk.panties and $purchasedClothingSeryk.panties.briefspurple>>
<<if $wardrobe and $wardrobe.seryk and $wardrobe.seryk.panties === 'briefspurple'>>
<div class="wardrobe-item selected">
<img src="images/seryk/clothes/underwear/briefs/briefspurple.webp" alt="Purple Briefs">
<div class="wardrobe-item-name">💜 Purple Briefs</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+6 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.seryk.panties = 'briefspurple'; SugarCube.Engine.play('WardrobeSeryk');">
<img src="images/seryk/clothes/underwear/briefs/briefspurple.webp" alt="Purple Briefs">
<div class="wardrobe-item-name">💜 Purple Briefs</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+6 Eros</span></div>
</div>
<</if>>
<</if>>
</div>
</div>
</div>
</div>
<div class="wardrobe-footer">
<div class="wardrobe-footer-content">
<p class="wardrobe-footer-text">✨ Mix and Match Your Style ✨</p>
<p class="wardrobe-footer-subtitle">"Fashion is what you make it, darling."</p>
</div>
<div style="margin-top: 40px;">
<div style="text-align: center;">
<div class="wardrobe-button" onclick="SugarCube.Engine.play('MorningActivityChoices')">
🚪 Leave the Wardrobe
</div>
</div>
</div>
</div>
</div>
</div>
<</nobr>>
<<silently>>
<<pov "seryk" "soratheme.mp3">>
<</silently>><<set $previousPassage = previous()>>
<<if not $wardrobe>>
<<set $wardrobe = {}>>
<</if>>
<<if not $wardrobe.thalor>>
<<set $wardrobe.thalor = {bra: 'normalwhite', panties: 'normalwhite', legwear: 'normalwhite'}>>
<</if>>
<<nobr>>
<style>
@keyframes wardrobeFloat {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-8px); }
}
@keyframes wardrobeGlow {
0%, 100% { box-shadow: 0 0 20px rgba(255,182,193,0.5); }
50% { box-shadow: 0 0 30px rgba(255,182,193,0.8), 0 0 40px rgba(255,105,180,0.6); }
}
@keyframes wardrobeShimmer {
0% { background-position: -200% center; }
100% { background-position: 200% center; }
}
.wardrobe-container {
background: linear-gradient(135deg, rgba(255,182,193,0.9), rgba(255,105,180,0.9), rgba(221,160,221,0.9), rgba(255,20,147,0.8));
min-height: 100vh;
padding: 20px;
margin: 0;
position: relative;
overflow: hidden;
}
.wardrobe-header {
background: linear-gradient(145deg, rgba(45,45,50,0.95), rgba(60,60,70,0.9));
border: 3px solid rgba(255,182,193,0.8);
padding: 30px;
text-align: center;
border-radius: 20px;
margin-bottom: 30px;
position: relative;
backdrop-filter: blur(10px);
box-shadow: 0 20px 40px rgba(0,0,0,0.3);
animation: wardrobeGlow 3s ease-in-out infinite;
}
.wardrobe-header::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 3s infinite;
pointer-events: none;
}
.wardrobe-title {
color: #FFB6C1;
font-size: 3.2em;
font-weight: bold;
margin: 0;
text-shadow: 0 0 20px rgba(255,182,193,0.8), 2px 2px 6px rgba(0,0,0,0.8);
background: linear-gradient(45deg, #FFB6C1, #FF69B4, #DDA0DD, #FFB6C1);
background-size: 400% 400%;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
animation: wardrobeShimmer 3s ease-in-out infinite;
}
.wardrobe-subtitle {
color: rgba(255,255,255,0.95);
font-size: 1.4em;
margin: 15px 0 0 0;
font-style: italic;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.character-nav {
background: linear-gradient(145deg, rgba(45,45,50,0.9), rgba(60,60,70,0.85));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 15px;
padding: 20px;
margin-bottom: 30px;
display: flex;
justify-content: center;
gap: 15px;
flex-wrap: wrap;
backdrop-filter: blur(5px);
box-shadow: 0 10px 25px rgba(0,0,0,0.3);
}
.character-nav-button {
background: linear-gradient(145deg, rgba(255,182,193,0.3), rgba(255,105,180,0.2));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 10px;
padding: 12px 20px;
color: white;
font-weight: bold;
text-decoration: none;
transition: all 0.3s ease;
cursor: pointer;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
}
.character-nav-button:hover {
transform: scale(1.05);
box-shadow: 0 8px 20px rgba(255,182,193,0.4);
border-color: rgba(255,182,193,0.9);
color: white;
text-decoration: none;
}
.character-nav-button.active {
background: linear-gradient(145deg, rgba(0,255,0,0.3), rgba(0,200,0,0.2));
border-color: rgba(0,255,0,0.8);
box-shadow: 0 8px 20px rgba(0,255,0,0.3);
}
.wardrobe-content {
max-width: 1200px;
margin: 0 auto;
}
.wardrobe-categories {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
gap: 30px;
margin: 30px 0;
}
.wardrobe-section {
background: linear-gradient(145deg, rgba(255,182,193,0.25), rgba(255,105,180,0.2));
border: 3px solid rgba(255,182,193,0.7);
border-radius: 20px;
padding: 30px;
position: relative;
backdrop-filter: blur(5px);
box-shadow: 0 15px 35px rgba(255,182,193,0.3);
animation: wardrobeFloat 5s ease-in-out infinite;
}
.wardrobe-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 4s infinite;
pointer-events: none;
}
.wardrobe-section-title {
color: #FFB6C1;
font-size: 2.4em;
font-weight: bold;
margin: 0 0 20px 0;
text-align: center;
text-shadow: 0 0 15px rgba(255,182,193,0.8);
animation: wardrobeFloat 3s ease-in-out infinite;
}
.wardrobe-section-subtitle {
color: rgba(255,255,255,0.95);
font-size: 1.2em;
text-align: center;
margin-bottom: 30px;
font-style: italic;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
}
.wardrobe-item {
background: linear-gradient(145deg, rgba(255,255,255,0.2), rgba(255,182,193,0.15));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 15px;
padding: 20px;
cursor: pointer;
text-align: center;
position: relative;
box-shadow: 0 8px 20px rgba(255,182,193,0.3);
transition: all 0.3s ease;
animation: wardrobeFloat 6s ease-in-out infinite;
}
.wardrobe-item:hover {
transform: scale(1.05);
box-shadow: 0 12px 30px rgba(255,182,193,0.5);
border-color: rgba(255,182,193,0.9);
}
.wardrobe-item.selected {
background: linear-gradient(145deg, rgba(0,255,0,0.2), rgba(0,200,0,0.15));
border: 2px solid rgba(0,255,0,0.8);
box-shadow: 0 8px 20px rgba(0,255,0,0.3);
}
.wardrobe-item.selected:hover {
box-shadow: 0 12px 30px rgba(0,255,0,0.5);
border-color: rgba(0,255,0,1);
}
.wardrobe-item img {
width: 90px;
height: 90px;
object-fit: cover;
border-radius: 12px;
margin-bottom: 15px;
border: 3px solid rgba(255,182,193,0.5);
box-shadow: 0 5px 15px rgba(255,182,193,0.4);
}
.wardrobe-item.selected img {
border: 3px solid rgba(0,255,0,0.6);
box-shadow: 0 5px 15px rgba(0,255,0,0.4);
}
.wardrobe-item-name {
color: white;
font-weight: bold;
font-size: 1.1em;
text-shadow: 0 0 8px rgba(255,255,255,0.5);
margin-bottom: 10px;
}
.wardrobe-item-status {
color: #FFB6C1;
font-size: 1em;
font-weight: bold;
text-shadow: 0 0 8px rgba(255,182,193,0.8);
background: rgba(0,0,0,0.3);
padding: 5px 10px;
border-radius: 8px;
}
.wardrobe-item.selected .wardrobe-item-status {
color: #00FF00;
text-shadow: 0 0 8px rgba(0,255,0,0.8);
}
.wardrobe-footer {
background: linear-gradient(145deg, rgba(45,45,50,0.95), rgba(60,60,70,0.9));
border: 3px solid rgba(255,182,193,0.8);
padding: 40px;
text-align: center;
border-radius: 20px;
margin-top: 30px;
position: relative;
backdrop-filter: blur(10px);
box-shadow: 0 20px 40px rgba(0,0,0,0.3);
animation: wardrobeGlow 3s ease-in-out infinite;
}
.wardrobe-footer::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
border-radius: 20px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
background-size: 200% 100%;
animation: wardrobeShimmer 3s infinite;
pointer-events: none;
}
.wardrobe-footer-content {
background: linear-gradient(135deg, rgba(255,182,193,0.2), rgba(255,105,180,0.2));
border: 2px solid rgba(255,182,193,0.6);
border-radius: 20px;
padding: 25px;
margin: 0 auto;
max-width: 700px;
box-shadow: 0 10px 25px rgba(255,182,193,0.3);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-footer-text {
color: #FFB6C1;
font-size: 1.4em;
font-weight: bold;
margin: 0 0 15px 0;
text-shadow: 0 0 15px rgba(255,182,193,0.8);
animation: wardrobeFloat 3s ease-in-out infinite;
}
.wardrobe-footer-subtitle {
color: rgba(255,255,255,0.9);
font-size: 1.2em;
margin: 0;
font-style: italic;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
animation: wardrobeFloat 4s ease-in-out infinite;
}
.wardrobe-button {
background: linear-gradient(45deg, #FFB6C1, #FF69B4);
border: 2px solid rgba(255,182,193,0.8);
border-radius: 15px;
padding: 15px 30px;
color: white;
font-weight: bold;
text-decoration: none;
display: inline-block;
box-shadow: 0 8px 20px rgba(255,182,193,0.4);
transition: all 0.3s ease;
text-shadow: 0 0 10px rgba(255,255,255,0.5);
cursor: pointer;
animation: wardrobeFloat 5s ease-in-out infinite;
}
.wardrobe-button:hover {
transform: scale(1.1);
box-shadow: 0 12px 30px rgba(255,182,193,0.6);
color: white;
text-decoration: none;
}
.wardrobe-button:active {
transform: scale(1.05);
}
</style>
<div class="wardrobe-container">
<div class="wardrobe-header">
<h1 class="wardrobe-title">✨ WARDROBE ✨</h1>
<p class="wardrobe-subtitle">Dress to Impress</p>
</div>
<!-- Character Navigation Bar -->
<div style="position: fixed; top: 0; left: 320px; right: 310px; z-index: 1000; background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(240, 240, 240, 0.98)); border-bottom: 2px solid rgba(255, 215, 0, 0.8); box-shadow: 0 2px 8px rgba(0,0,0,0.3); padding: 8px 0;">
<div style="display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap;">
<!-- Mariel -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 182, 193, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 182, 193, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 182, 193, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 182, 193, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeMariel')">
<div style="position: relative;">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $marielInitiatedScenes and $marielInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$marielInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFB6C1; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel</span>
</div>
<!-- Liora -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 192, 203, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 192, 203, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 192, 203, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 192, 203, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeLiora')">
<div style="position: relative;">
<img src="images/liora/faceshortpink.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $lioraInitiatedScenes and $lioraInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$lioraInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFC0CB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Liora</span>
</div>
<!-- Serin -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 105, 180, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 105, 180, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 105, 180, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 105, 180, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeSerin')">
<div style="position: relative;">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serinInitiatedScenes and $serinInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serinInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FF69B4; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin</span>
</div>
<!-- Nimeria -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(221, 160, 221, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(221, 160, 221, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(221, 160, 221, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(221, 160, 221, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeNimeria')">
<div style="position: relative;">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $nimeriaInitiatedScenes and $nimeriaInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$nimeriaInitiatedScenes</div>
<</if>>
</div>
<span style="color: #DDA0DD; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Nimeria</span>
</div>
<!-- Seryk -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(240, 230, 140, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(240, 230, 140, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(240, 230, 140, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(240, 230, 140, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeSeryk')">
<div style="position: relative;">
<img src="images/seryk/chapter2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $serykInitiatedScenes and $serykInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$serykInitiatedScenes</div>
<</if>>
</div>
<span style="color: #F0E68C; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Seryk</span>
</div>
<!-- humanName -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(135, 206, 235, 0.2); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(135, 206, 235, 0.3); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(135, 206, 235, 0.4)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(135, 206, 235, 0.2)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeRylan')">
<div style="position: relative;">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
<<if $humanInitiatedScenes and $humanInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$humanInitiatedScenes</div>
<</if>>
</div>
<span style="color: #87CEEB; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">$humanName</span>
</div>
<!-- Thalor -->
<div style="display: flex; align-items: center; gap: 6px; background: rgba(255, 165, 0, 0.4); border-radius: 15px; padding: 4px 12px; border: 2px solid rgba(255, 165, 0, 0.6); cursor: pointer; transition: all 0.3s ease; position: relative;" onmouseover="this.style.background='rgba(255, 165, 0, 0.6)'; this.style.transform='translateY(-2px)'" onmouseout="this.style.background='rgba(255, 165, 0, 0.4)'; this.style.transform='translateY(0)'" onclick="SugarCube.Engine.play('WardrobeThalor')">
<div style="position: relative;">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);">
<<if $thalorInitiatedScenes and $thalorInitiatedScenes > 0>>
<div style="position: absolute; top: -5px; right: -5px; background: linear-gradient(145deg, #4CAF50, #45a049); color: white; border-radius: 50%; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; font-size: 0.7em; font-weight: bold; text-shadow: 1px 1px 2px rgba(0,0,0,0.8); box-shadow: 0 2px 4px rgba(0,0,0,0.3);">$thalorInitiatedScenes</div>
<</if>>
</div>
<span style="color: #FFA500; font-weight: bold; font-size: 0.9em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Thalor</span>
</div>
</div>
</div>
<!-- Add top margin to account for fixed bar -->
<div style="margin-top: 60px;">
<div class="wardrobe-content">
<!-- Current Outfit Preview -->
<div class="current-outfit-preview" style="background: linear-gradient(145deg, rgba(255,182,193,0.2), rgba(255,105,180,0.2)); border: 3px solid rgba(255,182,193,0.6); border-radius: 20px; padding: 30px; margin-bottom: 30px; text-align: center;">
<h2 style="color: #FFB6C1; font-size: 2em; margin: 0 0 20px 0; text-shadow: 0 0 10px rgba(255,182,193,0.8);">✨ Thalor's Current Outfit ✨</h2>
<div style="display: flex; justify-content: center; gap: 30px; flex-wrap: wrap;">
<!-- Panties Preview -->
<div style="text-align: center;">
<h3 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0;">Underwear</h3>
<<if $wardrobe and $wardrobe.thalor and $wardrobe.thalor.panties>>
<<if $wardrobe.thalor.panties === 'normalblack'>>
<img src="images/thalor/clothes/underwear/panties/normalblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Boxers</div>
<<elseif $wardrobe.thalor.panties === 'normalpink'>>
<img src="images/thalor/clothes/underwear/panties/normalpink.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Pink Boxers</div>
<<elseif $wardrobe.thalor.panties === 'normalpurple'>>
<img src="images/thalor/clothes/underwear/panties/normalpurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Boxers</div>
<<elseif $wardrobe.thalor.panties === 'briefswhite'>>
<img src="images/thalor/clothes/underwear/briefs/briefswhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">⚪ White Briefs</div>
<<elseif $wardrobe.thalor.panties === 'briefsblack'>>
<img src="images/thalor/clothes/underwear/briefs/briefsblack.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🖤 Black Briefs</div>
<<elseif $wardrobe.thalor.panties === 'briefspink'>>
<img src="images/thalor/clothes/underwear/briefs/briefspink.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💗 Pink Briefs</div>
<<elseif $wardrobe.thalor.panties === 'briefspurple'>>
<img src="images/thalor/clothes/underwear/briefs/briefspurple.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">💜 Purple Briefs</div>
<<else>>
<img src="images/thalor/clothes/underwear/panties/normalwhite.webp"
style="width: 80px; height: 80px; object-fit: cover; border-radius: 10px; border: 2px solid rgba(255,182,193,0.6);">
<div style="color: white; font-size: 0.9em; margin-top: 5px;">🤍 White Boxers</div>
<</if>>
<<else>>
<div style="width: 80px; height: 80px; background: rgba(255,255,255,0.1); border-radius: 10px; border: 2px dashed rgba(255,182,193,0.4); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,0.5);">🤍</div>
<div style="color: rgba(255,255,255,0.6); font-size: 0.9em; margin-top: 5px;">Default</div>
<</if>>
</div>
</div>
</div>
<div class="wardrobe-categories">
<!-- Panties Section -->
<div class="wardrobe-section">
<h2 class="wardrobe-section-title">🩲 Panties & Underwear 🩲</h2>
<p class="wardrobe-section-subtitle">Comfortable and stylish</p>
<div class="wardrobe-grid">
<!-- Default White Boxers (Always Available) -->
<<if $wardrobe and $wardrobe.thalor and $wardrobe.thalor.panties === 'normalwhite'>>
<div class="wardrobe-item selected">
<img src="images/thalor/clothes/underwear/panties/normalwhite.webp" alt="White Boxers">
<div class="wardrobe-item-name">🤍 White Boxers</div>
<div class="wardrobe-item-status">Currently Wearing</div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.thalor.panties = 'normalwhite'; SugarCube.Engine.play('WardrobeThalor');">
<img src="images/thalor/clothes/underwear/panties/normalwhite.webp" alt="White Boxers">
<div class="wardrobe-item-name">🤍 White Boxers</div>
<div class="wardrobe-item-status">Available</div>
</div>
<</if>>
<!-- Purchased Black Boxers -->
<<if $purchasedClothingThalor and $purchasedClothingThalor.panties and $purchasedClothingThalor.panties.normalblack>>
<<if $wardrobe and $wardrobe.thalor and $wardrobe.thalor.panties === 'normalblack'>>
<div class="wardrobe-item selected">
<img src="images/thalor/clothes/underwear/panties/normalblack.webp" alt="Black Boxers">
<div class="wardrobe-item-name">🖤 Black Boxers</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.thalor.panties = 'normalblack'; SugarCube.Engine.play('WardrobeThalor');">
<img src="images/thalor/clothes/underwear/panties/normalblack.webp" alt="Black Boxers">
<div class="wardrobe-item-name">🖤 Black Boxers</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Pink Boxers -->
<<if $purchasedClothingThalor and $purchasedClothingThalor.panties and $purchasedClothingThalor.panties.normalpink>>
<<if $wardrobe and $wardrobe.thalor and $wardrobe.thalor.panties === 'normalpink'>>
<div class="wardrobe-item selected">
<img src="images/thalor/clothes/underwear/panties/normalpink.webp" alt="Pink Boxers">
<div class="wardrobe-item-name">💗 Pink Boxers</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.thalor.panties = 'normalpink'; SugarCube.Engine.play('WardrobeThalor');">
<img src="images/thalor/clothes/underwear/panties/normalpink.webp" alt="Pink Boxers">
<div class="wardrobe-item-name">💗 Pink Boxers</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Purple Boxers -->
<<if $purchasedClothingThalor and $purchasedClothingThalor.panties and $purchasedClothingThalor.panties.normalpurple>>
<<if $wardrobe and $wardrobe.thalor and $wardrobe.thalor.panties === 'normalpurple'>>
<div class="wardrobe-item selected">
<img src="images/thalor/clothes/underwear/panties/normalpurple.webp" alt="Purple Boxers">
<div class="wardrobe-item-name">💜 Purple Boxers</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+6 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.thalor.panties = 'normalpurple'; SugarCube.Engine.play('WardrobeThalor');">
<img src="images/thalor/clothes/underwear/panties/normalpurple.webp" alt="Purple Boxers">
<div class="wardrobe-item-name">💜 Purple Boxers</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+6 Eros</span></div>
</div>
<</if>>
<<else>>
<div class="wardrobe-item" style="opacity: 0.5; cursor: not-allowed;">
<img src="images/thalor/clothes/underwear/panties/normalpurple.webp" alt="Purple Boxers">
<div class="wardrobe-item-name">💜 Purple Boxers</div>
<div class="wardrobe-item-status">Not Purchased<br><span style="color: #FFD700; font-size: 0.8em;">+6 Eros</span></div>
</div>
<</if>>
<!-- Purchased White Briefs -->
<<if $purchasedClothingThalor and $purchasedClothingThalor.panties and $purchasedClothingThalor.panties.briefswhite>>
<<if $wardrobe and $wardrobe.thalor and $wardrobe.thalor.panties === 'briefswhite'>>
<div class="wardrobe-item selected">
<img src="images/thalor/clothes/underwear/briefs/briefswhite.webp" alt="White Briefs">
<div class="wardrobe-item-name">⚪ White Briefs</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.thalor.panties = 'briefswhite'; SugarCube.Engine.play('WardrobeThalor');">
<img src="images/thalor/clothes/underwear/briefs/briefswhite.webp" alt="White Briefs">
<div class="wardrobe-item-name">⚪ White Briefs</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+1 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Black Briefs -->
<<if $purchasedClothingThalor and $purchasedClothingThalor.panties and $purchasedClothingThalor.panties.briefsblack>>
<<if $wardrobe and $wardrobe.thalor and $wardrobe.thalor.panties === 'briefsblack'>>
<div class="wardrobe-item selected">
<img src="images/thalor/clothes/underwear/briefs/briefsblack.webp" alt="Black Briefs">
<div class="wardrobe-item-name">🖤 Black Briefs</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.thalor.panties = 'briefsblack'; SugarCube.Engine.play('WardrobeThalor');">
<img src="images/thalor/clothes/underwear/briefs/briefsblack.webp" alt="Black Briefs">
<div class="wardrobe-item-name">🖤 Black Briefs</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Pink Briefs -->
<<if $purchasedClothingThalor and $purchasedClothingThalor.panties and $purchasedClothingThalor.panties.briefspink>>
<<if $wardrobe and $wardrobe.thalor and $wardrobe.thalor.panties === 'briefspink'>>
<div class="wardrobe-item selected">
<img src="images/thalor/clothes/underwear/briefs/briefspink.webp" alt="Pink Briefs">
<div class="wardrobe-item-name">💗 Pink Briefs</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.thalor.panties = 'briefspink'; SugarCube.Engine.play('WardrobeThalor');">
<img src="images/thalor/clothes/underwear/briefs/briefspink.webp" alt="Pink Briefs">
<div class="wardrobe-item-name">💗 Pink Briefs</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+3 Eros</span></div>
</div>
<</if>>
<</if>>
<!-- Purchased Purple Briefs -->
<<if $purchasedClothingThalor and $purchasedClothingThalor.panties and $purchasedClothingThalor.panties.briefspurple>>
<<if $wardrobe and $wardrobe.thalor and $wardrobe.thalor.panties === 'briefspurple'>>
<div class="wardrobe-item selected">
<img src="images/thalor/clothes/underwear/briefs/briefspurple.webp" alt="Purple Briefs">
<div class="wardrobe-item-name">💜 Purple Briefs</div>
<div class="wardrobe-item-status">Currently Wearing<br><span style="color: #FFD700; font-size: 0.8em;">+6 Eros</span></div>
</div>
<<else>>
<div class="wardrobe-item"
onclick="SugarCube.State.variables.wardrobe.thalor.panties = 'briefspurple'; SugarCube.Engine.play('WardrobeThalor');">
<img src="images/thalor/clothes/underwear/briefs/briefspurple.webp" alt="Purple Briefs">
<div class="wardrobe-item-name">💜 Purple Briefs</div>
<div class="wardrobe-item-status">Available<br><span style="color: #FFD700; font-size: 0.8em;">+6 Eros</span></div>
</div>
<</if>>
<</if>>
</div>
</div>
</div>
</div>
<div class="wardrobe-footer">
<div class="wardrobe-footer-content">
<p class="wardrobe-footer-text">✨ Mix and Match Your Style ✨</p>
<p class="wardrobe-footer-subtitle">"Fashion is what you make it, darling."</p>
</div>
<div style="margin-top: 40px;">
<div style="text-align: center;">
<div class="wardrobe-button" onclick="SugarCube.Engine.play('MorningActivityChoices')">
🚪 Leave the Wardrobe
</div>
</div>
</div>
</div>
</div>
</div>
<</nobr>>
<<silently>>
<<pov "thalor" "soratheme.mp3">>
<</silently>><table class="stats-table">
<tr>
<th>Stat</th>
<th>Value</th>
<th>Description</th>
</tr>
<<for _category, _categoryData range setup.statCategories>>
<<if _categoryData.stats>>
/* Direct stats */
<<for _statKey, _statData range _categoryData.stats>>
<<capture _statValue>>
<<if _statData.maleOnly && !$character.isMale || _statData.femaleOnly && $character.isMale>>
<<continue>>
<</if>>
<<print $character[_statKey]>>
<</capture>>
<tr>
<td><<print _statData.name>></td>
<td><<print _statValue>></td>
<td class="description"><<print _statData.description>></td>
</tr>
<</for>>
<<else>>
/* Categories with subcategories */
<<for _subcategory, _subcategoryData range _categoryData.subcategories>>
<<for _statKey, _statData range _subcategoryData.stats>>
<<capture _statValue>>
<<if _statData.maleOnly && !$character.isMale || _statData.femaleOnly && $character.isMale>>
<<continue>>
<</if>>
<<print $character[_statKey]>>
<</capture>>
<tr>
<td><<print _statData.name>></td>
<td><<print _statValue>></td>
<td class="description"><<print _statData.description>></td>
</tr>
<</for>>
<</for>>
<</if>>
<</for>>
</table>
<style>
.stats-table {
width: 100%;
border-collapse: collapse;
margin: 10px 0;
}
.stats-table th {
background-color: #2a2a2a;
color: #fff;
padding: 8px;
text-align: left;
}
.stats-table td {
padding: 6px 8px;
border-bottom: 1px solid #444;
}
.stats-table tr:hover {
background-color: #333;
}
.stats-table td.description {
color: #aaa;
font-style: italic;
font-size: 0.9em;
}
</style><<nobr>>
<h2>�� Liora's Story</h2>
<div class="diary-portrait-container">
<img @src="'images/' + $currentLioraFace" alt="Liora Face" class="diary-portrait">
<div class="diary-portrait-description">
<p>A shy and innocent healer-in-training with a natural talent for healing magic. Despite her reserved nature, she harbors a deep affection for <<print $humanName>>. Her pure heart and gentle demeanor make her popular at the guild, though she remains oblivious to the attention she receives.</p>
</div>
</div>
<<set _character = "Liora">>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Main H-Stats</h3>
<table class="stats-table">
<tr>
<th>Stat</th>
<th>Value</th>
<th>Description</th>
</tr>
<<for _key, _stat range setup.statCategories.basic.stats>>
<<set _value = setup.getStat(_character, "basic", _key)>>
<tr>
<td class="stat-name"><<print _stat.name>></td>
<td class="stat-value"><<print _value>></td>
<td class="stat-desc"><<print _stat.description || "">></td>
</tr>
<</for>>
</table>
</div>
<h3 class="section-header">Body</h3>
<div class="body-parts-grid">
<div class="body-part-top">
<div class="stat-tooltip">
Corruption: <<print (setup.getStat("Liora", "basic", "corruption")).toFixed(1)>><br>
Lust: <<print ($liora_Lust || 0).toFixed(1)>><br>
Face Sensitivity: <<print (setup.getStat("Liora", "sensitivity", "faceSensitivity")).toFixed(1)>>%
</div>
<img src="images/liora/face.webp" alt="Face">
</div>
<div class="body-part-left">
<div class="stat-tooltip">
Ass Size: <<print (setup.getStat("Liora", "body", "assSize")).toFixed(1)>><br>
Ass Sensitivity: <<print (setup.getStat("Liora", "sensitivity", "assSensitivity")).toFixed(1)>>%<br>
Anal Experience: <<print (setup.getStat("Liora", "experience", "analExperience")).toFixed(1)>>
</div>
<img src="images/liora/ass.webp" alt="Ass">
</div>
<div class="body-part-center">
<div class="stat-tooltip">
Body Type: Voluptuous<br>
Body Sensitivity: <<print setup.getStat("Liora", "sensitivity", "bodySensitivity").toFixed(1)>>%<br>
Sexual Experience: <<print setup.getStat("Liora", "experience", "sexualExperience").toFixed(1)>>
</div>
<img src="images/liora/naked.webp" alt="Body">
</div>
<div class="body-part-right">
<div class="stat-tooltip">
Breast Size: <<print setup.getStat("Liora", "body", "breastSize").toFixed(1)>><br>
Breast Sensitivity: <<print setup.getStat("Liora", "sensitivity", "breastSensitivity").toFixed(1)>>%<br>
Breast Experience: <<print setup.getStat("Liora", "experience", "breastExperience").toFixed(1)>>
</div>
<img src="images/liora/breasts.webp" alt="Chest">
</div>
<div class="body-part-bottom">
<div class="stat-tooltip">
Vagina Stretched: <<print setup.getStat("Liora", "body", "vaginaStretched").toFixed(1)>><br>
Vaginal Sensitivity: <<print setup.getStat("Liora", "sensitivity", "vaginalSensitivity").toFixed(1)>>%<br>
Vaginal Experience: <<print setup.getStat("Liora", "experience", "vaginalExperience").toFixed(1)>>
</div>
<img src="images/liora/vagina.webp" alt="Vagina">
</div>
</div>
<h3 class="section-header">Underwear</h3>
<div class="underwear-gallery">
<div class="underwear-item">
<h4>Panties</h4>
<img @src="window.WardrobeSystem.getClothingImage('liora', 'panties', $liora_Lust >= 50)" alt="Panties">
</div>
<div class="underwear-item">
<h4>Bra</h4>
<img @src="window.WardrobeSystem.getClothingImage('liora', 'bra', $liora_Lust >= 50)" alt="Bra">
</div>
<div class="underwear-item">
<h4>Legwear</h4>
<img @src="window.WardrobeSystem.getClothingImage('liora', 'legwear', $liora_Lust >= 50)" alt="Legwear">
</div>
</div>
<<set _character = "Liora">>
<div class="relationship-viewer">
<div class="relationship-header">
<h3 style="margin: 0; color: #ff69b4;">Relationships</h3>
</div>
<div class="character-portraits-row" id="character-portraits"></div>
<div class="relationship-display">
<div class="selected-character-info">
<h4 id="selected-character-name">Select a character</h4>
<div id="relationship-stats" class="relationship-stats">
Click on a character portrait above to view relationship details.
</div>
</div>
</div>
</div>
<style>
.body-parts-grid {
display: grid;
grid-template-areas:
". top ."
"left center right"
". bottom .";
gap: 10px;
justify-content: center;
align-items: center;
}
.body-part-top, .body-part-left, .body-part-center, .body-part-right, .body-part-bottom {
position: relative;
cursor: pointer;
}
.stat-tooltip {
display: none;
position: fixed;
background: rgba(0, 0, 0, 0.8);
color: white;
padding: 5px 10px;
border-radius: 5px;
z-index: 100;
white-space: nowrap;
pointer-events: none;
}
.body-part-top:hover .stat-tooltip,
.body-part-left:hover .stat-tooltip,
.body-part-center:hover .stat-tooltip,
.body-part-right:hover .stat-tooltip,
.body-part-bottom:hover .stat-tooltip {
display: block;
}
.body-part-top { grid-area: top; }
.body-part-left { grid-area: left; }
.body-part-center { grid-area: center; }
.body-part-right { grid-area: right; }
.body-part-bottom { grid-area: bottom; }
.diary-portrait-container {
position: relative;
width: 300px;
height: 300px;
margin: 20px auto;
border-radius: 15px;
overflow: hidden;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
transition: transform 0.3s ease;
}
.diary-portrait-container:hover {
transform: scale(1.02);
}
.diary-portrait {
width: 100%;
height: 100%;
object-fit: cover;
transition: filter 0.3s ease;
}
.diary-portrait-container:hover .diary-portrait {
filter: brightness(0.7);
}
.diary-portrait-description {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.7);
color: white;
padding: 20px;
opacity: 0;
transition: opacity 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
font-size: 1.1em;
line-height: 1.4;
}
.diary-portrait-container:hover .diary-portrait-description {
opacity: 1;
}
.underwear-gallery {
display: flex;
justify-content: center;
gap: 20px;
margin: 20px 0;
}
.underwear-item {
text-align: center;
}
.underwear-item h4 {
color: #ff69b4;
margin-bottom: 10px;
}
.underwear-item img {
width: 150px;
height: 150px;
object-fit: cover;
border-radius: 10px;
border: 2px solid rgba(255, 105, 180, 0.3);
}
.relationship-container {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
gap: 20px;
padding: 20px;
}
.character-card {
position: relative;
background: rgba(0, 0, 0, 0.3);
border-radius: 10px;
padding: 10px;
text-align: center;
}
.character-name {
font-size: 1.2em;
margin-bottom: 10px;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}
.character-portrait {
width: 120px;
height: 120px;
margin: 0 auto;
border-radius: 60px;
overflow: hidden;
border: 2px solid rgba(255, 255, 255, 0.2);
cursor: pointer;
}
.character-portrait img {
width: 100%;
height: 100%;
object-fit: cover;
}
#global-tooltip {
display: none;
position: fixed;
background: rgba(0, 0, 0, 0.95);
color: #fff;
padding: 15px;
border-radius: 10px;
width: 250px;
z-index: 9999;
box-shadow: 0 0 10px rgba(0,0,0,0.5);
text-align: left;
}
.relationship-subcategory {
margin-bottom: 15px;
}
.relationship-subcategory h4 {
color: #ff69b4;
margin: 0 0 8px 0;
border-bottom: 1px solid rgba(255,105,180,0.3);
padding-bottom: 4px;
}
.stat-row {
display: flex;
justify-content: space-between;
margin: 4px 0;
font-size: 0.9em;
}
.stat-label {
color: #ccc;
}
.stat-value {
color: #fff;
font-weight: bold;
}
.relationship-viewer {
background: rgba(0, 0, 0, 0.3);
border-radius: 15px;
padding: 20px;
margin: 20px 0;
position: relative;
}
.relationship-header {
text-align: center;
margin-bottom: 20px;
}
.character-portraits-row {
display: flex;
justify-content: center;
gap: 15px;
margin-bottom: 20px;
flex-wrap: wrap;
}
.character-portrait-small {
width: 110px;
height: 110px;
border-radius: 50%;
overflow: hidden;
border: 3px solid rgba(255, 105, 180, 0.3);
cursor: pointer;
transition: all 0.3s ease;
position: relative;
}
.character-portrait-small:hover {
border-color: rgba(255, 105, 180, 0.8);
transform: scale(1.1);
}
.character-portrait-small.selected {
border-color: #ff69b4;
box-shadow: 0 0 15px rgba(255, 105, 180, 0.6);
}
.character-portrait-small img {
width: 100%;
height: 100%;
object-fit: cover;
}
.character-portrait-small .character-name-label {
position: absolute;
bottom: -25px;
left: 50%;
transform: translateX(-50%);
font-size: 0.8em;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
white-space: nowrap;
}
.relationship-display {
background: rgba(0, 0, 0, 0.2);
border-radius: 10px;
padding: 20px;
min-height: 200px;
}
.selected-character-info h4 {
color: #ff69b4;
margin: 0 0 15px 0;
text-align: center;
}
.relationship-stats {
flex: 1;
}
.stat-category {
margin-bottom: 15px;
}
.stat-category h4 {
color: #ff69b4;
margin: 0 0 8px 0;
border-bottom: 1px solid rgba(255,105,180,0.3);
padding-bottom: 4px;
}
.stat-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
}
.stat-item {
display: flex;
justify-content: space-between;
background: rgba(0, 0, 0, 0.2);
padding: 5px 10px;
border-radius: 5px;
}
.stat-name {
color: #ccc;
}
.stat-value {
color: #fff;
font-weight: bold;
}
.first-experiences-categories {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 15px;
margin: 15px 0;
}
.experience-category {
background: rgba(0, 0, 0, 0.2);
border-radius: 8px;
padding: 15px;
}
.experience-subcategory {
display: flex;
gap: 15px;
margin-top: 10px;
flex-direction: row;
}
.experience-item {
display: flex;
justify-content: space-between;
background: rgba(0, 0, 0, 0.2);
padding: 8px 12px;
border-radius: 5px;
flex: 1;
min-width: 150px;
max-width: 200px;
}
.exp-name {
color: #ff69b4;
font-weight: bold;
}
.exp-value {
color: #fff;
}
</style>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">First Experiences</h3>
<div class="first-experiences-categories">
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">💋 Kiss</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">First Kiss:</span>
<span class="exp-value">
<<if $lioraFirstKiss>>
<<if $lioraFirstKiss === "Rylan" || $lioraFirstKiss === "rylan">>$humanName<<else>><<print $lioraFirstKiss>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍑 Vaginal</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $lioraFirstVaginalDone>>
<<if $lioraFirstVaginalDone === "Rylan" || $lioraFirstVaginalDone === "rylan">>$humanName<<else>><<print $lioraFirstVaginalDone>><</if>>
<<else>>
Virgin
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $lioraFirstVaginalTaken>>
<<if $lioraFirstVaginalTaken === "Rylan" || $lioraFirstVaginalTaken === "rylan">>$humanName<<else>><<print $lioraFirstVaginalTaken>><</if>>
<<else>>
Virgin
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍑 Anal</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $lioraFirstAnalDone>>
<<if $lioraFirstAnalDone === "Rylan" || $lioraFirstAnalDone === "rylan">>$humanName<<else>><<print $lioraFirstAnalDone>><</if>>
<<else>>
Virgin
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $lioraFirstAnalTaken>>
<<if $lioraFirstAnalTaken === "Rylan" || $lioraFirstAnalTaken === "rylan">>$humanName<<else>><<print $lioraFirstAnalTaken>><</if>>
<<else>>
Virgin
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">👄 Blowjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $lioraFirstBlowjobDone>>
<<if $lioraFirstBlowjobDone === "Rylan" || $lioraFirstBlowjobDone === "rylan">>$humanName<<else>><<print $lioraFirstBlowjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $lioraFirstBlowjobTaken>>
<<if $lioraFirstBlowjobTaken === "Rylan" || $lioraFirstBlowjobTaken === "rylan">>$humanName<<else>><<print $lioraFirstBlowjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">✋ Handjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $lioraFirstHandjobDone>>
<<if $lioraFirstHandjobDone === "Rylan" || $lioraFirstHandjobDone === "rylan">>$humanName<<else>><<print $lioraFirstHandjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $lioraFirstHandjobTaken>>
<<if $lioraFirstHandjobTaken === "Rylan" || $lioraFirstHandjobTaken === "rylan">>$humanName<<else>><<print $lioraFirstHandjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🦶 Footjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $lioraFirstFootjobDone>>
<<if $lioraFirstFootjobDone === "Rylan" || $lioraFirstFootjobDone === "rylan">>$humanName<<else>><<print $lioraFirstFootjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $lioraFirstFootjobTaken>>
<<if $lioraFirstFootjobTaken === "Rylan" || $lioraFirstFootjobTaken === "rylan">>$humanName<<else>><<print $lioraFirstFootjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍒 Boobjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $lioraFirstBoobjobDone>>
<<if $lioraFirstBoobjobDone === "Rylan" || $lioraFirstBoobjobDone === "rylan">>$humanName<<else>><<print $lioraFirstBoobjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $lioraFirstBoobjobTaken>>
<<if $lioraFirstBoobjobTaken === "Rylan" || $lioraFirstBoobjobTaken === "rylan">>$humanName<<else>><<print $lioraFirstBoobjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Fetishes</h3>
<div class="fetish-grid">
<div class="fetish-category">
<h4>Physical</h4>
<div class="fetish-item">
<span class="fetish-name">Scent Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SmellFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Muscle Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "MuscleFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Thigh Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ThighFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Body Parts</h4>
<div class="fetish-item">
<span class="fetish-name">Feet Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "FeetFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Armpit Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ArmpitFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Breast Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "BreastFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Ass Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "AssFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Penis Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "PenisFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Vagina Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "VaginaFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Fluids</h4>
<div class="fetish-item">
<span class="fetish-name">Cum Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "CumAddiction").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Sweat Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SweatFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Saliva Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SalivaFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Behavioral</h4>
<div class="fetish-item">
<span class="fetish-name">Submission</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SubmissionFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Dominance</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "DominanceFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Exhibitionism</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ExhibitionismFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Voyeurism</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "VoyeurismFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Kinks</h4>
<div class="fetish-item">
<span class="fetish-name">Bondage Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "BondageFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Cross-Dressing</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "CrossdressingFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Orientation</h4>
<div class="fetish-item">
<span class="fetish-name">Gay-Sex Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "GayValue").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Lesbian Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "LesbianValue").toFixed(1)>></span>
</div>
</div>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Sexual Experience</h3>
<div class="sexual-experience-grid">
<<for _subcatKey, _subcat range setup.statCategories.experience.subcategories>>
<div class="experience-category">
<h4><<print _subcat.name>></h4>
<<for _key, _stat range _subcat.stats>>
<<set _value = setup.getStat(_character, "experience", _key)>>
<div class="exp-row">
<span class="exp-label"><<print _stat.name>>:</span>
<span class="exp-value">
<<if _key.toLowerCase().includes("amount")>>
<<print _value>> ml
<<else>>
<<print _value>>
<<if _key.toLowerCase().includes("count") && _value == 0>>
(Virgin)
<<elseif _key.toLowerCase().includes("count")>>
(Experienced)
<</if>>
<</if>>
</span>
</div>
<</for>>
</div>
<</for>>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Sensitivity</h3>
<div class="stat-grid">
<<for _key, _stat range setup.statCategories.sensitivity.stats>>
<<set _value = setup.getStat(_character, "sensitivity", _key)>>
<div class="stat-item">
<div class="stat-name"><<print _stat.name>></div>
<div class="stat-value"><<print _value>>%</div>
</div>
<</for>>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Mind Control</h3>
<div class="stat-grid">
<<for _key, _stat range setup.statCategories.mindControl.stats>>
<<set _value = setup.getStat(_character, "mindControl", _key)>>
<div class="stat-item">
<div class="stat-name"><<print _stat.name>></div>
<div class="stat-value"><<print _value>></div>
</div>
<</for>>
</div>
</div>
<div class="diary-return">
<<link "↩ Return">>
<<run Engine.backward()>>
<</link>>
</div>
<</nobr>>
<<script>>
if (!State.variables.tooltipInitialized) {
$(document.body).append('<div id="global-tooltip"></div>');
State.variables.tooltipInitialized = true;
}
$(document).ready(function() {
$('.character-portrait').on('mouseenter', function(e) {
const tooltip = $('#global-tooltip');
const content = $(this).closest('.character-card').find('.tooltip-content').html();
tooltip.html(content).show();
tooltip.css({
left: e.pageX + 10,
top: e.pageY + 10
});
});
$('.character-portrait').on('mouseleave', function() {
$('#global-tooltip').hide();
});
$(document).on('mousemove', function(e) {
if ($('#global-tooltip').is(':visible')) {
$('#global-tooltip').css({
left: e.pageX + 10,
top: e.pageY + 10
});
}
});
});
if (!State.variables.characters) {
State.variables.characters = {
Rylan: true,
Mariel: true,
Thalor: true,
Liora: true,
Serin: true,
Seryk: true,
Nimeria: true
};
}
State.variables.selectedCharacter = null;
State.variables.availableCharacters = [];
const characterList = ["Rylan", "Mariel", "Thalor", "Serin", "Seryk", "Nimeria"];
State.variables.availableCharacters =
[...new Set(characterList.filter(c => State.variables['met' + c]))];
function createCharacterPortraits() {
const portraitsContainer = $('#character-portraits');
portraitsContainer.empty();
State.variables.availableCharacters.forEach(char => {
const portraitHtml = `
<div class="character-portrait-small" data-character="${char}">
<img src="images/${char}/face.webp" alt="${char}">
<div class="character-name-label">${char}</div>
</div>
`;
portraitsContainer.append(portraitHtml);
});
}
function selectCharacter(characterName) {
State.variables.selectedCharacter = characterName;
$('.character-portrait-small').removeClass('selected');
$(`.character-portrait-small[data-character="${characterName}"]`).addClass('selected');
const displayName = (characterName === 'Rylan' || characterName === 'rylan') ? State.variables.humanName : characterName;
$('#selected-character-name').text(`Relationship with ${displayName}`);
let statsHtml = '';
const charLower = characterName.toLowerCase();
const lioraLower = 'liora';
const affectionVar = `${lioraLower}_${characterName}Affection`;
const attractionVar = `${lioraLower}_${characterName}Attraction`;
const affection = State.variables[affectionVar] || 0;
const attraction = State.variables[attractionVar] || 0;
statsHtml += `<div class="stat-category">
<h4>Basic Relationship</h4>
<div class="stat-grid">
<div class="stat-item">
<span class="stat-name">💗 Affection</span>
<span class="stat-value">${affection.toFixed(1)}</span>
</div>
<div class="stat-item">
<span class="stat-name">💝 Attraction</span>
<span class="stat-value">${attraction.toFixed(1)}</span>
</div>
</div>
</div>`;
const sexualStats = [
{name: 'Kiss Count', var: `${lioraLower}_${characterName}KissCount`},
{name: 'Vaginal Count', var: `${lioraLower}_${characterName}VaginalCount`},
{name: 'Anal Count', var: `${lioraLower}_${characterName}AnalCount`},
{name: 'Anal Taken', var: `${lioraLower}_${characterName}AnalTakenCount`},
{name: 'Handjob Given', var: `${lioraLower}_${characterName}HandjobCount`},
{name: 'Handjob Taken', var: `${lioraLower}_${characterName}HandjobTakenCount`},
{name: 'Blowjob Given', var: `${lioraLower}_${characterName}BlowjobCount`},
{name: 'Blowjob Taken', var: `${lioraLower}_${characterName}BlowjobTakenCount`},
{name: 'Footjob Given', var: `${lioraLower}_${characterName}FootjobCount`},
{name: 'Footjob Taken', var: `${lioraLower}_${characterName}FootjobTakenCount`},
{name: 'Boobjob Given', var: `${lioraLower}_${characterName}BoobJobCount`},
{name: 'Boobjob Taken', var: `${lioraLower}_${characterName}BoobJobTakenCount`},
{name: 'Breasts Touched', var: `${lioraLower}_${characterName}BreastsTouchedCount`},
{name: 'Breasts Touched By', var: `${lioraLower}_${characterName}BreastsTouchedByCount`},
{name: 'Ass Touched', var: `${lioraLower}_${characterName}AssTouchedCount`},
{name: 'Ass Touched By', var: `${lioraLower}_${characterName}AssTouchedByCount`},
{name: 'Cum Inside Count', var: `${lioraLower}_${characterName}CumInsideCount`},
{name: 'Cum Inside (ml)', var: `${lioraLower}_${characterName}CumInsideMl`},
{name: 'Cum Swallowed (ml)', var: `${lioraLower}_${characterName}CumSwallowedMl`},
{name: 'Cum On Body (ml)', var: `${lioraLower}_${characterName}CumOnBodyMl`},
{name: 'Orgasms Given', var: `${lioraLower}_${characterName}OrgasmsGiven`},
{name: 'Orgasms Received', var: `${lioraLower}_${characterName}OrgasmsReceived`}
];
const activeSexualStats = sexualStats.filter(stat => (State.variables[stat.var] || 0) > 0);
if (activeSexualStats.length > 0) {
statsHtml += `<div class="stat-category">
<h4>Sexual Experience</h4>
<div class="stat-grid">`;
activeSexualStats.forEach(stat => {
const value = State.variables[stat.var] || 0;
statsHtml += `<div class="stat-item">
<span class="stat-name">${stat.name}</span>
<span class="stat-value">${value}</span>
</div>`;
});
statsHtml += `</div></div>`;
} else {
statsHtml += `<div class="stat-category">
<h4>Sexual Experience</h4>
<div class="stat-grid">
<div class="stat-item">
<span class="stat-name">No sexual encounters yet</span>
<span class="stat-value">-</span>
</div>
</div>
</div>`;
}
$('#relationship-stats').html(statsHtml);
}
$(document).on('click', '.character-portrait-small', function() {
const characterName = $(this).data('character');
selectCharacter(characterName);
});
$(document).ready(() => {
createCharacterPortraits();
if (State.variables.availableCharacters.length > 0) {
selectCharacter(State.variables.availableCharacters[0]);
} else {
$('#relationship-stats').html('<div class="stat-category"><h4>No relationships available yet</h4></div>');
}
});
<</script>><<nobr>>
<h2>📖 Mariel's Story</h2>
<div class="diary-portrait-container">
<img @src="($characterStages && $characterStages.mariel >= 2) ? 'images/mariel/stage2/face.webp' : 'images/' + $currentMarielFace" alt="Mariel Face" class="diary-portrait">
<div class="diary-portrait-description">
<p>A beautiful and gentle woman who acts as <<print $humanName>>'s <<print $marielToHuman>>. Once a powerful priestess who helped defeat the demon king, she now lives a quiet life running an inn. Despite her gentle nature, she harbors deep regrets about the past and worries constantly about <<print $humanName>>'s future.</p>
</div>
</div>
<<set _character = "Mariel">>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Main H-Stats</h3>
<table class="stats-table">
<tr>
<th>Stat</th>
<th>Value</th>
<th>Description</th>
</tr>
<<for _key, _stat range setup.statCategories.basic.stats>>
<<set _value = setup.getStat(_character, "basic", _key)>>
<tr>
<td class="stat-name"><<print _stat.name>></td>
<td class="stat-value"><<print _value.toFixed(1)>></td>
<td class="stat-desc"><<print _stat.description || "">></td>
</tr>
<</for>>
</table>
</div>
<h3 class="section-header">Body</h3>
<div class="body-parts-grid">
<div class="body-part-top">
<div class="stat-tooltip">
Corruption: <<print setup.getStat("Mariel", "basic", "corruption").toFixed(1)>><br>
Lust: <<print ($mariel_Lust || 0).toFixed(1)>><br>
Face Sensitivity: <<print setup.getStat("Mariel", "sensitivity", "faceSensitivity").toFixed(1)>>%
</div>
<img @src="($characterStages && $characterStages.mariel >= 2) ? 'images/mariel/stage2/face.webp' : 'images/mariel/face.webp'" alt="Face">
</div>
<div class="body-part-left">
<div class="stat-tooltip">
Ass Size: <<print setup.getStat("Mariel", "body", "assSize")>><br>
Ass Sensitivity: <<print setup.getStat("Mariel", "sensitivity", "assSensitivity")>>%<br>
Anal Experience: <<print setup.getStat("Mariel", "experience", "analExperience")>>
</div>
<img @src="($characterStages && $characterStages.mariel >= 2) ? 'images/mariel/stage2/ass.webp' : 'images/mariel/ass.webp'" alt="Ass">
</div>
<div class="body-part-center">
<div class="stat-tooltip">
Body Type: Mature<br>
Body Sensitivity: <<print setup.getStat("Mariel", "sensitivity", "bodySensitivity")>>%<br>
Sexual Experience: <<print setup.getStat("Mariel", "experience", "sexualExperience")>>
</div>
<img @src="($characterStages && $characterStages.mariel >= 2) ? 'images/mariel/stage2/naked.webp' : 'images/mariel/naked.webp'" alt="Body">
</div>
<div class="body-part-right">
<div class="stat-tooltip">
Breast Size: <<print setup.getStat("Mariel", "body", "breastSize")>><br>
Breast Sensitivity: <<print setup.getStat("Mariel", "sensitivity", "breastSensitivity")>>%<br>
Breast Experience: <<print setup.getStat("Mariel", "experience", "breastExperience")>>
</div>
<img @src="($characterStages && $characterStages.mariel >= 2) ? 'images/mariel/stage2/breasts.webp' : 'images/mariel/breasts.webp'" alt="Chest">
</div>
</div>
<h3 class="section-header">Wardrobe</h3>
<div class="wardrobe-grid">
<div class="wardrobe-top">
<div class="wardrobe-label">Clothes</div>
<img src="images/mariel/clothes.webp" alt="Clothes">
</div>
<div class="wardrobe-left">
<div class="wardrobe-label">Underwear</div>
<img @src="window.WardrobeSystem.getClothingImage('mariel', 'panties', $mariel_Lust >= 50)" alt="Panties">
</div>
<div class="wardrobe-center">
<div class="wardrobe-label">Sleepwear</div>
<img src="images/mariel/sleepwear.webp" alt="Sleepwear">
</div>
<div class="wardrobe-right">
<div class="wardrobe-label">Bra</div>
<img @src="window.WardrobeSystem.getClothingImage('mariel', 'bra', $mariel_Lust >= 50)" alt="Bra">
</div>
<div class="wardrobe-bottomleft">
<div class="wardrobe-label">Legwear</div>
<img @src="window.WardrobeSystem.getClothingImage('mariel', 'legwear', $mariel_Lust >= 50)" alt="Legwear">
</div>
<div class="wardrobe-bottomright">
<div class="wardrobe-label">Shoes</div>
<img src="images/mariel/shoes.webp" alt="Shoes">
</div>
</div>
<<initializeTooltips>>
<<set _character = "Mariel">>
<div class="relationship-viewer">
<div class="relationship-header">
<h3 style="margin: 0; color: #ff69b4;">Relationships</h3>
</div>
<div class="character-portraits-row" id="character-portraits"></div>
<div class="relationship-display">
<div class="selected-character-info">
<h4 id="selected-character-name">Select a character</h4>
<div id="relationship-stats" class="relationship-stats">Click on a character portrait above to view relationship details.</div>
</div>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">First Experiences</h3>
<div class="first-experiences-categories">
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">💋 Kiss</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">First Kiss:</span>
<span class="exp-value">
<<if $marielFirstKiss>>
<<if $marielFirstKiss === "Rylan" || $marielFirstKiss === "rylan">>$humanName<<else>><<print $marielFirstKiss>><</if>>
<<else>>
Thalor
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍑 Vaginal</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $marielFirstVaginalDone>>
<<if $marielFirstVaginalDone === "Rylan" || $marielFirstVaginalDone === "rylan">>$humanName<<else>><<print $marielFirstVaginalDone>><</if>>
<<else>>
Thalor
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $marielFirstVaginalTaken>>
<<if $marielFirstVaginalTaken === "Rylan" || $marielFirstVaginalTaken === "rylan">>$humanName<<else>><<print $marielFirstVaginalTaken>><</if>>
<<else>>
Thalor
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍑 Anal</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $marielFirstAnalDone>>
<<if $marielFirstAnalDone === "Rylan" || $marielFirstAnalDone === "rylan">>$humanName<<else>><<print $marielFirstAnalDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $marielFirstAnalTaken>>
<<if $marielFirstAnalTaken === "Rylan" || $marielFirstAnalTaken === "rylan">>$humanName<<else>><<print $marielFirstAnalTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">👄 Blowjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $marielFirstBlowjobDone>>
<<if $marielFirstBlowjobDone === "Rylan" || $marielFirstBlowjobDone === "rylan">>$humanName<<else>><<print $marielFirstBlowjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $marielFirstBlowjobTaken>>
<<if $marielFirstBlowjobTaken === "Rylan" || $marielFirstBlowjobTaken === "rylan">>$humanName<<else>><<print $marielFirstBlowjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">✋ Handjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $marielFirstHandjobDone>>
<<if $marielFirstHandjobDone === "Rylan" || $marielFirstHandjobDone === "rylan">>$humanName<<else>><<print $marielFirstHandjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $marielFirstHandjobTaken>>
<<if $marielFirstHandjobTaken === "Rylan" || $marielFirstHandjobTaken === "rylan">>$humanName<<else>><<print $marielFirstHandjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🦶 Footjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $marielFirstFootjobDone>>
<<if $marielFirstFootjobDone === "Rylan" || $marielFirstFootjobDone === "rylan">>$humanName<<else>><<print $marielFirstFootjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $marielFirstFootjobTaken>>
<<if $marielFirstFootjobTaken === "Rylan" || $marielFirstFootjobTaken === "rylan">>$humanName<<else>><<print $marielFirstFootjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍒 Boobjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $marielFirstBoobjobDone>>
<<if $marielFirstBoobjobDone === "Rylan" || $marielFirstBoobjobDone === "rylan">>$humanName<<else>><<print $marielFirstBoobjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $marielFirstBoobjobTaken>>
<<if $marielFirstBoobjobTaken === "Rylan" || $marielFirstBoobjobTaken === "rylan">>$humanName<<else>><<print $marielFirstBoobjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Fetishes</h3>
<div class="fetish-grid">
<div class="fetish-category">
<h4>Physical</h4>
<div class="fetish-item">
<span class="fetish-name">Scent Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SmellFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Muscle Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "MuscleFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Thigh Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ThighFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Body Parts</h4>
<div class="fetish-item">
<span class="fetish-name">Feet Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "FeetFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Armpit Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ArmpitFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Breast Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "BreastFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Ass Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "AssFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Penis Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "PenisFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Vagina Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "VaginaFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Fluids</h4>
<div class="fetish-item">
<span class="fetish-name">Cum Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "CumAddiction").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Sweat Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SweatFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Saliva Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SalivaFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Behavioral</h4>
<div class="fetish-item">
<span class="fetish-name">Submission</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SubmissionFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Dominance</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "DominanceFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Exhibitionism</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ExhibitionismFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Voyeurism</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "VoyeurismFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Kinks</h4>
<div class="fetish-item">
<span class="fetish-name">Bondage Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "BondageFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Cross-Dressing</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "CrossdressingFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Orientation</h4>
<div class="fetish-item">
<span class="fetish-name">Same-Sex Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "GayValue").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Lesbian Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "LesbianValue").toFixed(1)>></span>
</div>
</div>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Sexual Experience</h3>
<div class="sexual-experience-grid">
<<for _subcatKey, _subcat range setup.statCategories.experience.subcategories>>
<div class="experience-category">
<h4><<print _subcat.name>></h4>
<<for _key, _stat range _subcat.stats>>
<<set _value = setup.getStat(_character, "experience", _key)>>
<div class="exp-row">
<span class="exp-label"><<print _stat.name>>:</span>
<span class="exp-value">
<<if _key.toLowerCase().includes("amount")>>
<<print _value>> ml
<<else>>
<<print _value>>
<<if _key.toLowerCase().includes("count") && _value == 0>>
(Virgin)
<<elseif _key.toLowerCase().includes("count")>>
(Experienced)
<</if>>
<</if>>
</span>
</div>
<</for>>
</div>
<</for>>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Sensitivity</h3>
<div class="stat-grid">
<<for _key, _stat range setup.statCategories.sensitivity.stats>>
<<set _value = setup.getStat(_character, "sensitivity", _key)>>
<div class="stat-item">
<div class="stat-name"><<print _stat.name>></div>
<div class="stat-value"><<print _value>>%</div>
</div>
<</for>>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Mind Control</h3>
<div class="stat-grid">
<<for _key, _stat range setup.statCategories.mindControl.stats>>
<<set _value = setup.getStat(_character, "mindControl", _key)>>
<div class="stat-item">
<div class="stat-name"><<print _stat.name>></div>
<div class="stat-value"><<print _value>></div>
</div>
<</for>>
</div>
</div>
<div class="diary-return">
<<link "↩ Return">>
<<run Engine.backward()>>
<</link>>
</div>
<</nobr>>
<<script>>
if (!State.variables.characters) {
State.variables.characters = {
Rylan: true,
Mariel: true,
Thalor: true,
Liora: true,
Serin: true,
Seryk: true,
Nimeria: true
};
}
State.variables.selectedCharacter = null;
State.variables.availableCharacters = [];
const characterList = ["Rylan", "Thalor", "Liora", "Serin", "Seryk", "Nimeria"];
State.variables.availableCharacters =
[...new Set(characterList.filter(c => State.variables['met' + c]))];
function createCharacterPortraits() {
const portraitsContainer = $('#character-portraits');
portraitsContainer.empty();
State.variables.availableCharacters.forEach(char => {
const portraitHtml = `
<div class="character-portrait-small" data-character="${char}">
<img src="images/${char}/face.webp" alt="${char}">
<div class="character-name-label">${char}</div>
</div>
`;
portraitsContainer.append(portraitHtml);
});
}
function selectCharacter(characterName) {
State.variables.selectedCharacter = characterName;
$('.character-portrait-small').removeClass('selected');
$(`.character-portrait-small[data-character="${characterName}"]`).addClass('selected');
const displayName = (characterName === 'Rylan' || characterName === 'rylan') ? State.variables.humanName : characterName;
$('#selected-character-name').text(`Relationship with ${displayName}`);
let statsHtml = '';
const charLower = characterName.toLowerCase();
const marielLower = 'mariel';
const affectionVar = `${marielLower}_${characterName}Affection`;
const attractionVar = `${marielLower}_${characterName}Attraction`;
const affection = State.variables[affectionVar] || 0;
const attraction = State.variables[attractionVar] || 0;
statsHtml += `<div class="stat-category">
<h4>Basic Relationship</h4>
<div class="stat-grid">
<div class="stat-item">
<span class="stat-name">💗 Affection</span>
<span class="stat-value">${affection.toFixed(1)}</span>
</div>
<div class="stat-item">
<span class="stat-name">💝 Attraction</span>
<span class="stat-value">${attraction.toFixed(1)}</span>
</div>
</div>
</div>`;
const sexualStats = [
{name: 'Kiss Count', var: `${marielLower}_${characterName}KissCount`},
{name: 'Vaginal Count', var: `${marielLower}_${characterName}VaginalCount`},
{name: 'Anal Count', var: `${marielLower}_${characterName}AnalCount`},
{name: 'Anal Taken', var: `${marielLower}_${characterName}AnalTakenCount`},
{name: 'Handjob Given', var: `${marielLower}_${characterName}HandjobCount`},
{name: 'Handjob Taken', var: `${marielLower}_${characterName}HandjobTakenCount`},
{name: 'Blowjob Given', var: `${marielLower}_${characterName}BlowjobCount`},
{name: 'Blowjob Taken', var: `${marielLower}_${characterName}BlowjobTakenCount`},
{name: 'Footjob Given', var: `${marielLower}_${characterName}FootjobCount`},
{name: 'Footjob Taken', var: `${marielLower}_${characterName}FootjobTakenCount`},
{name: 'Boobjob Given', var: `${marielLower}_${characterName}BoobJobCount`},
{name: 'Boobjob Taken', var: `${marielLower}_${characterName}BoobJobTakenCount`},
{name: 'Breasts Touched', var: `${marielLower}_${characterName}BreastsTouchedCount`},
{name: 'Breasts Touched By', var: `${marielLower}_${characterName}BreastsTouchedByCount`},
{name: 'Ass Touched', var: `${marielLower}_${characterName}AssTouchedCount`},
{name: 'Ass Touched By', var: `${marielLower}_${characterName}AssTouchedByCount`},
{name: 'Cum Inside Count', var: `${marielLower}_${characterName}CumInsideCount`},
{name: 'Cum Inside (ml)', var: `${marielLower}_${characterName}CumInsideMl`},
{name: 'Cum Swallowed (ml)', var: `${marielLower}_${characterName}CumSwallowedMl`},
{name: 'Cum On Body (ml)', var: `${marielLower}_${characterName}CumOnBodyMl`},
{name: 'Orgasms Given', var: `${marielLower}_${characterName}OrgasmsGiven`},
{name: 'Orgasms Received', var: `${marielLower}_${characterName}OrgasmsReceived`}
];
const activeSexualStats = sexualStats.filter(stat => (State.variables[stat.var] || 0) > 0);
if (activeSexualStats.length > 0) {
statsHtml += `<div class="stat-category">
<h4>Sexual Experience</h4>
<div class="stat-grid">`;
activeSexualStats.forEach(stat => {
const value = State.variables[stat.var] || 0;
statsHtml += `<div class="stat-item">
<span class="stat-name">${stat.name}</span>
<span class="stat-value">${value}</span>
</div>`;
});
statsHtml += `</div></div>`;
} else {
statsHtml += `<div class="stat-category">
<h4>Sexual Experience</h4>
<div class="stat-grid">
<div class="stat-item">
<span class="stat-name">No sexual encounters yet</span>
<span class="stat-value">-</span>
</div>
</div>
</div>`;
}
$('#relationship-stats').html(statsHtml);
}
$(document).on('click', '.character-portrait-small', function() {
const characterName = $(this).data('character');
selectCharacter(characterName);
});
$(document).ready(() => {
createCharacterPortraits();
if (State.variables.availableCharacters.length > 0) {
selectCharacter(State.variables.availableCharacters[0]);
} else {
$('#relationship-stats').html('<div class="stat-category"><h4>No relationships available yet</h4></div>');
}
});
<</script>>
<style>
.relationship-container {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
gap: 20px;
padding: 20px;
}
.character-card {
position: relative;
background: rgba(0, 0, 0, 0.3);
border-radius: 10px;
padding: 10px;
text-align: center;
}
.character-name {
font-size: 1.2em;
margin-bottom: 10px;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}
.character-portrait {
width: 120px;
height: 120px;
margin: 0 auto;
border-radius: 60px;
overflow: hidden;
border: 2px solid rgba(255, 255, 255, 0.2);
cursor: pointer;
}
.character-portrait img {
width: 100%;
height: 100%;
object-fit: cover;
}
#global-tooltip {
display: none;
position: fixed;
background: rgba(0, 0, 0, 0.95);
color: #fff;
padding: 15px;
border-radius: 10px;
width: 250px;
z-index: 9999;
box-shadow: 0 0 10px rgba(0,0,0,0.5);
text-align: left;
}
.relationship-subcategory {
margin-bottom: 15px;
}
.relationship-subcategory h4 {
color: #ff69b4;
margin: 0 0 8px 0;
border-bottom: 1px solid rgba(255,105,180,0.3);
padding-bottom: 4px;
}
.stat-row {
display: flex;
justify-content: space-between;
margin: 4px 0;
font-size: 0.9em;
}
.stat-label {
color: #ccc;
}
.stat-value {
color: #fff;
font-weight: bold;
}
.body-parts-grid {
display: grid;
grid-template-areas:
". top ."
"left center right"
". bottom .";
gap: 10px;
justify-content: center;
align-items: center;
}
.body-part-top, .body-part-left, .body-part-center, .body-part-right, .body-part-bottom {
position: relative;
cursor: pointer;
}
.stat-tooltip {
display: none;
position: fixed;
background: rgba(0, 0, 0, 0.8);
color: white;
padding: 5px 10px;
border-radius: 5px;
z-index: 100;
white-space: nowrap;
pointer-events: none;
}
.body-part-top:hover .stat-tooltip,
.body-part-left:hover .stat-tooltip,
.body-part-center:hover .stat-tooltip,
.body-part-right:hover .stat-tooltip,
.body-part-bottom:hover .stat-tooltip {
display: block;
}
.body-part-top { grid-area: top; }
.body-part-left { grid-area: left; }
.body-part-center { grid-area: center; }
.body-part-right { grid-area: right; }
.body-part-bottom { grid-area: bottom; }
.diary-portrait-container {
position: relative;
width: 300px;
height: 300px;
margin: 20px auto;
border-radius: 15px;
overflow: hidden;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
transition: transform 0.3s ease;
}
.diary-portrait-container:hover {
transform: scale(1.02);
}
.diary-portrait {
width: 100%;
height: 100%;
object-fit: cover;
transition: filter 0.3s ease;
}
.diary-portrait-container:hover .diary-portrait {
filter: brightness(0.7);
}
.diary-portrait-description {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.7);
color: white;
padding: 20px;
opacity: 0;
transition: opacity 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
font-size: 1.1em;
line-height: 1.4;
}
.diary-portrait-container:hover .diary-portrait-description {
opacity: 1;
}
.wardrobe-label {
text-align: center;
font-weight: bold;
margin-bottom: 5px;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}
.relationship-viewer {
background: rgba(0, 0, 0, 0.3);
border-radius: 15px;
padding: 20px;
margin: 20px 0;
position: relative;
}
.relationship-header {
text-align: center;
margin-bottom: 20px;
}
.character-portraits-row {
display: flex;
justify-content: center;
gap: 15px;
margin-bottom: 20px;
flex-wrap: wrap;
}
.character-portrait-small {
width: 110px;
height: 110px;
border-radius: 50%;
overflow: hidden;
border: 3px solid rgba(255, 105, 180, 0.3);
cursor: pointer;
transition: all 0.3s ease;
position: relative;
}
.character-portrait-small:hover {
border-color: rgba(255, 105, 180, 0.8);
transform: scale(1.1);
}
.character-portrait-small.selected {
border-color: #ff69b4;
box-shadow: 0 0 15px rgba(255, 105, 180, 0.6);
}
.character-portrait-small img {
width: 100%;
height: 100%;
object-fit: cover;
}
.character-portrait-small .character-name-label {
position: absolute;
bottom: -25px;
left: 50%;
transform: translateX(-50%);
font-size: 0.8em;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
white-space: nowrap;
}
.relationship-display {
background: rgba(0, 0, 0, 0.2);
border-radius: 10px;
padding: 20px;
min-height: 200px;
}
.selected-character-info h4 {
color: #ff69b4;
margin: 0 0 15px 0;
text-align: center;
}
.nav-button {
background: rgba(255, 105, 180, 0.3);
border: none;
color: white;
padding: 10px 20px;
border-radius: 5px;
cursor: pointer;
transition: background 0.2s;
}
.nav-button:hover {
background: rgba(255, 105, 180, 0.5);
}
.character-display {
display: flex;
gap: 20px;
align-items: flex-start;
}
.character-portrait-large {
width: 200px;
height: 200px;
border-radius: 100px;
overflow: hidden;
border: 3px solid rgba(255, 105, 180, 0.3);
}
.character-portrait-large img {
width: 100%;
height: 100%;
object-fit: cover;
}
.relationship-stats {
flex: 1;
}
.stat-category {
margin-bottom: 15px;
}
.stat-category h4 {
color: #ff69b4;
margin: 0 0 8px 0;
border-bottom: 1px solid rgba(255,105,180,0.3);
padding-bottom: 4px;
}
.stat-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
}
.stat-item {
display: flex;
justify-content: space-between;
background: rgba(0, 0, 0, 0.2);
padding: 5px 10px;
border-radius: 5px;
}
.stat-name {
color: #ccc;
}
.stat-value {
color: #fff;
font-weight: bold;
}
.first-experiences-categories {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 15px;
margin: 15px 0;
}
.experience-category {
background: rgba(0, 0, 0, 0.2);
border-radius: 8px;
padding: 15px;
}
.experience-subcategory {
display: flex;
gap: 15px;
margin-top: 10px;
flex-direction: row;
}
.experience-item {
display: flex;
justify-content: space-between;
background: rgba(0, 0, 0, 0.2);
padding: 8px 12px;
border-radius: 5px;
flex: 1;
min-width: 150px;
max-width: 200px;
}
.exp-name {
color: #ff69b4;
font-weight: bold;
}
.exp-value {
color: #fff;
}
</style><<nobr>>
<h1>Character Diaries</h1>
<div class="menu-tabs">
<div class="tab active" data-tab="diary">📖 Diary 📖</div>
<div class="tab" data-tab="tools">🛠️ Tools</div>
<div class="tab" data-tab="config">⚙️ Configuration</div>
<div class="tab" data-tab="debug">🐛 Debug</div>
<!--<div class="tab" data-tab="soul">🔮 Soul System 🔮</div>-->
</div>
<div id="diary-content" class="tab-content active">
<div class="diary-grid">
<div class="diary-entry">
<div class="portrait-container">
<div style="background: linear-gradient(135deg, rgba(75, 0, 130, 0.8), rgba(138, 43, 226, 0.9)); border-radius: 50%; width: 150px; height: 150px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(138, 43, 226, 0.4);">
<span style="color: #FFFFFF; font-size: 3em; text-shadow: 1px 1px 2px rgba(0,0,0,0.5);">✨</span>
</div>
<div class="character-name">Special Values</div>
<div class="character-description">Track your character's unique traits, relationships, and special conditions.</div>
</div>
<a href="javascript:void(0);" onclick="SugarCube.Engine.play('SpecialValues');" class="view-diary-button">View Special Values</a>
</div>
<<script>>
$(document).ready(function () {
const characters = [{
id: "Rylan",
name: State.variables.humanName || "Rylan",
portrait: State.variables.rylanMasculine ? "rylan/male/faces/face.webp" : (State.variables.rylanMasculinity30Triggered ? "rylan/femboy/faces/face.webp" : State.variables.currentRylanFace),
description: "A village boy striving for more.",
unlockCondition: () => State.variables.metRylan
}, {
id: "Mariel",
name: "Mariel",
portrait: State.variables.currentMarielFace,
description: "A powerful and legendary priestess.",
unlockCondition: () => State.variables.metMariel
}, {
id: "Thalor",
name: "Thalor",
portrait: State.variables.currentThalorFace,
description: "A respected and legendary Warrior.",
unlockCondition: () => State.variables.metThalor
}, {
id: "Liora",
name: "Liora",
portrait: State.variables.currentLioraFace,
description: "A young acolyte and healer.",
unlockCondition: () => State.variables.metLiora
}, {
id: "Serin",
name: "Serin",
portrait: State.variables.currentSerinFace,
description: "A mysterious rogue.",
unlockCondition: () => State.variables.metSerin
}, {
id: "Seryk",
name: "Seryk",
portrait: State.variables.currentSerykFace,
description: "A demon with unknown intentions.",
unlockCondition: () => State.variables.metSeryk
}, {
id: "Nimeria",
name: "Nimeria",
portrait: "nimeria/face.webp",
description: "A demoness with unknown intentions.",
unlockCondition: () => State.variables.metNimeria
}];
characters.forEach(char => {
if (char.unlockCondition()) {
jQuery(document.createDocumentFragment()).append(
`<div class="diary-entry">
<div class="portrait-container">
<img src="images/${char.portrait}" alt="${char.id}">
<div class="character-name">${char.name}</div>
<div class="character-description">${char.description}</div>
</div>
<a href="javascript:void(0);" onclick="SugarCube.Engine.play('Diary${char.id}');" class="view-diary-button">View Diary</a>
</div>`
).appendTo('.diary-grid');
} else if (State.variables['met' + char.id]) {
jQuery(document.createDocumentFragment()).append(
`<div class="diary-entry locked">
<div class="portrait-container">
<div class="locked-overlay"><span>??</span></div>
<img src="images/${char.portrait}" alt="${char.id}">
<div class="character-name">${char.id}</div>
<div class="character-description">This diary entry is locked.</div>
</div>
</div>`
).appendTo('.diary-grid');
} else {
jQuery(document.createDocumentFragment()).append(
`<div class="diary-entry locked">
<div class="portrait-container">
<div class="locked-overlay"><span>??</span></div>
<img src="images/unknown/unknown.webp" alt="Unknown">
<div class="character-name">❓❓❓</div>
<div class="character-description">This diary entry is locked.</div>
</div>
</div>`
).appendTo('.diary-grid');
}
});
});<</script>></div>
</div>
<div id="tools-content" class="tab-content">
<div class="tools-container">
<h2>🛠️ Game Tools</h2>
<div class="tools-grid">
<div class="tool-button calendar-button">
<<link "📅 Calendar">><<set $storyPassage = passage()>><<goto "CalendarView">><</link>>
</div>
<<if $hasReachedMissionPrep>>
<div class="tool-button">
<<link "📋 Quest Log">><<set $QuestLog = passage()>><<goto "QuestLog">><</link>>
</div>
<div class="tool-button">
<<link "👥 Party Status">><<set $storyPassage = passage()>><<goto "PartyMenu">><</link>>
</div>
<</if>>
<<if $soulForgeUnlocked>>
<div class="tool-button soul-forge-button">
<<link "🔮 Soul Forge">><<set $storyPassage = passage()>><<set $soulForgeActive = true>><<goto "SoulForge">><</link>>
</div>
<</if>>
<div class="tool-button">
<<link "⚙️ Relationships">><<set $storyPassage = passage()>><<goto "RelationshipSetupSidebar">><</link>>
</div>
<div class="tool-button guide-button">
<<link "📚 Guide">><<set $storyPassage = passage()>><<goto "GameGuide">><</link>>
</div>
</div>
</div>
</div>
<div id="config-content" class="tab-content">
<div id="config-box">
<<include "ConfigMenu">>
</div>
</div>
<!--
<div id="debug-content" class="tab-content">
<div class="debug-container">
<h2>🐛 Debug Tools</h2>
<div class="debug-grid">
<div class="debug-item-container">
<div class="debug-button">
<<link "⏰ Panic jump to Day 16">><<set $gameDay = 16>><<set $timeOfDay = "morning">><<goto "MorningActivityChoices">><</link>>
</div>
<div class="debug-description">If you missed the Chapter 6 ending</div>
</div>
</div>
</div>
</div>
<div id="soul-content" class="tab-content"> <div class="soul-tab-container"> <div class="soul-tab-header"> <h2>🔮 Soul System Overview 🔮</h2> <p>View all characters' divine blessings and dark corruption</p> </div> <div class="soul-main-layout"> <div class="soul-quick-access"> <a href="javascript:void(0);" onclick="SugarCube.Engine.play('SoulOverview');" class="soul-overview-button"> <div class="soul-button-content"> <div class="soul-button-icon">🔮✨</div> <div class="soul-button-text"> <div class="soul-button-title">View Full Soul Overview</div> <div class="soul-button-desc">Detailed view of all soul effects and bonuses</div> </div> </div>
</a>
</div> <div class="soul-quick-stats"> <h3>Quick Soul Status</h3> <div class="quick-stats-grid"> <div class="quick-stat-card"> <div class="stat-character"><<print $humanName || "">></div> <div class="stat-values"> <span class="blessing-quick">✨ <<print $rylan_soulBlessing || 0>></span> <span class="corruption-quick">🌑 <<print $rylan_soulCorruption || 0>></span> </div> </div> <div class="quick-stat-card"> <div class="stat-character">Liora</div> <div class="stat-values"> <span class="blessing-quick">✨ <<print $liora_soulBlessing || 0>></span> <span class="corruption-quick">🌑 <<print $liora_soulCorruption || 0>></span> </div> </div> <div class="quick-stat-card"> <div class="stat-character">Serin</div> <div class="stat-values"> <span class="blessing-quick">✨ <<print $serin_soulBlessing || 0>></span> <span class="corruption-quick">🌑 <<print $serin_soulCorruption || 0>></span> </div> </div> <div class="quick-stat-card"> <div class="stat-character"><<print "Seryk">></div> <div class="stat-values"> <span class="blessing-quick">✨ <<print $seryk_soulBlessing || 0>></span> <span class="corruption-quick">🌑 <<print $seryk_soulCorruption || 0>></span> </div> </div> <div class="quick-stat-card"> <div class="stat-character">Nimeria</div> <div class="stat-values"> <span class="blessing-quick">✨ <<print $nimeria_soulBlessing || 0>></span> <span class="corruption-quick">🌑 <<print $nimeria_soulCorruption || 0>></span> </div> </div> <div class="quick-stat-card"> <div class="stat-character">Mariel</div> <div class="stat-values"> <span class="blessing-quick">✨ <<print $mariel_soulBlessing || 0>></span> <span class="corruption-quick">🌑 <<print $mariel_soulCorruption || 0>></span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>-->
<div class="diary-return">
<<link "← Return">>
<<run Engine.backward()>>
<</link>>
</div>
<</nobr>>
<style>
.diary-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: 20px;
padding: 20px;
}
.diary-entry {
background: rgba(0, 0, 0, 0.3);
border-radius: 10px;
padding: 15px;
text-align: center;
transition: transform 0.3s ease;
position: relative;
border: 1px solid rgba(255, 255, 255, 0.1);
}
.diary-entry:hover {
transform: translateY(-5px);
}
.portrait-container {
position: relative;
width: 150px;
height: 150px;
margin: 0 auto 15px;
border-radius: 8px;
overflow: hidden;
}
.portrait-container img {
width: 100%;
height: 100%;
object-fit: cover;
transition: filter 0.3s ease;
}
.character-name {
font-size: 1.2em;
font-weight: bold;
margin: 10px 0;
color: #fff;
}
.character-description {
font-size: 0.9em;
color: rgba(255, 255, 255, 0.8);
margin-bottom: 15px;
display: none;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.8);
padding: 10px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
opacity: 0;
transition: opacity 0.3s ease;
}
.portrait-container:hover .character-description {
opacity: 1;
}
.portrait-container:hover img {
filter: brightness(0.7);
}
.view-diary-button {
display: inline-block;
padding: 8px 20px;
background: linear-gradient(to right, rgba(139, 69, 19, 0.6), rgba(139, 69, 19, 0.4));
color: #fff;
text-decoration: none;
border-radius: 5px;
transition: all 0.3s ease;
border: 1px solid rgba(139, 69, 19, 0.8);
}
.view-diary-button:hover {
background: linear-gradient(to right, rgba(139, 69, 19, 0.8), rgba(139, 69, 19, 0.6));
transform: translateY(-2px);
}
.diary-entry.locked {
opacity: 0.7;
filter: grayscale(100%);
}
.locked-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
display: flex;
align-items: center;
justify-content: center;
font-size: 2em;
}
.diary-return {
text-align: center;
margin-top: 20px;
}
/* New tab styles */
.menu-tabs {
display: flex;
gap: 1rem;
margin-bottom: 2rem;
border-bottom: 2px solid rgba(139, 69, 19, 0.4);
padding-bottom: 0.5rem;
}
.tab {
padding: 0.5rem 1rem;
cursor: pointer;
border-radius: 5px 5px 0 0;
background: rgba(139, 69, 19, 0.2);
transition: all 0.3s ease;
font-size: 1.2em;
}
.tab:hover {
background: rgba(139, 69, 19, 0.4);
}
.tab.active {
background: rgba(139, 69, 19, 0.6);
color: white;
}
.tab-content {
display: none;
}
.tab-content.active {
display: block;
}
/* Audio control styles */
.audio-controls {
background: rgba(0, 0, 0, 0.2);
padding: 1em;
border-radius: 8px;
margin: 1em 0;
display: flex;
flex-direction: column;
gap: 1em;
}
.audio-control {
display: flex;
flex-direction: column;
gap: 0.5em;
}
.control-header {
display: flex;
justify-content: space-between;
align-items: center;
}
.volume-control {
display: flex;
align-items: center;
gap: 1em;
}
.volume-slider {
flex: 1;
}
.audio-toggle {
background: #ff4081;
color: white;
border: none;
padding: 0.5em;
border-radius: 4px;
cursor: pointer;
transition: background 0.3s;
width: 40px;
}
.audio-toggle:hover {
background: #f50057;
}
.volume-value {
min-width: 4em;
text-align: right;
}
/* Soul System Tab Styles */
.soul-tab-container {
padding: 20px;
}
.soul-tab-header {
text-align: center;
margin-bottom: 30px;
}
.soul-tab-header h2 {
font-size: 2em;
margin: 0 0 10px 0;
background: linear-gradient(45deg, #ffd700, #ff6b6b);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-shadow: 0 0 20px rgba(255, 215, 0, 0.3);
}
.soul-tab-header p {
font-size: 1.1em;
opacity: 0.8;
margin: 0;
}
.soul-main-layout {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 30px;
align-items: start;
}
.soul-quick-access {
display: flex;
flex-direction: column;
gap: 20px;
}
.soul-overview-button, .soul-test-button, .soul-guide-button {
display: block;
text-decoration: none;
background: rgba(255, 255, 255, 0.05);
border-radius: 12px;
padding: 20px;
transition: all 0.3s ease;
border: 2px solid transparent;
position: relative;
overflow: hidden;
}
.soul-overview-button {
border-left: 4px solid #ffd700;
}
.soul-test-button {
border-left: 4px solid #4a9eff;
}
.soul-guide-button {
border-left: 4px solid #ff6b6b;
}
.soul-overview-button:hover, .soul-test-button:hover, .soul-guide-button:hover {
transform: translateY(-3px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
background: rgba(255, 255, 255, 0.08);
}
.soul-button-content {
display: flex;
align-items: center;
gap: 15px;
}
.soul-button-icon {
font-size: 2em;
min-width: 60px;
text-align: center;
}
.soul-button-text {
flex-grow: 1;
}
.soul-button-title {
font-size: 1.2em;
font-weight: bold;
color: #fff;
margin-bottom: 5px;
}
.soul-button-desc {
font-size: 0.9em;
opacity: 0.7;
color: #ccc;
}
.soul-quick-stats {
background: rgba(0, 0, 0, 0.2);
border-radius: 12px;
padding: 25px;
border: 1px solid rgba(255, 255, 255, 0.1);
}
.soul-quick-stats h3 {
text-align: center;
margin: 0 0 20px 0;
font-size: 1.4em;
color: #4a9eff;
text-shadow: 0 0 10px rgba(74, 158, 255, 0.3);
}
.quick-stats-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
}
.quick-stat-card {
background: rgba(255, 255, 255, 0.03);
border-radius: 8px;
padding: 15px;
text-align: center;
border: 1px solid rgba(255, 255, 255, 0.05);
transition: all 0.3s ease;
}
.quick-stat-card:hover {
background: rgba(255, 255, 255, 0.06);
transform: translateY(-2px);
}
.stat-character {
font-size: 1.1em;
font-weight: bold;
color: #fff;
margin-bottom: 10px;
}
.stat-values {
display: flex;
justify-content: center;
gap: 15px;
}
.blessing-quick, .corruption-quick {
padding: 5px 10px;
border-radius: 12px;
font-size: 0.9em;
font-weight: bold;
}
.blessing-quick {
background: linear-gradient(45deg, rgba(255, 215, 0, 0.2), rgba(255, 215, 0, 0.1));
border: 1px solid rgba(255, 215, 0, 0.3);
color: #ffd700;
text-shadow: 0 0 8px rgba(255, 215, 0, 0.4);
}
.corruption-quick {
background: linear-gradient(45deg, rgba(139, 0, 0, 0.2), rgba(139, 0, 0, 0.1));
border: 1px solid rgba(139, 0, 0, 0.3);
color: #ff6b6b;
text-shadow: 0 0 8px rgba(255, 107, 107, 0.4);
}
/* Tools Tab Styles */
.tools-container {
padding: 20px;
}
.tools-container h2 {
text-align: center;
margin: 0 0 30px 0;
font-size: 2em;
background: linear-gradient(45deg, #4a9eff, #74c0fc);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-shadow: 0 0 20px rgba(74, 158, 255, 0.3);
}
.tools-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 20px;
padding: 20px;
}
.tool-button {
background: linear-gradient(135deg, rgba(74, 144, 226, 0.8), rgba(116, 192, 252, 0.6));
border: 1px solid rgba(74, 144, 226, 0.4);
border-radius: 12px;
padding: 20px;
text-align: center;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
position: relative;
overflow: hidden;
}
.tool-button::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
transition: left 0.5s ease;
}
.tool-button:hover::before {
left: 100%;
}
.tool-button:hover {
background: linear-gradient(135deg, rgba(74, 144, 226, 1), rgba(116, 192, 252, 0.8));
border-color: rgba(74, 144, 226, 0.8);
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(74, 144, 226, 0.4);
}
.tool-button a {
color: #ffffff !important;
text-decoration: none !important;
font-weight: bold;
font-size: 1.1em;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
display: block;
width: 100%;
height: 100%;
position: relative;
z-index: 1;
}
/* Debug Tab Styles */
.debug-container {
padding: 20px;
}
.debug-container h2 {
text-align: center;
margin: 0 0 30px 0;
font-size: 2em;
background: linear-gradient(45deg, #ff8c00, #ffa500);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-shadow: 0 0 20px rgba(255, 140, 0, 0.3);
}
.debug-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 20px;
padding: 20px;
}
.debug-button {
background: linear-gradient(135deg, rgba(255, 140, 0, 0.8), rgba(255, 165, 0, 0.6));
border: 1px solid rgba(255, 140, 0, 0.6);
border-radius: 12px;
padding: 20px;
text-align: center;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 140, 0, 0.3);
position: relative;
overflow: hidden;
}
.debug-button::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
transition: left 0.5s ease;
}
.debug-button:hover::before {
left: 100%;
}
.debug-button:hover {
background: linear-gradient(135deg, rgba(255, 140, 0, 1), rgba(255, 165, 0, 0.8));
border-color: rgba(255, 140, 0, 0.8);
transform: translateY(-3px);
box-shadow: 0 6px 20px rgba(255, 140, 0, 0.5);
}
.debug-button a {
color: #ffffff !important;
text-decoration: none !important;
font-weight: bold;
font-size: 1.1em;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
display: block;
width: 100%;
height: 100%;
position: relative;
z-index: 1;
}
.debug-item-container {
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
}
.debug-description {
color: #ffffff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
font-size: 0.9em;
font-weight: bold;
text-align: center;
opacity: 0.9;
max-width: 300px;
line-height: 1.3;
}
/* Special button styling */
.tool-button.calendar-button {
background: linear-gradient(135deg, rgba(255, 193, 7, 0.8), rgba(255, 152, 0, 0.6)) !important;
border: 1px solid rgba(255, 193, 7, 0.6) !important;
box-shadow: 0 4px 15px rgba(255, 193, 7, 0.3) !important;
}
.tool-button.calendar-button:hover {
background: linear-gradient(135deg, rgba(255, 193, 7, 1), rgba(255, 152, 0, 0.8)) !important;
border-color: rgba(255, 193, 7, 0.8) !important;
box-shadow: 0 6px 20px rgba(255, 193, 7, 0.5) !important;
}
.tool-button.soul-forge-button {
background: linear-gradient(135deg, rgba(138, 43, 226, 0.8), rgba(147, 112, 219, 0.6)) !important;
border: 1px solid rgba(138, 43, 226, 0.6) !important;
box-shadow: 0 4px 15px rgba(138, 43, 226, 0.3) !important;
}
.tool-button.soul-forge-button:hover {
background: linear-gradient(135deg, rgba(138, 43, 226, 1), rgba(147, 112, 219, 0.8)) !important;
border-color: rgba(138, 43, 226, 0.8) !important;
box-shadow: 0 6px 20px rgba(138, 43, 226, 0.5) !important;
}
.tool-button.guide-button {
background: linear-gradient(135deg, rgba(34, 139, 34, 0.8), rgba(50, 205, 50, 0.6)) !important;
border: 1px solid rgba(34, 139, 34, 0.6) !important;
box-shadow: 0 4px 15px rgba(34, 139, 34, 0.3) !important;
}
.tool-button.guide-button:hover {
background: linear-gradient(135deg, rgba(34, 139, 34, 1), rgba(50, 205, 50, 0.8)) !important;
border-color: rgba(34, 139, 34, 0.8) !important;
box-shadow: 0 6px 20px rgba(34, 139, 34, 0.5) !important;
}
@media (max-width: 768px) {
.soul-main-layout {
grid-template-columns: 1fr;
gap: 20px;
}
.quick-stats-grid {
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.soul-button-content {
flex-direction: column;
text-align: center;
gap: 10px;
}
.tools-grid, .debug-grid {
grid-template-columns: 1fr;
gap: 15px;
}
}
</style>
<<script>>
// Function to generate dynamic gradient from a base color
function generatePassageGradient(baseColor) {
// Convert hex to RGB
const hex = baseColor.replace('#', '');
const r = parseInt(hex.substr(0, 2), 16);
const g = parseInt(hex.substr(2, 2), 16);
const b = parseInt(hex.substr(4, 2), 16);
// Create lighter version for middle (increase brightness by 30%)
const lightR = Math.min(255, Math.floor(r + (255 - r) * 0.3));
const lightG = Math.min(255, Math.floor(g + (255 - g) * 0.3));
const lightB = Math.min(255, Math.floor(b + (255 - b) * 0.3));
// Create the gradient
return `linear-gradient(135deg, ${baseColor}, rgba(${lightR}, ${lightG}, ${lightB}, 0.95), ${baseColor})`;
}
$(document).ready(function() {
// Tab switching logic
$('.tab').on('click', function() {
const tabId = $(this).data('tab');
// Update tab states
$('.tab').removeClass('active');
$(this).addClass('active');
// Update content visibility
$('.tab-content').removeClass('active');
$(`#${tabId}-content`).addClass('active');
});
// Load saved audio settings first
let savedAudio = null;
if (localStorage.getItem('audioSettings')) {
savedAudio = JSON.parse(localStorage.getItem('audioSettings'));
}
// Initialize audio system with saved values or defaults
if (!window.AudioSystem) {
window.AudioSystem = {
bgm: {
volume: savedAudio?.bgm?.volume ?? 0.3,
muted: savedAudio?.bgm?.muted ?? false
},
sfx: {
volume: savedAudio?.sfx?.volume ?? 0.5,
muted: savedAudio?.sfx?.muted ?? false
},
voice: {
volume: savedAudio?.voice?.volume ?? 0.7,
muted: savedAudio?.voice?.muted ?? false
},
setVolume: function(type, volume) {
this[type].volume = volume;
},
toggleMute: function(type) {
this[type].muted = !this[type].muted;
}
};
}
// Load all saved settings
if (localStorage.getItem('gameSettings')) {
const savedSettings = JSON.parse(localStorage.getItem('gameSettings'));
// Restore text settings
if (savedSettings.text) {
if (savedSettings.text.fontSize) {
document.documentElement.style.setProperty('--base-font-size', savedSettings.text.fontSize + 'px');
$('#current-font-size').text(savedSettings.text.fontSize + 'px');
}
if (savedSettings.text.passageWidth) {
$('#passages').css('width', savedSettings.text.passageWidth + '%');
$('#passage-width').val(savedSettings.text.passageWidth);
$('#current-width').text(savedSettings.text.passageWidth + '%');
State.variables.passageWidth = savedSettings.text.passageWidth;
}
}
// Restore color settings
if (savedSettings.colors) {
const colorMappings = {
rylanColor: ['--dialog-color-rylan', '#player-color'],
marielColor: ['--dialog-color-mariel', '#mariel-color'],
thalorColor: ['--dialog-color-thalor', '#thalor-color'],
lioraColor: ['--dialog-color-liora', '#liora-color'],
serinColor: ['--dialog-color-serin', '#serin-color'],
serykColor: ['--dialog-color-seryk', '#demon-color'],
nimeriaColor: ['--dialog-color-nimeria', '#nimeria-color'],
gairosColor: ['--dialog-color-gairos', '#gairos-color'],
veloriaColor: ['--dialog-color-veloria', '#veloria-color'],
soraColor: ['--dialog-color-sora', '#sora-color'],
miraColor: ['--dialog-color-mira', '#mira-color'],
femaleNpcColor: ['--dialog-color-female-npc', '#female-npc-color'],
maleNpcColor: ['--dialog-color-male-npc', '#male-npc-color']
};
for (const [key, [cssVar, selector]] of Object.entries(colorMappings)) {
if (savedSettings.colors[key]) {
document.documentElement.style.setProperty(cssVar, savedSettings.colors[key]);
$(selector).val(savedSettings.colors[key]);
State.variables[key] = savedSettings.colors[key];
}
}
}
// Restore background color settings
if (savedSettings.backgroundColors) {
const bgColorMappings = {
rylanBgColor: { selector: '#player-bg-color', cssVar: '--passage-bg-rylan' },
marielBgColor: { selector: '#mariel-bg-color', cssVar: '--passage-bg-mariel' },
thalorBgColor: { selector: '#thalor-bg-color', cssVar: '--passage-bg-thalor' },
lioraBgColor: { selector: '#liora-bg-color', cssVar: '--passage-bg-liora' },
serinBgColor: { selector: '#serin-bg-color', cssVar: '--passage-bg-serin' },
serykBgColor: { selector: '#demon-bg-color', cssVar: '--passage-bg-seryk' },
nimeriaBgColor: { selector: '#nimeria-bg-color', cssVar: '--passage-bg-nimeria' },
gairosBgColor: { selector: '#gairos-bg-color', cssVar: '--passage-bg-gairos' },
veloriaBgColor: { selector: '#veloria-bg-color', cssVar: '--passage-bg-veloria' },
soraBgColor: { selector: '#sora-bg-color', cssVar: '--passage-bg-sora' },
miraBgColor: { selector: '#mira-bg-color', cssVar: '--passage-bg-mira' },
celindraBgColor: { selector: '#celindra-bg-color', cssVar: '--passage-bg-celindra' }
};
for (const [key, mapping] of Object.entries(bgColorMappings)) {
if (savedSettings.backgroundColors[key]) {
$(mapping.selector).val(savedSettings.backgroundColors[key]);
State.variables[key] = savedSettings.backgroundColors[key];
document.documentElement.style.setProperty(mapping.cssVar, savedSettings.backgroundColors[key]);
// Generate and set the gradient
const gradientVar = mapping.cssVar.replace('--passage-bg-', '--passage-gradient-');
document.documentElement.style.setProperty(gradientVar, generatePassageGradient(savedSettings.backgroundColors[key]));
}
}
}
}
// Load audio settings
if (localStorage.getItem('audioSettings')) {
const savedAudio = JSON.parse(localStorage.getItem('audioSettings'));
// Restore BGM settings
if (savedAudio.bgm) {
window.AudioSystem.bgm.volume = savedAudio.bgm.volume;
window.AudioSystem.bgm.muted = savedAudio.bgm.muted;
$('#bgm-volume').val(savedAudio.bgm.volume * 100);
$('#toggle-bgm').text(savedAudio.bgm.muted ? '🔇' : '🔊');
}
// Restore SFX settings
if (savedAudio.sfx) {
window.AudioSystem.sfx.volume = savedAudio.sfx.volume;
window.AudioSystem.sfx.muted = savedAudio.sfx.muted;
$('#sfx-volume').val(savedAudio.sfx.volume * 100);
$('#toggle-sfx').text(savedAudio.sfx.muted ? '🔇' : '🔊');
}
// Restore Voice settings
if (savedAudio.voice) {
window.AudioSystem.voice.volume = savedAudio.voice.volume;
window.AudioSystem.voice.muted = savedAudio.voice.muted;
$('#voice-volume').val(savedAudio.voice.volume * 100);
$('#toggle-voice').text(savedAudio.voice.muted ? '🔇' : '🔊');
}
// Update volume displays
$('.volume-slider').each(function() {
$(this).siblings('.volume-value').text($(this).val() + '%');
});
}
// Save all settings function
function saveAllSettings() {
const settings = {
characters: {
//humanName: State.variables.humanName
},
relationships: {
marielToHuman: State.variables.marielToHuman,
humanToMariel: State.variables.humanToMariel,
humanIsMariel: State.variables.humanIsMariel,
thalorToHuman: State.variables.thalorToHuman,
humanToThalor: State.variables.humanToThalor,
thalorCallsHuman: State.variables.thalorCallsHuman,
bothToHuman: State.variables.bothToHuman,
householdType: State.variables.householdType,
serinRelation: State.variables.serinRelation
},
text: {
fontSize: parseInt(getComputedStyle(document.documentElement).getPropertyValue('--base-font-size')),
passageWidth: State.variables.passageWidth
},
colors: {
rylanColor: State.variables.rylanColor,
marielColor: State.variables.marielColor,
thalorColor: State.variables.thalorColor,
lioraColor: State.variables.lioraColor,
serinColor: State.variables.serinColor,
serykColor: State.variables.serykColor,
nimeriaColor: State.variables.nimeriaColor,
gairosColor: State.variables.gairosColor,
veloriaColor: State.variables.veloriaColor,
soraColor: State.variables.soraColor,
miraColor: State.variables.miraColor,
femaleNpcColor: State.variables.femaleNpcColor,
maleNpcColor: State.variables.maleNpcColor
},
backgroundColors: {
rylanBgColor: State.variables.rylanBgColor,
marielBgColor: State.variables.marielBgColor,
thalorBgColor: State.variables.thalorBgColor,
lioraBgColor: State.variables.lioraBgColor,
serinBgColor: State.variables.serinBgColor,
serykBgColor: State.variables.serykBgColor,
nimeriaBgColor: State.variables.nimeriaBgColor,
gairosBgColor: State.variables.gairosBgColor,
veloriaBgColor: State.variables.veloriaBgColor,
soraBgColor: State.variables.soraBgColor,
miraBgColor: State.variables.miraBgColor,
celindraBgColor: State.variables.celindraBgColor
}
};
localStorage.setItem('gameSettings', JSON.stringify(settings));
// Save audio settings separately
const audioSettings = {
bgm: {
volume: window.AudioSystem.bgm.volume,
muted: window.AudioSystem.bgm.muted
},
sfx: {
volume: window.AudioSystem.sfx.volume,
muted: window.AudioSystem.sfx.muted
},
voice: {
volume: window.AudioSystem.voice.volume,
muted: window.AudioSystem.voice.muted
}
};
localStorage.setItem('audioSettings', JSON.stringify(audioSettings));
}
// Add save triggers to all inputs
$('input[type="text"]').on('change', function() {
const name = $(this).attr('name');
if (name) {
State.variables[name] = $(this).val();
// Update character name labels if needed
if (name === 'humanName') {
$('#player-color').closest('.color-picker-label').find('label').html($(this).val() + ':');
}
}
saveAllSettings();
});
// Font size control with save
$('#increase-font, #decrease-font').on('click', function() {
setTimeout(saveAllSettings, 100); // Wait for font size to update
});
// Volume control handlers
$('#bgm-volume').on('input', function() {
const volume = $(this).val() / 100;
window.AudioSystem.setVolume('bgm', volume);
$(this).siblings('.volume-value').text($(this).val() + '%');
saveAllSettings();
});
$('#sfx-volume').on('input', function() {
const volume = $(this).val() / 100;
window.AudioSystem.setVolume('sfx', volume);
$(this).siblings('.volume-value').text($(this).val() + '%');
saveAllSettings();
});
$('#voice-volume').on('input', function() {
const volume = $(this).val() / 100;
window.AudioSystem.setVolume('voice', volume);
$(this).siblings('.volume-value').text($(this).val() + '%');
saveAllSettings();
});
// Mute toggle handlers
$('#toggle-bgm').on('click', function() {
window.AudioSystem.toggleMute('bgm');
$(this).text(window.AudioSystem.bgm.muted ? '🔇' : '🔊');
saveAllSettings();
});
$('#toggle-sfx').on('click', function() {
window.AudioSystem.toggleMute('sfx');
$(this).text(window.AudioSystem.sfx.muted ? '🔇' : '🔊');
saveAllSettings();
});
$('#toggle-voice').on('click', function() {
window.AudioSystem.toggleMute('voice');
$(this).text(window.AudioSystem.voice.muted ? '🔇' : '🔊');
saveAllSettings();
});
// Initialize mute button states
$('#toggle-bgm').text(window.AudioSystem.bgm.muted ? '🔇' : '🔊');
$('#toggle-sfx').text(window.AudioSystem.sfx.muted ? '🔇' : '🔊');
$('#toggle-voice').text(window.AudioSystem.voice.muted ? '🔇' : '🔊');
});
<</script>><<nobr>>
<h2>📖 Nimeria's Story</h2>
<div class="diary-portrait-container">
<img @src="'images/Nimeria/' + ($nimeria_Lust >= 50 ? 'facewet.webp' : 'face.webp')" alt="Nimeria Face" class="diary-portrait">
<div class="diary-portrait-description">
<p>A mysterious and alluring demon who appears innocent but harbors dark secrets. Behind her sweet smile lies a cunning intelligence that few can match. Her true nature remains hidden beneath layers of carefully crafted charm and manipulation.</p>
</div>
</div>
<<set _character = "Nimeria">>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Main H-Stats</h3>
<table class="stats-table">
<tr>
<th>Stat</th>
<th>Value</th>
<th>Description</th>
</tr>
<<for _key, _stat range setup.statCategories.basic.stats>>
<<set _value = setup.getStat(_character, "basic", _key)>>
<tr>
<td class="stat-name"><<print _stat.name>></td>
<td class="stat-value"><<print _value>></td>
<td class="stat-desc"><<print _stat.description || "">></td>
</tr>
<</for>>
</table>
</div>
<h3 class="section-header">Body</h3>
<div class="body-parts-grid">
<div class="body-part-top">
<div class="stat-tooltip">
Corruption: <<print setup.getStat("Nimeria", "basic", "corruption")>><br>
Lust: <<print $nimeria_Lust>><br>
Face Sensitivity: <<print setup.getStat("Nimeria", "sensitivity", "faceSensitivity")>>%
</div>
<img src="images/nimeria/face.webp" alt="Face">
</div>
<div class="body-part-left">
<div class="stat-tooltip">
Ass Size: <<print setup.getStat("Nimeria", "body", "assSize")>><br>
Ass Sensitivity: <<print setup.getStat("Nimeria", "sensitivity", "assSensitivity")>>%<br>
Anal Experience: <<print setup.getStat("Nimeria", "experience", "analExperience")>>
</div>
<img src="images/nimeria/ass.webp" alt="Ass">
</div>
<div class="body-part-center">
<div class="stat-tooltip">
Body Type: Demonic<br>
Body Sensitivity: <<print setup.getStat("Nimeria", "sensitivity", "bodySensitivity")>>%<br>
Sexual Experience: <<print setup.getStat("Nimeria", "experience", "sexualExperience")>>
</div>
<img src="images/nimeria/naked.webp" alt="Body">
</div>
<div class="body-part-right">
<div class="stat-tooltip">
Breast Size: <<print setup.getStat("Nimeria", "body", "breastSize")>><br>
Breast Sensitivity: <<print setup.getStat("Nimeria", "sensitivity", "breastSensitivity")>>%<br>
Breast Experience: <<print setup.getStat("Nimeria", "experience", "breastExperience")>>
</div>
<img src="images/nimeria/breasts.webp" alt="Chest">
</div>
<div class="body-part-bottom">
<div class="stat-tooltip">
Vagina Size: <<print setup.getStat("Nimeria", "body", "vaginaSize")>><br>
Vagina Sensitivity: <<print setup.getStat("Nimeria", "sensitivity", "vaginaSensitivity")>>%<br>
Vaginal Experience: <<print setup.getStat("Nimeria", "experience", "vaginalExperience")>>
</div>
<img src="images/nimeria/vagina.webp" alt="Vagina">
</div>
</div>
<h3 class="section-header">Wardrobe</h3>
<div class="wardrobe-grid">
<div class="wardrobe-top">
<div class="wardrobe-label">Clothes</div>
<img src="images/nimeria/clotheswhitedress.webp" alt="Clothes">
</div>
<div class="wardrobe-left">
<div class="wardrobe-label">Underwear</div>
<img @src="window.WardrobeSystem.getClothingImage('nimeria', 'panties', $nimeria_Lust >= 50)" alt="Panties">
</div>
<div class="wardrobe-center">
<div class="wardrobe-label">Sleepwear</div>
<img src="images/nimeria/sleepwear.webp" alt="Sleepwear">
</div>
<div class="wardrobe-right">
<div class="wardrobe-label">Bra</div>
<img @src="window.WardrobeSystem.getClothingImage('nimeria', 'bra', $nimeria_Lust >= 50)" alt="Bra">
</div>
<div class="wardrobe-bottomleft">
<div class="wardrobe-label">Legwear</div>
<img @src="window.WardrobeSystem.getClothingImage('nimeria', 'legwear', $nimeria_Lust >= 50)" alt="Legwear">
</div>
<div class="wardrobe-bottomright">
<div class="wardrobe-label">Shoes</div>
<img src="images/nimeria/shoeswhitedress.webp" alt="Shoes">
</div>
</div>
<<script>>
if (!State.variables.characters) {
State.variables.characters = {
Rylan: true,
Nimeria: true,
Thalor: true,
Liora: true,
Serin: true,
Seryk: true,
Nimeria: true
};
}
State.variables.selectedCharacter = null;
State.variables.availableCharacters = [];
const characterList = ["Rylan", "Mariel", "Thalor", "Liora", "Serin", "Seryk"];
State.variables.availableCharacters =
[...new Set(characterList.filter(c => State.variables['met' + c]))];
function createCharacterPortraits() {
const portraitsContainer = $('#character-portraits');
portraitsContainer.empty();
State.variables.availableCharacters.forEach(char => {
const portraitHtml = `
<div class="character-portrait-small" data-character="${char}">
<img src="images/${char}/face.webp" alt="${char}">
<div class="character-name-label">${char}</div>
</div>
`;
portraitsContainer.append(portraitHtml);
});
}
function selectCharacter(characterName) {
State.variables.selectedCharacter = characterName;
$('.character-portrait-small').removeClass('selected');
$(`.character-portrait-small[data-character="${characterName}"]`).addClass('selected');
const displayName = (characterName === 'Rylan' || characterName === 'rylan') ? State.variables.humanName : characterName;
$('#selected-character-name').text(`Relationship with ${displayName}`);
let statsHtml = '';
const charLower = characterName.toLowerCase();
const nimeriaLower = 'nimeria';
const affectionVar = `${nimeriaLower}_${characterName}Affection`;
const attractionVar = `${nimeriaLower}_${characterName}Attraction`;
const affection = State.variables[affectionVar] || 0;
const attraction = State.variables[attractionVar] || 0;
statsHtml += `<div class="stat-category">
<h4>Basic Relationship</h4>
<div class="stat-grid">
<div class="stat-item">
<span class="stat-name">💗 Affection</span>
<span class="stat-value">${affection.toFixed(1)}</span>
</div>
<div class="stat-item">
<span class="stat-name">💝 Attraction</span>
<span class="stat-value">${attraction.toFixed(1)}</span>
</div>
</div>
</div>`;
const sexualStats = [
{name: 'Kiss Count', var: `${nimeriaLower}_${characterName}KissCount`},
{name: 'Vaginal Count', var: `${nimeriaLower}_${characterName}VaginalCount`},
{name: 'Anal Count', var: `${nimeriaLower}_${characterName}AnalCount`},
{name: 'Anal Taken', var: `${nimeriaLower}_${characterName}AnalTakenCount`},
{name: 'Handjob Given', var: `${nimeriaLower}_${characterName}HandjobCount`},
{name: 'Handjob Taken', var: `${nimeriaLower}_${characterName}HandjobTakenCount`},
{name: 'Blowjob Given', var: `${nimeriaLower}_${characterName}BlowjobCount`},
{name: 'Blowjob Taken', var: `${nimeriaLower}_${characterName}BlowjobTakenCount`},
{name: 'Footjob Given', var: `${nimeriaLower}_${characterName}FootjobCount`},
{name: 'Footjob Taken', var: `${nimeriaLower}_${characterName}FootjobTakenCount`},
{name: 'Boobjob Given', var: `${nimeriaLower}_${characterName}BoobJobCount`},
{name: 'Boobjob Taken', var: `${nimeriaLower}_${characterName}BoobJobTakenCount`},
{name: 'Breasts Touched', var: `${nimeriaLower}_${characterName}BreastsTouchedCount`},
{name: 'Breasts Touched By', var: `${nimeriaLower}_${characterName}BreastsTouchedByCount`},
{name: 'Ass Touched', var: `${nimeriaLower}_${characterName}AssTouchedCount`},
{name: 'Ass Touched By', var: `${nimeriaLower}_${characterName}AssTouchedByCount`},
{name: 'Cum Inside Count', var: `${nimeriaLower}_${characterName}CumInsideCount`},
{name: 'Cum Inside (ml)', var: `${nimeriaLower}_${characterName}CumInsideMl`},
{name: 'Cum Swallowed (ml)', var: `${nimeriaLower}_${characterName}CumSwallowedMl`},
{name: 'Cum On Body (ml)', var: `${nimeriaLower}_${characterName}CumOnBodyMl`},
{name: 'Orgasms Given', var: `${nimeriaLower}_${characterName}OrgasmsGiven`},
{name: 'Orgasms Received', var: `${nimeriaLower}_${characterName}OrgasmsReceived`}
];
const activeSexualStats = sexualStats.filter(stat => (State.variables[stat.var] || 0) > 0);
if (activeSexualStats.length > 0) {
statsHtml += `<div class="stat-category">
<h4>Sexual Experience</h4>
<div class="stat-grid">`;
activeSexualStats.forEach(stat => {
const value = State.variables[stat.var] || 0;
statsHtml += `<div class="stat-item">
<span class="stat-name">${stat.name}</span>
<span class="stat-value">${value}</span>
</div>`;
});
statsHtml += `</div></div>`;
} else {
statsHtml += `<div class="stat-category">
<h4>Sexual Experience</h4>
<div class="stat-grid">
<div class="stat-item">
<span class="stat-name">No sexual encounters yet</span>
<span class="stat-value">-</span>
</div>
</div>
</div>`;
}
$('#relationship-stats').html(statsHtml);
}
$(document).on('click', '.character-portrait-small', function() {
const characterName = $(this).data('character');
selectCharacter(characterName);
});
$(document).ready(() => {
createCharacterPortraits();
if (State.variables.availableCharacters.length > 0) {
selectCharacter(State.variables.availableCharacters[0]);
} else {
$('#relationship-stats').html('<div class="stat-category"><h4>No relationships available yet</h4></div>');
}
});
<</script>>
<<initializeTooltips>>
<<set _character = "Nimeria">>
<div class="relationship-viewer">
<div class="relationship-header">
<h3 style="margin: 0; color: #ff69b4;">Relationships</h3>
</div>
<div class="character-portraits-row" id="character-portraits"></div>
<div class="relationship-display">
<div class="selected-character-info">
<h4 id="selected-character-name">Select a character</h4>
<div id="relationship-stats" class="relationship-stats">Click on a character portrait above to view relationship details.</div>
</div>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">First Experiences</h3>
<div class="first-experiences-categories">
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">💋 Kiss</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">First Kiss:</span>
<span class="exp-value">
<<if $nimeriaFirstKiss>>
<<if $nimeriaFirstKiss === "Rylan" || $nimeriaFirstKiss === "rylan">>$humanName<<else>><<print $nimeriaFirstKiss>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍑 Vaginal</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $nimeriaFirstVaginalDone>>
<<if $nimeriaFirstVaginalDone === "Rylan" || $nimeriaFirstVaginalDone === "rylan">>$humanName<<else>><<print $nimeriaFirstVaginalDone>><</if>>
<<else>>
Virgin
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $nimeriaFirstVaginalTaken>>
<<if $nimeriaFirstVaginalTaken === "Rylan" || $nimeriaFirstVaginalTaken === "rylan">>$humanName<<else>><<print $nimeriaFirstVaginalTaken>><</if>>
<<else>>
Virgin
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍑 Anal</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $nimeriaFirstAnalDone>>
<<if $nimeriaFirstAnalDone === "Rylan" || $nimeriaFirstAnalDone === "rylan">>$humanName<<else>><<print $nimeriaFirstAnalDone>><</if>>
<<else>>
Virgin
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $nimeriaFirstAnalTaken>>
<<if $nimeriaFirstAnalTaken === "Rylan" || $nimeriaFirstAnalTaken === "rylan">>$humanName<<else>><<print $nimeriaFirstAnalTaken>><</if>>
<<else>>
Virgin
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">👄 Blowjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $nimeriaFirstBlowjobDone>>
<<if $nimeriaFirstBlowjobDone === "Rylan" || $nimeriaFirstBlowjobDone === "rylan">>$humanName<<else>><<print $nimeriaFirstBlowjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $nimeriaFirstBlowjobTaken>>
<<if $nimeriaFirstBlowjobTaken === "Rylan" || $nimeriaFirstBlowjobTaken === "rylan">>$humanName<<else>><<print $nimeriaFirstBlowjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">✋ Handjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $nimeriaFirstHandjobDone>>
<<if $nimeriaFirstHandjobDone === "Rylan" || $nimeriaFirstHandjobDone === "rylan">>$humanName<<else>><<print $nimeriaFirstHandjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $nimeriaFirstHandjobTaken>>
<<if $nimeriaFirstHandjobTaken === "Rylan" || $nimeriaFirstHandjobTaken === "rylan">>$humanName<<else>><<print $nimeriaFirstHandjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🦶 Footjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $nimeriaFirstFootjobDone>>
<<if $nimeriaFirstFootjobDone === "Rylan" || $nimeriaFirstFootjobDone === "rylan">>$humanName<<else>><<print $nimeriaFirstFootjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $nimeriaFirstFootjobTaken>>
<<if $nimeriaFirstFootjobTaken === "Rylan" || $nimeriaFirstFootjobTaken === "rylan">>$humanName<<else>><<print $nimeriaFirstFootjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍒 Boobjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $nimeriaFirstBoobjobDone>>
<<if $nimeriaFirstBoobjobDone === "Rylan" || $nimeriaFirstBoobjobDone === "rylan">>$humanName<<else>><<print $nimeriaFirstBoobjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $nimeriaFirstBoobjobTaken>>
<<if $nimeriaFirstBoobjobTaken === "Rylan" || $nimeriaFirstBoobjobTaken === "rylan">>$humanName<<else>><<print $nimeriaFirstBoobjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Fetishes</h3>
<div class="fetish-grid">
<div class="fetish-category">
<h4>Physical</h4>
<div class="fetish-item">
<span class="fetish-name">Scent Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SmellFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Muscle Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "MuscleFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Thigh Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ThighFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Body Parts</h4>
<div class="fetish-item">
<span class="fetish-name">Feet Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "FeetFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Armpit Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ArmpitFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Breast Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "BreastFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Ass Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "AssFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Penis Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "PenisFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Vagina Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "VaginaFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Fluids</h4>
<div class="fetish-item">
<span class="fetish-name">Cum Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "CumAddiction").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Sweat Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SweatFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Saliva Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SalivaFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Behavioral</h4>
<div class="fetish-item">
<span class="fetish-name">Submission</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SubmissionFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Dominance</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "DominanceFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Exhibitionism</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ExhibitionismFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Voyeurism</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "VoyeurismFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Kinks</h4>
<div class="fetish-item">
<span class="fetish-name">Bondage Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "BondageFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Cross-Dressing</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "CrossdressingFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Orientation</h4>
<div class="fetish-item">
<span class="fetish-name">Gay-Sex Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "GayValue").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Lesbian Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "LesbianValue").toFixed(1)>></span>
</div>
</div>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Sexual Experience</h3>
<div class="sexual-experience-grid">
<<for _subcatKey, _subcat range setup.statCategories.experience.subcategories>>
<div class="experience-category">
<h4><<print _subcat.name>></h4>
<<for _key, _stat range _subcat.stats>>
<<set _value = setup.getStat(_character, "experience", _key)>>
<div class="exp-row">
<span class="exp-label"><<print _stat.name>>:</span>
<span class="exp-value">
<<if _key.toLowerCase().includes("amount")>>
<<print _value>> ml
<<else>>
<<print _value>>
<<if _key.toLowerCase().includes("count") && _value == 0>>
(Virgin)
<<elseif _key.toLowerCase().includes("count")>>
(Experienced)
<</if>>
<</if>>
</span>
</div>
<</for>>
</div>
<</for>>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Sensitivity</h3>
<div class="stat-grid">
<<for _key, _stat range setup.statCategories.sensitivity.stats>>
<<set _value = setup.getStat(_character, "sensitivity", _key)>>
<div class="stat-item">
<div class="stat-name"><<print _stat.name>></div>
<div class="stat-value"><<print _value>>%</div>
</div>
<</for>>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Mind Control</h3>
<div class="stat-grid">
<<for _key, _stat range setup.statCategories.mindControl.stats>>
<<set _value = setup.getStat(_character, "mindControl", _key)>>
<div class="stat-item">
<div class="stat-name"><<print _stat.name>></div>
<div class="stat-value"><<print _value>></div>
</div>
<</for>>
</div>
</div>
<div class="diary-return">
<<link "↩ Return">>
<<run Engine.backward()>>
<</link>>
</div>
<</nobr>>
<style>
.relationship-container {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
gap: 20px;
padding: 20px;
}
.character-card {
position: relative;
background: rgba(0, 0, 0, 0.3);
border-radius: 10px;
padding: 10px;
text-align: center;
}
.character-name {
font-size: 1.2em;
margin-bottom: 10px;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}
.character-portrait {
width: 120px;
height: 120px;
margin: 0 auto;
border-radius: 60px;
overflow: hidden;
border: 2px solid rgba(255, 255, 255, 0.2);
cursor: pointer;
}
.character-portrait img {
width: 100%;
height: 100%;
object-fit: cover;
}
#global-tooltip {
display: none;
position: fixed;
background: rgba(0, 0, 0, 0.95);
color: #fff;
padding: 15px;
border-radius: 10px;
width: 250px;
z-index: 9999;
box-shadow: 0 0 10px rgba(0,0,0,0.5);
text-align: left;
}
.relationship-subcategory {
margin-bottom: 15px;
}
.relationship-subcategory h4 {
color: #ff69b4;
margin: 0 0 8px 0;
border-bottom: 1px solid rgba(255,105,180,0.3);
padding-bottom: 4px;
}
.stat-row {
display: flex;
justify-content: space-between;
margin: 4px 0;
font-size: 0.9em;
}
.stat-label {
color: #ccc;
}
.stat-value {
color: #fff;
font-weight: bold;
}
.body-parts-grid {
display: grid;
grid-template-areas:
". top ."
"left center right"
". bottom .";
gap: 10px;
justify-content: center;
align-items: center;
}
.body-part-top, .body-part-left, .body-part-center, .body-part-right, .body-part-bottom {
position: relative;
cursor: pointer;
}
.stat-tooltip {
display: none;
position: fixed;
background: rgba(0, 0, 0, 0.8);
color: white;
padding: 5px 10px;
border-radius: 5px;
z-index: 100;
white-space: nowrap;
pointer-events: none;
}
.body-part-top:hover .stat-tooltip,
.body-part-left:hover .stat-tooltip,
.body-part-center:hover .stat-tooltip,
.body-part-right:hover .stat-tooltip,
.body-part-bottom:hover .stat-tooltip {
display: block;
}
.body-part-top { grid-area: top; }
.body-part-left { grid-area: left; }
.body-part-center { grid-area: center; }
.body-part-right { grid-area: right; }
.body-part-bottom { grid-area: bottom; }
.diary-portrait-container {
position: relative;
width: 300px;
height: 300px;
margin: 20px auto;
border-radius: 15px;
overflow: hidden;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
transition: transform 0.3s ease;
}
.diary-portrait-container:hover {
transform: scale(1.02);
}
.diary-portrait {
width: 100%;
height: 100%;
object-fit: cover;
transition: filter 0.3s ease;
}
.diary-portrait-container:hover .diary-portrait {
filter: brightness(0.7);
}
.diary-portrait-description {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.7);
color: white;
padding: 20px;
opacity: 0;
transition: opacity 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
font-size: 1.1em;
line-height: 1.4;
}
.diary-portrait-container:hover .diary-portrait-description {
opacity: 1;
}
.wardrobe-label {
text-align: center;
font-weight: bold;
margin-bottom: 5px;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}
.relationship-viewer {
background: rgba(0, 0, 0, 0.3);
border-radius: 15px;
padding: 20px;
margin: 20px 0;
position: relative;
}
.relationship-header {
text-align: center;
margin-bottom: 20px;
}
.character-portraits-row {
display: flex;
justify-content: center;
gap: 15px;
margin-bottom: 20px;
flex-wrap: wrap;
}
.character-portrait-small {
width: 110px;
height: 110px;
border-radius: 50%;
overflow: hidden;
border: 3px solid rgba(255, 105, 180, 0.3);
cursor: pointer;
transition: all 0.3s ease;
position: relative;
}
.character-portrait-small:hover {
border-color: rgba(255, 105, 180, 0.8);
transform: scale(1.1);
}
.character-portrait-small.selected {
border-color: #ff69b4;
box-shadow: 0 0 15px rgba(255, 105, 180, 0.6);
}
.character-portrait-small img {
width: 100%;
height: 100%;
object-fit: cover;
}
.character-portrait-small .character-name-label {
position: absolute;
bottom: -25px;
left: 50%;
transform: translateX(-50%);
font-size: 0.8em;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
white-space: nowrap;
}
.relationship-display {
background: rgba(0, 0, 0, 0.2);
border-radius: 10px;
padding: 20px;
min-height: 200px;
}
.selected-character-info h4 {
color: #ff69b4;
margin: 0 0 15px 0;
text-align: center;
}
.nav-button {
background: rgba(255, 105, 180, 0.3);
border: none;
color: white;
padding: 10px 20px;
border-radius: 5px;
cursor: pointer;
transition: background 0.2s;
}
.nav-button:hover {
background: rgba(255, 105, 180, 0.5);
}
.character-display {
display: flex;
gap: 20px;
align-items: flex-start;
}
.character-portrait-large {
width: 200px;
height: 200px;
border-radius: 100px;
overflow: hidden;
border: 3px solid rgba(255, 105, 180, 0.3);
}
.character-portrait-large img {
width: 100%;
height: 100%;
object-fit: cover;
}
.relationship-stats {
flex: 1;
}
.stat-category {
margin-bottom: 15px;
}
.stat-category h4 {
color: #ff69b4;
margin: 0 0 8px 0;
border-bottom: 1px solid rgba(255,105,180,0.3);
padding-bottom: 4px;
}
.stat-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
}
.stat-item {
display: flex;
justify-content: space-between;
background: rgba(0, 0, 0, 0.2);
padding: 5px 10px;
border-radius: 5px;
}
.stat-name {
color: #ccc;
}
.stat-value {
color: #fff;
font-weight: bold;
}
.first-experiences-categories {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 15px;
margin: 15px 0;
}
.experience-category {
background: rgba(0, 0, 0, 0.2);
border-radius: 8px;
padding: 15px;
}
.experience-subcategory {
display: flex;
gap: 15px;
margin-top: 10px;
flex-direction: row;
}
.experience-item {
display: flex;
justify-content: space-between;
background: rgba(0, 0, 0, 0.2);
padding: 8px 12px;
border-radius: 5px;
flex: 1;
min-width: 150px;
max-width: 200px;
}
.exp-name {
color: #ff69b4;
font-weight: bold;
}
.exp-value {
color: #fff;
}
</style><<nobr>>
<h2>📖 <<print $humanName>>'s Story</h2>
<div class="diary-portrait-container">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" alt="Rylan Face" class="diary-portrait">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" alt="Rylan Face" class="diary-portrait">
<<else>>
<img src="images/rylan/face.webp" alt="Rylan Face" class="diary-portrait">
<</if>>
<div class="diary-portrait-description">
<p>A young man with blonde hair and a lean build, born to legendary heroes. Despite his heritage, <<print $humanName>> struggles to live up to the towering legacy of his <<print $thalorToHuman>>. Currently training to pass the Adventure Exam, a rite of passage he failed once before. Lives with Mariel, his <<print $marielToHuman>>, who tends to pamper him - much to Thalor's disapproval.</p>
</div>
</div>
<<set _character = "Rylan">>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Main H-Stats</h3>
<table class="stats-table">
<tr>
<th>Stat</th>
<th>Value</th>
<th>Description</th>
</tr>
<<for _key, _stat range setup.statCategories.basic.stats>>
<<set _value = setup.getStat(_character, "basic", _key)>>
<<if _key === "penisSize">>
<<set _value = _value * 5>>
<</if>>
<tr>
<td class="stat-name"><<print _stat.name>></td>
<td class="stat-value"><<print _value>></td>
<td class="stat-desc"><<print _stat.description || "">></td>
</tr>
<</for>>
</table>
</div>
<h3 style="margin: 0; color: #ff69b4;">Body</h3>
<div class="body-parts-grid">
<div class="body-part-top">
<div class="stat-tooltip">
Corruption: <<print setup.getStat("Rylan", "basic", "corruption")>><br>
Lust: <<print $rylan_Lust>><br>
Face Sensitivity: <<print setup.getStat("Rylan", "sensitivity", "faceSensitivity")>>%
</div>
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" alt="Face">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" alt="Face">
<<else>>
<img src="images/rylan/face.webp" alt="Face">
<</if>>
</div>
<div class="body-part-left">
<div class="stat-tooltip">
Ass Size: <<print setup.getStat("Rylan", "body", "assSize")>><br>
Ass Sensitivity: <<print setup.getStat("Rylan", "sensitivity", "assSensitivity")>>%<br>
Anal Experience: <<print setup.getStat("Rylan", "experience", "analExperience")>>
</div>
<<if $rylanMasculine>>
<img src="images/rylan/male/body/ass.webp" alt="Ass">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/body/ass.webp" alt="Ass">
<<else>>
<img src="images/rylan/ass.webp" alt="Ass">
<</if>>
</div>
<div class="body-part-center">
<div class="stat-tooltip">
Masculinity: <<print setup.getStat("Rylan", "basic", "masculinity")>><br>
Body Sensitivity: <<print setup.getStat("Rylan", "sensitivity", "bodySensitivity")>>%<br>
Sexual Experience: <<print setup.getStat("Rylan", "experience", "sexualExperience")>>
</div>
<<if $rylanMasculine>>
<img src="images/rylan/male/body/naked.webp" alt="Body">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/body/naked.webp" alt="Body">
<<else>>
<img src="images/rylan/naked.webp" alt="Body">
<</if>>
</div>
<div class="body-part-right">
<div class="stat-tooltip">
Breast Size: <<print setup.getStat("Rylan", "body", "breastSize")>><br>
Breast Sensitivity: <<print setup.getStat("Rylan", "sensitivity", "breastSensitivity")>>%<br>
Breast Experience: <<print setup.getStat("Rylan", "experience", "breastExperience")>>
</div>
<<if $rylanMasculine>>
<img src="images/rylan/male/body/breasts.webp" alt="Chest">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/body/breasts.webp" alt="Chest">
<<else>>
<img src="images/rylan/breasts.webp" alt="Chest">
<</if>>
</div>
<div class="body-part-bottom">
<div class="stat-tooltip">
Penis Size: <<print setup.getStat("Rylan", "body", "penisSize") * 5>> cm<br>
Penis Sensitivity: <<print setup.getStat("Rylan", "sensitivity", "penisSensitivity")>>%<br>
Cum Amount: <<print setup.getStat("Rylan", "body", "cumAmount")>> ml<br>
Sexual Experience: <<print setup.getStat("Rylan", "experience", "sexualExperience")>>
</div>
<<if $rylanMasculine>>
<img src="images/rylan/male/body/penis.webp" alt="Penis">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/body/penis.webp" alt="Penis">
<<else>>
<img src="images/rylan/penis.webp" alt="Penis">
<</if>>
</div>
</div>
<h3 style="margin: 0; color: #ff69b4;">Wardrobe</h3>
<div class="wardrobe-grid">
<div class="wardrobe-top">
<div class="wardrobe-label">Clothes</div>
<<if $rylanMasculine>>
<img src="images/rylan/male/clothes/clothes.webp" alt="Clothes">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/clothes/clothes.webp" alt="Clothes">
<<else>>
<img src="images/rylan/clothes.webp" alt="Clothes">
<</if>>
</div>
<div class="wardrobe-left">
<div class="wardrobe-label">panties</div>
<img @src="window.WardrobeSystem.getClothingImage('rylan', 'panties', $rylan_Lust >= 50)" alt="panties">
</div>
<div class="wardrobe-center">
<div class="wardrobe-label">Sleepwear</div>
<<if $rylanMasculine>>
<img src="images/rylan/male/body/naked.webp" alt="Body">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/body/naked.webp" alt="Body">
<<else>>
<img src="images/rylan/naked.webp" alt="Body">
<</if>>
</div>
<div class="wardrobe-right">
<div class="wardrobe-label">Bra</div>
<img @src="window.WardrobeSystem.getClothingImage('rylan', 'bra', $rylan_Lust >= 50)" alt="Bra">
</div>
<div class="wardrobe-bottomleft">
<div class="wardrobe-label">Legwear</div>
<img @src="window.WardrobeSystem.getClothingImage('rylan', 'legwear', $rylan_Lust >= 50)" alt="Legwear">
</div>
<div class="wardrobe-bottomright">
<div class="wardrobe-label">Shoes</div>
<img src="images/rylan/shoes.webp" alt="Shoes">
</div>
</div>
<<set _character = "Rylan">>
<div class="relationship-viewer">
<div class="relationship-header">
<h3 style="margin: 0; color: #ff69b4;">Relationships</h3>
</div>
<div class="character-portraits-row" id="character-portraits"></div>
<div class="relationship-display">
<div class="selected-character-info">
<h4 id="selected-character-name">Select a character</h4>
<div id="relationship-stats" class="relationship-stats">
Click on a character portrait above to view relationship details.
</div>
</div>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">First Experiences</h3>
<div class="first-experiences-categories">
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">💋 Kiss</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">First Kiss:</span>
<span class="exp-value">
<<if $rylanFirstKiss>>
<<print $rylanFirstKiss>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍑 Vaginal</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $rylanFirstVaginalDone>>
<<print $rylanFirstVaginalDone>>
<<else>>
Virgin
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $rylanFirstVaginalTaken>>
<<print $rylanFirstVaginalTaken>>
<<else>>
Virgin
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍑 Anal</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $rylanFirstAnalDone>>
<<print $rylanFirstAnalDone>>
<<else>>
Virgin
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $rylanFirstAnalTaken>>
<<print $rylanFirstAnalTaken>>
<<else>>
Virgin
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">👄 Blowjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $rylanFirstBlowjobDone>>
<<print $rylanFirstBlowjobDone>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $rylanFirstBlowjobTaken>>
<<print $rylanFirstBlowjobTaken>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">✋ Handjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $rylanFirstHandjobDone>>
<<print $rylanFirstHandjobDone>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $rylanFirstHandjobTaken>>
<<print $rylanFirstHandjobTaken>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🦶 Footjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $rylanFirstFootjobDone>>
<<print $rylanFirstFootjobDone>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $rylanFirstFootjobTaken>>
<<print $rylanFirstFootjobTaken>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍒 Boobjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $rylanFirstBoobjobDone>>
<<print $rylanFirstBoobjobDone>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $rylanFirstBoobjobTaken>>
<<print $rylanFirstBoobjobTaken>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Fetishes</h3>
<div class="fetish-grid">
<div class="fetish-category">
<h4>Physical</h4>
<div class="fetish-item">
<span class="fetish-name">Scent Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SmellFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Muscle Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "MuscleFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Thigh Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ThighFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Body Parts</h4>
<div class="fetish-item">
<span class="fetish-name">Feet Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "FeetFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Armpit Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ArmpitFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Breast Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "BreastFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Ass Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "AssFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Penis Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "PenisFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Vagina Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "VaginaFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Fluids</h4>
<div class="fetish-item">
<span class="fetish-name">Cum Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "CumAddiction").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Sweat Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SweatFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Saliva Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SalivaFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Behavioral</h4>
<div class="fetish-item">
<span class="fetish-name">Submission</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SubmissionFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Dominance</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "DominanceFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Exhibitionism</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ExhibitionismFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Voyeurism</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "VoyeurismFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Kinks</h4>
<div class="fetish-item">
<span class="fetish-name">Bondage Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "BondageFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Cross-Dressing</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "CrossdressingFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Orientation</h4>
<div class="fetish-item">
<span class="fetish-name">Gay-Sex Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "GayValue").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Lesbian Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "LesbianValue").toFixed(1)>></span>
</div>
</div>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Sexual Experience</h3>
<div class="sexual-experience-grid">
<<for _subcatKey, _subcat range setup.statCategories.experience.subcategories>>
<div class="experience-category">
<h4><<print _subcat.name>></h4>
<<for _key, _stat range _subcat.stats>>
<<set _value = setup.getStat(_character, "experience", _key)>>
<div class="exp-row">
<span class="exp-label"><<print _stat.name>>:</span>
<span class="exp-value">
<<if _key.toLowerCase().includes("amount")>>
<<print _value>> ml
<<else>>
<<print _value>>
<<if _key.toLowerCase().includes("count") && _value == 0>>
(Virgin)
<<elseif _key.toLowerCase().includes("count")>>
(Experienced)
<</if>>
<</if>>
</span>
</div>
<</for>>
</div>
<</for>>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Sensitivity</h3>
<div class="stat-grid">
<<for _key, _stat range setup.statCategories.sensitivity.stats>>
<<set _value = setup.getStat(_character, "sensitivity", _key)>>
<div class="stat-item">
<div class="stat-name"><<print _stat.name>></div>
<div class="stat-value"><<print _value>>%</div>
</div>
<</for>>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Mind Control</h3>
<div class="stat-grid">
<<for _key, _stat range setup.statCategories.mindControl.stats>>
<<set _value = setup.getStat(_character, "mindControl", _key)>>
<div class="stat-item">
<div class="stat-name"><<print _stat.name>></div>
<div class="stat-value"><<print _value>></div>
</div>
<</for>>
</div>
</div>
<div class="diary-return">
<<link "↩ Return">>
<<run Engine.backward()>>
<</link>>
</div>
<</nobr>>
<style>
.stat-tooltip {
display: none;
position: fixed;
background: rgba(0, 0, 0, 0.8);
color: white;
padding: 5px 10px;
border-radius: 5px;
z-index: 100;
white-space: nowrap;
pointer-events: none;
}
.body-part-top:hover .stat-tooltip,
.body-part-left:hover .stat-tooltip,
.body-part-center:hover .stat-tooltip,
.body-part-right:hover .stat-tooltip,
.body-part-bottom:hover .stat-tooltip {
display: block;
}
.wardrobe-label {
text-align: center;
font-weight: bold;
margin-bottom: 5px;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}
.relationship-container {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
gap: 20px;
padding: 20px;
}
.character-card {
position: relative;
background: rgba(0, 0, 0, 0.3);
border-radius: 10px;
padding: 10px;
text-align: center;
}
.character-name {
font-size: 1.2em;
margin-bottom: 10px;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}
.character-portrait {
width: 120px;
height: 120px;
margin: 0 auto;
border-radius: 60px;
overflow: hidden;
border: 2px solid rgba(255, 255, 255, 0.2);
cursor: pointer;
}
.character-portrait img {
width: 100%;
height: 100%;
object-fit: cover;
}
#global-tooltip {
display: none;
position: fixed;
background: rgba(0, 0, 0, 0.95);
color: #fff;
padding: 15px;
border-radius: 10px;
width: 250px;
z-index: 9999;
box-shadow: 0 0 10px rgba(0,0,0,0.5);
text-align: left;
}
.relationship-subcategory {
margin-bottom: 15px;
}
.relationship-subcategory h4 {
color: #ff69b4;
margin: 0 0 8px 0;
border-bottom: 1px solid rgba(255,105,180,0.3);
padding-bottom: 4px;
}
.stat-row {
display: flex;
justify-content: space-between;
margin: 4px 0;
font-size: 0.9em;
}
.stat-label {
color: #ccc;
}
.stat-value {
color: #fff;
font-weight: bold;
}
.relationship-viewer {
background: rgba(0, 0, 0, 0.3);
border-radius: 15px;
padding: 20px;
margin: 20px 0;
position: relative;
}
.relationship-header {
text-align: center;
margin-bottom: 20px;
}
.character-portraits-row {
display: flex;
justify-content: center;
gap: 15px;
margin-bottom: 20px;
flex-wrap: wrap;
}
.character-portrait-small {
width: 110px;
height: 110px;
border-radius: 50%;
overflow: hidden;
border: 3px solid rgba(255, 105, 180, 0.3);
cursor: pointer;
transition: all 0.3s ease;
position: relative;
}
.character-portrait-small:hover {
border-color: rgba(255, 105, 180, 0.8);
transform: scale(1.1);
}
.character-portrait-small.selected {
border-color: #ff69b4;
box-shadow: 0 0 15px rgba(255, 105, 180, 0.6);
}
.character-portrait-small img {
width: 100%;
height: 100%;
object-fit: cover;
}
.character-portrait-small .character-name-label {
position: absolute;
bottom: -25px;
left: 50%;
transform: translateX(-50%);
font-size: 0.8em;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
white-space: nowrap;
}
.relationship-display {
background: rgba(0, 0, 0, 0.2);
border-radius: 10px;
padding: 20px;
min-height: 200px;
}
.selected-character-info h4 {
color: #ff69b4;
margin: 0 0 15px 0;
text-align: center;
}
.relationship-stats {
flex: 1;
}
.stat-category {
margin-bottom: 15px;
}
.stat-category h4 {
color: #ff69b4;
margin: 0 0 8px 0;
border-bottom: 1px solid rgba(255,105,180,0.3);
padding-bottom: 4px;
}
.stat-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
}
.stat-item {
display: flex;
justify-content: space-between;
background: rgba(0, 0, 0, 0.2);
padding: 5px 10px;
border-radius: 5px;
}
.stat-name {
color: #ccc;
}
.stat-value {
color: #fff;
font-weight: bold;
}
.first-experiences-categories {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 15px;
margin: 15px 0;
}
.experience-category {
background: rgba(0, 0, 0, 0.2);
border-radius: 8px;
padding: 15px;
}
.experience-subcategory {
display: flex;
gap: 15px;
margin-top: 10px;
flex-wrap: wrap;
}
.experience-item {
display: flex;
justify-content: space-between;
background: rgba(0, 0, 0, 0.2);
padding: 8px 12px;
border-radius: 5px;
flex: 1;
min-width: 150px;
}
.exp-name {
color: #ff69b4;
font-weight: bold;
}
.exp-value {
color: #fff;
}
.diary-portrait-container {
position: relative;
width: 300px;
height: 300px;
margin: 20px auto;
border-radius: 15px;
overflow: hidden;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
transition: transform 0.3s ease;
}
.diary-portrait-container:hover {
transform: scale(1.02);
}
.diary-portrait {
width: 100%;
height: 100%;
object-fit: cover;
transition: filter 0.3s ease;
}
.diary-portrait-container:hover .diary-portrait {
filter: brightness(0.7);
}
.diary-portrait-description {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.7);
color: white;
padding: 20px;
opacity: 0;
transition: opacity 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
font-size: 1.1em;
line-height: 1.4;
}
.diary-portrait-container:hover .diary-portrait-description {
opacity: 1;
}
</style>
<<script>>
if (!State.variables.characters) {
State.variables.characters = {
Rylan: true,
Mariel: true,
Thalor: true,
Liora: true,
Serin: true,
Seryk: true,
Nimeria: true
};
}
State.variables.selectedCharacter = null;
State.variables.availableCharacters = [];
const characterList = ["Mariel", "Thalor", "Liora", "Serin", "Seryk", "Nimeria"];
State.variables.availableCharacters =
[...new Set(characterList.filter(c => State.variables['met' + c]))];
function createCharacterPortraits() {
const portraitsContainer = $('#character-portraits');
portraitsContainer.empty();
State.variables.availableCharacters.forEach(char => {
const portraitHtml = `
<div class="character-portrait-small" data-character="${char}">
<img src="images/${char}/face.webp" alt="${char}">
<div class="character-name-label">${char}</div>
</div>
`;
portraitsContainer.append(portraitHtml);
});
}
function selectCharacter(characterName) {
State.variables.selectedCharacter = characterName;
$('.character-portrait-small').removeClass('selected');
$(`.character-portrait-small[data-character="${characterName}"]`).addClass('selected');
const displayName = (characterName === 'Rylan' || characterName === 'rylan') ? State.variables.humanName : characterName;
$('#selected-character-name').text(`Relationship with ${displayName}`);
let statsHtml = '';
const charLower = characterName.toLowerCase();
const rylanLower = 'rylan';
const affectionVar = `${rylanLower}_${characterName}Affection`;
const attractionVar = `${rylanLower}_${characterName}Attraction`;
const affection = State.variables[affectionVar] || 0;
const attraction = State.variables[attractionVar] || 0;
statsHtml += `<div class="stat-category"><h4>Basic Relationship</h4><div class="stat-grid">`;
statsHtml += `<div class="stat-item"><span class="stat-name">💗 Affection</span><span class="stat-value">${affection.toFixed(1)}</span></div>`;
statsHtml += `<div class="stat-item"><span class="stat-name">💝 Attraction</span><span class="stat-value">${attraction.toFixed(1)}</span></div>`;
statsHtml += `</div></div>`;
const sexualStats = [
{name: 'Kiss Count', var: `${rylanLower}_${characterName}KissCount`},
{name: 'Vaginal Count', var: `${rylanLower}_${characterName}VaginalCount`},
{name: 'Anal Count', var: `${rylanLower}_${characterName}AnalCount`},
{name: 'Anal Taken', var: `${rylanLower}_${characterName}AnalTakenCount`},
{name: 'Handjob Given', var: `${rylanLower}_${characterName}HandjobCount`},
{name: 'Handjob Taken', var: `${rylanLower}_${characterName}HandjobTakenCount`},
{name: 'Blowjob Given', var: `${rylanLower}_${characterName}BlowjobCount`},
{name: 'Blowjob Taken', var: `${rylanLower}_${characterName}BlowjobTakenCount`},
{name: 'Footjob Given', var: `${rylanLower}_${characterName}FootjobCount`},
{name: 'Footjob Taken', var: `${rylanLower}_${characterName}FootjobTakenCount`},
{name: 'Boobjob Given', var: `${rylanLower}_${characterName}BoobJobCount`},
{name: 'Boobjob Taken', var: `${rylanLower}_${characterName}BoobJobTakenCount`},
{name: 'Breasts Touched', var: `${rylanLower}_${characterName}BreastsTouchedCount`},
{name: 'Breasts Touched By', var: `${rylanLower}_${characterName}BreastsTouchedByCount`},
{name: 'Ass Touched', var: `${rylanLower}_${characterName}AssTouchedCount`},
{name: 'Ass Touched By', var: `${rylanLower}_${characterName}AssTouchedByCount`},
{name: 'Cum Inside Count', var: `${rylanLower}_${characterName}CumInsideCount`},
{name: 'Cum Inside (ml)', var: `${rylanLower}_${characterName}CumInsideMl`},
{name: 'Cum Swallowed (ml)', var: `${rylanLower}_${characterName}CumSwallowedMl`},
{name: 'Cum On Body (ml)', var: `${rylanLower}_${characterName}CumOnBodyMl`},
{name: 'Cum On Others (ml)', var: `${rylanLower}_${characterName}CumOnOthersMl`},
{name: 'Orgasms Given', var: `${rylanLower}_${characterName}OrgasmsGiven`},
{name: 'Orgasms Received', var: `${rylanLower}_${characterName}OrgasmsReceived`}
];
const activeSexualStats = sexualStats.filter(stat => (State.variables[stat.var] || 0) > 0);
if (activeSexualStats.length > 0) {
statsHtml += `<div class="stat-category"><h4>Sexual Experience</h4><div class="stat-grid">`;
activeSexualStats.forEach(stat => {
const value = State.variables[stat.var] || 0;
statsHtml += `<div class="stat-item"><span class="stat-name">${stat.name}</span><span class="stat-value">${value}</span></div>`;
});
statsHtml += `</div></div>`;
} else {
statsHtml += `<div class="stat-category"><h4>Sexual Experience</h4><div class="stat-grid"><div class="stat-item"><span class="stat-name">No sexual encounters yet</span><span class="stat-value">-</span></div></div></div>`;
}
$('#relationship-stats').html(statsHtml);
}
$(document).on('click', '.character-portrait-small', function() {
const characterName = $(this).data('character');
selectCharacter(characterName);
});
$(document).ready(() => {
createCharacterPortraits();
if (State.variables.availableCharacters.length > 0) {
selectCharacter(State.variables.availableCharacters[0]);
} else {
$('#relationship-stats').html('<div class="stat-category"><h4>No relationships available yet</h4></div>');
}
});
<</script>><<nobr>>
<h2>📖 Serin's Story</h2>
<div class="diary-portrait-container">
<img @src="'images/' + $currentSerinFace" alt="Serin Face" class="diary-portrait">
<div class="diary-portrait-description">
<p>A tomboyish and athletic young woman with a teasing personality. Despite her playful exterior, she harbors deep feelings for <<print $humanName>>. Her athletic build and confident demeanor make her popular among her peers, though she often uses teasing to mask her true emotions.</p>
</div>
</div>
<<set _character = "Serin">>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Main H-Stats</h3>
<table class="stats-table">
<tr>
<th>Stat</th>
<th>Value</th>
<th>Description</th>
</tr>
<<for _key, _stat range setup.statCategories.basic.stats>>
<<set _value = setup.getStat(_character, "basic", _key)>>
<tr>
<td class="stat-name"><<print _stat.name>></td>
<td class="stat-value"><<print _value.toFixed(1)>></td>
<td class="stat-desc"><<print _stat.description || "">></td>
</tr>
<</for>>
<tr>
<td class="stat-name">Futanarity</td>
<td class="stat-value"><<print ($serinFutanarity || 0)>></td>
<td class="stat-desc">Futanari transformation level</td>
</tr>
</table>
</div>
<h3 class="section-header">Underwear</h3>
<div class="underwear-gallery">
<div class="underwear-item">
<h4>Panties</h4>
<img @src="window.WardrobeSystem.getClothingImage('serin', 'panties', $serin_Lust >= 50)" alt="Panties">
</div>
<div class="underwear-item">
<h4>Bra</h4>
<img @src="window.WardrobeSystem.getClothingImage('serin', 'bra', $serin_Lust >= 50)" alt="Bra">
</div>
<div class="underwear-item">
<h4>Legwear</h4>
<img @src="window.WardrobeSystem.getClothingImage('serin', 'legwear', $serin_Lust >= 50)" alt="Legwear">
</div>
</div>
<h3 class="section-header">Body</h3>
<div class="body-parts-grid">
<div class="body-part-top">
<div class="stat-tooltip">
Corruption: <<print setup.getStat("Serin", "basic", "corruption").toFixed(1)>><br>
Lust: <<print ($serin_Lust || 0).toFixed(1)>><br>
Face Sensitivity: <<print setup.getStat("Serin", "sensitivity", "faceSensitivity").toFixed(1)>>%
</div>
<img src="images/serin/face.webp" alt="Face">
</div>
<div class="body-part-left">
<div class="stat-tooltip">
Ass Size: <<print setup.getStat("Serin", "body", "assSize")>><br>
Ass Sensitivity: <<print setup.getStat("Serin", "sensitivity", "assSensitivity")>>%<br>
Anal Experience: <<print setup.getStat("Serin", "experience", "analExperience")>>
</div>
<img src="images/serin/ass.webp" alt="Ass">
</div>
<div class="body-part-center">
<div class="stat-tooltip">
Body Type: Athletic<br>
Body Sensitivity: <<print setup.getStat("Serin", "sensitivity", "bodySensitivity")>>%<br>
Sexual Experience: <<print setup.getStat("Serin", "experience", "sexualExperience")>>
</div>
<<if $serinFutanari>>
<img src="images/serin/nakedfuta.webp" alt="Body">
<<else>>
<img src="images/serin/naked.webp" alt="Body">
<</if>>
</div>
<div class="body-part-right">
<div class="stat-tooltip">
Breast Size: <<print setup.getStat("Serin", "body", "breastSize")>><br>
Breast Sensitivity: <<print setup.getStat("Serin", "sensitivity", "breastSensitivity")>>%<br>
Breast Experience: <<print setup.getStat("Serin", "experience", "breastExperience")>>
</div>
<img src="images/serin/breasts.webp" alt="Chest">
</div>
<div class="body-part-bottom">
<div class="stat-tooltip">
Vagina Size: <<print setup.getStat("Serin", "body", "vaginaSize")>><br>
Penis Size: <<print ($serin_penisSize || 0)>> cm<br>
Vagina Sensitivity: <<print setup.getStat("Serin", "sensitivity", "vaginaSensitivity")>>%<br>
Vaginal Experience: <<print setup.getStat("Serin", "experience", "vaginalExperience")>>
</div>
<<if $serinFutanari>>
<img src="images/serin/futavagina.webp" alt="Futanari Vagina">
<<else>>
<img src="images/serin/vagina.webp" alt="Vagina">
<</if>>
</div>
</div>
<h3 class="section-header">Wardrobe</h3>
<div class="wardrobe-grid">
<div class="wardrobe-top">
<div class="wardrobe-label">Clothes</div>
<img src="images/serin/clothes.webp" alt="Clothes">
</div>
<div class="wardrobe-left">
<div class="wardrobe-label">Underwear</div>
<img @src="window.WardrobeSystem.getClothingImage('serin', 'panties', $serin_Lust >= 50)" alt="Panties">
</div>
<div class="wardrobe-center">
<div class="wardrobe-label">Sleepwear</div>
<img src="images/serin/sleepwear.webp" alt="Sleepwear">
</div>
<div class="wardrobe-right">
<div class="wardrobe-label">Bra</div>
<img @src="window.WardrobeSystem.getClothingImage('serin', 'bra', $serin_Lust >= 50)" alt="Bra">
</div>
<div class="wardrobe-bottomleft">
<div class="wardrobe-label">Legwear</div>
<img @src="window.WardrobeSystem.getClothingImage('serin', 'legwear', $serin_Lust >= 50)" alt="Legwear">
</div>
<div class="wardrobe-bottomright">
<div class="wardrobe-label">Shoes</div>
<img src="images/serin/shoes.webp" alt="Shoes">
</div>
</div>
<<script>>
if (!State.variables.characters) {
State.variables.characters = {
Rylan: true,
Mariel: true,
Thalor: true,
Liora: true,
Serin: true,
Seryk: true,
Nimeria: true
};
}
State.variables.selectedCharacter = null;
State.variables.availableCharacters = [];
const characterList = ["Rylan", "Mariel", "Thalor", "Liora", "Seryk", "Nimeria"];
State.variables.availableCharacters =
[...new Set(characterList.filter(c => State.variables['met' + c]))];
function createCharacterPortraits() {
const portraitsContainer = $('#character-portraits');
portraitsContainer.empty();
State.variables.availableCharacters.forEach(char => {
const portraitHtml = `
<div class="character-portrait-small" data-character="${char}">
<img src="images/${char}/face.webp" alt="${char}">
<div class="character-name-label">${char}</div>
</div>
`;
portraitsContainer.append(portraitHtml);
});
}
function selectCharacter(characterName) {
State.variables.selectedCharacter = characterName;
$('.character-portrait-small').removeClass('selected');
$(`.character-portrait-small[data-character="${characterName}"]`).addClass('selected');
const displayName = (characterName === 'Rylan' || characterName === 'rylan') ? State.variables.humanName : characterName;
$('#selected-character-name').text(`Relationship with ${displayName}`);
let statsHtml = '';
const charLower = characterName.toLowerCase();
const serinLower = 'serin';
const affectionVar = `${serinLower}_${characterName}Affection`;
const attractionVar = `${serinLower}_${characterName}Attraction`;
const affection = State.variables[affectionVar] || 0;
const attraction = State.variables[attractionVar] || 0;
statsHtml += `<div class="stat-category">
<h4>Basic Relationship</h4>
<div class="stat-grid">
<div class="stat-item">
<span class="stat-name">💗 Affection</span>
<span class="stat-value">${affection.toFixed(1)}</span>
</div>
<div class="stat-item">
<span class="stat-name">💝 Attraction</span>
<span class="stat-value">${attraction.toFixed(1)}</span>
</div>
</div>
</div>`;
const sexualStats = [
{name: 'Kiss Count', var: `${serinLower}_${characterName}KissCount`},
{name: 'Vaginal Count', var: `${serinLower}_${characterName}VaginalCount`},
{name: 'Anal Count', var: `${serinLower}_${characterName}AnalCount`},
{name: 'Anal Taken', var: `${serinLower}_${characterName}AnalTakenCount`},
{name: 'Handjob Given', var: `${serinLower}_${characterName}HandjobCount`},
{name: 'Handjob Taken', var: `${serinLower}_${characterName}HandjobTakenCount`},
{name: 'Blowjob Given', var: `${serinLower}_${characterName}BlowjobCount`},
{name: 'Blowjob Taken', var: `${serinLower}_${characterName}BlowjobTakenCount`},
{name: 'Footjob Given', var: `${serinLower}_${characterName}FootjobCount`},
{name: 'Footjob Taken', var: `${serinLower}_${characterName}FootjobTakenCount`},
{name: 'Boobjob Given', var: `${serinLower}_${characterName}BoobJobCount`},
{name: 'Boobjob Taken', var: `${serinLower}_${characterName}BoobJobTakenCount`},
{name: 'Breasts Touched', var: `${serinLower}_${characterName}BreastsTouchedCount`},
{name: 'Breasts Touched By', var: `${serinLower}_${characterName}BreastsTouchedByCount`},
{name: 'Ass Touched', var: `${serinLower}_${characterName}AssTouchedCount`},
{name: 'Ass Touched By', var: `${serinLower}_${characterName}AssTouchedByCount`},
{name: 'Cum Inside Count', var: `${serinLower}_${characterName}CumInsideCount`},
{name: 'Cum Inside (ml)', var: `${serinLower}_${characterName}CumInsideMl`},
{name: 'Cum Swallowed (ml)', var: `${serinLower}_${characterName}CumSwallowedMl`},
{name: 'Cum On Body (ml)', var: `${serinLower}_${characterName}CumOnBodyMl`},
{name: 'Orgasms Given', var: `${serinLower}_${characterName}OrgasmsGiven`},
{name: 'Orgasms Received', var: `${serinLower}_${characterName}OrgasmsReceived`}
];
const activeSexualStats = sexualStats.filter(stat => (State.variables[stat.var] || 0) > 0);
if (activeSexualStats.length > 0) {
statsHtml += `<div class="stat-category">
<h4>Sexual Experience</h4>
<div class="stat-grid">`;
activeSexualStats.forEach(stat => {
const value = State.variables[stat.var] || 0;
statsHtml += `<div class="stat-item">
<span class="stat-name">${stat.name}</span>
<span class="stat-value">${value}</span>
</div>`;
});
statsHtml += `</div></div>`;
} else {
statsHtml += `<div class="stat-category">
<h4>Sexual Experience</h4>
<div class="stat-grid">
<div class="stat-item">
<span class="stat-name">No sexual encounters yet</span>
<span class="stat-value">-</span>
</div>
</div>
</div>`;
}
$('#relationship-stats').html(statsHtml);
}
$(document).on('click', '.character-portrait-small', function() {
const characterName = $(this).data('character');
selectCharacter(characterName);
});
$(document).ready(() => {
createCharacterPortraits();
if (State.variables.availableCharacters.length > 0) {
selectCharacter(State.variables.availableCharacters[0]);
} else {
$('#relationship-stats').html('<div class="stat-category"><h4>No relationships available yet</h4></div>');
}
});
<</script>>
<<initializeTooltips>>
<<set _character = "Serin">>
<div class="relationship-viewer">
<div class="relationship-header">
<h3 style="margin: 0; color: #ff69b4;">Relationships</h3>
</div>
<div class="character-portraits-row" id="character-portraits"></div>
<div class="relationship-display">
<div class="selected-character-info">
<h4 id="selected-character-name">Select a character</h4>
<div id="relationship-stats" class="relationship-stats">Click on a character portrait above to view relationship details.</div>
</div>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">First Experiences</h3>
<div class="first-experiences-categories">
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">💋 Kiss</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">First Kiss:</span>
<span class="exp-value">
<<if $serinFirstKiss>>
<<if $serinFirstKiss === "Rylan" || $serinFirstKiss === "rylan">>$humanName<<else>><<print $serinFirstKiss>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍑 Vaginal</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $serinFirstVaginalDone>>
<<if $serinFirstVaginalDone === "Rylan" || $serinFirstVaginalDone === "rylan">>$humanName<<else>><<print $serinFirstVaginalDone>><</if>>
<<else>>
Virgin
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $serinFirstVaginalTaken>>
<<if $serinFirstVaginalTaken === "Rylan" || $serinFirstVaginalTaken === "rylan">>$humanName<<else>><<print $serinFirstVaginalTaken>><</if>>
<<else>>
Virgin
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍑 Anal</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $serinFirstAnalDone>>
<<if $serinFirstAnalDone === "Rylan" || $serinFirstAnalDone === "rylan">>$humanName<<else>><<print $serinFirstAnalDone>><</if>>
<<else>>
Virgin
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $serinFirstAnalTaken>>
<<if $serinFirstAnalTaken === "Rylan" || $serinFirstAnalTaken === "rylan">>$humanName<<else>><<print $serinFirstAnalTaken>><</if>>
<<else>>
Virgin
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">👄 Blowjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $serinFirstBlowjobDone>>
<<if $serinFirstBlowjobDone === "Rylan" || $serinFirstBlowjobDone === "rylan">>$humanName<<else>><<print $serinFirstBlowjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $serinFirstBlowjobTaken>>
<<if $serinFirstBlowjobTaken === "Rylan" || $serinFirstBlowjobTaken === "rylan">>$humanName<<else>><<print $serinFirstBlowjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">✋ Handjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $serinFirstHandjobDone>>
<<if $serinFirstHandjobDone === "Rylan" || $serinFirstHandjobDone === "rylan">>$humanName<<else>><<print $serinFirstHandjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $serinFirstHandjobTaken>>
<<if $serinFirstHandjobTaken === "Rylan" || $serinFirstHandjobTaken === "rylan">>$humanName<<else>><<print $serinFirstHandjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🦶 Footjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $serinFirstFootjobDone>>
<<if $serinFirstFootjobDone === "Rylan" || $serinFirstFootjobDone === "rylan">>$humanName<<else>><<print $serinFirstFootjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $serinFirstFootjobTaken>>
<<if $serinFirstFootjobTaken === "Rylan" || $serinFirstFootjobTaken === "rylan">>$humanName<<else>><<print $serinFirstFootjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍒 Boobjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $serinFirstBoobjobDone>>
<<if $serinFirstBoobjobDone === "Rylan" || $serinFirstBoobjobDone === "rylan">>$humanName<<else>><<print $serinFirstBoobjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $serinFirstBoobjobTaken>>
<<if $serinFirstBoobjobTaken === "Rylan" || $serinFirstBoobjobTaken === "rylan">>$humanName<<else>><<print $serinFirstBoobjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Fetishes</h3>
<div class="fetish-grid">
<div class="fetish-category">
<h4>Physical</h4>
<div class="fetish-item">
<span class="fetish-name">Scent Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SmellFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Muscle Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "MuscleFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Thigh Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ThighFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Body Parts</h4>
<div class="fetish-item">
<span class="fetish-name">Feet Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "FeetFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Armpit Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ArmpitFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Breast Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "BreastFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Ass Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "AssFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Penis Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "PenisFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Vagina Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "VaginaFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Fluids</h4>
<div class="fetish-item">
<span class="fetish-name">Cum Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "CumAddiction").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Sweat Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SweatFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Saliva Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SalivaFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Behavioral</h4>
<div class="fetish-item">
<span class="fetish-name">Submission</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SubmissionFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Dominance</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "DominanceFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Exhibitionism</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ExhibitionismFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Voyeurism</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "VoyeurismFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Kinks</h4>
<div class="fetish-item">
<span class="fetish-name">Bondage Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "BondageFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Cross-Dressing</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "CrossdressingFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Orientation</h4>
<div class="fetish-item">
<span class="fetish-name">Same-Sex Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "GayValue").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Lesbian Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "LesbianValue").toFixed(1)>></span>
</div>
</div>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Sexual Experience</h3>
<div class="sexual-experience-grid">
<<for _subcatKey, _subcat range setup.statCategories.experience.subcategories>>
<div class="experience-category">
<h4><<print _subcat.name>></h4>
<<for _key, _stat range _subcat.stats>>
<<set _value = setup.getStat(_character, "experience", _key)>>
<div class="exp-row">
<span class="exp-label"><<print _stat.name>>:</span>
<span class="exp-value">
<<if _key.toLowerCase().includes("amount")>>
<<print _value>> ml
<<else>>
<<print _value>>
<<if _key.toLowerCase().includes("count") && _value == 0>>
(Virgin)
<<elseif _key.toLowerCase().includes("count")>>
(Experienced)
<</if>>
<</if>>
</span>
</div>
<</for>>
</div>
<</for>>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Sensitivity</h3>
<div class="stat-grid">
<<for _key, _stat range setup.statCategories.sensitivity.stats>>
<<set _value = setup.getStat(_character, "sensitivity", _key)>>
<div class="stat-item">
<div class="stat-name"><<print _stat.name>></div>
<div class="stat-value"><<print _value>>%</div>
</div>
<</for>>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Mind Control</h3>
<div class="stat-grid">
<<for _key, _stat range setup.statCategories.mindControl.stats>>
<<set _value = setup.getStat(_character, "mindControl", _key)>>
<div class="stat-item">
<div class="stat-name"><<print _stat.name>></div>
<div class="stat-value"><<print _value>></div>
</div>
<</for>>
</div>
</div>
<div class="diary-return">
<<link "↩ Return">>
<<run Engine.backward()>>
<</link>>
</div>
<</nobr>>
<style>
.relationship-container {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
gap: 20px;
padding: 20px;
}
.character-card {
position: relative;
background: rgba(0, 0, 0, 0.3);
border-radius: 10px;
padding: 10px;
text-align: center;
}
.character-name {
font-size: 1.2em;
margin-bottom: 10px;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}
.character-portrait {
width: 120px;
height: 120px;
margin: 0 auto;
border-radius: 60px;
overflow: hidden;
border: 2px solid rgba(255, 255, 255, 0.2);
cursor: pointer;
}
.character-portrait img {
width: 100%;
height: 100%;
object-fit: cover;
}
#global-tooltip {
display: none;
position: fixed;
background: rgba(0, 0, 0, 0.95);
color: #fff;
padding: 15px;
border-radius: 10px;
width: 250px;
z-index: 9999;
box-shadow: 0 0 10px rgba(0,0,0,0.5);
text-align: left;
}
.relationship-subcategory {
margin-bottom: 15px;
}
.relationship-subcategory h4 {
color: #ff69b4;
margin: 0 0 8px 0;
border-bottom: 1px solid rgba(255,105,180,0.3);
padding-bottom: 4px;
}
.stat-row {
display: flex;
justify-content: space-between;
margin: 4px 0;
font-size: 0.9em;
}
.stat-label {
color: #ccc;
}
.stat-value {
color: #fff;
font-weight: bold;
}
.body-parts-grid {
display: grid;
grid-template-areas:
". top ."
"left center right"
". bottom .";
gap: 10px;
justify-content: center;
align-items: center;
}
.body-part-top, .body-part-left, .body-part-center, .body-part-right, .body-part-bottom {
position: relative;
cursor: pointer;
}
.stat-tooltip {
display: none;
position: fixed;
background: rgba(0, 0, 0, 0.8);
color: white;
padding: 5px 10px;
border-radius: 5px;
z-index: 100;
white-space: nowrap;
pointer-events: none;
}
.body-part-top:hover .stat-tooltip,
.body-part-left:hover .stat-tooltip,
.body-part-center:hover .stat-tooltip,
.body-part-right:hover .stat-tooltip,
.body-part-bottom:hover .stat-tooltip {
display: block;
}
.body-part-top { grid-area: top; }
.body-part-left { grid-area: left; }
.body-part-center { grid-area: center; }
.body-part-right { grid-area: right; }
.body-part-bottom { grid-area: bottom; }
.diary-portrait-container {
position: relative;
width: 300px;
height: 300px;
margin: 20px auto;
border-radius: 15px;
overflow: hidden;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
transition: transform 0.3s ease;
}
.diary-portrait-container:hover {
transform: scale(1.02);
}
.diary-portrait {
width: 100%;
height: 100%;
object-fit: cover;
transition: filter 0.3s ease;
}
.diary-portrait-container:hover .diary-portrait {
filter: brightness(0.7);
}
.diary-portrait-description {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.7);
color: white;
padding: 20px;
opacity: 0;
transition: opacity 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
font-size: 1.1em;
line-height: 1.4;
}
.diary-portrait-container:hover .diary-portrait-description {
opacity: 1;
}
.wardrobe-label {
text-align: center;
font-weight: bold;
margin-bottom: 5px;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}
.relationship-viewer {
background: rgba(0, 0, 0, 0.3);
border-radius: 15px;
padding: 20px;
margin: 20px 0;
position: relative;
}
.relationship-header {
text-align: center;
margin-bottom: 20px;
}
.character-portraits-row {
display: flex;
justify-content: center;
gap: 15px;
margin-bottom: 20px;
flex-wrap: wrap;
}
.character-portrait-small {
width: 110px;
height: 110px;
border-radius: 50%;
overflow: hidden;
border: 3px solid rgba(255, 105, 180, 0.3);
cursor: pointer;
transition: all 0.3s ease;
position: relative;
}
.character-portrait-small:hover {
border-color: rgba(255, 105, 180, 0.8);
transform: scale(1.1);
}
.character-portrait-small.selected {
border-color: #ff69b4;
box-shadow: 0 0 15px rgba(255, 105, 180, 0.6);
}
.character-portrait-small img {
width: 100%;
height: 100%;
object-fit: cover;
}
.character-portrait-small .character-name-label {
position: absolute;
bottom: -25px;
left: 50%;
transform: translateX(-50%);
font-size: 0.8em;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
white-space: nowrap;
}
.relationship-display {
background: rgba(0, 0, 0, 0.2);
border-radius: 10px;
padding: 20px;
min-height: 200px;
}
.selected-character-info h4 {
color: #ff69b4;
margin: 0 0 15px 0;
text-align: center;
}
.nav-button {
background: rgba(255, 105, 180, 0.3);
border: none;
color: white;
padding: 10px 20px;
border-radius: 5px;
cursor: pointer;
transition: background 0.2s;
}
.nav-button:hover {
background: rgba(255, 105, 180, 0.5);
}
.character-display {
display: flex;
gap: 20px;
align-items: flex-start;
}
.character-portrait-large {
width: 200px;
height: 200px;
border-radius: 100px;
overflow: hidden;
border: 3px solid rgba(255, 105, 180, 0.3);
}
.character-portrait-large img {
width: 100%;
height: 100%;
object-fit: cover;
}
.relationship-stats {
flex: 1;
}
.stat-category {
margin-bottom: 15px;
}
.stat-category h4 {
color: #ff69b4;
margin: 0 0 8px 0;
border-bottom: 1px solid rgba(255,105,180,0.3);
padding-bottom: 4px;
}
.stat-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
}
.stat-item {
display: flex;
justify-content: space-between;
background: rgba(0, 0, 0, 0.2);
padding: 5px 10px;
border-radius: 5px;
}
.stat-name {
color: #ccc;
}
.stat-value {
color: #fff;
font-weight: bold;
}
.first-experiences-categories {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 15px;
margin: 15px 0;
}
.experience-category {
background: rgba(0, 0, 0, 0.2);
border-radius: 8px;
padding: 15px;
}
.experience-subcategory {
display: flex;
gap: 15px;
margin-top: 10px;
flex-direction: row;
}
.experience-item {
display: flex;
justify-content: space-between;
background: rgba(0, 0, 0, 0.2);
padding: 8px 12px;
border-radius: 5px;
flex: 1;
min-width: 150px;
max-width: 200px;
}
.exp-name {
color: #ff69b4;
font-weight: bold;
}
.exp-value {
color: #fff;
}
.underwear-gallery {
display: flex;
justify-content: center;
gap: 20px;
margin: 20px 0;
}
.underwear-item {
text-align: center;
}
.underwear-item h4 {
color: #ff69b4;
margin-bottom: 10px;
}
.underwear-item img {
width: 150px;
height: 150px;
object-fit: cover;
border-radius: 10px;
border: 2px solid rgba(255, 105, 180, 0.3);
}
</style><<nobr>>
<h2>📖 Seryk's Story</h2>
<div class="diary-portrait-container">
<img @src="'images/' + $currentSerykFace" alt="Seryk Face" class="diary-portrait">
<div class="diary-portrait-description">
<p>A mysterious demon who has taken an interest in <<print $humanName>>. Despite his demonic nature, he maintains a noble and kind demeanor. His muscular physique and lack of magical ability set him apart from typical demons, hinting at an unusual origin.</p>
</div>
</div>
<<set _character = "Seryk">>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Basic Stats</h3>
<table class="stats-table">
<tr>
<th>Stat</th>
<th>Value</th>
<th>Description</th>
</tr>
<<for _key, _stat range setup.statCategories.basic.stats>>
<<set _value = setup.getStat(_character, "basic", _key)>>
<<if _key === "penisSize">>
<<set _value = _value * 5>>
<</if>>
<tr>
<td class="stat-name"><<print _stat.name>></td>
<td class="stat-value"><<print _value>></td>
<td class="stat-desc"><<print _stat.description || "">></td>
</tr>
<</for>>
</table>
</div>
<h3 class="section-header">Underwear</h3>
<div class="underwear-gallery">
<div class="underwear-item">
<h4>Underwear</h4>
<img @src="window.WardrobeSystem.getClothingImage('seryk', 'panties', $seryk_Lust >= 50)" alt="Underwear">
</div>
</div>
<div class="relationship-viewer">
<div class="relationship-header">
<h3 style="margin: 0; color: #ff69b4;">Relationships</h3>
</div>
<div class="character-portraits-row" id="character-portraits"></div>
<div class="relationship-display">
<div class="selected-character-info">
<h4 id="selected-character-name">Select a character</h4>
<div id="relationship-stats" class="relationship-stats">Click on a character portrait above to view relationship details.</div>
</div>
</div>
</div>
<style>
.body-parts-grid {
display: grid;
grid-template-areas:
". top ."
"left center right"
". bottom .";
gap: 10px;
justify-content: center;
align-items: center;
}
.body-part-top, .body-part-left, .body-part-center, .body-part-right, .body-part-bottom {
position: relative;
cursor: pointer;
}
.stat-tooltip {
display: none;
position: fixed;
background: rgba(0, 0, 0, 0.8);
color: white;
padding: 5px 10px;
border-radius: 5px;
z-index: 100;
white-space: nowrap;
pointer-events: none;
}
.body-part-top:hover .stat-tooltip,
.body-part-left:hover .stat-tooltip,
.body-part-center:hover .stat-tooltip,
.body-part-right:hover .stat-tooltip,
.body-part-bottom:hover .stat-tooltip {
display: block;
}
.body-part-top { grid-area: top; }
.body-part-left { grid-area: left; }
.body-part-center { grid-area: center; }
.body-part-right { grid-area: right; }
.body-part-bottom { grid-area: bottom; }
.diary-portrait-container {
position: relative;
width: 300px;
height: 300px;
margin: 20px auto;
border-radius: 15px;
overflow: hidden;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
transition: transform 0.3s ease;
}
.diary-portrait-container:hover {
transform: scale(1.02);
}
.diary-portrait {
width: 100%;
height: 100%;
object-fit: cover;
transition: filter 0.3s ease;
}
.diary-portrait-container:hover .diary-portrait {
filter: brightness(0.7);
}
.diary-portrait-description {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.7);
color: white;
padding: 20px;
opacity: 0;
transition: opacity 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
font-size: 1.1em;
line-height: 1.4;
}
.diary-portrait-container:hover .diary-portrait-description {
opacity: 1;
}
.wardrobe-label {
text-align: center;
font-weight: bold;
margin-bottom: 5px;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}
.relationship-container {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
gap: 20px;
padding: 20px;
}
.character-card {
position: relative;
background: rgba(0, 0, 0, 0.3);
border-radius: 10px;
padding: 10px;
text-align: center;
}
.character-name {
font-size: 1.2em;
margin-bottom: 10px;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}
.character-portrait {
width: 120px;
height: 120px;
margin: 0 auto;
border-radius: 60px;
overflow: hidden;
border: 2px solid rgba(255, 255, 255, 0.2);
cursor: pointer;
}
.character-portrait img {
width: 100%;
height: 100%;
object-fit: cover;
}
#global-tooltip {
display: none;
position: fixed;
background: rgba(0, 0, 0, 0.95);
color: #fff;
padding: 15px;
border-radius: 10px;
width: 250px;
z-index: 9999;
box-shadow: 0 0 10px rgba(0,0,0,0.5);
text-align: left;
}
.relationship-subcategory {
margin-bottom: 15px;
}
.relationship-subcategory h4 {
color: #ff69b4;
margin: 0 0 8px 0;
border-bottom: 1px solid rgba(255,105,180,0.3);
padding-bottom: 4px;
}
.stat-row {
display: flex;
justify-content: space-between;
margin: 4px 0;
font-size: 0.9em;
}
.stat-label {
color: #ccc;
}
.stat-value {
color: #fff;
font-weight: bold;
}
.relationship-viewer {
background: rgba(0, 0, 0, 0.3);
border-radius: 15px;
padding: 20px;
margin: 20px 0;
position: relative;
}
.relationship-header {
text-align: center;
margin-bottom: 20px;
}
.character-portraits-row {
display: flex;
justify-content: center;
gap: 15px;
margin-bottom: 20px;
flex-wrap: wrap;
}
.character-portrait-small {
width: 110px;
height: 110px;
border-radius: 50%;
overflow: hidden;
border: 3px solid rgba(255, 105, 180, 0.3);
cursor: pointer;
transition: all 0.3s ease;
position: relative;
}
.character-portrait-small:hover {
border-color: rgba(255, 105, 180, 0.8);
transform: scale(1.1);
}
.character-portrait-small.selected {
border-color: #ff69b4;
box-shadow: 0 0 15px rgba(255, 105, 180, 0.6);
}
.character-portrait-small img {
width: 100%;
height: 100%;
object-fit: cover;
}
.character-portrait-small .character-name-label {
position: absolute;
bottom: -25px;
left: 50%;
transform: translateX(-50%);
font-size: 0.8em;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
white-space: nowrap;
}
.relationship-display {
background: rgba(0, 0, 0, 0.2);
border-radius: 10px;
padding: 20px;
min-height: 200px;
}
.selected-character-info h4 {
color: #ff69b4;
margin: 0 0 15px 0;
text-align: center;
}
.nav-button {
background: rgba(255, 105, 180, 0.3);
border: none;
color: white;
padding: 10px 20px;
border-radius: 5px;
cursor: pointer;
transition: background 0.2s;
}
.nav-button:hover {
background: rgba(255, 105, 180, 0.5);
}
.character-display {
display: flex;
gap: 20px;
align-items: flex-start;
}
.character-portrait-large {
width: 200px;
height: 200px;
border-radius: 100px;
overflow: hidden;
border: 3px solid rgba(255, 105, 180, 0.3);
}
.character-portrait-large img {
width: 100%;
height: 100%;
object-fit: cover;
}
.relationship-stats {
flex: 1;
}
.stat-category {
margin-bottom: 15px;
}
.stat-category h4 {
color: #ff69b4;
margin: 0 0 8px 0;
border-bottom: 1px solid rgba(255,105,180,0.3);
padding-bottom: 4px;
}
.stat-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
}
.stat-item {
display: flex;
justify-content: space-between;
background: rgba(0, 0, 0, 0.2);
padding: 5px 10px;
border-radius: 5px;
}
.stat-name {
color: #ccc;
}
.stat-value {
color: #fff;
font-weight: bold;
}
.first-experiences-categories {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 15px;
margin: 15px 0;
}
.experience-category {
background: rgba(0, 0, 0, 0.2);
border-radius: 8px;
padding: 15px;
}
.experience-subcategory {
display: flex;
gap: 15px;
margin-top: 10px;
flex-direction: row;
}
.experience-item {
display: flex;
justify-content: space-between;
background: rgba(0, 0, 0, 0.2);
padding: 8px 12px;
border-radius: 5px;
flex: 1;
min-width: 150px;
max-width: 200px;
}
.exp-name {
color: #ff69b4;
font-weight: bold;
}
.exp-value {
color: #fff;
}
.underwear-gallery {
display: flex;
justify-content: center;
gap: 20px;
margin: 20px 0;
}
.underwear-item {
text-align: center;
}
.underwear-item h4 {
color: #ff69b4;
margin-bottom: 10px;
}
.underwear-item img {
width: 150px;
height: 150px;
object-fit: cover;
border-radius: 10px;
border: 2px solid rgba(255, 105, 180, 0.3);
}
</style>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">First Experiences</h3>
<div class="first-experiences-categories">
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">💋 Kiss</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">First Kiss:</span>
<span class="exp-value">
<<if $serykFirstKiss>>
<<if $serykFirstKiss === "Rylan" || $serykFirstKiss === "rylan">>$humanName<<else>><<print $serykFirstKiss>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍑 Vaginal</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $serykFirstVaginalDone>>
<<if $serykFirstVaginalDone === "Rylan" || $serykFirstVaginalDone === "rylan">>$humanName<<else>><<print $serykFirstVaginalDone>><</if>>
<<else>>
Virgin
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $serykFirstVaginalTaken>>
<<if $serykFirstVaginalTaken === "Rylan" || $serykFirstVaginalTaken === "rylan">>$humanName<<else>><<print $serykFirstVaginalTaken>><</if>>
<<else>>
Virgin
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍑 Anal</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $serykFirstAnalDone>>
<<if $serykFirstAnalDone === "Rylan" || $serykFirstAnalDone === "rylan">>$humanName<<else>><<print $serykFirstAnalDone>><</if>>
<<else>>
Virgin
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $serykFirstAnalTaken>>
<<if $serykFirstAnalTaken === "Rylan" || $serykFirstAnalTaken === "rylan">>$humanName<<else>><<print $serykFirstAnalTaken>><</if>>
<<else>>
Virgin
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">👄 Blowjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $serykFirstBlowjobDone>>
<<if $serykFirstBlowjobDone === "Rylan" || $serykFirstBlowjobDone === "rylan">>$humanName<<else>><<print $serykFirstBlowjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $serykFirstBlowjobTaken>>
<<if $serykFirstBlowjobTaken === "Rylan" || $serykFirstBlowjobTaken === "rylan">>$humanName<<else>><<print $serykFirstBlowjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">✋ Handjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $serykFirstHandjobDone>>
<<if $serykFirstHandjobDone === "Rylan" || $serykFirstHandjobDone === "rylan">>$humanName<<else>><<print $serykFirstHandjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $serykFirstHandjobTaken>>
<<if $serykFirstHandjobTaken === "Rylan" || $serykFirstHandjobTaken === "rylan">>$humanName<<else>><<print $serykFirstHandjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🦶 Footjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $serykFirstFootjobDone>>
<<if $serykFirstFootjobDone === "Rylan" || $serykFirstFootjobDone === "rylan">>$humanName<<else>><<print $serykFirstFootjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $serykFirstFootjobTaken>>
<<if $serykFirstFootjobTaken === "Rylan" || $serykFirstFootjobTaken === "rylan">>$humanName<<else>><<print $serykFirstFootjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍒 Boobjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $serykFirstBoobjobDone>>
<<if $serykFirstBoobjobDone === "Rylan" || $serykFirstBoobjobDone === "rylan">>$humanName<<else>><<print $serykFirstBoobjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $serykFirstBoobjobTaken>>
<<if $serykFirstBoobjobTaken === "Rylan" || $serykFirstBoobjobTaken === "rylan">>$humanName<<else>><<print $serykFirstBoobjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Fetishes</h3>
<div class="fetish-grid">
<div class="fetish-category">
<h4>Physical</h4>
<div class="fetish-item">
<span class="fetish-name">Scent Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SmellFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Muscle Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "MuscleFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Thigh Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ThighFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Body Parts</h4>
<div class="fetish-item">
<span class="fetish-name">Feet Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "FeetFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Armpit Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ArmpitFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Breast Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "BreastFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Ass Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "AssFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Penis Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "PenisFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Vagina Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "VaginaFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Fluids</h4>
<div class="fetish-item">
<span class="fetish-name">Cum Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "CumAddiction").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Sweat Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SweatFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Saliva Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SalivaFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Behavioral</h4>
<div class="fetish-item">
<span class="fetish-name">Submission</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SubmissionFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Dominance</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "DominanceFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Exhibitionism</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ExhibitionismFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Voyeurism</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "VoyeurismFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Kinks</h4>
<div class="fetish-item">
<span class="fetish-name">Bondage Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "BondageFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Cross-Dressing</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "CrossdressingFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Orientation</h4>
<div class="fetish-item">
<span class="fetish-name">Gay-Sex Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "GayValue").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Lesbian Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "LesbianValue").toFixed(1)>></span>
</div>
</div>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Sexual Experience</h3>
<div class="sexual-experience-grid">
<<for _subcatKey, _subcat range setup.statCategories.experience.subcategories>>
<div class="experience-category">
<h4><<print _subcat.name>></h4>
<<for _key, _stat range _subcat.stats>>
<<set _value = setup.getStat(_character, "experience", _key)>>
<div class="exp-row">
<span class="exp-label"><<print _stat.name>>:</span>
<span class="exp-value">
<<if _key.toLowerCase().includes("amount")>>
<<print _value>> ml
<<else>>
<<print _value>>
<<if _key.toLowerCase().includes("count") && _value == 0>>
(Virgin)
<<elseif _key.toLowerCase().includes("count")>>
(Experienced)
<</if>>
<</if>>
</span>
</div>
<</for>>
</div>
<</for>>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Sensitivity</h3>
<div class="stat-grid">
<<for _key, _stat range setup.statCategories.sensitivity.stats>>
<<set _value = setup.getStat(_character, "sensitivity", _key)>>
<div class="stat-item">
<div class="stat-name"><<print _stat.name>></div>
<div class="stat-value"><<print _value>>%</div>
</div>
<</for>>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Mind Control</h3>
<div class="stat-grid">
<<for _key, _stat range setup.statCategories.mindControl.stats>>
<<set _value = setup.getStat(_character, "mindControl", _key)>>
<div class="stat-item">
<div class="stat-name"><<print _stat.name>></div>
<div class="stat-value"><<print _value>></div>
</div>
<</for>>
</div>
</div>
<div class="diary-return">
<<link "↩ Return">>
<<run Engine.backward()>>
<</link>>
</div>
<<script>>
if (!State.variables.characters) {
State.variables.characters = {
Rylan: true,
Mariel: true,
Thalor: true,
Liora: true,
Serin: true,
Seryk: true,
Nimeria: true
};
}
State.variables.selectedCharacter = null;
if (!State.variables.availableCharacters) {
State.variables.availableCharacters = [];
}
const characterList = ["Rylan", "Mariel", "Thalor", "Liora", "Serin", "Nimeria"];
State.variables.availableCharacters =
[...new Set(characterList.filter(c => State.variables['met' + c]))];
function createCharacterPortraits() {
const portraitsContainer = $('#character-portraits');
portraitsContainer.empty();
if (State.variables.availableCharacters && State.variables.availableCharacters.length > 0) {
State.variables.availableCharacters.forEach(char => {
const portraitHtml = `
<div class="character-portrait-small" data-character="${char}">
<img src="images/${char}/face.webp" alt="${char}">
<div class="character-name-label">${char}</div>
</div>
`;
portraitsContainer.append(portraitHtml);
});
}
}
function selectCharacter(characterName) {
State.variables.selectedCharacter = characterName;
$('.character-portrait-small').removeClass('selected');
$(`.character-portrait-small[data-character="${characterName}"]`).addClass('selected');
const displayName = (characterName === 'Rylan' || characterName === 'rylan') ? State.variables.humanName : characterName;
$('#selected-character-name').text(`Relationship with ${displayName}`);
let statsHtml = '';
const serykLower = 'seryk';
const affectionVar = `${serykLower}_${characterName}Affection`;
const attractionVar = `${serykLower}_${characterName}Attraction`;
const affection = State.variables[affectionVar] || 0;
const attraction = State.variables[attractionVar] || 0;
statsHtml += `<div class="stat-category">
<h4>Basic Relationship</h4>
<div class="stat-grid">
<div class="stat-item">
<span class="stat-name">💗 Affection</span>
<span class="stat-value">${affection.toFixed(1)}</span>
</div>
<div class="stat-item">
<span class="stat-name">💝 Attraction</span>
<span class="stat-value">${attraction.toFixed(1)}</span>
</div>
</div>
</div>`;
const sexualStats = [
{name: 'Kiss Count', var: `${serykLower}_${characterName}KissCount`},
{name: 'Vaginal Count', var: `${serykLower}_${characterName}VaginalCount`},
{name: 'Anal Count', var: `${serykLower}_${characterName}AnalCount`},
{name: 'Anal Taken', var: `${serykLower}_${characterName}AnalTakenCount`},
{name: 'Handjob Given', var: `${serykLower}_${characterName}HandjobCount`},
{name: 'Handjob Taken', var: `${serykLower}_${characterName}HandjobTakenCount`},
{name: 'Blowjob Given', var: `${serykLower}_${characterName}BlowjobCount`},
{name: 'Blowjob Taken', var: `${serykLower}_${characterName}BlowjobTakenCount`},
{name: 'Footjob Given', var: `${serykLower}_${characterName}FootjobCount`},
{name: 'Footjob Taken', var: `${serykLower}_${characterName}FootjobTakenCount`},
{name: 'Boobjob Given', var: `${serykLower}_${characterName}BoobJobCount`},
{name: 'Boobjob Taken', var: `${serykLower}_${characterName}BoobJobTakenCount`},
{name: 'Breasts Touched', var: `${serykLower}_${characterName}BreastsTouchedCount`},
{name: 'Breasts Touched By', var: `${serykLower}_${characterName}BreastsTouchedByCount`},
{name: 'Ass Touched', var: `${serykLower}_${characterName}AssTouchedCount`},
{name: 'Ass Touched By', var: `${serykLower}_${characterName}AssTouchedByCount`},
{name: 'Cum Inside Count', var: `${serykLower}_${characterName}CumInsideCount`},
{name: 'Cum Inside (ml)', var: `${serykLower}_${characterName}CumInsideMl`},
{name: 'Cum Swallowed (ml)', var: `${serykLower}_${characterName}CumSwallowedMl`},
{name: 'Cum On Body (ml)', var: `${serykLower}_${characterName}CumOnBodyMl`},
{name: 'Cum On Others (ml)', var: `${serykLower}_${characterName}CumOnOthersMl`},
{name: 'Orgasms Given', var: `${serykLower}_${characterName}OrgasmsGiven`},
{name: 'Orgasms Received', var: `${serykLower}_${characterName}OrgasmsReceived`}
];
const activeSexualStats = sexualStats.filter(stat => (State.variables[stat.var] || 0) > 0);
if (activeSexualStats.length > 0) {
statsHtml += `<div class="stat-category">
<h4>Sexual Experience</h4>
<div class="stat-grid">`;
activeSexualStats.forEach(stat => {
const value = State.variables[stat.var] || 0;
statsHtml += `<div class="stat-item">
<span class="stat-name">${stat.name}</span>
<span class="stat-value">${value}</span>
</div>`;
});
statsHtml += `</div></div>`;
} else {
statsHtml += `<div class="stat-category">
<h4>Sexual Experience</h4>
<div class="stat-grid">
<div class="stat-item">
<span class="stat-name">No sexual encounters yet</span>
<span class="stat-value">-</span>
</div>
</div>
</div>`;
}
$('#relationship-stats').html(statsHtml);
}
$(document).on('click', '.character-portrait-small', function() {
const characterName = $(this).data('character');
selectCharacter(characterName);
});
$(document).ready(() => {
createCharacterPortraits();
if (State.variables.availableCharacters && State.variables.availableCharacters.length > 0) {
selectCharacter(State.variables.availableCharacters[0]);
} else {
$('#relationship-stats').html('<div class="stat-category"><h4>No relationships available yet</h4></div>');
}
});
<</script>>
<</nobr>><<nobr>>
<h2>📖 Thalor's Story</h2>
<<set $thalor_penisSize = 17>>
<div class="diary-portrait-container">
<img @src="'images/' + $currentThalorFace" alt="Thalor Face" class="diary-portrait">
<div class="diary-portrait-description">
<p>A legendary hero and warrior, known for his role in defeating the demon king. Now serves as a stern mentor to <<print $humanName>>, his <<print $thalorToHuman>>. His high expectations and disappointment in <<print $humanName>>'s initial failure at the guild exam have strained their relationship.</p>
</div>
</div>
<<set _character = "Thalor">>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Basic Stats</h3>
<table class="stats-table">
<tr>
<th>Stat</th>
<th>Value</th>
<th>Description</th>
</tr>
<<for _key, _stat range setup.statCategories.basic.stats>>
<<set _value = setup.getStat(_character, "basic", _key)>>
<<if _key === "penisSize">>
<!--<<set _value = _value * 5>>-->
<</if>>
<tr>
<td class="stat-name"><<print _stat.name>></td>
<td class="stat-value"><<print _value>></td>
<td class="stat-desc"><<print _stat.description || "">></td>
</tr>
<</for>>
</table>
</div>
<h3 class="section-header">Underwear</h3>
<div class="underwear-gallery">
<div class="underwear-item">
<h4>Underwear</h4>
<img @src="window.WardrobeSystem.getClothingImage('thalor', 'panties', $thalor_Lust >= 50)" alt="Underwear">
</div>
</div>
<div class="relationship-viewer">
<div class="relationship-header">
<h3 style="margin: 0; color: #ff69b4;">Relationships</h3>
</div>
<div class="character-portraits-row" id="character-portraits"></div>
<div class="relationship-display">
<div class="selected-character-info">
<h4 id="selected-character-name">Select a character</h4>
<div id="relationship-stats" class="relationship-stats">
Click on a character portrait above to view relationship details.
</div>
</div>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">First Experiences</h3>
<div class="first-experiences-categories">
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">💋 Kiss</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">First Kiss:</span>
<span class="exp-value">
<<if $thalorFirstKiss>>
<<if $thalorFirstKiss === "Rylan" || $thalorFirstKiss === "rylan">>$humanName<<else>><<print $thalorFirstKiss>><</if>>
<<else>>
Mariel
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍑 Vaginal</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $thalorFirstVaginalDone>>
<<if $thalorFirstVaginalDone === "Rylan" || $thalorFirstVaginalDone === "rylan">>$humanName<<else>><<print $thalorFirstVaginalDone>><</if>>
<<else>>
Mariel
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $thalorFirstVaginalTaken>>
<<if $thalorFirstVaginalTaken === "Rylan" || $thalorFirstVaginalTaken === "rylan">>$humanName<<else>><<print $thalorFirstVaginalTaken>><</if>>
<<else>>
Mariel
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍑 Anal</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $thalorFirstAnalDone>>
<<if $thalorFirstAnalDone === "Rylan" || $thalorFirstAnalDone === "rylan">>$humanName<<else>><<print $thalorFirstAnalDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $thalorFirstAnalTaken>>
<<if $thalorFirstAnalTaken === "Rylan" || $thalorFirstAnalTaken === "rylan">>$humanName<<else>><<print $thalorFirstAnalTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">👄 Blowjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $thalorFirstBlowjobDone>>
<<if $thalorFirstBlowjobDone === "Rylan" || $thalorFirstBlowjobDone === "rylan">>$humanName<<else>><<print $thalorFirstBlowjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $thalorFirstBlowjobTaken>>
<<if $thalorFirstBlowjobTaken === "Rylan" || $thalorFirstBlowjobTaken === "rylan">>$humanName<<else>><<print $thalorFirstBlowjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">✋ Handjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $thalorFirstHandjobDone>>
<<if $thalorFirstHandjobDone === "Rylan" || $thalorFirstHandjobDone === "rylan">>$humanName<<else>><<print $thalorFirstHandjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $thalorFirstHandjobTaken>>
<<if $thalorFirstHandjobTaken === "Rylan" || $thalorFirstHandjobTaken === "rylan">>$humanName<<else>><<print $thalorFirstHandjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🦶 Footjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $thalorFirstFootjobDone>>
<<if $thalorFirstFootjobDone === "Rylan" || $thalorFirstFootjobDone === "rylan">>$humanName<<else>><<print $thalorFirstFootjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $thalorFirstFootjobTaken>>
<<if $thalorFirstFootjobTaken === "Rylan" || $thalorFirstFootjobTaken === "rylan">>$humanName<<else>><<print $thalorFirstFootjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
<div class="experience-category">
<h4 style="color: #ff69b4; margin: 15px 0 10px 0;">🍒 Boobjob</h4>
<div class="experience-subcategory">
<div class="experience-item">
<span class="exp-name">Done:</span>
<span class="exp-value">
<<if $thalorFirstBoobjobDone>>
<<if $thalorFirstBoobjobDone === "Rylan" || $thalorFirstBoobjobDone === "rylan">>$humanName<<else>><<print $thalorFirstBoobjobDone>><</if>>
<<else>>
None
<</if>>
</span>
</div>
<div class="experience-item">
<span class="exp-name">Taken:</span>
<span class="exp-value">
<<if $thalorFirstBoobjobTaken>>
<<if $thalorFirstBoobjobTaken === "Rylan" || $thalorFirstBoobjobTaken === "rylan">>$humanName<<else>><<print $thalorFirstBoobjobTaken>><</if>>
<<else>>
None
<</if>>
</span>
</div>
</div>
</div>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Fetishes</h3>
<div class="fetish-grid">
<div class="fetish-category">
<h4>Physical</h4>
<div class="fetish-item">
<span class="fetish-name">Scent Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SmellFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Muscle Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "MuscleFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Thigh Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ThighFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Body Parts</h4>
<div class="fetish-item">
<span class="fetish-name">Feet Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "FeetFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Armpit Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ArmpitFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Breast Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "BreastFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Ass Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "AssFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Penis Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "PenisFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Vagina Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "VaginaFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Fluids</h4>
<div class="fetish-item">
<span class="fetish-name">Cum Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "CumAddiction").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Sweat Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SweatFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Saliva Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SalivaFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Behavioral</h4>
<div class="fetish-item">
<span class="fetish-name">Submission</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "SubmissionFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Dominance</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "DominanceFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Exhibitionism</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "ExhibitionismFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Voyeurism</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "VoyeurismFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Kinks</h4>
<div class="fetish-item">
<span class="fetish-name">Bondage Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "BondageFetish").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Cross-Dressing</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "CrossdressingFetish").toFixed(1)>></span>
</div>
</div>
<div class="fetish-category">
<h4>Orientation</h4>
<div class="fetish-item">
<span class="fetish-name">Gay-Sex Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "GayValue").toFixed(1)>></span>
</div>
<div class="fetish-item">
<span class="fetish-name">Lesbian Interest</span>
<span class="stat-value"><<print setup.getStat(_character, "fetishes", "LesbianValue").toFixed(1)>></span>
</div>
</div>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Sexual Experience</h3>
<div class="sexual-experience-grid">
<<for _subcatKey, _subcat range setup.statCategories.experience.subcategories>>
<div class="experience-category">
<h4><<print _subcat.name>></h4>
<<for _key, _stat range _subcat.stats>>
<<set _value = setup.getStat(_character, "experience", _key)>>
<div class="exp-row">
<span class="exp-label"><<print _stat.name>>:</span>
<span class="exp-value">
<<if _key.toLowerCase().includes("amount")>>
<<print _value>> ml
<<else>>
<<print _value>>
<<if _key.toLowerCase().includes("count") && _value == 0>>
(Virgin)
<<elseif _key.toLowerCase().includes("count")>>
(Experienced)
<</if>>
<</if>>
</span>
</div>
<</for>>
</div>
<</for>>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Sensitivity</h3>
<div class="stat-grid">
<<for _key, _stat range setup.statCategories.sensitivity.stats>>
<<set _value = setup.getStat(_character, "sensitivity", _key)>>
<div class="stat-item">
<div class="stat-name"><<print _stat.name>></div>
<div class="stat-value"><<print _value>>%</div>
</div>
<</for>>
</div>
</div>
<div class="stats-section">
<h3 style="margin: 0; color: #ff69b4;">Mind Control</h3>
<div class="stat-grid">
<<for _key, _stat range setup.statCategories.mindControl.stats>>
<<set _value = setup.getStat(_character, "mindControl", _key)>>
<div class="stat-item">
<div class="stat-name"><<print _stat.name>></div>
<div class="stat-value"><<print _value>></div>
</div>
<</for>>
</div>
</div>
<div class="diary-return">
<<link "↩ Return">>
<<run Engine.backward()>>
<</link>>
</div>
<</nobr>>
<style>
.relationship-viewer {
background: rgba(0, 0, 0, 0.3);
border-radius: 15px;
padding: 20px;
margin: 20px 0;
position: relative;
}
.relationship-header {
text-align: center;
margin-bottom: 20px;
}
.character-portraits-row {
display: flex;
justify-content: center;
gap: 15px;
margin-bottom: 20px;
flex-wrap: wrap;
}
.character-portrait-small {
width: 110px;
height: 110px;
border-radius: 50%;
overflow: hidden;
border: 3px solid rgba(255, 105, 180, 0.3);
cursor: pointer;
transition: all 0.3s ease;
position: relative;
}
.character-portrait-small:hover {
border-color: rgba(255, 105, 180, 0.8);
transform: scale(1.1);
}
.character-portrait-small.selected {
border-color: #ff69b4;
box-shadow: 0 0 15px rgba(255, 105, 180, 0.6);
}
.character-portrait-small img {
width: 100%;
height: 100%;
object-fit: cover;
}
.character-portrait-small .character-name-label {
position: absolute;
bottom: -25px;
left: 50%;
transform: translateX(-50%);
font-size: 0.8em;
color: #fff;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
white-space: nowrap;
}
.relationship-display {
background: rgba(0, 0, 0, 0.2);
border-radius: 10px;
padding: 20px;
min-height: 200px;
}
.selected-character-info h4 {
color: #ff69b4;
margin: 0 0 15px 0;
text-align: center;
}
.nav-button {
background: rgba(255, 105, 180, 0.3);
border: none;
color: white;
padding: 10px 20px;
border-radius: 5px;
cursor: pointer;
transition: background 0.2s;
}
.nav-button:hover {
background: rgba(255, 105, 180, 0.5);
}
.character-display {
display: flex;
gap: 20px;
align-items: flex-start;
}
.character-portrait-large {
width: 200px;
height: 200px;
border-radius: 100px;
overflow: hidden;
border: 3px solid rgba(255, 105, 180, 0.3);
}
.character-portrait-large img {
width: 100%;
height: 100%;
object-fit: cover;
}
.relationship-stats {
flex: 1;
}
.stat-category {
margin-bottom: 15px;
}
.stat-category h4 {
color: #ff69b4;
margin: 0 0 8px 0;
border-bottom: 1px solid rgba(255,105,180,0.3);
padding-bottom: 4px;
}
.stat-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
}
.stat-item {
display: flex;
justify-content: space-between;
background: rgba(0, 0, 0, 0.2);
padding: 5px 10px;
border-radius: 5px;
}
.stat-name {
color: #ccc;
}
.stat-value {
color: #fff;
font-weight: bold;
}
.first-experiences-categories {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 15px;
margin: 15px 0;
}
.experience-category {
background: rgba(0, 0, 0, 0.2);
border-radius: 8px;
padding: 15px;
}
.experience-subcategory {
display: flex;
gap: 15px;
margin-top: 10px;
flex-direction: row;
}
.experience-item {
display: flex;
justify-content: space-between;
background: rgba(0, 0, 0, 0.2);
padding: 8px 12px;
border-radius: 5px;
flex: 1;
min-width: 150px;
max-width: 200px;
}
.exp-name {
color: #ff69b4;
font-weight: bold;
}
.exp-value {
color: #fff;
}
.underwear-gallery {
display: flex;
justify-content: center;
gap: 20px;
margin: 20px 0;
}
.underwear-item {
text-align: center;
}
.underwear-item h4 {
color: #ff69b4;
margin-bottom: 10px;
}
.underwear-item img {
width: 150px;
height: 150px;
object-fit: cover;
border-radius: 10px;
border: 2px solid rgba(255, 105, 180, 0.3);
}
.relationship-subcategory {
margin-bottom: 15px;
}
.relationship-subcategory h4 {
color: #ff69b4;
margin: 0 0 8px 0;
border-bottom: 1px solid rgba(255,105,180,0.3);
padding-bottom: 4px;
}
.stat-row {
display: flex;
justify-content: space-between;
margin: 4px 0;
font-size: 0.9em;
}
.stat-label {
color: #ccc;
}
.stat-value {
color: #fff;
font-weight: bold;
}
.diary-portrait-container {
position: relative;
width: 300px;
height: 300px;
margin: 20px auto;
border-radius: 15px;
overflow: hidden;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
transition: transform 0.3s ease;
}
.diary-portrait-container:hover {
transform: scale(1.02);
}
.diary-portrait {
width: 100%;
height: 100%;
object-fit: cover;
transition: filter 0.3s ease;
}
.diary-portrait-container:hover .diary-portrait {
filter: brightness(0.7);
}
.diary-portrait-description {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.7);
color: white;
padding: 20px;
opacity: 0;
transition: opacity 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
font-size: 1.1em;
line-height: 1.4;
}
.diary-portrait-container:hover .diary-portrait-description {
opacity: 1;
}
</style>
<<script>>
if (!State.variables.characters) {
State.variables.characters = {
Rylan: true,
Mariel: true,
Thalor: true,
Liora: true,
Serin: true,
Seryk: true,
Nimeria: true
};
}
State.variables.selectedCharacter = null;
State.variables.availableCharacters = [];
const characterList = ["Rylan", "Mariel", "Liora", "Serin", "Seryk", "Nimeria"];
State.variables.availableCharacters =
[...new Set(characterList.filter(c => State.variables['met' + c]))];
function createCharacterPortraits() {
const portraitsContainer = $('#character-portraits');
portraitsContainer.empty();
State.variables.availableCharacters.forEach(char => {
const portraitHtml = `
<div class="character-portrait-small" data-character="${char}">
<img src="images/${char}/face.webp" alt="${char}">
<div class="character-name-label">${char}</div>
</div>
`;
portraitsContainer.append(portraitHtml);
});
}
function selectCharacter(characterName) {
State.variables.selectedCharacter = characterName;
$('.character-portrait-small').removeClass('selected');
$(`.character-portrait-small[data-character="${characterName}"]`).addClass('selected');
const displayName = (characterName === 'Rylan' || characterName === 'rylan') ? State.variables.humanName : characterName;
$('#selected-character-name').text(`Relationship with ${displayName}`);
let statsHtml = '';
const charLower = characterName.toLowerCase();
const thalorLower = 'thalor';
const affectionVar = `${thalorLower}_${characterName}Affection`;
const attractionVar = `${thalorLower}_${characterName}Attraction`;
const affection = State.variables[affectionVar] || 0;
const attraction = State.variables[attractionVar] || 0;
statsHtml += `<div class="stat-category"><h4>Basic Relationship</h4><div class="stat-grid">`;
statsHtml += `<div class="stat-item"><span class="stat-name">💗 Affection</span><span class="stat-value">${affection.toFixed(1)}</span></div>`;
statsHtml += `<div class="stat-item"><span class="stat-name">💝 Attraction</span><span class="stat-value">${attraction.toFixed(1)}</span></div>`;
statsHtml += `</div></div>`;
const sexualStats = [
{name: 'Kiss Count', var: `${thalorLower}_${characterName}KissCount`},
{name: 'Vaginal Count', var: `${thalorLower}_${characterName}VaginalCount`},
{name: 'Anal Count', var: `${thalorLower}_${characterName}AnalCount`},
{name: 'Anal Taken', var: `${thalorLower}_${characterName}AnalTakenCount`},
{name: 'Handjob Given', var: `${thalorLower}_${characterName}HandjobCount`},
{name: 'Handjob Taken', var: `${thalorLower}_${characterName}HandjobTakenCount`},
{name: 'Blowjob Given', var: `${thalorLower}_${characterName}BlowjobCount`},
{name: 'Blowjob Taken', var: `${thalorLower}_${characterName}BlowjobTakenCount`},
{name: 'Footjob Given', var: `${thalorLower}_${characterName}FootjobCount`},
{name: 'Footjob Taken', var: `${thalorLower}_${characterName}FootjobTakenCount`},
{name: 'Boobjob Given', var: `${thalorLower}_${characterName}BoobJobCount`},
{name: 'Boobjob Taken', var: `${thalorLower}_${characterName}BoobJobTakenCount`},
{name: 'Breasts Touched', var: `${thalorLower}_${characterName}BreastsTouchedCount`},
{name: 'Breasts Touched By', var: `${thalorLower}_${characterName}BreastsTouchedByCount`},
{name: 'Ass Touched', var: `${thalorLower}_${characterName}AssTouchedCount`},
{name: 'Ass Touched By', var: `${thalorLower}_${characterName}AssTouchedByCount`},
{name: 'Cum Inside Count', var: `${thalorLower}_${characterName}CumInsideCount`},
{name: 'Cum Inside (ml)', var: `${thalorLower}_${characterName}CumInsideMl`},
{name: 'Cum Swallowed (ml)', var: `${thalorLower}_${characterName}CumSwallowedMl`},
{name: 'Cum On Body (ml)', var: `${thalorLower}_${characterName}CumOnBodyMl`},
{name: 'Orgasms Given', var: `${thalorLower}_${characterName}OrgasmsGiven`},
{name: 'Orgasms Received', var: `${thalorLower}_${characterName}OrgasmsReceived`}
];
const activeSexualStats = sexualStats.filter(stat => (State.variables[stat.var] || 0) > 0);
if (activeSexualStats.length > 0) {
statsHtml += `<div class="stat-category"><h4>Sexual Experience</h4><div class="stat-grid">`;
activeSexualStats.forEach(stat => {
const value = State.variables[stat.var] || 0;
statsHtml += `<div class="stat-item"><span class="stat-name">${stat.name}</span><span class="stat-value">${value}</span></div>`;
});
statsHtml += `</div></div>`;
} else {
statsHtml += `<div class="stat-category"><h4>Sexual Experience</h4><div class="stat-grid"><div class="stat-item"><span class="stat-name">No sexual encounters yet</span><span class="stat-value">-</span></div></div></div>`;
}
$('#relationship-stats').html(statsHtml);
}
$(document).on('click', '.character-portrait-small', function() {
const characterName = $(this).data('character');
selectCharacter(characterName);
});
$(document).ready(() => {
createCharacterPortraits();
if (State.variables.availableCharacters.length > 0) {
selectCharacter(State.variables.availableCharacters[0]);
} else {
$('#relationship-stats').html('<div class="stat-category"><h4>No relationships available yet</h4></div>');
}
});
<</script>><<nobr>>
<h2>✨ Special Values</h2>
<div class="special-values-tabs">
<div class="tab active" data-tab="rylan">
<<if $rylanMasculine>>
<img src="images/rylan/male/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; margin-right: 8px; border: 2px solid rgba(255,255,255,0.3);">
<<elseif $rylanMasculinity30Triggered>>
<img src="images/rylan/femboy/faces/face.webp" style="width: 30px; height: 30px; border-radius: 50%; margin-right: 8px; border: 2px solid rgba(255,255,255,0.3);">
<<else>>
<img src="images/rylan/face.webp" style="width: 30px; height: 30px; border-radius: 50%; margin-right: 8px; border: 2px solid rgba(255,255,255,0.3);">
<</if>>
$humanName
</div>
<div class="tab" data-tab="mariel">
<img src="images/mariel/stage2/face.webp" style="width: 30px; height: 30px; border-radius: 50%; margin-right: 8px; border: 2px solid rgba(255,255,255,0.3);">
$humanToMariel
</div>
<div class="tab" data-tab="serin">
<img src="images/serin/face.webp" style="width: 30px; height: 30px; border-radius: 50%; margin-right: 8px; border: 2px solid rgba(255,255,255,0.3);">
Serin
</div>
<div class="tab" data-tab="liora">
<img src="images/liora/face.webp" style="width: 30px; height: 30px; border-radius: 50%; margin-right: 8px; border: 2px solid rgba(255,255,255,0.3);">
Liora
</div>
<div class="tab" data-tab="seryk">
<img src="images/seryk/face.webp" style="width: 30px; height: 30px; border-radius: 50%; margin-right: 8px; border: 2px solid rgba(255,255,255,0.3);">
Seryk
</div>
<div class="tab" data-tab="nimeria">
<img src="images/nimeria/face.webp" style="width: 30px; height: 30px; border-radius: 50%; margin-right: 8px; border: 2px solid rgba(255,255,255,0.3);">
Nimeria
</div>
<div class="tab" data-tab="thalor">
<img src="images/thalor/face.webp" style="width: 30px; height: 30px; border-radius: 50%; margin-right: 8px; border: 2px solid rgba(255,255,255,0.3);">
$humanToThalor
</div>
<div class="tab" data-tab="others">
<span style="font-size: 1.2em; margin-right: 8px;">✨</span>
Others
</div>
</div>
<div id="rylan-content" class="tab-content active">
<h3>$humanName's Special Values</h3>
<div class="stats-section">
<div style="background: linear-gradient(135deg, rgba(75, 0, 130, 0.3), rgba(138, 43, 226, 0.2), rgba(75, 0, 130, 0.3)); border-radius: 8px; padding: 20px; border: 2px solid rgba(138, 43, 226, 0.4); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #8A2BE2, #9370DB, #8A2BE2);"></div>
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(138, 43, 226, 0.1), rgba(75, 0, 130, 0.05)); opacity: 0.6;"></div>
<div style="position: relative; z-index: 2;">
<div style="display: flex; align-items: center; gap: 15px; margin-bottom: 15px;">
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.8), rgba(75, 0, 130, 0.9)); border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(138, 43, 226, 0.4);">
<span style="color: #FFFFFF; font-size: 1.5em; text-shadow: 1px 1px 2px rgba(0,0,0,0.5);">👑</span>
</div>
<div style="flex: 1;">
<h5 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1.1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Harem Mindset</h5>
<div style="color: #B8C5D6; font-size: 0.9em; line-height: 1.4;">
<<if not $humanNameHaremMindset || $humanNameHaremMindset === 0>>
<span style="color: #FF6B6B;">A harem is completely out of the question - such relationships are morally wrong and go against everything I believe in.</span>
<<elseif $humanNameHaremMindset === 1>>
<span style="color: #FF8E53;">A harem would be wrong, right? I should focus on one person and be faithful to them alone.</span>
<<elseif $humanNameHaremMindset === 2>>
<span style="color: #FFB347;">Maybe I'm being too rigid about relationships. Some people might find happiness in different arrangements.</span>
<<elseif $humanNameHaremMindset === 3>>
<span style="color: #FFD700;">I'm starting to question if traditional monogamy is the only valid form of love. There's something intriguing about deeper connections.</span>
<<elseif $humanNameHaremMindset === 4>>
<span style="color: #D4AF37;">The idea of multiple meaningful relationships isn't as repulsive as it once seemed. Love might be more complex than I thought.</span>
<<elseif $humanNameHaremMindset === 5>>
<span style="color: #B8C5D6;">I'm genuinely conflicted. Part of me still believes in monogamy, but another part wonders if I could find fulfillment with multiple partners.</span>
<<elseif $humanNameHaremMindset === 6>>
<span style="color: #98FB98;">The concept of a harem is becoming more appealing. Maybe love doesn't have to be limited to just one person.</span>
<<elseif $humanNameHaremMindset === 7>>
<span style="color: #90EE90;">I'm starting to embrace the idea. Multiple relationships could offer different types of love and fulfillment.</span>
<<elseif $humanNameHaremMindset === 8>>
<span style="color: #32CD32;">A harem makes perfect sense to me now. Why limit myself when I could share love with multiple amazing people?</span>
<<elseif $humanNameHaremMindset === 9>>
<span style="color: #228B22;">I'm fully committed to this lifestyle. A harem represents the ultimate form of love and companionship.</span>
<<elseif $humanNameHaremMindset >= 10>>
<span style="color: #00FF00; font-weight: bold; text-shadow: 0 0 10px rgba(0,255,0,0.5);">I AM A HAREM MASTER! This is my destiny, my purpose, my ultimate calling in life!</span>
<</if>>
</div>
</div>
</div>
<div style="background: linear-gradient(90deg, rgba(75, 0, 130, 0.3), rgba(138, 43, 226, 0.4), rgba(75, 0, 130, 0.3)); height: 8px; border-radius: 4px; overflow: hidden; position: relative;">
<<set _haremProgress = Math.min($humanNameHaremMindset || 0, 10) * 10>>
<div style="background: linear-gradient(90deg, #8A2BE2, #9370DB, #8A2BE2); height: 100%; width: _haremProgress%; border-radius: 4px; transition: width 0.5s ease; box-shadow: 0 0 10px rgba(138, 43, 226, 0.6);"></div>
</div>
<div style="text-align: center; margin-top: 10px;">
<span style="color: #B8C5D6; font-size: 0.8em; font-style: italic;">Level <<if $humanNameHaremMindset && $humanNameHaremMindset > 0>>$humanNameHaremMindset<</if>></span>
</div>
</div>
</div>
<div style="margin-top: 20px; background: linear-gradient(135deg, rgba(255, 20, 147, 0.3), rgba(255, 105, 180, 0.2), rgba(255, 20, 147, 0.3)); border-radius: 8px; padding: 20px; border: 2px solid rgba(255, 20, 147, 0.4); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #FF1493, #FF69B4, #FF1493);"></div>
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 20, 147, 0.1), rgba(255, 105, 180, 0.05)); opacity: 0.6;"></div>
<div style="position: relative; z-index: 2;">
<div style="display: flex; align-items: center; gap: 15px; margin-bottom: 15px;">
<div style="background: linear-gradient(145deg, rgba(255, 20, 147, 0.8), rgba(255, 105, 180, 0.9)); border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(255, 20, 147, 0.4);">
<span style="color: #FFFFFF; font-size: 1.5em; text-shadow: 1px 1px 2px rgba(0,0,0,0.5);">🌈</span>
</div>
<div style="flex: 1;">
<h5 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1.1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Gay Curiosity</h5>
<div style="color: #B8C5D6; font-size: 0.9em; line-height: 1.4;">
<<if not $rylanGayCuriosity or $rylanGayCuriosity === 0>>
<span style="color: #FF6B6B;">I'm completely straight. The idea of being with another man is completely foreign and unappealing to me.</span>
<<elseif $rylanGayCuriosity === 1>>
<span style="color: #FF8E53;">I'm straight, but... sometimes I notice other men in ways that make me uncomfortable. It's probably nothing.</span>
<<elseif $rylanGayCuriosity === 2>>
<span style="color: #FFB347;">I'm mostly straight, but there are moments when I find myself looking at certain men longer than I should. It's confusing.</span>
<<elseif $rylanGayCuriosity === 3>>
<span style="color: #FFD700;">I'm questioning things. Some men just have this... presence that draws my attention. I don't know what it means.</span>
<<elseif $rylanGayCuriosity === 4>>
<span style="color: #D4AF37;">I'm starting to accept that I might not be completely straight. There's something intriguing about male beauty.</span>
<<elseif $rylanGayCuriosity === 5>>
<span style="color: #B8C5D6;">I'm genuinely curious about what it would be like to be with a man. The thought both excites and terrifies me.</span>
<<elseif $rylanGayCuriosity === 6>>
<span style="color: #98FB98;">I'm attracted to both men and women now. I think I might be bisexual, and that's okay.</span>
<<elseif $rylanGayCuriosity === 7>>
<span style="color: #90EE90;">I'm definitely bisexual. I find both men and women attractive, and I'm starting to embrace this part of myself.</span>
<<elseif $rylanGayCuriosity === 8>>
<span style="color: #32CD32;">I'm comfortable with my bisexuality. I can appreciate the beauty and appeal of both genders equally.</span>
<<elseif $rylanGayCuriosity === 9>>
<span style="color: #228B22;">I'm proud of my sexuality. Being attracted to men and women feels natural and right to me.</span>
<<elseif $rylanGayCuriosity === 10>>
<span style="color: #00FF00;">I'm fully bisexual and confident about it. I love the diversity of attraction and the freedom to love who I want.</span>
<<elseif $rylanGayCuriosity === 11>>
<span style="color: #00E600;">I'm exploring my attraction to men more deeply. There's something special about male energy that draws me in.</span>
<<elseif $rylanGayCuriosity === 12>>
<span style="color: #00CC00;">I'm finding myself more drawn to men lately. The masculine form and energy is incredibly appealing to me.</span>
<<elseif $rylanGayCuriosity === 13>>
<span style="color: #00B300;">I'm starting to prefer men over women in many ways. There's something about male companionship that feels more natural.</span>
<<elseif $rylanGayCuriosity === 14>>
<span style="color: #009900;">I'm mostly attracted to men now. While I still appreciate women, my primary interest lies with the masculine.</span>
<<elseif $rylanGayCuriosity === 15>>
<span style="color: #008000;">I'm predominantly gay. My attraction to men is much stronger than my attraction to women.</span>
<<elseif $rylanGayCuriosity === 16>>
<span style="color: #006600;">I'm almost exclusively gay. Women are nice, but men are what truly excite and fulfill me.</span>
<<elseif $rylanGayCuriosity === 17>>
<span style="color: #004D00;">I'm gay with only occasional interest in women. My heart and desires belong to men.</span>
<<elseif $rylanGayCuriosity === 18>>
<span style="color: #003300;">I'm completely gay. The idea of being with a woman feels foreign to me now.</span>
<<elseif $rylanGayCuriosity === 19>>
<span style="color: #001A00;">I'm fully gay and proud. Men are the only ones who can truly satisfy me emotionally and physically.</span>
<<elseif $rylanGayCuriosity >= 20>>
<span style="color: #00FF00; font-weight: bold; text-shadow: 0 0 10px rgba(0,255,0,0.5);">I AM COMPLETELY GAY! Men are my world, my passion, my everything! This is who I truly am!</span>
<</if>>
</div>
</div>
</div>
<div style="background: linear-gradient(90deg, rgba(255, 20, 147, 0.3), rgba(255, 105, 180, 0.4), rgba(255, 20, 147, 0.3)); height: 8px; border-radius: 4px; overflow: hidden; position: relative;">
<<set _gayProgress = Math.min($rylanGayCuriosity or 0, 20) * 5>>
<div style="background: linear-gradient(90deg, #FF1493, #FF69B4, #FF1493); height: 100%; width: _gayProgress%; border-radius: 4px; transition: width 0.5s ease; box-shadow: 0 0 10px rgba(255, 20, 147, 0.6);"></div>
</div>
<div style="text-align: center; margin-top: 10px;">
<span style="color: #B8C5D6; font-size: 0.8em; font-style: italic;">Level <<if $rylanGayCuriosity and $rylanGayCuriosity > 0>>$rylanGayCuriosity<</if>></span>
</div>
</div>
</div>
<div style="margin-top: 20px; background: linear-gradient(135deg, rgba(255, 182, 193, 0.3), rgba(255, 192, 203, 0.2), rgba(255, 182, 193, 0.3)); border-radius: 8px; padding: 20px; border: 2px solid rgba(255, 182, 193, 0.4); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #FFB6C1, #FFC0CB, #FFB6C1);"></div>
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 182, 193, 0.1), rgba(255, 192, 203, 0.05)); opacity: 0.6;"></div>
<div style="position: relative; z-index: 2;">
<div style="display: flex; align-items: center; gap: 15px; margin-bottom: 15px;">
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.8), rgba(255, 192, 203, 0.9)); border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(255, 182, 193, 0.4);">
<span style="color: #FFFFFF; font-size: 1.5em; text-shadow: 1px 1px 2px rgba(0,0,0,0.5);">💕</span>
</div>
<div style="flex: 1;">
<h5 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1.1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Love for Seryk</h5>
<div style="color: #B8C5D6; font-size: 0.9em; line-height: 1.4;">
<<if not $rylanSerykLove or $rylanSerykLove === 0>>
<span style="color: #FF6B6B;">Seryk is just a friend and teammate. There's nothing romantic or special about our relationship.</span>
<<elseif $rylanSerykLove === 1>>
<span style="color: #FF8E53;">Seryk is a good friend, but sometimes I notice things about him that make me feel... different. It's probably nothing.</span>
<<elseif $rylanSerykLove === 2>>
<span style="color: #FFB347;">I care about Seryk as a friend, but there are moments when I feel something more. I'm not sure what it means.</span>
<<elseif $rylanSerykLove === 3>>
<span style="color: #FFD700;">I'm starting to develop feelings for Seryk. There's something about his strength and kindness that draws me in.</span>
<<elseif $rylanSerykLove === 4>>
<span style="color: #D4AF37;">I think I might be falling for Seryk. His presence makes my heart race in a way I've never experienced before.</span>
<<elseif $rylanSerykLove === 5>>
<span style="color: #B8C5D6;">I'm definitely attracted to Seryk. The way he looks at me, his gentle touch... it makes me feel things I can't explain.</span>
<<elseif $rylanSerykLove === 6>>
<span style="color: #98FB98;">I'm developing real feelings for Seryk. There's something special about our connection that goes beyond friendship.</span>
<<elseif $rylanSerykLove === 7>>
<span style="color: #90EE90;">I think I'm in love with Seryk. The thought of being with him fills me with both excitement and fear.</span>
<<elseif $rylanSerykLove === 8>>
<span style="color: #32CD32;">I'm deeply in love with Seryk. He's become the most important person in my life, and I can't imagine being without him.</span>
<<elseif $rylanSerykLove === 9>>
<span style="color: #228B22;">I'm completely devoted to Seryk. My love for him is pure, deep, and all-consuming. He's my everything.</span>
<<elseif $rylanSerykLove >= 10>>
<span style="color: #00FF00; font-weight: bold; text-shadow: 0 0 10px rgba(0,255,0,0.5);">I AM MADLY IN LOVE WITH SERYK! He is my soulmate, my other half, the love of my life! I would do anything for him!</span>
<</if>>
</div>
</div>
</div>
<div style="background: linear-gradient(90deg, rgba(255, 182, 193, 0.3), rgba(255, 192, 203, 0.4), rgba(255, 182, 193, 0.3)); height: 8px; border-radius: 4px; overflow: hidden; position: relative;">
<<set _loveProgress = Math.min($rylanSerykLove or 0, 10) * 10>>
<div style="background: linear-gradient(90deg, #FFB6C1, #FFC0CB, #FFB6C1); height: 100%; width: _loveProgress%; border-radius: 4px; transition: width 0.5s ease; box-shadow: 0 0 10px rgba(255, 182, 193, 0.6);"></div>
</div>
<div style="text-align: center; margin-top: 10px;">
<span style="color: #B8C5D6; font-size: 0.8em; font-style: italic;">Level <<if $rylanSerykLove and $rylanSerykLove > 0>>$rylanSerykLove<</if>></span>
</div>
</div>
</div>
<<if $rylanThalorLove and $rylanThalorLove > 0>>
<div style="margin-top: 20px; background: linear-gradient(135deg, rgba(255, 165, 0, 0.3), rgba(255, 140, 0, 0.2), rgba(255, 165, 0, 0.3)); border-radius: 8px; padding: 20px; border: 2px solid rgba(255, 165, 0, 0.4); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #FFA500, #FF8C00, #FFA500);"></div>
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 165, 0, 0.1), rgba(255, 140, 0, 0.05)); opacity: 0.6;"></div>
<div style="position: relative; z-index: 2;">
<div style="display: flex; align-items: center; gap: 15px; margin-bottom: 15px;">
<div style="background: linear-gradient(145deg, rgba(255, 165, 0, 0.8), rgba(255, 140, 0, 0.9)); border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(255, 165, 0, 0.4);">
<span style="color: #FFFFFF; font-size: 1.5em; text-shadow: 1px 1px 2px rgba(0,0,0,0.5);">👨</span>
</div>
<div style="flex: 1;">
<h5 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1.1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Love for <<print $humanToThalor>></h5>
<div style="color: #B8C5D6; font-size: 0.9em; line-height: 1.4;">
<<if $rylanThalorLove === 1>>
<span style="color: #FF8E53;">I'm starting to feel something different toward <<print $humanToThalor>>. It's confusing because he's my <<print $thalorToHuman>>, but... there's something there.</span>
<<elseif $rylanThalorLove === 2>>
<span style="color: #FFB347;">I care about <<print $humanToThalor>> in a way that goes beyond family. There are moments when I feel something more than just respect.</span>
<<elseif $rylanThalorLove === 3>>
<span style="color: #FFD700;">I'm developing feelings for <<print $humanToThalor>>. His strength and the way he looks at me makes my heart race in ways I don't understand.</span>
<<elseif $rylanThalorLove === 4>>
<span style="color: #D4AF37;">I think I might be falling for <<print $humanToThalor>>. The way he touches me, his gentle words... it makes me feel things I shouldn't.</span>
<<elseif $rylanThalorLove === 5>>
<span style="color: #B8C5D6;">I'm definitely attracted to <<print $humanToThalor>>. The forbidden nature of these feelings only makes them stronger.</span>
<<elseif $rylanThalorLove === 6>>
<span style="color: #98FB98;">I'm developing real feelings for <<print $humanToThalor>>. There's something special about our connection that goes beyond our family relationship.</span>
<<elseif $rylanThalorLove === 7>>
<span style="color: #90EE90;">I think I'm in love with <<print $humanToThalor>>. The thought of being with him fills me with both excitement and guilt.</span>
<<elseif $rylanThalorLove === 8>>
<span style="color: #32CD32;">I'm deeply in love with <<print $humanToThalor>>. He's become the most important person in my life, despite how wrong this feels.</span>
<<elseif $rylanThalorLove === 9>>
<span style="color: #228B22;">I'm completely devoted to <<print $humanToThalor>>. My love for him is pure, deep, and all-consuming, even if it's forbidden.</span>
<<elseif $rylanThalorLove >= 10>>
<span style="color: #00FF00; font-weight: bold; text-shadow: 0 0 10px rgba(0,255,0,0.5);">I AM MADLY IN LOVE WITH <<print $humanToThalor>>! He is my soulmate, my other half, the love of my life! I would do anything for him, even if it's wrong!</span>
<</if>>
</div>
</div>
</div>
<div style="background: linear-gradient(90deg, rgba(255, 165, 0, 0.3), rgba(255, 140, 0, 0.4), rgba(255, 165, 0, 0.3)); height: 8px; border-radius: 4px; overflow: hidden; position: relative;">
<<set _thalorLoveProgress = Math.min($rylanThalorLove or 0, 10) * 10>>
<div style="background: linear-gradient(90deg, #FFA500, #FF8C00, #FFA500); height: 100%; width: _thalorLoveProgress%; border-radius: 4px; transition: width 0.5s ease; box-shadow: 0 0 10px rgba(255, 165, 0, 0.6);"></div>
</div>
<div style="text-align: center; margin-top: 10px;">
<span style="color: #B8C5D6; font-size: 0.8em; font-style: italic;">Level <<if $rylanThalorLove and $rylanThalorLove > 0>>$rylanThalorLove<</if>></span>
</div>
</div>
</div>
<</if>>
<div style="margin-top: 20px; background: linear-gradient(135deg, rgba(255, 105, 180, 0.3), rgba(255, 20, 147, 0.2), rgba(255, 105, 180, 0.3)); border-radius: 8px; padding: 20px; border: 2px solid rgba(255, 105, 180, 0.4); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #FF69B4, #FF1493, #FF69B4);"></div>
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 105, 180, 0.1), rgba(255, 20, 147, 0.05)); opacity: 0.6;"></div>
<div style="position: relative; z-index: 2;">
<div style="display: flex; align-items: center; gap: 15px; margin-bottom: 15px;">
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.8), rgba(255, 20, 147, 0.9)); border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(255, 105, 180, 0.4);">
<span style="color: #FFFFFF; font-size: 1.5em; text-shadow: 1px 1px 2px rgba(0,0,0,0.5);">💋</span>
</div>
<div style="flex: 1;">
<h5 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1.1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">First Experiences</h5>
<div style="color: #B8C5D6; font-size: 0.9em; line-height: 1.4;">
<<if $rylanFirstKiss>>
<span style="color: #FF69B4; font-weight: bold;">💋 First Kiss:</span> <span style="color: #B8C5D6;">I had my first kiss with <<if $rylanFirstKiss === "Rylan">>$humanName<<else>>$rylanFirstKiss<</if>>.</span><br>
<</if>>
<<if $rylanFirstVaginalDone>>
<span style="color: #FF69B4; font-weight: bold;">🍑 First Vaginal (Done):</span> <span style="color: #B8C5D6;">I had my first vaginal sex with <<if $rylanFirstVaginalDone === "Rylan">>$humanName<<else>>$rylanFirstVaginalDone<</if>>.</span><br>
<</if>>
<<if $rylanFirstVaginalTaken>>
<span style="color: #FF69B4; font-weight: bold;">🍑 First Vaginal (Taken):</span> <span style="color: #B8C5D6;">I received my first vaginal sex from <<if $rylanFirstVaginalTaken === "Rylan">>$humanName<<else>>$rylanFirstVaginalTaken<</if>>.</span><br>
<</if>>
<<if $rylanFirstAnalDone>>
<span style="color: #FF69B4; font-weight: bold;">🍑 First Anal (Done):</span> <span style="color: #B8C5D6;">I had my first anal sex with <<if $rylanFirstAnalDone === "Rylan">>$humanName<<else>>$rylanFirstAnalDone<</if>>.</span><br>
<</if>>
<<if $rylanFirstAnalTaken>>
<span style="color: #FF69B4; font-weight: bold;">🍑 First Anal (Taken):</span> <span style="color: #B8C5D6;">I received my first anal sex from <<if $rylanFirstAnalTaken === "Rylan">>$humanName<<else>>$rylanFirstAnalTaken<</if>>.</span><br>
<</if>>
<<if $rylanFirstBlowjobDone>>
<span style="color: #FF69B4; font-weight: bold;">👄 First Blowjob (Done):</span> <span style="color: #B8C5D6;">I gave my first blowjob to <<if $rylanFirstBlowjobDone === "Rylan">>$humanName<<else>>$rylanFirstBlowjobDone<</if>>.</span><br>
<</if>>
<<if $rylanFirstBlowjobTaken>>
<span style="color: #FF69B4; font-weight: bold;">👄 First Blowjob (Taken):</span> <span style="color: #B8C5D6;">I received my first blowjob from <<if $rylanFirstBlowjobTaken === "Rylan">>$humanName<<else>>$rylanFirstBlowjobTaken<</if>>.</span><br>
<</if>>
<<if $rylanFirstHandjobDone>>
<span style="color: #FF69B4; font-weight: bold;">✋ First Handjob (Done):</span> <span style="color: #B8C5D6;">I gave my first handjob to <<if $rylanFirstHandjobDone === "Rylan">>$humanName<<else>>$rylanFirstHandjobDone<</if>>.</span><br>
<</if>>
<<if $rylanFirstHandjobTaken>>
<span style="color: #FF69B4; font-weight: bold;">✋ First Handjob (Taken):</span> <span style="color: #B8C5D6;">I received my first handjob from <<if $rylanFirstHandjobTaken === "Rylan">>$humanName<<else>>$rylanFirstHandjobTaken<</if>>.</span><br>
<</if>>
<<if $rylanFirstFootjobDone>>
<span style="color: #FF69B4; font-weight: bold;">🦶 First Footjob (Done):</span> <span style="color: #B8C5D6;">I gave my first footjob to <<if $rylanFirstFootjobDone === "Rylan">>$humanName<<else>>$rylanFirstFootjobDone<</if>>.</span><br>
<</if>>
<<if $rylanFirstFootjobTaken>>
<span style="color: #FF69B4; font-weight: bold;">🦶 First Footjob (Taken):</span> <span style="color: #B8C5D6;">I received my first footjob from <<if $rylanFirstFootjobTaken === "Rylan">>$humanName<<else>>$rylanFirstFootjobTaken<</if>>.</span><br>
<</if>>
<<if $rylanFirstBoobjobDone>>
<span style="color: #FF69B4; font-weight: bold;">🍒 First Boobjob (Done):</span> <span style="color: #B8C5D6;">I gave my first boobjob to <<if $rylanFirstBoobjobDone === "Rylan">>$humanName<<else>>$rylanFirstBoobjobDone<</if>>.</span><br>
<</if>>
<<if $rylanFirstBoobjobTaken>>
<span style="color: #FF69B4; font-weight: bold;">🍒 First Boobjob (Taken):</span> <span style="color: #B8C5D6;">I received my first boobjob from <<if $rylanFirstBoobjobTaken === "Rylan">>$humanName<<else>>$rylanFirstBoobjobTaken<</if>>.</span><br>
<</if>>
<<if not $rylanFirstKiss && not $rylanFirstVaginalDone && not $rylanFirstVaginalTaken && not $rylanFirstAnalDone && not $rylanFirstAnalTaken && not $rylanFirstBlowjobDone && not $rylanFirstBlowjobTaken && not $rylanFirstHandjobDone && not $rylanFirstHandjobTaken && not $rylanFirstFootjobDone && not $rylanFirstFootjobTaken && not $rylanFirstBoobjobDone && not $rylanFirstBoobjobTaken>>
<span style="color: #B8C5D6; font-style: italic;">No first experiences recorded yet.</span>
<</if>>
</div>
</div>
</div>
</div>
</div>
</div>
<<if $rylan_wearingPanties>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.6), rgba(255, 20, 147, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 105, 180, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">👙</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Female Underwear</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<<if $rylanMasculinity30Triggered == true>>
<span style="color: #FF1493;">The transformation has begun... I'm now wearing complete female lingerie - delicate panties, a supportive bra, and elegant stockings. My body has become so much more feminine, with softer curves and a more delicate frame. When I look in the mirror, I barely recognize myself. I could easily be mistaken for a beautiful girl, and part of me is starting to enjoy this new identity. The way the silk feels against my skin, how the lace hugs my curves... it's intoxicating. I've become something entirely new, and I'm not sure I want to go back.</span>
<<else>>
<span style="color: #FF1493;">I started wearing female panties. I was reluctant, but they feel good somehow.<<if $rylan_wearingSocks>> And now I'm wearing female socks too.<</if>><<if $rylan_wearingBra>> $humanToMariel discovered my secret and was so happy about it that she gave me one of her old bras to wear. Now I'm wearing full female underwear - panties, socks, and a bra. It feels strange but somehow right.<</if>></span>
<</if>>
</div>
</div>
</div>
</div>
<</if>>
<<if $RylanSoraAttrraction && $RylanSoraAttrraction >= 1>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 20, 147, 0.6), rgba(199, 21, 133, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 20, 147, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">⚧</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Confusion About Sora</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<<if $RylanSoraAttrraction === 1>>
<span style="color: #FF69B4;">Sora looks so feminine but they're actually male. I'm confused about how I feel.</span>
<<elseif $RylanSoraAttrraction === 2>>
<span style="color: #FF69B4;">I keep thinking about Sora's delicate features and how beautiful they are.</span>
<<elseif $RylanSoraAttrraction === 3>>
<span style="color: #FF69B4;">Sora's feminine beauty combined with masculine parts is strangely attractive.</span>
<<elseif $RylanSoraAttrraction === 4>>
<span style="color: #FF69B4;">I'm starting to accept that I find Sora beautiful despite the confusion.</span>
<<elseif $RylanSoraAttrraction === 5>>
<span style="color: #FF69B4;">I'm definitely attracted to Sora's unique beauty and confident presence.</span>
<<elseif $RylanSoraAttrraction === 6>>
<span style="color: #FF69B4;">I'm really into Sora. Their looks and personality are intoxicating.</span>
<<elseif $RylanSoraAttrraction === 7>>
<span style="color: #FF69B4;">I'm deeply attracted to Sora. Their beauty is captivating.</span>
<<elseif $RylanSoraAttrraction === 8>>
<span style="color: #FF69B4;">I'm falling for Sora. Everything about them draws me in.</span>
<<elseif $RylanSoraAttrraction === 9>>
<span style="color: #FF69B4;">I'm completely enamored with Sora's beauty and presence.</span>
<<elseif $RylanSoraAttrraction >= 10>>
<span style="color: #FF1493; font-weight: bold;">I'm obsessed with Sora. They're perfect and I can't stop thinking about them.</span>
<</if>>
</div>
</div>
</div>
</div>
<</if>>
<<if $GoblinCaveReveal === "rylanCenter">>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.6), rgba(255, 140, 0, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 69, 0, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">⚔️</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Goblin Cave Decision</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF8C00;">I insisted on taking the biggest group myself to prove my worth as a leader. This decision opened up the Seryk x Liora NTR route, changing the dynamics of our group forever.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $GoblinCaveReveal === "originalPlan">>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.6), rgba(255, 140, 0, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 69, 0, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">⚔️</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Goblin Cave Decision</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #00BFFF;">I accepted Seryk's tactical plan and let him handle the center group. This decision locked out the Seryk x Liora NTR route, maintaining the original group dynamics.</span>
</div>
</div>
</div>
</div>
<</if>>
</div>
<div id="liora-content" class="tab-content">
<h3>Liora's Special Values</h3>
<<if $serykxliorantr>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(0, 191, 255, 0.6), rgba(30, 144, 255, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0, 191, 255, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🌊</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Liora's NTR</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #00BFFF;">I've noticed Liora acting differently around Seryk. There's something between them that makes me feel... conflicted.</span>
<<if $lioraSalivaAddiction && $lioraSalivaAddiction > 0>>
<br><br>
<span style="color: #FF69B4; font-weight: bold;">Saliva Addiction (Level $lioraSalivaAddiction):</span>
<<if $lioraSalivaAddiction === 3>>
<span style="color: #B8C5D6;">Liora has started to crave Seryk's saliva. She's hesitant but will accept it when desperate for mana restoration.</span>
<<elseif $lioraSalivaAddiction === 4>>
<span style="color: #B8C5D6;">Liora has developed a moderate dependency on Seryk's saliva. She accepts it willingly when needed, though still feels some shame.</span>
<<elseif $lioraSalivaAddiction === 5>>
<span style="color: #B8C5D6;">Liora has become heavily dependent on Seryk's saliva. She now accepts it willingly when needed, showing no resistance to this intimate method.</span>
<<elseif $lioraSalivaAddiction >= 6>>
<span style="color: #B8C5D6;">Liora is completely addicted to Seryk's saliva. She actively seeks it out and derives intense pleasure from consuming it.</span>
<</if>>
<</if>>
<<if $lioraSweatAddiction && $lioraSweatAddiction > 0>>
<br><br>
<span style="color: #FF8C00; font-weight: bold;">Sweat Addiction (Level $lioraSweatAddiction):</span>
<<if $lioraSweatAddiction === 1>>
<span style="color: #B8C5D6;">Liora has developed a basic craving for Seryk's sweat. While she only accepts it in desperate situations, her body is beginning to recognize it as a potent source of mana.</span>
<<elseif $lioraSweatAddiction === 2>>
<span style="color: #B8C5D6;">Liora now actively seeks Seryk's sweat for mana restoration. She's less embarrassed about asking and finds the taste increasingly pleasurable.</span>
<<elseif $lioraSweatAddiction === 3>>
<span style="color: #B8C5D6;">Liora is heavily addicted to Seryk's sweat. She craves it regularly and derives intense satisfaction from consuming it, both for mana and pleasure.</span>
<<elseif $lioraSweatAddiction >= 4>>
<span style="color: #B8C5D6;">Liora is completely obsessed with Seryk's sweat. She can't function without it and actively seeks opportunities to consume it.</span>
<</if>>
<</if>>
<<if $serykLioraNTRProgressionLevel && $serykLioraNTRProgressionLevel > 0>>
<br><br>
<span style="color: #4682B4; font-weight: bold;">NTR Progression (Level $serykLioraNTRProgressionLevel):</span>
<<if $serykLioraNTRProgressionLevel === 1>>
<span style="color: #B8C5D6;">Liora has begun her journey into NTR territory with Seryk. She's still innocent but has taken her first steps into more intimate healing methods.</span>
<<elseif $serykLioraNTRProgressionLevel === 2>>
<span style="color: #B8C5D6;">Liora is becoming more comfortable with intimate healing sessions. She's less embarrassed and more willing to explore alternative methods.</span>
<<elseif $serykLioraNTRProgressionLevel === 3>>
<span style="color: #B8C5D6;">Liora is actively seeking out intimate healing sessions. She's developed a dependency on Seryk's methods and craves the intimate contact.</span>
<<elseif $serykLioraNTRProgressionLevel === 4>>
<span style="color: #B8C5D6;">Liora is deeply involved in NTR progression. She's become addicted to the intimate healing methods and actively seeks opportunities for more.</span>
<<elseif $serykLioraNTRProgressionLevel === 5>>
<span style="color: #B8C5D6;">Liora is fully committed to the NTR path. She's lost most of her innocence and actively pursues intimate experiences with Seryk.</span>
<<elseif $serykLioraNTRProgressionLevel >= 6>>
<span style="color: #B8C5D6;">Liora has completely embraced the NTR lifestyle. She's no longer the innocent healer she once was and actively seeks out corruption and intimate experiences.</span>
<</if>>
<</if>>
<<if $lioraSizeAddiction && $lioraSizeAddiction > 0>>
<br><br>
<span style="color: #FF1493; font-weight: bold;">Size Addiction (Level $lioraSizeAddiction):</span>
<<if $lioraSizeAddiction === 1>>
<span style="color: #B8C5D6;">Liora has just discovered that larger sizes exist. She finds them intimidating and painful-looking. $humanName's size is perfect for her.</span>
<<elseif $lioraSizeAddiction === 2>>
<span style="color: #B8C5D6;">Liora is beginning to notice size differences. While still preferring $humanName's comfortable size, she's becoming curious about larger options.</span>
<<elseif $lioraSizeAddiction === 3>>
<span style="color: #B8C5D6;">Liora is developing a mild fascination with size. She still prefers $humanName but occasionally thinks about what larger sizes might feel like.</span>
<<elseif $lioraSizeAddiction === 4>>
<span style="color: #B8C5D6;">Liora is becoming more interested in size variety. She appreciates $humanName's size but is increasingly curious about larger options.</span>
<<elseif $lioraSizeAddiction === 5>>
<span style="color: #B8C5D6;">Liora is developing a moderate size preference. She still loves $humanName but is starting to crave the challenge of larger sizes.</span>
<<elseif $lioraSizeAddiction === 6>>
<span style="color: #B8C5D6;">Liora is becoming size-conscious. She appreciates $humanName but is increasingly drawn to the idea of larger, more challenging experiences.</span>
<<elseif $lioraSizeAddiction === 7>>
<span style="color: #B8C5D6;">Liora is developing a strong size preference. She loves $humanName but is becoming addicted to the thrill of larger sizes.</span>
<<elseif $lioraSizeAddiction === 8>>
<span style="color: #B8C5D6;">Liora is heavily size-focused. She still cares for $humanName but is increasingly obsessed with larger, more intense experiences.</span>
<<elseif $lioraSizeAddiction === 9>>
<span style="color: #B8C5D6;">Liora is becoming size-obsessed. She maintains her love for $humanName but is deeply addicted to the challenge and intensity of larger sizes.</span>
<<elseif $lioraSizeAddiction === 10>>
<span style="color: #B8C5D6;">Liora is developing a dual preference. She deeply loves $humanName but is equally addicted to the overwhelming sensation of larger sizes.</span>
<<elseif $lioraSizeAddiction === 11>>
<span style="color: #B8C5D6;">Liora is becoming size-divided. She cherishes $humanName but is increasingly drawn to the extreme sensations that only larger sizes can provide.</span>
<<elseif $lioraSizeAddiction === 12>>
<span style="color: #B8C5D6;">Liora is developing size schizophrenia. She loves $humanName but is becoming addicted to the overwhelming, almost painful intensity of larger sizes.</span>
<<elseif $lioraSizeAddiction === 13>>
<span style="color: #B8C5D6;">Liora is becoming size-conflicted. She deeply loves $humanName but is increasingly obsessed with the extreme sensations of larger sizes.</span>
<<elseif $lioraSizeAddiction === 14>>
<span style="color: #B8C5D6;">Liora is developing extreme size preferences. She maintains her love for $humanName but is becoming addicted to the most challenging and intense size experiences.</span>
<<elseif $lioraSizeAddiction >= 15>>
<span style="color: #B8C5D6;">Liora has become completely size-obsessed. While she still loves $humanName, she's now addicted to the most extreme and challenging size experiences available.</span>
<</if>>
<</if>>
</div>
</div>
</div>
</div>
<</if>>
<<if $thalorLioraNtr>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.6), rgba(255, 140, 0, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 69, 0, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">⚠️</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Liora & Thalor</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FFA500;">Liora started to act a bit weird around Thalor. I'm not sure what's going on, but it makes me feel uneasy.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $lioraFutaCurrious>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 20, 147, 0.6), rgba(199, 21, 133, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 20, 147, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">⚧</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Futa Transformation</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF1493;">Liora was temporarily transformed into a futa and masturbated. This was a very unusual and confusing experience.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $lioraLesbianContent>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 20, 147, 0.6), rgba(199, 21, 133, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 20, 147, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🌸</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Liora's Lesbian Content</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF1493;">Liora has started looking at women differently lately. There's something in her gaze that wasn't there before.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $lioraxmarielcontent>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 182, 193, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💕</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Liora & Mariel Cuddling</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FFB6C1;">I was so nervous at first, but as we cuddled naked by the fireplace, I felt something I'd never experienced. Her breasts were so soft against my face, and her scent was intoxicating. I found myself getting aroused in ways I didn't understand, but it felt so right. When our eyes met, I wanted to kiss her so badly, but I was scared of what it might mean.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $rylan_LioraFootSmelled>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.6), rgba(255, 20, 147, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 105, 180, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🦶</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Liora's Foot Massage</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF69B4;">During our intimate morning massage, I chose to focus on Liora's feet. The way she responded to my touch was incredibly arousing, and I found myself drawn to her delicate, stocking-clad feet in ways I never expected.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $nimeriaLioraKissed>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 20, 147, 0.6), rgba(199, 21, 133, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 20, 147, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💋</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Nimeria's Kiss</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF1493;">I never thought it would feel so good to kiss a girl. The softness, the sweetness, the way our lips fit together perfectly... it awakened something new inside me.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $lioraLickSerykSweat>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 140, 0, 0.6), rgba(255, 69, 0, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 140, 0, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💧</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Liora's Sweat Fetish</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF8C00;">Liora has developed an intense fascination with Seryk's sweat during their healing sessions. She claims it's for mana restoration, but her behavior suggests something deeper and more... intimate.</span>
</div>
</div>
</div>
</div>
<</if>>
<div style="margin-top: 20px; background: linear-gradient(135deg, rgba(255, 105, 180, 0.3), rgba(255, 20, 147, 0.2), rgba(255, 105, 180, 0.3)); border-radius: 8px; padding: 20px; border: 2px solid rgba(255, 105, 180, 0.4); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #FF69B4, #FF1493, #FF69B4);"></div>
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 105, 180, 0.1), rgba(255, 20, 147, 0.05)); opacity: 0.6;"></div>
<div style="position: relative; z-index: 2;">
<div style="display: flex; align-items: center; gap: 15px; margin-bottom: 15px;">
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.8), rgba(255, 20, 147, 0.9)); border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(255, 105, 180, 0.4);">
<span style="color: #FFFFFF; font-size: 1.5em; text-shadow: 1px 1px 2px rgba(0,0,0,0.5);">💋</span>
</div>
<div style="flex: 1;">
<h5 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1.1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">First Experiences</h5>
<div style="color: #B8C5D6; font-size: 0.9em; line-height: 1.4;">
<<if $lioraFirstKiss>>
<span style="color: #FF69B4; font-weight: bold;">💋 First Kiss:</span> <span style="color: #B8C5D6;">I had my first kiss with <<if $lioraFirstKiss === "Rylan">>$humanName<<else>>$lioraFirstKiss<</if>>.</span><br>
<</if>>
<<if $lioraFirstVaginalDone>>
<span style="color: #FF69B4; font-weight: bold;">🍑 First Vaginal (Done):</span> <span style="color: #B8C5D6;">I had my first vaginal sex with <<if $lioraFirstVaginalDone === "Rylan">>$humanName<<else>>$lioraFirstVaginalDone<</if>>.</span><br>
<</if>>
<<if $lioraFirstVaginalTaken>>
<span style="color: #FF69B4; font-weight: bold;">🍑 First Vaginal (Taken):</span> <span style="color: #B8C5D6;">I received my first vaginal sex from <<if $lioraFirstVaginalTaken === "Rylan">>$humanName<<else>>$lioraFirstVaginalTaken<</if>>.</span><br>
<</if>>
<<if $lioraFirstAnalDone>>
<span style="color: #FF69B4; font-weight: bold;">🍑 First Anal (Done):</span> <span style="color: #B8C5D6;">I had my first anal sex with <<if $lioraFirstAnalDone === "Rylan">>$humanName<<else>>$lioraFirstAnalDone<</if>>.</span><br>
<</if>>
<<if $lioraFirstAnalTaken>>
<span style="color: #FF69B4; font-weight: bold;">🍑 First Anal (Taken):</span> <span style="color: #B8C5D6;">I received my first anal sex from <<if $lioraFirstAnalTaken === "Rylan">>$humanName<<else>>$lioraFirstAnalTaken<</if>>.</span><br>
<</if>>
<<if $lioraFirstBlowjobDone>>
<span style="color: #FF69B4; font-weight: bold;">👄 First Blowjob (Done):</span> <span style="color: #B8C5D6;">I gave my first blowjob to <<if $lioraFirstBlowjobDone === "Rylan">>$humanName<<else>>$lioraFirstBlowjobDone<</if>>.</span><br>
<</if>>
<<if $lioraFirstBlowjobTaken>>
<span style="color: #FF69B4; font-weight: bold;">👄 First Blowjob (Taken):</span> <span style="color: #B8C5D6;">I received my first blowjob from <<if $lioraFirstBlowjobTaken === "Rylan">>$humanName<<else>>$lioraFirstBlowjobTaken<</if>>.</span><br>
<</if>>
<<if $lioraFirstHandjobDone>>
<span style="color: #FF69B4; font-weight: bold;">✋ First Handjob (Done):</span> <span style="color: #B8C5D6;">I gave my first handjob to <<if $lioraFirstHandjobDone === "Rylan">>$humanName<<else>>$lioraFirstHandjobDone<</if>>.</span><br>
<</if>>
<<if $lioraFirstHandjobTaken>>
<span style="color: #FF69B4; font-weight: bold;">✋ First Handjob (Taken):</span> <span style="color: #B8C5D6;">I received my first handjob from <<if $lioraFirstHandjobTaken === "Rylan">>$humanName<<else>>$lioraFirstHandjobTaken<</if>>.</span><br>
<</if>>
<<if $lioraFirstFootjobDone>>
<span style="color: #FF69B4; font-weight: bold;">🦶 First Footjob (Done):</span> <span style="color: #B8C5D6;">I gave my first footjob to <<if $lioraFirstFootjobDone === "Rylan">>$humanName<<else>>$lioraFirstFootjobDone<</if>>.</span><br>
<</if>>
<<if $lioraFirstFootjobTaken>>
<span style="color: #FF69B4; font-weight: bold;">🦶 First Footjob (Taken):</span> <span style="color: #B8C5D6;">I received my first footjob from <<if $lioraFirstFootjobTaken === "Rylan">>$humanName<<else>>$lioraFirstFootjobTaken<</if>>.</span><br>
<</if>>
<<if $lioraFirstBoobjobDone>>
<span style="color: #FF69B4; font-weight: bold;">🍒 First Boobjob (Done):</span> <span style="color: #B8C5D6;">I gave my first boobjob to <<if $lioraFirstBoobjobDone === "Rylan">>$humanName<<else>>$lioraFirstBoobjobDone<</if>>.</span><br>
<</if>>
<<if $lioraFirstBoobjobTaken>>
<span style="color: #FF69B4; font-weight: bold;">🍒 First Boobjob (Taken):</span> <span style="color: #B8C5D6;">I received my first boobjob from <<if $lioraFirstBoobjobTaken === "Rylan">>$humanName<<else>>$lioraFirstBoobjobTaken<</if>>.</span><br>
<</if>>
<<if not $lioraFirstKiss && not $lioraFirstVaginalDone && not $lioraFirstVaginalTaken && not $lioraFirstAnalDone && not $lioraFirstAnalTaken && not $lioraFirstBlowjobDone && not $lioraFirstBlowjobTaken && not $lioraFirstHandjobDone && not $lioraFirstHandjobTaken && not $lioraFirstFootjobDone && not $lioraFirstFootjobTaken && not $lioraFirstBoobjobDone && not $lioraFirstBoobjobTaken>>
<span style="color: #B8C5D6; font-style: italic;">No first experiences recorded yet.</span>
<</if>>
</div>
</div>
</div>
</div>
</div>
<div class="stats-section">
<div style="background: linear-gradient(135deg, rgba(255, 69, 0, 0.3), rgba(255, 140, 0, 0.2), rgba(255, 69, 0, 0.3)); border-radius: 8px; padding: 20px; border: 2px solid rgba(255, 69, 0, 0.4); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #FF4500, #FF8C00, #FF4500);"></div>
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 69, 0, 0.1), rgba(255, 140, 0, 0.05)); opacity: 0.6;"></div>
<div style="position: relative; z-index: 2;">
<div style="display: flex; align-items: center; gap: 15px; margin-bottom: 15px;">
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.8), rgba(255, 140, 0, 0.9)); border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(255, 69, 0, 0.4);">
<span style="color: #FFFFFF; font-size: 1.5em; text-shadow: 1px 1px 2px rgba(0,0,0,0.5);">💦</span>
</div>
<div style="flex: 1;">
<h5 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1.1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Sexual Experiences</h5>
<div style="color: #B8C5D6; font-size: 0.9em; line-height: 1.4;">
<<if $rylanLickedLioraCum>>
<div style="margin: 8px 0; padding: 8px; background: rgba(255, 69, 0, 0.2); border-radius: 6px; border-left: 3px solid #FF4500;">
<span style="color: #FF8C00; font-weight: bold;">Tasted Liora's Cum</span><br>
<span style="color: #E6E6FA; font-style: italic;">I couldn't resist the temptation when I had her cum on my hands. It tasted milky and strange, but had a lightly sweet aftertaste that I wasn't expecting. I found myself licking my fingers clean, unable to stop myself from getting every last drop. The taste was addictive, and I was left with a strange craving for more.</span>
</div>
<</if>>
<<if not $rylanLickedLioraCum>>
<span style="color: #B8C5D6; font-style: italic;">No sexual experiences recorded yet.</span>
<</if>>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="mariel-content" class="tab-content">
<h3>Mariel's Special Values</h3>
<<if $marielTransformationMother && $marielMotherhoodLevel && $marielMotherhoodLevel > 0>>
<div style="margin-top: 20px; padding: 20px; background: linear-gradient(145deg, rgba(255, 182, 193, 0.8), rgba(255, 192, 203, 0.9)); border-radius: 12px; border: 3px solid rgba(255, 182, 193, 0.6); position: relative; overflow: hidden; box-shadow: 0 8px 25px rgba(255, 182, 193, 0.4); animation: gentleGlow 3s ease-in-out infinite alternate;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #FFB6C1, #FFC0CB, #FFB6C1);"></div>
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 182, 193, 0.2), rgba(255, 192, 203, 0.1)); opacity: 0.8;"></div>
<div style="position: relative; z-index: 2;">
<div style="display: flex; align-items: center; gap: 15px; margin-bottom: 15px;">
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.9), rgba(255, 192, 203, 1)); border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(255, 182, 193, 0.6); animation: sparkle 2s ease-in-out infinite;">
<span style="color: #FFFFFF; font-size: 1.8em; text-shadow: 2px 2px 4px rgba(0,0,0,0.3);">👶</span>
</div>
<div style="flex: 1;">
<h5 style="color: #FFFFFF; margin: 0 0 8px 0; font-size: 1.3em; text-shadow: 2px 2px 4px rgba(0,0,0,0.5); font-weight: bold;">My Growing Family (Level $marielMotherhoodLevel)</h5>
<div style="color: #FFFFFF; font-size: 0.95em; line-height: 1.4; text-shadow: 1px 1px 2px rgba(0,0,0,0.3);">
<<if $marielMotherhoodLevel === 1>>
<span style="color: #FFFFFF; font-weight: 500;">I've welcomed my first child into my family! <<print $marielFamily.join(", ")>> has become part of my heart, and I feel such joy watching them grow and develop. Being a mother fills me with such warmth and purpose.</span>
<<elseif $marielMotherhoodLevel === 2>>
<span style="color: #FFFFFF; font-weight: 500;">My family is growing! I now have two wonderful children: <<print $marielFamily.join(" and ")>>. Each one brings their own unique light into my life, and I cherish every moment I spend nurturing and caring for them.</span>
<<elseif $marielMotherhoodLevel === 3>>
<span style="color: #FFFFFF; font-weight: 500;">My little family is becoming quite the gathering! <<print $marielFamily.join(", ")>> have all found their way into my heart. I love how each of them brings something special to our home, and I feel so blessed to be their mother.</span>
<<elseif $marielMotherhoodLevel === 4>>
<span style="color: #FFFFFF; font-weight: 500;">What a wonderful family I've built! <<print $marielFamily.join(", ")>> have all become my precious children. I feel such pride and joy in watching them grow, and I know that our bond will only grow stronger with time.</span>
<<elseif $marielMotherhoodLevel === 5>>
<span style="color: #FFFFFF; font-weight: 500;">My family has grown into something truly beautiful! <<print $marielFamily.join(", ")>> are all my beloved children, and I couldn't be happier. Each day brings new joys as I watch them develop and flourish under my care.</span>
<<elseif $marielMotherhoodLevel === 6>>
<span style="color: #FFFFFF; font-weight: 500;">I have the most wonderful family anyone could ask for! <<print $marielFamily.join(", ")>> have all become my cherished children, and I feel so blessed to have them in my life. Our home is filled with love, laughter, and the joy of watching each of them grow into their own unique selves.</span>
<<elseif $marielMotherhoodLevel === 7>>
<span style="color: #FFFFFF; font-weight: 500;">My heart overflows with love for my growing family! <<print $marielFamily.join(", ")>> have all found their way into my heart, and I couldn't be happier. Each day brings new joys as I watch them develop and flourish under my care.</span>
<<elseif $marielMotherhoodLevel === 8>>
<span style="color: #FFFFFF; font-weight: 500;">Every day brings new joy as my family expands! <<print $marielFamily.join(", ")>> are all my precious children, and I feel such pride in watching them grow. I know that our bond will only grow stronger with time.</span>
<<elseif $marielMotherhoodLevel === 9>>
<span style="color: #FFFFFF; font-weight: 500;">I'm so blessed to have such a loving, growing family! <<print $marielFamily.join(", ")>> have all become my beloved children, and I feel so grateful for each and every one of them. Our home is filled with love and happiness.</span>
<<elseif $marielMotherhoodLevel === 10>>
<span style="color: #FFFFFF; font-weight: 500;">My family has become the center of my world! <<print $marielFamily.join(", ")>> are all my cherished children, and I couldn't imagine my life without them. Each one brings their own unique light into my life.</span>
<<elseif $marielMotherhoodLevel === 11>>
<span style="color: #FFFFFF; font-weight: 500;">I never imagined I'd have such a wonderful, large family! <<print $marielFamily.join(", ")>> have all found their way into my heart, and I feel so blessed to be their mother. I love how each of them brings something special to our home.</span>
<<elseif $marielMotherhoodLevel === 12>>
<span style="color: #FFFFFF; font-weight: 500;">My family brings me endless happiness and pride! <<print $marielFamily.join(", ")>> are all my precious children, and I feel such joy in watching them grow. Each day brings new discoveries and wonderful moments.</span>
<<elseif $marielMotherhoodLevel === 13>>
<span style="color: #FFFFFF; font-weight: 500;">I'm so grateful for each and every one of my children! <<print $marielFamily.join(", ")>> have all become my beloved family, and I couldn't be happier. Our bond grows stronger with each passing day.</span>
<<elseif $marielMotherhoodLevel === 14>>
<span style="color: #FFFFFF; font-weight: 500;">My family has grown beyond my wildest dreams! <<print $marielFamily.join(", ")>> are all my cherished children, and I feel so blessed to have them in my life. Each one brings their own unique joy and love.</span>
<<elseif $marielMotherhoodLevel === 15>>
<span style="color: #FFFFFF; font-weight: 500;">I feel like the luckiest mother in the world! <<print $marielFamily.join(", ")>> have all found their way into my heart, and I couldn't be more proud. Our home is filled with love, laughter, and endless happiness.</span>
<<elseif $marielMotherhoodLevel === 16>>
<span style="color: #FFFFFF; font-weight: 500;">My family is my greatest treasure and joy! <<print $marielFamily.join(", ")>> are all my precious children, and I feel such pride in watching them grow. Each day brings new wonders and beautiful moments.</span>
<<elseif $marielMotherhoodLevel === 17>>
<span style="color: #FFFFFF; font-weight: 500;">I'm so proud of the beautiful family I've created! <<print $marielFamily.join(", ")>> have all become my beloved children, and I feel so blessed to be their mother. Our love grows stronger with each passing day.</span>
<<elseif $marielMotherhoodLevel === 18>>
<span style="color: #FFFFFF; font-weight: 500;">My family has become the most important thing in my life! <<print $marielFamily.join(", ")>> are all my cherished children, and I couldn't imagine my world without them. Each one brings their own special magic to our home.</span>
<<elseif $marielMotherhoodLevel === 19>>
<span style="color: #FFFFFF; font-weight: 500;">I'm overwhelmed with love for my incredible family! <<print $marielFamily.join(", ")>> have all found their way into my heart, and I feel so grateful for each and every one of them. Our home is a place of endless joy and love.</span>
<<elseif $marielMotherhoodLevel === 20>>
<span style="color: #FFFFFF; font-weight: 500;">I have the most amazing, loving family anyone could ever hope for! <<print $marielFamily.join(", ")>> are all my precious children, and I feel so blessed to have them in my life. Each day brings new reasons to celebrate our wonderful family.</span>
<<elseif $marielMotherhoodLevel === 21>>
<span style="color: #FFFFFF; font-weight: 500;">My family is the greatest blessing I've ever received! <<print $marielFamily.join(", ")>> have all become my beloved children, and I couldn't be more proud. Our bond is unbreakable and filled with endless love.</span>
<<elseif $marielMotherhoodLevel === 22>>
<span style="color: #FFFFFF; font-weight: 500;">I'm so grateful for every moment with my wonderful family! <<print $marielFamily.join(", ")>> are all my cherished children, and I feel such joy in watching them grow. Each one brings their own unique light into my world.</span>
<<elseif $marielMotherhoodLevel === 23>>
<span style="color: #FFFFFF; font-weight: 500;">My family has brought me more joy than I ever thought possible! <<print $marielFamily.join(", ")>> have all found their way into my heart, and I feel so blessed to be their mother. Our home is a sanctuary of love and happiness.</span>
<<elseif $marielMotherhoodLevel === 24>>
<span style="color: #FFFFFF; font-weight: 500;">I'm the proudest mother in the world! <<print $marielFamily.join(", ")>> are all my precious children, and I feel such pride in watching them flourish. Each day brings new reasons to celebrate our incredible family.</span>
<<elseif $marielMotherhoodLevel >= 25>>
<span style="color: #FFFFFF; font-weight: 500;">My family is my everything, my reason for being! <<print $marielFamily.join(", ")>> have all become my beloved children, and I feel so blessed to have them in my life. Our love is infinite and our bond is unbreakable. I am the happiest mother in the world!</span>
<</if>>
</div>
</div>
</div>
</div>
</div>
<</if>>
<<if $marielFootFetish>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.6), rgba(255, 20, 147, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 105, 180, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🦶</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel's Feet</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FFB6C1;">I've started noticing that <<print $humanToMariel>>'s feet look... interesting. Not that I have a fetish or anything, but they do seem quite attractive.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $rylanRomanceMariel>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 182, 193, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💕</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel Romance</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FFB6C1;">I've been exploring romantic feelings with <<print $humanToMariel>>. Our relationship has become more intimate and complex.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $marielMorningVisitChapter4>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 182, 193, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💕</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel's Morning Kiss</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FFB6C1;">I had a deep kiss with <<print $humanToMariel>> that morning. It felt... different. I'm not sure what it means.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $marielChapter5Massage>>
<<if $marielTransformationMother>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 182, 193, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🥛</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel's Breast Milk</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FFB6C1;">When I touched <<print $humanToMariel>>'s breasts, she started producing milk. Is she... pregnant? This is so confusing.</span>
</div>
</div>
</div>
</div>
<<else>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.6), rgba(255, 20, 147, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 105, 180, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🍒</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel's Breasts</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF1493;">I grabbed <<print $humanToMariel>>'s breasts during the massage. What is wrong with me? I shouldn't have done that.</span>
</div>
</div>
</div>
</div>
<</if>>
<</if>>
<<if $marielNtrSeryk>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.6), rgba(255, 140, 0, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 69, 0, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🔥</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel & Seryk</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FFA500;">I've noticed <<print $humanToMariel>> acting differently around Seryk. There's something between them that makes me feel... conflicted.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $marielMasturbatedToSerykBoxers>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 20, 147, 0.6), rgba(255, 105, 180, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 20, 147, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💋</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mariel's Secret</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF69B4;">I don't know what came over me, but I found myself masturbating to Seryk's boxers. Something primal and overwhelming took control of me, and I couldn't resist his intoxicating scent and taste.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $rylan_SmelledMarielFeet && not $rylan_SmelledMarielFeet2>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(139, 69, 19, 0.6), rgba(160, 82, 45, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(139, 69, 19, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🦶</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Secret Foot Smelling</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #8B4513;">I secretly smelled <<print $marielToHuman>>'s feet during the massage. The intimate scent awakened something in me that I didn't know existed.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $rylan_SmelledMarielHands>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(139, 69, 19, 0.6), rgba(160, 82, 45, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(139, 69, 19, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">✋</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Secret Hand Smelling</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #8B4513;">I couldn't resist smelling my hands after massaging <<print $marielToHuman>>'s feet. The lingering scent was intoxicating and made me realize I had developed a strange fascination.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $rylan_SmelledMarielFeet2>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(139, 69, 19, 0.6), rgba(160, 82, 45, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(139, 69, 19, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🦶</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Secret Foot Smelling</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<<if $rylan_SmelledMarielFeet>>
<span style="color: #8B4513;">I couldn't resist <<print $marielToHuman>>'s feet again. This time I did something even more intense - I pressed her foot against my face while breathing in her intimate scent. I'm not sure why I keep giving in to these urges, but each time it feels harder to resist.</span>
<<else>>
<span style="color: #8B4513;">I pressed <<print $marielToHuman>>'s foot against my face while smelling it. I don't know what made me do something so intense, but I couldn't resist the overwhelming temptation.</span>
<</if>>
</div>
</div>
</div>
</div>
<</if>>
<div style="margin-top: 20px; background: linear-gradient(135deg, rgba(255, 105, 180, 0.3), rgba(255, 20, 147, 0.2), rgba(255, 105, 180, 0.3)); border-radius: 8px; padding: 20px; border: 2px solid rgba(255, 105, 180, 0.4); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #FF69B4, #FF1493, #FF69B4);"></div>
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 105, 180, 0.1), rgba(255, 20, 147, 0.05)); opacity: 0.6;"></div>
<div style="position: relative; z-index: 2;">
<div style="display: flex; align-items: center; gap: 15px; margin-bottom: 15px;">
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.8), rgba(255, 20, 147, 0.9)); border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(255, 105, 180, 0.4);">
<span style="color: #FFFFFF; font-size: 1.5em; text-shadow: 1px 1px 2px rgba(0,0,0,0.5);">💋</span>
</div>
<div style="flex: 1;">
<h5 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1.1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">First Experiences</h5>
<div style="color: #B8C5D6; font-size: 0.9em; line-height: 1.4;">
<<if $marielFirstKiss>>
<span style="color: #FF69B4; font-weight: bold;">💋 First Kiss:</span> <span style="color: #B8C5D6;">I had my first kiss with <<if $marielFirstKiss === "Rylan">>$humanName<<else>>$marielFirstKiss<</if>>.</span><br>
<</if>>
<<if $marielFirstVaginalDone>>
<span style="color: #FF69B4; font-weight: bold;">🍑 First Vaginal (Done):</span> <span style="color: #B8C5D6;">I had my first vaginal sex with <<if $marielFirstVaginalDone === "Rylan">>$humanName<<else>>$marielFirstVaginalDone<</if>>.</span><br>
<</if>>
<<if $marielFirstVaginalTaken>>
<span style="color: #FF69B4; font-weight: bold;">🍑 First Vaginal (Taken):</span> <span style="color: #B8C5D6;">I received my first vaginal sex from <<if $marielFirstVaginalTaken === "Rylan">>$humanName<<else>>$marielFirstVaginalTaken<</if>>.</span><br>
<</if>>
<<if $marielFirstAnalDone>>
<span style="color: #FF69B4; font-weight: bold;">🍑 First Anal (Done):</span> <span style="color: #B8C5D6;">I had my first anal sex with <<if $marielFirstAnalDone === "Rylan">>$humanName<<else>>$marielFirstAnalDone<</if>>.</span><br>
<</if>>
<<if $marielFirstAnalTaken>>
<span style="color: #FF69B4; font-weight: bold;">🍑 First Anal (Taken):</span> <span style="color: #B8C5D6;">I received my first anal sex from <<if $marielFirstAnalTaken === "Rylan">>$humanName<<else>>$marielFirstAnalTaken<</if>>.</span><br>
<</if>>
<<if $marielFirstBlowjobDone>>
<span style="color: #FF69B4; font-weight: bold;">👄 First Blowjob (Done):</span> <span style="color: #B8C5D6;">I gave my first blowjob to <<if $marielFirstBlowjobDone === "Rylan">>$humanName<<else>>$marielFirstBlowjobDone<</if>>.</span><br>
<</if>>
<<if $marielFirstBlowjobTaken>>
<span style="color: #FF69B4; font-weight: bold;">👄 First Blowjob (Taken):</span> <span style="color: #B8C5D6;">I received my first blowjob from <<if $marielFirstBlowjobTaken === "Rylan">>$humanName<<else>>$marielFirstBlowjobTaken<</if>>.</span><br>
<</if>>
<<if $marielFirstHandjobDone>>
<span style="color: #FF69B4; font-weight: bold;">✋ First Handjob (Done):</span> <span style="color: #B8C5D6;">I gave my first handjob to <<if $marielFirstHandjobDone === "Rylan">>$humanName<<else>>$marielFirstHandjobDone<</if>>.</span><br>
<</if>>
<<if $marielFirstHandjobTaken>>
<span style="color: #FF69B4; font-weight: bold;">✋ First Handjob (Taken):</span> <span style="color: #B8C5D6;">I received my first handjob from <<if $marielFirstHandjobTaken === "Rylan">>$humanName<<else>>$marielFirstHandjobTaken<</if>>.</span><br>
<</if>>
<<if $marielFirstFootjobDone>>
<span style="color: #FF69B4; font-weight: bold;">🦶 First Footjob (Done):</span> <span style="color: #B8C5D6;">I gave my first footjob to <<if $marielFirstFootjobDone === "Rylan">>$humanName<<else>>$marielFirstFootjobDone<</if>>.</span><br>
<</if>>
<<if $marielFirstFootjobTaken>>
<span style="color: #FF69B4; font-weight: bold;">🦶 First Footjob (Taken):</span> <span style="color: #B8C5D6;">I received my first footjob from <<if $marielFirstFootjobTaken === "Rylan">>$humanName<<else>>$marielFirstFootjobTaken<</if>>.</span><br>
<</if>>
<<if $marielFirstBoobjobDone>>
<span style="color: #FF69B4; font-weight: bold;">🍒 First Boobjob (Done):</span> <span style="color: #B8C5D6;">I gave my first boobjob to <<if $marielFirstBoobjobDone === "Rylan">>$humanName<<else>>$marielFirstBoobjobDone<</if>>.</span><br>
<</if>>
<<if $marielFirstBoobjobTaken>>
<span style="color: #FF69B4; font-weight: bold;">🍒 First Boobjob (Taken):</span> <span style="color: #B8C5D6;">I received my first boobjob from <<if $marielFirstBoobjobTaken === "Rylan">>$humanName<<else>>$marielFirstBoobjobTaken<</if>>.</span><br>
<</if>>
<<if not $marielFirstKiss && not $marielFirstVaginalDone && not $marielFirstVaginalTaken && not $marielFirstAnalDone && not $marielFirstAnalTaken && not $marielFirstBlowjobDone && not $marielFirstBlowjobTaken && not $marielFirstHandjobDone && not $marielFirstHandjobTaken && not $marielFirstFootjobDone && not $marielFirstFootjobTaken && not $marielFirstBoobjobDone && not $marielFirstBoobjobTaken>>
<span style="color: #B8C5D6; font-style: italic;">No first experiences recorded yet.</span>
<</if>>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="serin-content" class="tab-content">
<h3>Serin's Special Values</h3>
<<if $serinLesbianCuriosity >= 1>>
<div style="margin-top: 20px; background: linear-gradient(135deg, rgba(255, 20, 147, 0.3), rgba(199, 21, 133, 0.2), rgba(255, 20, 147, 0.3)); border-radius: 8px; padding: 20px; border: 2px solid rgba(255, 20, 147, 0.4); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #FF1493, #C71585, #FF1493);"></div>
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 20, 147, 0.1), rgba(199, 21, 133, 0.05)); opacity: 0.6;"></div>
<div style="position: relative; z-index: 2;">
<div style="display: flex; align-items: center; gap: 15px; margin-bottom: 15px;">
<div style="background: linear-gradient(145deg, rgba(255, 20, 147, 0.8), rgba(199, 21, 133, 0.9)); border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(255, 20, 147, 0.4);">
<span style="color: #FFFFFF; font-size: 1.5em; text-shadow: 1px 1px 2px rgba(0,0,0,0.5);">🌸</span>
</div>
<div style="flex: 1;">
<h5 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1.1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Lesbian Curiosity - Level <<if $serinLesbianCuriosity && $serinLesbianCuriosity > 0>>$serinLesbianCuriosity<</if>></h5>
<div style="color: #B8C5D6; font-size: 0.9em; line-height: 1.4;">
<<if $serinLesbianCuriosity === 1>>
<span style="color: #FF6B6B;">I had my first experience with a girl, but I'm not really interested in that sort of thing. It was just... an accident, I guess. I prefer guys, definitely.</span>
<<elseif $serinLesbianCuriosity === 2>>
<span style="color: #FF8E53;">That was... different. I'm not sure what to think about it. There was something... interesting about it.</span>
<<elseif $serinLesbianCuriosity === 3>>
<span style="color: #FFB347;">I keep thinking about what happened. It felt good, but I shouldn't be thinking about girls that way. I'm straight, aren't I?</span>
<<elseif $serinLesbianCuriosity === 4>>
<span style="color: #FFD700;">There's something about the softness of a woman's touch that's different from a man's. I can't stop comparing them in my mind.</span>
<<elseif $serinLesbianCuriosity === 5>>
<span style="color: #D4AF37;">I'm starting to notice women more than I used to. The way they move, their curves, their lips... I catch myself staring sometimes.</span>
<<elseif $serinLesbianCuriosity === 6>>
<span style="color: #B8C5D6;">I wonder what it would be like to kiss another girl again. The memory of that softness keeps coming back to me.</span>
<<elseif $serinLesbianCuriosity === 7>>
<span style="color: #98FB98;">I find myself imagining what it would be like to be with different women. There's something exciting about the forbidden nature of it.</span>
<<elseif $serinLesbianCuriosity === 8>>
<span style="color: #90EE90;">I'm starting to question if I'm really as straight as I thought I was. These feelings are getting stronger, not weaker.</span>
<<elseif $serinLesbianCuriosity === 9>>
<span style="color: #32CD32;">I think I might be bisexual. The idea of being with a woman is becoming more appealing every day.</span>
<<elseif $serinLesbianCuriosity === 10>>
<span style="color: #228B22;">I'm definitely attracted to women now. The way they look, smell, feel... it's intoxicating in a way I never expected.</span>
<<elseif $serinLesbianCuriosity === 11>>
<span style="color: #00FF00;">I find myself fantasizing about women more often than men lately. There's something so alluring about their femininity.</span>
<<elseif $serinLesbianCuriosity === 12>>
<span style="color: #00E600;">I'm starting to prefer women's company over men's. They understand me better, and the connection feels deeper somehow.</span>
<<elseif $serinLesbianCuriosity === 13>>
<span style="color: #00CC00;">I can't stop thinking about what it would be like to make love to a woman. The thought excites me more than anything with a man ever did.</span>
<<elseif $serinLesbianCuriosity === 14>>
<span style="color: #00B300;">I'm actively seeking out opportunities to be close to other women. The attraction is undeniable now.</span>
<<elseif $serinLesbianCuriosity === 15>>
<span style="color: #009900;">I think I might be falling in love with a woman. These feelings are so intense, so different from anything I've felt before.</span>
<<elseif $serinLesbianCuriosity === 16>>
<span style="color: #008000;">I'm starting to identify as bisexual, but I'm leaning more towards women. They just feel right to me.</span>
<<elseif $serinLesbianCuriosity === 17>>
<span style="color: #006600;">I prefer women's bodies over men's now. The softness, the curves, the way they respond to touch... it's perfect.</span>
<<elseif $serinLesbianCuriosity === 18>>
<span style="color: #004D00;">I'm starting to think I might be a lesbian. Men just don't do it for me anymore, but women... women are everything.</span>
<<elseif $serinLesbianCuriosity === 19>>
<span style="color: #003300;">I'm definitely a lesbian. The idea of being with a man repulses me now, but women... women are my world.</span>
<<elseif $serinLesbianCuriosity === 20>>
<span style="color: #001A00;">I'm completely in love with women. Their beauty, their grace, their passion... I can't imagine being with anyone else.</span>
<<elseif $serinLesbianCuriosity === 21>>
<span style="color: #000000; background: linear-gradient(45deg, #FF1493, #C71585); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;">I'm a proud lesbian. Women are my life, my love, my everything. I can't get enough of them.</span>
<<elseif $serinLesbianCuriosity === 22>>
<span style="color: #000000; background: linear-gradient(45deg, #FF1493, #C71585); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;">I'm obsessed with women. Their touch, their taste, their scent... I need them like I need air to breathe.</span>
<<elseif $serinLesbianCuriosity === 23>>
<span style="color: #000000; background: linear-gradient(45deg, #FF1493, #C71585); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;">I'm a lesbian goddess. Women worship me, and I worship them. We are one in our passion.</span>
<<elseif $serinLesbianCuriosity === 24>>
<span style="color: #000000; background: linear-gradient(45deg, #FF1493, #C71585); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;">I'm the ultimate lesbian. Women are drawn to me like moths to a flame, and I devour them with my love.</span>
<<elseif $serinLesbianCuriosity === 25>>
<span style="color: #000000; background: linear-gradient(45deg, #FF1493, #C71585); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;">I'm a lesbian queen. Women bow before me, and I rule them with my passion and desire.</span>
<<elseif $serinLesbianCuriosity === 26>>
<span style="color: #000000; background: linear-gradient(45deg, #FF1493, #C71585); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;">I'm a lesbian empress. Women are my subjects, and I command them with my love and lust.</span>
<<elseif $serinLesbianCuriosity === 27>>
<span style="color: #000000; background: linear-gradient(45deg, #FF1493, #C71585); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;">I'm a lesbian goddess of love. Women are my worshippers, and I bless them with my divine passion.</span>
<<elseif $serinLesbianCuriosity === 28>>
<span style="color: #000000; background: linear-gradient(45deg, #FF1493, #C71585); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;">I'm a lesbian deity. Women are my chosen ones, and I anoint them with my sacred love.</span>
<<elseif $serinLesbianCuriosity === 29>>
<span style="color: #000000; background: linear-gradient(45deg, #FF1493, #C71585); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;">I'm the lesbian supreme being. Women are my creation, and I love them with the power of the universe.</span>
<<elseif $serinLesbianCuriosity >= 30>>
<span style="color: #000000; background: linear-gradient(45deg, #FF1493, #C71585); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-weight: bold; text-shadow: 0 0 10px rgba(255, 20, 147, 0.5);">I AM THE ULTIMATE LESBIAN! Women are my life force, my reason for being, my eternal love and passion!</span>
<</if>>
</div>
</div>
</div>
<div style="background: linear-gradient(90deg, rgba(255, 20, 147, 0.3), rgba(199, 21, 133, 0.4), rgba(255, 20, 147, 0.3)); height: 8px; border-radius: 4px; overflow: hidden; position: relative;">
<<set _lesbianProgress = Math.min($serinLesbianCuriosity || 0, 30) * 3.33>>
<div style="background: linear-gradient(90deg, #FF1493, #C71585, #FF1493); height: 100%; width: _lesbianProgress%; border-radius: 4px; transition: width 0.5s ease; box-shadow: 0 0 10px rgba(255, 20, 147, 0.6);"></div>
</div>
<div style="text-align: center; margin-top: 10px;">
<span style="color: #B8C5D6; font-size: 0.8em; font-style: italic;">Level <<if $serinLesbianCuriosity && $serinLesbianCuriosity > 0>>$serinLesbianCuriosity<</if>> of 30</span>
</div>
</div>
</div>
<</if>>
<<if $serinNetoriCuriosity >= 1>>
<div style="margin-top: 20px; background: linear-gradient(135deg, rgba(255, 69, 0, 0.3), rgba(255, 140, 0, 0.2), rgba(255, 69, 0, 0.3)); border-radius: 8px; padding: 20px; border: 2px solid rgba(255, 69, 0, 0.4); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #FF4500, #FF8C00, #FF4500);"></div>
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 69, 0, 0.1), rgba(255, 140, 0, 0.05)); opacity: 0.6;"></div>
<div style="position: relative; z-index: 2;">
<div style="display: flex; align-items: center; gap: 15px; margin-bottom: 15px;">
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.8), rgba(255, 140, 0, 0.9)); border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(255, 69, 0, 0.4);">
<span style="color: #FFFFFF; font-size: 1.5em; text-shadow: 1px 1px 2px rgba(0,0,0,0.5);">🔥</span>
</div>
<div style="flex: 1;">
<h5 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1.1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Netori Curiosity - Level <<if $serinNetoriCuriosity && $serinNetoriCuriosity > 0>>$serinNetoriCuriosity<</if>></h5>
<div style="color: #B8C5D6; font-size: 0.9em; line-height: 1.4;">
<<if $serinNetoriCuriosity === 1>>
<span style="color: #FF6B6B;">I accidentally did something with someone who was taken. It was wrong, but... there was something thrilling about it. I shouldn't have done it though.</span>
<<elseif $serinNetoriCuriosity === 2>>
<span style="color: #FF8E53;">I keep thinking about what happened. The forbidden nature of it made my heart race in a way I've never experienced before.</span>
<<elseif $serinNetoriCuriosity === 3>>
<span style="color: #FFB347;">There's something exciting about being with someone who belongs to another. The risk, the secrecy... it's intoxicating.</span>
<<elseif $serinNetoriCuriosity === 4>>
<span style="color: #FFD700;">I find myself wondering what it would be like to steal someone away from their partner. The power, the dominance... it's appealing.</span>
<<elseif $serinNetoriCuriosity === 5>>
<span style="color: #D4AF37;">I'm starting to enjoy the thrill of taking what doesn't belong to me. There's something primal about it that excites me.</span>
<<elseif $serinNetoriCuriosity === 6>>
<span style="color: #B8C5D6;">I catch myself looking at taken people differently now. The challenge of winning them over is irresistible.</span>
<<elseif $serinNetoriCuriosity === 7>>
<span style="color: #98FB98;">I'm actively seeking out opportunities to seduce people who are already in relationships. The forbidden fruit tastes sweeter.</span>
<<elseif $serinNetoriCuriosity === 8>>
<span style="color: #90EE90;">I love the feeling of being chosen over someone else. It makes me feel more desirable, more powerful than their current partner.</span>
<<elseif $serinNetoriCuriosity === 9>>
<span style="color: #32CD32;">I'm becoming addicted to the rush of stealing someone away. The competition, the victory... it's better than any drug.</span>
<<elseif $serinNetoriCuriosity === 10>>
<span style="color: #228B22;">I can't resist the challenge of seducing someone who's already taken. The harder they resist, the more I want them.</span>
<<elseif $serinNetoriCuriosity === 11>>
<span style="color: #00FF00;">I'm a master at stealing hearts. I know exactly what to say, how to act, to make them choose me over their partner.</span>
<<elseif $serinNetoriCuriosity === 12>>
<span style="color: #00E600;">I thrive on the drama and chaos I create. Breaking up relationships is just a game to me now, and I always win.</span>
<<elseif $serinNetoriCuriosity === 13>>
<span style="color: #00CC00;">I'm obsessed with the power I have over people in relationships. I can make them betray their partners with just a look.</span>
<<elseif $serinNetoriCuriosity === 14>>
<span style="color: #00B300;">I'm a relationship destroyer, and I love it. The pain I cause to their partners only makes my victory sweeter.</span>
<<elseif $serinNetoriCuriosity === 15>>
<span style="color: #009900;">I'm a netori goddess. I can steal anyone from anyone, and they'll thank me for it. I'm irresistible to the taken.</span>
<<elseif $serinNetoriCuriosity === 16>>
<span style="color: #008000;">I'm the ultimate homewrecker. I don't just steal partners, I destroy relationships completely. It's my specialty.</span>
<<elseif $serinNetoriCuriosity === 17>>
<span style="color: #006600;">I'm a netori queen. I rule over the hearts of the taken, and they worship me for stealing them away.</span>
<<elseif $serinNetoriCuriosity === 18>>
<span style="color: #004D00;">I'm a netori empress. I command the loyalty of those I steal, and they abandon their partners for me without hesitation.</span>
<<elseif $serinNetoriCuriosity === 19>>
<span style="color: #003300;">I'm the netori supreme being. I can make anyone betray their partner for me. I am the ultimate seductress.</span>
<<elseif $serinNetoriCuriosity >= 20>>
<span style="color: #000000; background: linear-gradient(45deg, #FF4500, #FF8C00); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-weight: bold; text-shadow: 0 0 10px rgba(255, 69, 0, 0.5);">I AM THE ULTIMATE NETORI! I steal hearts, destroy relationships, and rule over the taken with absolute power!</span>
<</if>>
</div>
</div>
</div>
<div style="background: linear-gradient(90deg, rgba(255, 69, 0, 0.3), rgba(255, 140, 0, 0.4), rgba(255, 69, 0, 0.3)); height: 8px; border-radius: 4px; overflow: hidden; position: relative;">
<<set _netoriProgress = Math.min($serinNetoriCuriosity || 0, 20) * 5>>
<div style="background: linear-gradient(90deg, #FF4500, #FF8C00, #FF4500); height: 100%; width: _netoriProgress%; border-radius: 4px; transition: width 0.5s ease; box-shadow: 0 0 10px rgba(255, 69, 0, 0.6);"></div>
</div>
<div style="text-align: center; margin-top: 10px;">
<span style="color: #B8C5D6; font-size: 0.8em; font-style: italic;">Level <<if $serinNetoriCuriosity && $serinNetoriCuriosity > 0>>$serinNetoriCuriosity<</if>> of 20</span>
</div>
</div>
</div>
<</if>>
<<if $serinFutanariTransformation>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 20, 147, 0.6), rgba(199, 21, 133, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 20, 147, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">⚧</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Futanari Transformation</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF1493;">That bitch Nimeria tricked me with some ointment. I thought it would help me become more beautiful, but instead it turned me into... this. I have a penis now, and I can't stop thinking about using it. The transformation was so intense, so overwhelming. I lost control completely, humping pillows like some animal. I'm disgusted with myself, but I can't deny how incredible it felt to cum.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $serinxnimeriafeet>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.6), rgba(255, 140, 0, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 69, 0, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🦶</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Foot Kiss Humiliation</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF4500;">That manipulative bitch made me kiss her feet through her pantyhose. Three times. I was so humiliated, but I had no choice. The worst part was having to breathe in her scent while I did it. I hate her even more now, but... I can't stop thinking about how it felt. The submission, the smell, the way she made me do it. It's disgusting, but I keep remembering it.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $lioraTrainingSerinVisited>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 20, 147, 0.6), rgba(199, 21, 133, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 20, 147, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🔥</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Training Session with Liora</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF1493;">What the hell did I just do? I made my $serinLioraRelation cum... I made her squirt through her panties while I was grinding against her leg. The way she moaned and trembled beneath me... it was so wrong, but it felt so good. I was supposed to be training her, but instead I ended up dominating her completely. The look on her face when she came... I've never seen her so vulnerable, so broken. And now I can't stop thinking about doing it again. What's wrong with me?</span>
<<if $serinLioraFootFetish == true>>
<br><br><span style="color: #FF69B4;">And then... I made her smell my sweaty feet. I pressed my sock right against her face and forced her to breathe in my musky scent. She tried to resist, called them disgusting, but I wouldn't let her escape. I made her kiss my sweaty sock... my foot $serinLioraRelation. The way she looked up at me with those pleading eyes before she did it...</span>
<</if>>
</div>
</div>
</div>
</div>
<</if>>
<<if $TrainingWithSerinChapter2 === "avoid">>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(100, 255, 100, 0.6), rgba(50, 200, 50, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(100, 255, 100, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🚪</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin Training Avoidance</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #64FF64;">I made an excuse and left the training hall. I don't like Serin that way and I hope she leaves me alone in the future. There's something about her teasing that makes me uncomfortable.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $TrainingWithSerinChapter2 === "seduction">>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 165, 0, 0.6), rgba(255, 140, 0, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 165, 0, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💕</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin's Seduction Route</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FFA500;">It's getting harder to run away from Serin. Her armpit and feet teasing is disgusting though. I focused on getting ready for training instead, trying to ignore her provocative behavior.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $serinMarielContent>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 20, 147, 0.6), rgba(199, 21, 133, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 20, 147, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💋</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin Mariel Netori</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF1493;">Would I really pursue Mariel? She's $humanName's $marielToHuman, has a husband, and could practically be my own mother from age alone. But there's something about her that draws me in, something I can't quite explain.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $serinMarielGameNightMakeout>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 0, 100, 0.6), rgba(220, 20, 60, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 0, 100, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🔥</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin Mariel Game Night Makeout</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF0064;">I just made out with Mariel while she was drunk. It was so wrong, but felt so good... The way she melted into my touch, the taste of her lips, the power I felt dominating her. I know it's wrong on so many levels, but I can't stop thinking about it.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $TrainingWithSerinChapter2 === "armpit">>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.6), rgba(255, 140, 0, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 69, 0, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🔥</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin's Fetish Awakening</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF4500;">It's getting harder to run away from Serin. I don't know why her armpits and feet affect me this way. Something about the way she moved, the scent in the air... it was wrong, but I found myself drawn to it despite my better judgment.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $serinChapter4MasturbationPunishment>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.6), rgba(255, 140, 0, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 69, 0, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🔥</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin's Control</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FFA500;">Serin has gained significant control over me through that humiliating experience. I can't help but feel submissive around her now.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $rylanxserincontent>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.6), rgba(255, 165, 0, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 215, 0, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">⚡</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin's Seduction</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FFD700;">Serin and I have been exploring intimate territory together. Her teasing and seduction have awakened desires I never knew I had.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $serinChapter5BehindScene>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 0, 0, 0.6), rgba(220, 20, 60, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 0, 0, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🍑</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin's Behind Scene</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #DC143C;">Serin humped me from behind. It was unexpected and... I'm still processing what happened. I feel confused about it.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $rylanChoseToDanceWithSerin>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.6), rgba(255, 140, 0, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 69, 0, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💃</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin's Dance</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF8C00;">I chose to dance with Serin, and it ended in us doing some intercrural sex. How could I do that when I have Liora?</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $serinLesbianContent>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 20, 147, 0.6), rgba(199, 21, 133, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 20, 147, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🌸</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin's Lesbian Content</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF1493;">Serin has started looking at women differently lately. There's something in her gaze that wasn't there before.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $serinChapter5TakeControlChoice>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 69, 0, 0.6), rgba(255, 140, 0, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 69, 0, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">⚡</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin's Take Control Scene</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FFA500;">I took control during our intimate encounter with Serin. It was a powerful moment where I finally stood up to her teasing and dominated her instead.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $rylan_SmelledSerinSocks>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(139, 69, 19, 0.6), rgba(160, 82, 45, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(139, 69, 19, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🦶</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin's Sock Punishment</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #8B4513;">I lost a sparring match to Serin and had to smell her sweaty sock as punishment. The humiliation was intense, but something about the experience awakened new desires in me.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $serinChapter4MasturbationPunishment === true>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 0, 100, 0.6), rgba(220, 20, 60, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 0, 100, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🔥</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin's Masturbation Punishment</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF0064;">Serin forced me to strip naked and masturbate while she watched, using her sweaty panties to arouse me. She made me look at her exposed body while I pleasured myself, completely dominating me. The humiliation was overwhelming, but I couldn't resist her commands. She's gained complete control over me through this degrading experience.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $serinTrainingProgress === 1>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 20, 147, 0.6), rgba(199, 21, 133, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 20, 147, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💋</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Serin's Intimate Training - Level 1</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF1493;">*I never knew kissing could feel like that...* The way Nimeria's lips moved against mine, the taste of her sweet saliva, the way my body responded to her touch - it was like discovering a whole new world of pleasure I never knew existed. When she taught me to be more passionate, more confident, I felt something awaken inside me. The special cream she gave me tingles every night, making me feel more sensitive, more alive. I'm no longer the shy, uncertain girl I used to be. Now I know exactly how to make $humanName want me, how to show him a passion that Liora could never match. I feel powerful, desirable, and ready to claim what's mine.</span>
</div>
</div>
</div>
</div>
<</if>>
<div style="margin-top: 20px; background: linear-gradient(135deg, rgba(255, 105, 180, 0.3), rgba(255, 20, 147, 0.2), rgba(255, 105, 180, 0.3)); border-radius: 8px; padding: 20px; border: 2px solid rgba(255, 105, 180, 0.4); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #FF69B4, #FF1493, #FF69B4);"></div>
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 105, 180, 0.1), rgba(255, 20, 147, 0.05)); opacity: 0.6;"></div>
<div style="position: relative; z-index: 2;">
<div style="display: flex; align-items: center; gap: 15px; margin-bottom: 15px;">
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.8), rgba(255, 20, 147, 0.9)); border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(255, 105, 180, 0.4);">
<span style="color: #FFFFFF; font-size: 1.5em; text-shadow: 1px 1px 2px rgba(0,0,0,0.5);">💋</span>
</div>
<div style="flex: 1;">
<h5 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1.1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">First Experiences</h5>
<div style="color: #B8C5D6; font-size: 0.9em; line-height: 1.4;">
<<if $serinFirstKiss>>
<span style="color: #FF69B4; font-weight: bold;">💋 First Kiss:</span> <span style="color: #B8C5D6;">I had my first kiss with <<if $serinFirstKiss === "Rylan">>$humanName<<else>>$serinFirstKiss<</if>>.</span><br>
<</if>>
<<if $serinFirstVaginalDone>>
<span style="color: #FF69B4; font-weight: bold;">🍑 First Vaginal (Done):</span> <span style="color: #B8C5D6;">I had my first vaginal sex with <<if $serinFirstVaginalDone === "Rylan">>$humanName<<else>>$serinFirstVaginalDone<</if>>.</span><br>
<</if>>
<<if $serinFirstVaginalTaken>>
<span style="color: #FF69B4; font-weight: bold;">🍑 First Vaginal (Taken):</span> <span style="color: #B8C5D6;">I received my first vaginal sex from <<if $serinFirstVaginalTaken === "Rylan">>$humanName<<else>>$serinFirstVaginalTaken<</if>>.</span><br>
<</if>>
<<if $serinFirstAnalDone>>
<span style="color: #FF69B4; font-weight: bold;">🍑 First Anal (Done):</span> <span style="color: #B8C5D6;">I had my first anal sex with <<if $serinFirstAnalDone === "Rylan">>$humanName<<else>>$serinFirstAnalDone<</if>>.</span><br>
<</if>>
<<if $serinFirstAnalTaken>>
<span style="color: #FF69B4; font-weight: bold;">🍑 First Anal (Taken):</span> <span style="color: #B8C5D6;">I received my first anal sex from <<if $serinFirstAnalTaken === "Rylan">>$humanName<<else>>$serinFirstAnalTaken<</if>>.</span><br>
<</if>>
<<if $serinFirstBlowjobDone>>
<span style="color: #FF69B4; font-weight: bold;">👄 First Blowjob (Done):</span> <span style="color: #B8C5D6;">I gave my first blowjob to <<if $serinFirstBlowjobDone === "Rylan">>$humanName<<else>>$serinFirstBlowjobDone<</if>>.</span><br>
<</if>>
<<if $serinFirstBlowjobTaken>>
<span style="color: #FF69B4; font-weight: bold;">👄 First Blowjob (Taken):</span> <span style="color: #B8C5D6;">I received my first blowjob from <<if $serinFirstBlowjobTaken === "Rylan">>$humanName<<else>>$serinFirstBlowjobTaken<</if>>.</span><br>
<</if>>
<<if $serinFirstHandjobDone>>
<span style="color: #FF69B4; font-weight: bold;">✋ First Handjob (Done):</span> <span style="color: #B8C5D6;">I gave my first handjob to <<if $serinFirstHandjobDone === "Rylan">>$humanName<<else>>$serinFirstHandjobDone<</if>>.</span><br>
<</if>>
<<if $serinFirstHandjobTaken>>
<span style="color: #FF69B4; font-weight: bold;">✋ First Handjob (Taken):</span> <span style="color: #B8C5D6;">I received my first handjob from <<if $serinFirstHandjobTaken === "Rylan">>$humanName<<else>>$serinFirstHandjobTaken<</if>>.</span><br>
<</if>>
<<if $serinFirstFootjobDone>>
<span style="color: #FF69B4; font-weight: bold;">🦶 First Footjob (Done):</span> <span style="color: #B8C5D6;">I gave my first footjob to <<if $serinFirstFootjobDone === "Rylan">>$humanName<<else>>$serinFirstFootjobDone<</if>>.</span><br>
<</if>>
<<if $serinFirstFootjobTaken>>
<span style="color: #FF69B4; font-weight: bold;">🦶 First Footjob (Taken):</span> <span style="color: #B8C5D6;">I received my first footjob from <<if $serinFirstFootjobTaken === "Rylan">>$humanName<<else>>$serinFirstFootjobTaken<</if>>.</span><br>
<</if>>
<<if $serinFirstBoobjobDone>>
<span style="color: #FF69B4; font-weight: bold;">🍒 First Boobjob (Done):</span> <span style="color: #B8C5D6;">I gave my first boobjob to <<if $serinFirstBoobjobDone === "Rylan">>$humanName<<else>>$serinFirstBoobjobDone<</if>>.</span><br>
<</if>>
<<if $serinFirstBoobjobTaken>>
<span style="color: #FF69B4; font-weight: bold;">🍒 First Boobjob (Taken):</span> <span style="color: #B8C5D6;">I received my first boobjob from <<if $serinFirstBoobjobTaken === "Rylan">>$humanName<<else>>$serinFirstBoobjobTaken<</if>>.</span><br>
<</if>>
<<if not $serinFirstKiss && not $serinFirstVaginalDone && not $serinFirstVaginalTaken && not $serinFirstAnalDone && not $serinFirstAnalTaken && not $serinFirstBlowjobDone && not $serinFirstBlowjobTaken && not $serinFirstHandjobDone && not $serinFirstHandjobTaken && not $serinFirstFootjobDone && not $serinFirstFootjobTaken && not $serinFirstBoobjobDone && not $serinFirstBoobjobTaken>>
<span style="color: #B8C5D6; font-style: italic;">No first experiences recorded yet.</span>
<</if>>
</div>
</div>
</div>
</div>
</div>
<<if $serinXSerykContent>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 20, 147, 0.6), rgba(199, 21, 133, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 20, 147, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💋</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">My Kiss Training with Seryk (Level $serinXSerykTrainingProgress)</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF1493;">I approached Seryk for kiss training because I wanted to learn proper kissing techniques. What started as innocent training quickly escalated into passionate makeout sessions. I experienced my first real kiss and even had an orgasm from just kissing! I discovered new desires and fetishes I never knew I had. The training has unlocked new levels of intimacy between us.</span>
</div>
</div>
</div>
</div>
<</if>>
</div>
<div id="seryk-content" class="tab-content">
<h3>Seryk's Special Values</h3>
<<if $rylanxserykgaydream>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(0, 128, 128, 0.6), rgba(72, 209, 204, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0, 128, 128, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💤</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Gay Dream with $humanName</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #20B2AA;">$humanName had a dream about me that was... intimate. I'm not sure what to think about it, but it felt so real.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $serykRylanBlightwoodEncounter>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(0, 191, 255, 0.6), rgba(30, 144, 255, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0, 191, 255, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🌿</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Blightwood Encounter</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #00BFFF;">I made out with $humanName in Blightwood. We were both under aphrodisiac effect but... why did it feel good?</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $serykDungeonSexVisited>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(139, 0, 139, 0.6), rgba(75, 0, 130, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(139, 0, 139, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🗡️</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Dungeon Trap Sex</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #8B008B;">We got trapped in a magical bedroom by a dungeon voice. I had to do everything with $humanName to save our friends... kissing, handjob, blowjob, and I fucked him. It was supposed to be just to escape, but... I can't stop thinking about it.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $rylan_TrainedWithSeryk>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(0, 191, 255, 0.6), rgba(30, 144, 255, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0, 191, 255, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💪</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Training with Seryk</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #00BFFF;">I accepted Seryk's training invitation. There was something intense about our sparring session that I can't quite forget.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $rylan_InhaledSerykScent>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(0, 191, 255, 0.6), rgba(30, 144, 255, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0, 191, 255, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💨</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Seryk's Scent Obsession</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #00BFFF;">During our training, I gave in to temptation and deeply inhaled Seryk's scent. I could see how much it affected him, and it stirred something in me too.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $serykMorningBathScene>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(0, 191, 255, 0.6), rgba(30, 144, 255, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0, 191, 255, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🛁</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Morning Bath Encounter</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #00BFFF;">I joined $humanName for a morning bath. The intimate setting and close proximity created an unexpected tension between us. When I accidentally bumped into him while getting out, it seemed to have a profound effect on him that I didn't fully understand at the time.</span>
</div>
</div>
</div>
</div>
<</if>>
<div style="margin-top: 20px; background: linear-gradient(135deg, rgba(0, 191, 255, 0.3), rgba(30, 144, 255, 0.2), rgba(0, 191, 255, 0.3)); border-radius: 8px; padding: 20px; border: 2px solid rgba(0, 191, 255, 0.4); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #00BFFF, #1E90FF, #00BFFF);"></div>
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(0, 191, 255, 0.1), rgba(30, 144, 255, 0.05)); opacity: 0.6;"></div>
<div style="position: relative; z-index: 2;">
<div style="display: flex; align-items: center; gap: 15px; margin-bottom: 15px;">
<div style="background: linear-gradient(145deg, rgba(0, 191, 255, 0.8), rgba(30, 144, 255, 0.9)); border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(0, 191, 255, 0.4);">
<span style="color: #FFFFFF; font-size: 1.5em; text-shadow: 1px 1px 2px rgba(0,0,0,0.5);">💋</span>
</div>
<div style="flex: 1;">
<h5 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1.1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">First Experiences</h5>
<div style="color: #B8C5D6; font-size: 0.9em; line-height: 1.4;">
<<if $serykFirstKiss>>
<span style="color: #00BFFF; font-weight: bold;">💋 First Kiss:</span> <span style="color: #B8C5D6;">I had my first kiss with <<if $serykFirstKiss === "Rylan">>$humanName<<else>>$serykFirstKiss<</if>>.</span><br>
<</if>>
<<if $serykFirstVaginalDone>>
<span style="color: #00BFFF; font-weight: bold;">🍑 First Vaginal (Done):</span> <span style="color: #B8C5D6;">I had my first vaginal sex with <<if $serykFirstVaginalDone === "Rylan">>$humanName<<else>>$serykFirstVaginalDone<</if>>.</span><br>
<</if>>
<<if $serykFirstVaginalTaken>>
<span style="color: #00BFFF; font-weight: bold;">🍑 First Vaginal (Taken):</span> <span style="color: #B8C5D6;">I received my first vaginal sex from <<if $serykFirstVaginalTaken === "Rylan">>$humanName<<else>>$serykFirstVaginalTaken<</if>>.</span><br>
<</if>>
<<if $serykFirstAnalDone>>
<span style="color: #00BFFF; font-weight: bold;">🍑 First Anal (Done):</span> <span style="color: #B8C5D6;">I had my first anal sex with <<if $serykFirstAnalDone === "Rylan">>$humanName<<else>>$serykFirstAnalDone<</if>>.</span><br>
<</if>>
<<if $serykFirstAnalTaken>>
<span style="color: #00BFFF; font-weight: bold;">🍑 First Anal (Taken):</span> <span style="color: #B8C5D6;">I received my first anal sex from <<if $serykFirstAnalTaken === "Rylan">>$humanName<<else>>$serykFirstAnalTaken<</if>>.</span><br>
<</if>>
<<if $serykFirstBlowjobDone>>
<span style="color: #00BFFF; font-weight: bold;">👄 First Blowjob (Done):</span> <span style="color: #B8C5D6;">I gave my first blowjob to <<if $serykFirstBlowjobDone === "Rylan">>$humanName<<else>>$serykFirstBlowjobDone<</if>>.</span><br>
<</if>>
<<if $serykFirstBlowjobTaken>>
<span style="color: #00BFFF; font-weight: bold;">👄 First Blowjob (Taken):</span> <span style="color: #B8C5D6;">I received my first blowjob from <<if $serykFirstBlowjobTaken === "Rylan">>$humanName<<else>>$serykFirstBlowjobTaken<</if>>.</span><br>
<</if>>
<<if $serykFirstHandjobDone>>
<span style="color: #00BFFF; font-weight: bold;">✋ First Handjob (Done):</span> <span style="color: #B8C5D6;">I gave my first handjob to <<if $serykFirstHandjobDone === "Rylan">>$humanName<<else>>$serykFirstHandjobDone<</if>>.</span><br>
<</if>>
<<if $serykFirstHandjobTaken>>
<span style="color: #00BFFF; font-weight: bold;">✋ First Handjob (Taken):</span> <span style="color: #B8C5D6;">I received my first handjob from <<if $serykFirstHandjobTaken === "Rylan">>$humanName<<else>>$serykFirstHandjobTaken<</if>>.</span><br>
<</if>>
<<if $serykFirstFootjobDone>>
<span style="color: #00BFFF; font-weight: bold;">🦶 First Footjob (Done):</span> <span style="color: #B8C5D6;">I gave my first footjob to <<if $serykFirstFootjobDone === "Rylan">>$humanName<<else>>$serykFirstFootjobDone<</if>>.</span><br>
<</if>>
<<if $serykFirstFootjobTaken>>
<span style="color: #00BFFF; font-weight: bold;">🦶 First Footjob (Taken):</span> <span style="color: #B8C5D6;">I received my first footjob from <<if $serykFirstFootjobTaken === "Rylan">>$humanName<<else>>$serykFirstFootjobTaken<</if>>.</span><br>
<</if>>
<<if $serykFirstBoobjobDone>>
<span style="color: #00BFFF; font-weight: bold;">🍒 First Boobjob (Done):</span> <span style="color: #B8C5D6;">I gave my first boobjob to <<if $serykFirstBoobjobDone === "Rylan">>$humanName<<else>>$serykFirstBoobjobDone<</if>>.</span><br>
<</if>>
<<if $serykFirstBoobjobTaken>>
<span style="color: #00BFFF; font-weight: bold;">🍒 First Boobjob (Taken):</span> <span style="color: #B8C5D6;">I received my first boobjob from <<if $serykFirstBoobjobTaken === "Rylan">>$humanName<<else>>$serykFirstBoobjobTaken<</if>>.</span><br>
<</if>>
<<if not $serykFirstKiss && not $serykFirstVaginalDone && not $serykFirstVaginalTaken && not $serykFirstAnalDone && not $serykFirstAnalTaken && not $serykFirstBlowjobDone && not $serykFirstBlowjobTaken && not $serykFirstHandjobDone && not $serykFirstHandjobTaken && not $serykFirstFootjobDone && not $serykFirstFootjobTaken && not $serykFirstBoobjobDone && not $serykFirstBoobjobTaken>>
<span style="color: #B8C5D6; font-style: italic;">No first experiences recorded yet.</span>
<</if>>
</div>
</div>
</div>
</div>
<div style="margin-top: 20px; background: linear-gradient(135deg, rgba(255, 20, 147, 0.3), rgba(255, 105, 180, 0.2), rgba(255, 20, 147, 0.3)); border-radius: 8px; padding: 20px; border: 2px solid rgba(255, 20, 147, 0.4); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #FF1493, #FF69B4, #FF1493);"></div>
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(255, 20, 147, 0.1), rgba(255, 105, 180, 0.05)); opacity: 0.6;"></div>
<div style="position: relative; z-index: 2;">
<div style="display: flex; align-items: center; gap: 15px; margin-bottom: 15px;">
<div style="background: linear-gradient(145deg, rgba(255, 20, 147, 0.8), rgba(255, 105, 180, 0.9)); border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(255, 20, 147, 0.4);">
<span style="color: #FFFFFF; font-size: 1.5em; text-shadow: 1px 1px 2px rgba(0,0,0,0.5);">🌈</span>
</div>
<div style="flex: 1;">
<h5 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1.1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Gay Curiosity</h5>
<div style="color: #B8C5D6; font-size: 0.9em; line-height: 1.4;">
<<if not $serykGayCuriosity || $serykGayCuriosity === 0>>
<span style="color: #FF6B6B;">I'm completely straight. The idea of being with another man is completely foreign and unappealing to me.</span>
<<elseif $serykGayCuriosity === 1>>
<span style="color: #FF8E53;">I'm straight, but... sometimes I notice other men in ways that make me uncomfortable. It's probably nothing.</span>
<<elseif $serykGayCuriosity === 2>>
<span style="color: #FFB347;">I'm mostly straight, but there are moments when I find myself looking at certain men longer than I should. It's confusing.</span>
<<elseif $serykGayCuriosity === 3>>
<span style="color: #FFD700;">I'm questioning things. Some men just have this... presence that draws my attention. I don't know what it means.</span>
<<elseif $serykGayCuriosity === 4>>
<span style="color: #D4AF37;">I'm starting to accept that I might not be completely straight. There's something intriguing about male beauty.</span>
<<elseif $serykGayCuriosity === 5>>
<span style="color: #B8C5D6;">I'm genuinely curious about what it would be like to be with a man. The thought both excites and terrifies me.</span>
<<elseif $serykGayCuriosity === 6>>
<span style="color: #98FB98;">I'm attracted to both men and women now. I think I might be bisexual, and that's okay.</span>
<<elseif $serykGayCuriosity === 7>>
<span style="color: #90EE90;">I'm definitely bisexual. I find both men and women attractive, and I'm starting to embrace this part of myself.</span>
<<elseif $serykGayCuriosity === 8>>
<span style="color: #32CD32;">I'm comfortable with my bisexuality. I can appreciate the beauty and appeal of both genders equally.</span>
<<elseif $serykGayCuriosity === 9>>
<span style="color: #228B22;">I'm proud of my sexuality. Being attracted to men and women feels natural and right to me.</span>
<<elseif $serykGayCuriosity === 10>>
<span style="color: #00FF00;">I'm fully bisexual and confident about it. I love the diversity of attraction and the freedom to love who I want.</span>
<<elseif $serykGayCuriosity === 11>>
<span style="color: #00E600;">I'm exploring my attraction to men more deeply. There's something special about male energy that draws me in.</span>
<<elseif $serykGayCuriosity === 12>>
<span style="color: #00CC00;">I'm finding myself more drawn to men lately. The masculine form and energy is incredibly appealing to me.</span>
<<elseif $serykGayCuriosity === 13>>
<span style="color: #00B300;">I'm starting to prefer men over women in many ways. There's something about male companionship that feels more natural.</span>
<<elseif $serykGayCuriosity === 14>>
<span style="color: #009900;">I'm mostly attracted to men now. While I still appreciate women, my primary interest lies with the masculine.</span>
<<elseif $serykGayCuriosity === 15>>
<span style="color: #008000;">I'm predominantly gay. My attraction to men is much stronger than my attraction to women.</span>
<<elseif $serykGayCuriosity === 16>>
<span style="color: #006600;">I'm almost exclusively gay. Women are nice, but men are what truly excite and fulfill me.</span>
<<elseif $serykGayCuriosity === 17>>
<span style="color: #004D00;">I'm gay with only occasional interest in women. My heart and desires belong to men.</span>
<<elseif $serykGayCuriosity === 18>>
<span style="color: #003300;">I'm completely gay. The idea of being with a woman feels foreign to me now.</span>
<<elseif $serykGayCuriosity === 19>>
<span style="color: #001A00;">I'm fully gay and proud. Men are the only ones who can truly satisfy me emotionally and physically.</span>
<<elseif $serykGayCuriosity >= 20>>
<span style="color: #00FF00; font-weight: bold; text-shadow: 0 0 10px rgba(0,255,0,0.5);">I AM COMPLETELY GAY! Men are my world, my passion, my everything! This is who I truly am!</span>
<</if>>
</div>
</div>
</div>
<div style="background: linear-gradient(90deg, rgba(255, 20, 147, 0.3), rgba(255, 105, 180, 0.4), rgba(255, 20, 147, 0.3)); height: 8px; border-radius: 4px; overflow: hidden; position: relative;">
<<set _gayProgress = Math.min($serykGayCuriosity || 0, 20) * 5>>
<div style="background: linear-gradient(90deg, #FF1493, #FF69B4, #FF1493); height: 100%; width: _gayProgress%; border-radius: 4px; transition: width 0.5s ease; box-shadow: 0 0 10px rgba(255, 20, 147, 0.6);"></div>
</div>
<div style="text-align: center; margin-top: 10px;">
<span style="color: #B8C5D6; font-size: 0.8em; font-style: italic;">Level <<if $serykGayCuriosity && $serykGayCuriosity > 0>>$serykGayCuriosity<</if>></span>
</div>
</div>
</div>
</div>
</div>
<div id="nimeria-content" class="tab-content">
<h3>Nimeria's Special Values</h3>
<<if $rylanNimeriaLove && $rylanNimeriaLove > 0>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.6), rgba(75, 0, 130, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(138, 43, 226, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💜</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Nimeria's Love</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<<if $rylanNimeriaLove === 1>>
<span style="color: #DDA0DD;">I'm starting to develop feelings for Nimeria. There's something about her that draws me in.</span>
<<elseif $rylanNimeriaLove === 2>>
<span style="color: #DDA0DD;">I think I might be falling for Nimeria. Her presence makes my heart race.</span>
<<elseif $rylanNimeriaLove >= 3>>
<span style="color: #DDA0DD;">I'm definitely in love with Nimeria. She's become someone I can't imagine living without.</span>
<</if>>
</div>
</div>
</div>
</div>
<</if>>
<<if $rylanNimeriaCumKiss>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 20, 147, 0.6), rgba(199, 21, 133, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 20, 147, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💋</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Nimeria's Cum Kiss</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FF1493;">I kissed Nimeria while she had my cum in her mouth. The taste was... intoxicating. I can't believe I did that.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $rylanNimeriaKissed>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.6), rgba(75, 0, 130, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(138, 43, 226, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💋</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">The First Kiss</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #8A2BE2;">I finally got to kiss $humanName! He couldn't resist my advances and we shared our first kiss. It was perfect - he was so vulnerable and I could feel him giving in completely to the moment. This is just the beginning of what I have planned for him.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $rylanNimeriaFootfetish>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(139, 69, 19, 0.6), rgba(160, 82, 45, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(139, 69, 19, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🦶</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Nimeria's Feet</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #8B4513;">I kissed Nimeria's feet. I'm not sure why I did that, but it felt... different. I should probably be more careful.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $nimeriaxrylancontent == true>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.6), rgba(75, 0, 130, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(138, 43, 226, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💜</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Nimeria's Determination</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #8A2BE2;">I'll make $humanName mine, sooner or later! He may resist now, but I can be very patient when it comes to getting what I want.</span>
</div>
</div>
</div>
</div>
<<elseif $nimeriaxrylancontent == false>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.6), rgba(75, 0, 130, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(138, 43, 226, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💜</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Nimeria's Support</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #8A2BE2;">I'll try to only support $humanName. He seems to have his own path, and I should respect that. Maybe friendship is what he needs right now.</span>
</div>
</div>
</div>
</div>
<</if>>
<div style="margin-top: 20px; background: linear-gradient(135deg, rgba(138, 43, 226, 0.3), rgba(75, 0, 130, 0.2), rgba(138, 43, 226, 0.3)); border-radius: 8px; padding: 20px; border: 2px solid rgba(138, 43, 226, 0.4); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #8A2BE2, #4B0082, #8A2BE2);"></div>
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(138, 43, 226, 0.1), rgba(75, 0, 130, 0.05)); opacity: 0.6;"></div>
<div style="position: relative; z-index: 2;">
<div style="display: flex; align-items: center; gap: 15px; margin-bottom: 15px;">
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.8), rgba(75, 0, 130, 0.9)); border-radius: 50%; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(138, 43, 226, 0.4);">
<span style="color: #FFFFFF; font-size: 1.5em; text-shadow: 1px 1px 2px rgba(0,0,0,0.5);">💋</span>
</div>
<div style="flex: 1;">
<h5 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1.1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">First Experiences</h5>
<div style="color: #B8C5D6; font-size: 0.9em; line-height: 1.4;">
<<if $nimeriaFirstKiss>>
<span style="color: #8A2BE2; font-weight: bold;">💋 First Kiss:</span> <span style="color: #B8C5D6;">I had my first kiss with <<if $nimeriaFirstKiss === "Rylan">>$humanName<<else>>$nimeriaFirstKiss<</if>>.</span><br>
<</if>>
<<if $nimeriaFirstVaginalDone>>
<span style="color: #8A2BE2; font-weight: bold;">🍑 First Vaginal (Done):</span> <span style="color: #B8C5D6;">I had my first vaginal sex with <<if $nimeriaFirstVaginalDone === "Rylan">>$humanName<<else>>$nimeriaFirstVaginalDone<</if>>.</span><br>
<</if>>
<<if $nimeriaFirstVaginalTaken>>
<span style="color: #8A2BE2; font-weight: bold;">🍑 First Vaginal (Taken):</span> <span style="color: #B8C5D6;">I received my first vaginal sex from <<if $nimeriaFirstVaginalTaken === "Rylan">>$humanName<<else>>$nimeriaFirstVaginalTaken<</if>>.</span><br>
<</if>>
<<if $nimeriaFirstAnalDone>>
<span style="color: #8A2BE2; font-weight: bold;">🍑 First Anal (Done):</span> <span style="color: #B8C5D6;">I had my first anal sex with <<if $nimeriaFirstAnalDone === "Rylan">>$humanName<<else>>$nimeriaFirstAnalDone<</if>>.</span><br>
<</if>>
<<if $nimeriaFirstAnalTaken>>
<span style="color: #8A2BE2; font-weight: bold;">🍑 First Anal (Taken):</span> <span style="color: #B8C5D6;">I received my first anal sex from <<if $nimeriaFirstAnalTaken === "Rylan">>$humanName<<else>>$nimeriaFirstAnalTaken<</if>>.</span><br>
<</if>>
<<if $nimeriaFirstBlowjobDone>>
<span style="color: #8A2BE2; font-weight: bold;">👄 First Blowjob (Done):</span> <span style="color: #B8C5D6;">I gave my first blowjob to <<if $nimeriaFirstBlowjobDone === "Rylan">>$humanName<<else>>$nimeriaFirstBlowjobDone<</if>>.</span><br>
<</if>>
<<if $nimeriaFirstBlowjobTaken>>
<span style="color: #8A2BE2; font-weight: bold;">👄 First Blowjob (Taken):</span> <span style="color: #B8C5D6;">I received my first blowjob from <<if $nimeriaFirstBlowjobTaken === "Rylan">>$humanName<<else>>$nimeriaFirstBlowjobTaken<</if>>.</span><br>
<</if>>
<<if $nimeriaFirstHandjobDone>>
<span style="color: #8A2BE2; font-weight: bold;">✋ First Handjob (Done):</span> <span style="color: #B8C5D6;">I gave my first handjob to <<if $nimeriaFirstHandjobDone === "Rylan">>$humanName<<else>>$nimeriaFirstHandjobDone<</if>>.</span><br>
<</if>>
<<if $nimeriaFirstHandjobTaken>>
<span style="color: #8A2BE2; font-weight: bold;">✋ First Handjob (Taken):</span> <span style="color: #B8C5D6;">I received my first handjob from <<if $nimeriaFirstHandjobTaken === "Rylan">>$humanName<<else>>$nimeriaFirstHandjobTaken<</if>>.</span><br>
<</if>>
<<if $nimeriaFirstFootjobDone>>
<span style="color: #8A2BE2; font-weight: bold;">🦶 First Footjob (Done):</span> <span style="color: #B8C5D6;">I gave my first footjob to <<if $nimeriaFirstFootjobDone === "Rylan">>$humanName<<else>>$nimeriaFirstFootjobDone<</if>>.</span><br>
<</if>>
<<if $nimeriaFirstFootjobTaken>>
<span style="color: #8A2BE2; font-weight: bold;">🦶 First Footjob (Taken):</span> <span style="color: #B8C5D6;">I received my first footjob from <<if $nimeriaFirstFootjobTaken === "Rylan">>$humanName<<else>>$nimeriaFirstFootjobTaken<</if>>.</span><br>
<</if>>
<<if $nimeriaFirstBoobjobDone>>
<span style="color: #8A2BE2; font-weight: bold;">🍒 First Boobjob (Done):</span> <span style="color: #B8C5D6;">I gave my first boobjob to <<if $nimeriaFirstBoobjobDone === "Rylan">>$humanName<<else>>$nimeriaFirstBoobjobDone<</if>>.</span><br>
<</if>>
<<if $nimeriaFirstBoobjobTaken>>
<span style="color: #8A2BE2; font-weight: bold;">🍒 First Boobjob (Taken):</span> <span style="color: #B8C5D6;">I received my first boobjob from <<if $nimeriaFirstBoobjobTaken === "Rylan">>$humanName<<else>>$nimeriaFirstBoobjobTaken<</if>>.</span><br>
<</if>>
<<if not $nimeriaFirstKiss && not $nimeriaFirstVaginalDone && not $nimeriaFirstVaginalTaken && not $nimeriaFirstAnalDone && not $nimeriaFirstAnalTaken && not $nimeriaFirstBlowjobDone && not $nimeriaFirstBlowjobTaken && not $nimeriaFirstHandjobDone && not $nimeriaFirstHandjobTaken && not $nimeriaFirstFootjobDone && not $nimeriaFirstFootjobTaken && not $nimeriaFirstBoobjobDone && not $nimeriaFirstBoobjobTaken>>
<span style="color: #B8C5D6; font-style: italic;">No first experiences recorded yet.</span>
<</if>>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="thalor-content" class="tab-content">
<h3>Thalor's Special Values</h3>
<<if $thalor_rylanGayContent>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(0, 128, 128, 0.6), rgba(72, 209, 204, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0, 128, 128, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">💚</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Thalor's Night</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #20B2AA;">What <<print $humanToThalor>> did that night was disgusting... But why can't I get it out of my head? I feel confused.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $thalorRylanTavernKissSeen>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.6), rgba(255, 192, 203, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 182, 193, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">🍺</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Tavern Kiss</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FFB6C1;">That night at the tavern... I was drunk, but I remember everything. The way <<print $humanToThalor>> felt in my arms, the taste of his lips. But what does this mean for us?</span>
</div>
</div>
</div>
</div>
<</if>>
<div style="margin-top: 20px; background: linear-gradient(135deg, rgba(0, 128, 128, 0.3), rgba(72, 209, 204, 0.2), rgba(0, 128, 128, 0.3)); border-radius: 8px; padding: 20px; border: 2px solid rgba(0, 128, 128, 0.4); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #008080, #48D1CC, #008080);"></div>
<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(0, 128, 128, 0.1), rgba(72, 209, 204, 0.05)); opacity: 0.6;"></div>
<div style="position: relative; z-index: 2;">
<div style="display: flex; align-items: center; gap: 15px; margin-bottom: 15px;">
<div style="background: linear-gradient(145deg, rgba(0, 128, 128, 0.8), rgba(72, 209, 204, 0.9)); border-radius: 50%; width: 50px; height: 50px; display: flex: align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(0, 128, 128, 0.4);">
<span style="color: #FFFFFF; font-size: 1.5em; text-shadow: 1px 1px 2px rgba(0,0,0,0.5);">💋</span>
</div>
<div style="flex: 1;">
<h5 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1.1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">First Experiences</h5>
<div style="color: #B8C5D6; font-size: 0.9em; line-height: 1.4;">
<<if $thalorFirstKiss>>
<span style="color: #008080; font-weight: bold;">💋 First Kiss:</span> <span style="color: #B8C5D6;">I had my first kiss with <<if $thalorFirstKiss === "Rylan">>$humanName<<else>>$thalorFirstKiss<</if>>.</span><br>
<</if>>
<<if $thalorFirstVaginalDone>>
<span style="color: #008080; font-weight: bold;">🍑 First Vaginal (Done):</span> <span style="color: #B8C5D6;">I had my first vaginal sex with <<if $thalorFirstVaginalDone === "Rylan">>$humanName<<else>>$thalorFirstVaginalDone<</if>>.</span><br>
<</if>>
<<if $thalorFirstVaginalTaken>>
<span style="color: #008080; font-weight: bold;">🍑 First Vaginal (Taken):</span> <span style="color: #B8C5D6;">I received my first vaginal sex from <<if $thalorFirstVaginalTaken === "Rylan">>$humanName<<else>>$thalorFirstVaginalTaken<</if>>.</span><br>
<</if>>
<<if $thalorFirstAnalDone>>
<span style="color: #008080; font-weight: bold;">🍑 First Anal (Done):</span> <span style="color: #B8C5D6;">I had my first anal sex with <<if $thalorFirstAnalDone === "Rylan">>$humanName<<else>>$thalorFirstAnalDone<</if>>.</span><br>
<</if>>
<<if $thalorFirstAnalTaken>>
<span style="color: #008080; font-weight: bold;">🍑 First Anal (Taken):</span> <span style="color: #B8C5D6;">I received my first anal sex from <<if $thalorFirstAnalTaken === "Rylan">>$humanName<<else>>$thalorFirstAnalTaken<</if>>.</span><br>
<</if>>
<<if $thalorFirstBlowjobDone>>
<span style="color: #008080; font-weight: bold;">👄 First Blowjob (Done):</span> <span style="color: #B8C5D6;">I gave my first blowjob to <<if $thalorFirstBlowjobDone === "Rylan">>$humanName<<else>>$thalorFirstBlowjobDone<</if>>.</span><br>
<</if>>
<<if $thalorFirstBlowjobTaken>>
<span style="color: #008080; font-weight: bold;">👄 First Blowjob (Taken):</span> <span style="color: #B8C5D6;">I received my first blowjob from <<if $thalorFirstBlowjobTaken === "Rylan">>$humanName<<else>>$thalorFirstBlowjobTaken<</if>>.</span><br>
<</if>>
<<if $thalorFirstHandjobDone>>
<span style="color: #008080; font-weight: bold;">✋ First Handjob (Done):</span> <span style="color: #B8C5D6;">I gave my first handjob to <<if $thalorFirstHandjobDone === "Rylan">>$humanName<<else>>$thalorFirstHandjobDone<</if>>.</span><br>
<</if>>
<<if $thalorFirstHandjobTaken>>
<span style="color: #008080; font-weight: bold;">✋ First Handjob (Taken):</span> <span style="color: #B8C5D6;">I received my first handjob from <<if $thalorFirstHandjobTaken === "Rylan">>$humanName<<else>>$thalorFirstHandjobTaken<</if>>.</span><br>
<</if>>
<<if $thalorFirstFootjobDone>>
<span style="color: #008080; font-weight: bold;">🦶 First Footjob (Done):</span> <span style="color: #B8C5D6;">I gave my first footjob to <<if $thalorFirstFootjobDone === "Rylan">>$humanName<<else>>$thalorFirstFootjobDone<</if>>.</span><br>
<</if>>
<<if $thalorFirstFootjobTaken>>
<span style="color: #008080; font-weight: bold;">🦶 First Footjob (Taken):</span> <span style="color: #B8C5D6;">I received my first footjob from <<if $thalorFirstFootjobTaken === "Rylan">>$humanName<<else>>$thalorFirstFootjobTaken<</if>>.</span><br>
<</if>>
<<if $thalorFirstBoobjobDone>>
<span style="color: #008080; font-weight: bold;">🍒 First Boobjob (Done):</span> <span style="color: #B8C5D6;">I gave my first boobjob to <<if $thalorFirstBoobjobDone === "Rylan">>$humanName<<else>>$thalorFirstBoobjobDone<</if>>.</span><br>
<</if>>
<<if $thalorFirstBoobjobTaken>>
<span style="color: #008080; font-weight: bold;">🍒 First Boobjob (Taken):</span> <span style="color: #B8C5D6;">I received my first boobjob from <<if $thalorFirstBoobjobTaken === "Rylan">>$humanName<<else>>$thalorFirstBoobjobTaken<</if>>.</span><br>
<</if>>
<<if not $thalorFirstKiss && not $thalorFirstVaginalDone && not $thalorFirstVaginalTaken && not $thalorFirstAnalDone && not $thalorFirstAnalTaken && not $thalorFirstBlowjobDone && not $thalorFirstBlowjobTaken && not $thalorFirstHandjobDone && not $thalorFirstHandjobTaken && not $thalorFirstFootjobDone && not $thalorFirstFootjobTaken && not $thalorFirstBoobjobDone && not $thalorFirstBoobjobTaken>>
<span style="color: #B8C5D6; font-style: italic;">No first experiences recorded yet.</span>
<</if>>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="others-content" class="tab-content">
<h3>Other Special Values</h3>
<<if $mysteriousBookshopVisited>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(75, 0, 130, 0.6), rgba(138, 43, 226, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(75, 0, 130, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">📚</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Mysterious Bookshop</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #8A2BE2;">I visited a strange bookshop run by Madame Veloria. She seemed to know things about me that she shouldn't.</span>
</div>
</div>
</div>
</div>
<</if>>
<<if $soulForgeUnlocked>>
<div style="margin-top: 20px; padding: 15px; background: linear-gradient(145deg, rgba(60, 60, 80, 0.6), rgba(50, 50, 70, 0.7)); border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3);">
<div style="display: flex; align-items: center; gap: 12px;">
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.6), rgba(255, 165, 0, 0.7)); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(255, 215, 0, 0.4);">
<span style="color: #FFFFFF; font-size: 1.2em;">⚡</span>
</div>
<div style="flex: 1;">
<h6 style="color: #E6E6FA; margin: 0 0 5px 0; font-size: 1em; text-shadow: 1px 1px 2px rgba(0,0,0,0.8);">Soul Forge Unlocked</h6>
<div style="color: #B8C5D6; font-size: 0.85em; line-height: 1.3;">
<span style="color: #FFD700;">Nimeria has unlocked the Soul Forge system. I can now manipulate my soul blessings and corruption.</span>
</div>
</div>
</div>
</div>
<</if>>
</div>
<div class="diary-return">
<<link "↩ Return">>
<<run Engine.backward()>>
<</link>>
</div>
<</nobr>>
<script>
(function() {
function initializeTabs() {
const tabs = document.querySelectorAll('.special-values-tabs .tab');
const tabContents = document.querySelectorAll('.tab-content');
if (tabs.length === 0 || tabContents.length === 0) {
// If elements aren't ready yet, try again in a moment
setTimeout(initializeTabs, 100);
return;
}
tabs.forEach(tab => {
tab.addEventListener('click', function() {
const targetTab = this.getAttribute('data-tab');
const targetContent = document.getElementById(targetTab + '-content');
if (targetContent) {
// Remove active class from all tabs and contents
tabs.forEach(t => t.classList.remove('active'));
tabContents.forEach(content => content.classList.remove('active'));
// Add active class to clicked tab and corresponding content
this.classList.add('active');
targetContent.classList.add('active');
}
});
});
// Set first tab as active by default
if (tabs.length > 0) {
tabs[0].classList.add('active');
if (tabContents.length > 0) {
tabContents[0].classList.add('active');
}
}
}
// Try to initialize immediately
initializeTabs();
// Also try when DOM is ready
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initializeTabs);
}
// Fallback for Twine
setTimeout(initializeTabs, 500);
})();
</script>
<style>
.special-values-tabs {
display: flex;
gap: 5px;
margin-bottom: 20px;
flex-wrap: wrap;
}
.special-values-tabs .tab {
background: linear-gradient(145deg, rgba(60, 60, 80, 0.8), rgba(50, 50, 70, 0.9));
border: 1px solid rgba(100, 100, 100, 0.4);
border-radius: 6px;
padding: 10px 15px;
cursor: pointer;
transition: all 0.3s ease;
color: #B8C5D6;
font-size: 0.9em;
font-weight: 500;
}
.special-values-tabs .tab:hover {
background: linear-gradient(145deg, rgba(75, 0, 130, 0.6), rgba(138, 43, 226, 0.7));
border-color: rgba(138, 43, 226, 0.6);
color: #FFFFFF;
transform: translateY(-2px);
box-shadow: 0 4px 15px rgba(138, 43, 226, 0.3);
}
.special-values-tabs .tab.active {
background: linear-gradient(145deg, rgba(138, 43, 226, 0.8), rgba(75, 0, 130, 0.9));
border-color: rgba(138, 43, 226, 0.8);
color: #FFFFFF;
box-shadow: 0 4px 15px rgba(138, 43, 226, 0.4);
}
.tab-content {
display: none;
animation: fadeIn 0.5s ease;
}
.tab-content.active {
display: block;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(10px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes gentleGlow {
0% {
box-shadow: 0 8px 25px rgba(255, 182, 193, 0.4);
border-color: rgba(255, 182, 193, 0.6);
}
100% {
box-shadow: 0 12px 35px rgba(255, 182, 193, 0.7);
border-color: rgba(255, 182, 193, 0.9);
}
}
@keyframes sparkle {
0%, 100% {
transform: scale(1);
box-shadow: 0 4px 15px rgba(255, 182, 193, 0.6);
}
50% {
transform: scale(1.1);
box-shadow: 0 6px 20px rgba(255, 182, 193, 0.8);
}
}
</style><<nobr>>
<div class="passage-container rylan">
<div class="dungeon-management-container">
<div class="dungeon-header">
<div class="guide-section">
<button class="guide-button" onclick="window.toggleGuide()" id="guide-button">
📖 Guide
</button>
<div class="guide-content" id="guide-content" style="display: none;">
<div class="guide-image-container">
<img src="images/dungeonbuildings/guide.webp" class="guide-image" alt="Dungeon Management Guide">
</div>
</div>
</div>
<div class="resources-header">Resources:</div>
<div class="resources-container">
<div class="resource-item">
<span class="resource-icon">⚡</span>
<span class="resource-value" id="dungeon-energy"><<print $dungeonEnergy || 0>></span>
</div>
<div class="resource-item">
<span class="resource-icon">💰</span>
<span class="resource-value" id="dungeon-gold"><<print $gold || 0>></span>
</div>
<div class="resource-item">
<span class="resource-icon">💎</span>
<span class="resource-value" id="dungeon-crystals"><<print $crystals || 0>></span>
</div>
<div class="resource-item">
<span class="resource-icon">🏰</span>
<span class="resource-value" id="core-level"><<print $dungeonCoreLevel || 1>></span>
</div>
</div>
<div class="stats-display" id="stats-display">
<!-- Stats will be populated by JavaScript -->
</div>
</div>
<div class="dungeon-container">
<div class="main-tiles-section">
<h3 class="section-title">Main Tiles</h3>
<div class="main-tiles-grid" id="main-tiles-grid">
<!-- Main tiles will be generated here -->
</div>
</div>
<div class="normal-tiles-section">
<h3 class="section-title">Normal Tiles</h3>
<div class="normal-tiles-grid" id="normal-tiles-grid">
<!-- Normal tiles will be generated here -->
</div>
</div>
</div>
<div class="building-menu" id="building-menu" style="display: none;">
<h3>Select Building</h3>
<div class="building-options">
<div class="building-option" data-building="mansion" data-cost="350" onclick="window.selectBuilding('mansion')" id="mansion-option">
<img src="images/dungeonbuildings/mansion/level1.webp" class="building-preview-image" alt="Mansion">
<div class="building-name">Mansion</div>
<div class="building-cost">350 Energy</div>
<div class="building-count" id="mansion-count">Available: 1</div>
<div class="building-description">A grand mansion that houses all 7 residents. Generates 35 energy, +70 gold, and +14 crystals per day.</div>
</div>
<div class="building-option" data-building="energy-generator" data-cost="30" onclick="window.selectBuilding('energy-generator')">
<img src="images/dungeonbuildings/energy/level1.webp" class="building-preview-image" alt="Energy Generator">
<div class="building-name">Energy Generator</div>
<div class="building-cost">30 Energy</div>
<div class="building-description">Generates magical energy for the dungeon</div>
</div>
<div class="building-option" data-building="goldmine" data-cost="30" data-gold-cost="100" onclick="window.selectBuilding('goldmine')">
<img src="images/dungeonbuildings/goldmines/level1.webp" class="building-preview-image" alt="Gold Mine">
<div class="building-name">Gold Mine</div>
<div class="building-cost">30 Energy + 100 Gold</div>
<div class="building-description">Extracts precious gold from the earth (+5 gold/day)</div>
</div>
<div class="building-option" data-building="crystal-mine" data-cost="30" data-crystal-cost="8" onclick="window.selectBuilding('crystal-mine')">
<img src="images/dungeonbuildings/crystalmines/level1.webp" class="building-preview-image" alt="Crystal Mine">
<div class="building-name">Crystal Mine</div>
<div class="building-cost">30 Energy + 8 Crystals</div>
<div class="building-description">Mines magical crystals from deep underground (+2 crystals/day)</div>
</div>
<div class="building-option" data-building="goblin-tavern" data-cost="0" onclick="window.selectBuilding('goblin-tavern')" id="goblin-tavern-option" style="display: none;">
<img src="images/dungeonbuildings/goblintavern/level1.webp" class="building-preview-image" alt="Goblin Tavern">
<div class="building-name">Goblin Tavern</div>
<div class="building-cost">FREE (Goblin Building)</div>
<div class="building-count" id="goblin-tavern-count">Available: 1</div>
<div class="building-description">A lively tavern where goblins gather to drink and celebrate (-20 gold/day, +2 eros)</div>
</div>
<div class="building-option" data-building="goblin-barracks" data-cost="0" onclick="window.selectBuilding('goblin-barracks')" id="goblin-barracks-option" style="display: none;">
<img src="images/dungeonbuildings/goblinbarracks/level1.webp" class="building-preview-image" alt="Barracks">
<div class="building-name">Barracks</div>
<div class="building-cost">FREE (Goblin Building)</div>
<div class="building-count" id="goblin-barracks-count">Available: 1</div>
<div class="building-description">Military quarters for goblin warriors (-30 gold/day, +3 eros)</div>
</div>
<div class="building-option" data-building="prison" data-cost="0" onclick="window.selectBuilding('prison')" id="prison-option" style="display: none;">
<img src="images/dungeonbuildings/prison/level1.webp" class="building-preview-image" alt="Prison">
<div class="building-name">Prison</div>
<div class="building-cost">FREE (Goblin Building)</div>
<div class="building-count" id="prison-count">Available: 1</div>
<div class="building-description">A secure prison for captured enemies (-25 gold/day, +1 PrisonerLove)</div>
</div>
<div class="building-option" data-building="goblin-mansion" data-cost="0" onclick="window.selectBuilding('goblin-mansion')" id="goblin-mansion-option" style="display: none;">
<img src="images/dungeonbuildings/goblinmansion/level1.webp" class="building-preview-image" alt="Goblin Mansion">
<div class="building-name">Goblin Mansion</div>
<div class="building-cost">FREE (Goblin Building)</div>
<div class="building-count" id="goblin-mansion-count">Available: 1</div>
<div class="building-description">A grand mansion for goblin nobility (+5 population, -50 gold/day)</div>
</div>
<div class="building-option" data-building="cat-house" data-cost="0" onclick="window.selectBuilding('cat-house')" id="cat-house-option" style="display: none;">
<img src="images/dungeonbuildings/cathouse/level1.webp" class="building-preview-image" alt="Cat House">
<div class="building-name">Cat House</div>
<div class="building-cost">FREE (Sora Building)</div>
<div class="building-count" id="cat-house-count">Available: 1</div>
<div class="building-description">A cozy home for feline residents (+5 population, -50 gold/day)</div>
</div>
<div class="building-option" data-building="fashion-boutique" data-cost="0" onclick="window.selectBuilding('fashion-boutique')" id="fashion-boutique-option" style="display: none;">
<img src="images/dungeonbuildings/fashionboutique/level1.webp" class="building-preview-image" alt="Fashion Boutique">
<div class="building-name">Fashion Boutique</div>
<div class="building-cost">FREE (Sora Building)</div>
<div class="building-count" id="fashion-boutique-count">Available: 1</div>
<div class="building-description">A stylish boutique selling fashionable clothing (-30 gold/day, +3 combat)</div>
</div>
</div>
<button class="cancel-building" onclick="window.cancelBuildingSelection()">Cancel</button>
</div>
<div class="expansion-menu" id="expansion-menu" style="display: none;">
<h3>Expand Dungeon</h3>
<div class="expansion-info">
<p>Add new tiles to expand your dungeon. Each tile costs 100 Dungeon Energy.</p>
<div class="available-tiles">
<span>Available Tiles: </span>
<span id="available-tiles"><<print $availableTiles || 7>></span>
</div>
</div>
<div class="expansion-options">
<button class="expand-tile" onclick="window.expandDungeon()" id="expand-button">Add New Tile (100 Energy)</button>
</div>
<button class="cancel-expansion" onclick="cancelExpansion()">Cancel</button>
</div>
<div class="core-upgrade-menu" id="core-upgrade-menu" style="display: none;">
<h3>Core Upgrade</h3>
<div class="core-info">
<div class="core-level-info">
<span>Current Level: </span>
<span id="current-core-level"><<print $dungeonCoreLevel || 1>></span>
</div>
<div class="core-upgrade-info" id="core-upgrade-info">
<!-- Upgrade info will be populated by JavaScript -->
</div>
</div>
<div class="core-upgrade-options">
<button class="upgrade-core-btn" onclick="window.upgradeCore()" id="upgrade-core-button">Upgrade Core</button>
</div>
<button class="cancel-core-upgrade" onclick="window.cancelCoreUpgrade()">Cancel</button>
</div>
</div>
<div id="continue-box-container" style="display: none;">
<div class="continue-box" style="text-align: center; margin: 40px 0;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.95), rgba(35, 35, 40, 0.98)); border: 3px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 25px; min-width: 280px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); position: relative; overflow: hidden; display: inline-block;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #6B6B6B, #4A4A4A, #2C2C2C);"></div>
<h4 style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Continue</h4>
<p style="color: #B0B0B0; margin: 0 0 20px 0; font-size: 1.1em; line-height: 1.4;">Return to the main story...</p>
<div style="display: flex; gap: 15px; justify-content: center; flex-wrap: wrap;">
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 8px; padding: 12px; display: inline-block; min-width: 150px;">
<<if $dungeonTutorialStep < 4>>
[[Continue|Ch7AfterDungeonBuilding]]
<<else>>
[[Continue|DungeonChoices]]
<</if>>
</div>
</div>
</div>
</div>
</div>
</div>
<</nobr>>
<<dungeonManagementSystem>>
<<script>>
// Disable keyboard shortcuts (c and 1-9) for this passage to avoid bugs
// Add a custom disable flag to KeyboardChoiceSystem
if (window.KeyboardChoiceSystem) {
// Set our custom disable flag
window.KeyboardChoiceSystem._disabled = true;
}
// Set up multiple restoration methods to ensure shortcuts are re-enabled
$(document).one('passage:after', function() {
// Re-enable KeyboardChoiceSystem when leaving this passage
if (window.KeyboardChoiceSystem) {
window.KeyboardChoiceSystem._disabled = false;
}
});
// Also restore on passage:start as backup
$(document).one('passage:start', function() {
// Re-enable KeyboardChoiceSystem when starting any new passage
if (window.KeyboardChoiceSystem) {
window.KeyboardChoiceSystem._disabled = false;
}
});
// Initialize dungeon management system
window.DungeonManagement.init();
// Initialize tutorial state
if (!State.variables.dungeonTutorialStep) {
State.variables.dungeonTutorialStep = 1; // 1 = place mansion on main tile, 2 = add new tile, 3 = place energy generator, 4 = free play, 5 = goblin buildings
}
// Initialize main tiles if not set
if (!State.variables.mainTilesAvailable) {
State.variables.mainTilesAvailable = 1; // Start with 1 main tile for tutorial
}
// Create the initial main tile for tutorial if it doesn't exist (only for regular tutorial)
if (State.variables.dungeonTutorialStep === 1 && State.variables.dungeonTiles.length === 0) {
// Create the first main tile next to the core
State.variables.dungeonTiles.push({
x: 1,
y: 0,
type: 'empty',
building: null,
isMainTile: true,
id: Date.now() + Math.random()
});
State.variables.availableTiles -= 1;
}
// Check if we're after the goblin scenario and need to add goblin buildings
if (State.variables.goblinBuildingsAdded && !State.variables.goblinTavernPlaced && !State.variables.goblinBarracksPlaced && !State.variables.prisonPlaced && !State.variables.goblinMansionPlaced) {
// Add 4 free main tiles for goblin buildings
State.variables.mainTilesAvailable += 4;
// Force tutorial mode for goblin buildings
State.variables.dungeonTutorialStep = 5; // Goblin building tutorial
// Always create 4 main tiles for goblin buildings
const existingMainTiles = State.variables.dungeonTiles.filter(t => t.isMainTile).length;
if (existingMainTiles < 4) {
// Find safe positions for goblin main tiles (avoid overlaps)
const usedPositions = State.variables.dungeonTiles.map(t => `${t.x},${t.y}`);
const corePosition = "0,0";
// Try positions around the core, prioritizing main tile row (y=0)
const candidatePositions = [
[-1, 0], [2, 0], [-2, 0], [3, 0], // Main tile row (y=0)
[-1, -1], [1, -1], [-2, -1], [2, -1] // Backup positions
];
let tilesCreated = 0;
for (const [x, y] of candidatePositions) {
const position = `${x},${y}`;
if (!usedPositions.includes(position) && position !== corePosition && tilesCreated < 4) {
State.variables.dungeonTiles.push({
x: x,
y: y,
type: 'empty',
building: null,
isMainTile: true,
id: Date.now() + Math.random() + tilesCreated
});
tilesCreated++;
}
}
}
// Show notification about new goblin buildings
window.showNotification('The goblins have joined! You must place their tavern, barracks, prison, and mansion before continuing.');
}
// Check if we're after the Sora scenario and need to add Sora buildings
if (State.variables.soraTutorialActive && !State.variables.catHousePlaced && !State.variables.fashionBoutiquePlaced) {
// Add 2 free main tiles for Sora buildings
State.variables.mainTilesAvailable += 2;
// Force tutorial mode for Sora buildings
State.variables.dungeonTutorialStep = 6; // Sora building tutorial
// Always create 2 main tiles for Sora buildings
const existingMainTiles = State.variables.dungeonTiles.filter(t => t.isMainTile).length;
if (existingMainTiles < 6) { // 4 goblin + 2 sora = 6 total
// Find safe positions for Sora main tiles (avoid overlaps)
const usedPositions = State.variables.dungeonTiles.map(t => `${t.x},${t.y}`);
const corePosition = "0,0";
// Create 2 main tiles for Sora buildings
for (let i = 0; i < 2; i++) {
let x, y;
let attempts = 0;
do {
x = Math.floor(Math.random() * 7) - 3; // -3 to 3
y = Math.floor(Math.random() * 7) - 3; // -3 to 3
attempts++;
} while (usedPositions.includes(`${x},${y}`) && attempts < 50);
if (attempts < 50) {
State.variables.dungeonTiles.push({
x: x,
y: y,
building: null,
level: 1,
isMainTile: true,
id: Date.now() + Math.random()
});
usedPositions.push(`${x},${y}`);
}
}
}
// Show notification about new Sora buildings
window.showNotification('Sora has joined! You must place his cat house and fashion boutique before continuing.');
}
// Global variables
window.selectedTile = null;
window.buildingMode = false;
window.selectedBuilding = null;
// Global functions
window.initializeDungeonGrid = function() {
const mainTilesGrid = document.getElementById('main-tiles-grid');
const normalTilesGrid = document.getElementById('normal-tiles-grid');
// Clear both grids
mainTilesGrid.innerHTML = '';
normalTilesGrid.innerHTML = '';
// Create the starting core tile (goes in main tiles)
const coreTile = window.createTile('core', 0, 0, true);
mainTilesGrid.appendChild(coreTile);
// Separate tiles by type
const mainTiles = State.variables.dungeonTiles.filter(tile => tile.isMainTile);
const normalTiles = State.variables.dungeonTiles.filter(tile => !tile.isMainTile);
// Add main tiles to main tiles grid
mainTiles.forEach((tile, index) => {
const tileElement = window.createTile(tile.type, tile.x, tile.y, false, tile.building, tile.isMainTile);
mainTilesGrid.appendChild(tileElement);
});
// Add normal tiles to normal tiles grid
normalTiles.forEach((tile, index) => {
const tileElement = window.createTile(tile.type, tile.x, tile.y, false, tile.building, tile.isMainTile);
normalTilesGrid.appendChild(tileElement);
});
window.updateResourceDisplay();
}
window.createTile = function(type, x, y, isCore = false, building = null, isMainTile = false) {
const tile = document.createElement('div');
tile.className = `dungeon-tile ${type}`;
tile.dataset.x = x;
tile.dataset.y = y;
tile.dataset.type = type;
tile.dataset.isMainTile = isMainTile;
// Set relative positioning for new container system
tile.style.position = 'relative';
tile.style.width = '120px';
tile.style.height = '120px';
tile.style.margin = '7.5px';
if (isCore) {
const coreLevel = State.variables.dungeonCoreLevel || 1;
tile.innerHTML = `
<div class="tile-content">
<img src="${window.getCoreImage(coreLevel)}" class="tile-core-image" alt="Dungeon Core Level ${coreLevel}">
<div class="tile-label">Core Lv.${coreLevel}</div>
</div>
`;
tile.classList.add('core-tile');
if (State.variables.dungeonTutorialStep >= 3) {
tile.addEventListener('click', () => window.showCoreUpgradeMenu());
} else {
tile.addEventListener('click', () => window.showNotification('Tutorial: Complete the tutorial first before upgrading the core!'));
tile.style.opacity = '0.6';
tile.style.cursor = 'not-allowed';
}
} else {
const tileLevel = window.getTileLevel(x, y);
tile.innerHTML = `
<div class="tile-content">
${building ? `<img src="${window.getBuildingImage(building, tileLevel)}" class="tile-building-image" alt="${window.getBuildingName(building)}">` : '<div class="tile-icon">⬜</div>'}
<div class="tile-label">${building ? window.getBuildingName(building) : (isMainTile ? 'Main Tile' : 'Empty')}</div>
${building && tileLevel > 1 ? `<div class="tile-level">Lv.${tileLevel}</div>` : ''}
${isMainTile ? '<div class="main-tile-indicator">⭐</div>' : ''}
</div>
`;
if (isMainTile) {
tile.classList.add('main-tile');
}
tile.addEventListener('click', () => window.selectTile(tile));
}
return tile;
}
window.selectTile = function(tileElement) {
if (window.buildingMode) {
window.placeBuilding(tileElement);
return;
}
// Clear previous selection
document.querySelectorAll('.dungeon-tile').forEach(t => t.classList.remove('selected'));
// Select new tile
tileElement.classList.add('selected');
window.selectedTile = tileElement;
const x = parseInt(tileElement.dataset.x);
const y = parseInt(tileElement.dataset.y);
const building = window.getTileBuilding(x, y);
if (building) {
showBuildingInfo(building);
} else {
window.showBuildingMenu();
}
}
window.showBuildingInfo = function(building) {
// Show building info with locked removal option
const buildingData = window.DungeonManagement.getBuildingData(building);
if (!buildingData) return;
const x = parseInt(window.selectedTile.dataset.x);
const y = parseInt(window.selectedTile.dataset.y);
const isMainTile = window.selectedTile.dataset.isMainTile === 'true';
const currentLevel = window.getTileLevel(x, y);
const upgradeData = window.DungeonManagement.getBuildingUpgradeData(building, currentLevel);
// Create building info display
const infoHtml = `
<div class="building-info-menu" id="building-info-menu">
<h3>Building Information</h3>
<div class="building-info-content">
<div class="building-info-header">
<div class="building-info-icon">
${building === 'core' ?
`<img src="${window.getCoreImage(currentLevel)}" class="building-info-image" alt="Dungeon Core Level ${currentLevel}">` :
`<img src="${window.getBuildingImage(building, currentLevel)}" class="building-info-image" alt="${buildingData.name}">`
}
</div>
<div class="building-info-details">
<div class="building-info-name">${buildingData.name} (Level ${currentLevel})</div>
<div class="building-info-description">${buildingData.description}</div>
</div>
</div>
<div class="building-info-effects">
<h4>Current Effects:</h4>
<div class="effects-list">
${Object.entries(buildingData.effects).map(([effect, value]) => {
const multiplier = Math.pow(2, currentLevel - 1);
const currentValue = value * multiplier;
return `<div class="effect-item">${effect}: +${currentValue}</div>`;
}).join('')}
${building === 'mansion' ? `
<div class="effect-item">population: +7 (fixed)</div>
<div class="effect-item">energy generation: +35/day</div>
<div class="effect-item">gold generation: +70/day</div>
<div class="effect-item">crystal generation: +14/day</div>
` : ''}
${building === 'goldmine' ? `
<div class="effect-item">gold generation: +${5 * Math.pow(2, currentLevel - 1)}/day</div>
` : ''}
${building === 'crystal-mine' ? `
<div class="effect-item">crystal generation: +${2 * Math.pow(2, currentLevel - 1)}/day</div>
` : ''}
${building === 'energy-generator' ? `
<div class="effect-item">energy generation: +${2 * Math.pow(2, currentLevel - 1)}/day</div>
` : ''}
</div>
</div>
<div class="building-info-actions">
<div class="building-cost-info">
<h4>Current Level: ${currentLevel}</h4>
</div>
${upgradeData ? `
<div class="upgrade-info">
<h4>Upgrade to Level ${upgradeData.level}:</h4>
<div class="cost-item">Energy: ${upgradeData.cost}</div>
${upgradeData.goldCost ? `<div class="cost-item">Gold: ${upgradeData.goldCost}</div>` : ''}
${upgradeData.crystalCost ? `<div class="cost-item">Crystals: ${upgradeData.crystalCost}</div>` : ''}
<button class="upgrade-building-btn" onclick="window.upgradeBuilding(${x}, ${y})">
Upgrade Building
</button>
</div>
` : `
<div class="upgrade-info">
<p>Cannot upgrade further (max level reached or core level limit)</p>
</div>
`}
${!isMainTile ? (() => {
// Calculate total investment including all upgrades
let totalInvestment = buildingData.cost;
let totalGoldInvestment = buildingData.goldCost || 0;
let totalCrystalInvestment = buildingData.crystalCost || 0;
for (let level = 1; level < currentLevel; level++) {
if (buildingData.upgradeCosts && buildingData.upgradeCosts[level - 1] !== undefined) {
totalInvestment += buildingData.upgradeCosts[level - 1];
totalGoldInvestment += buildingData.upgradeGoldCosts ? (buildingData.upgradeGoldCosts[level - 1] || 0) : 0;
totalCrystalInvestment += buildingData.upgradeCrystalCosts ? (buildingData.upgradeCrystalCosts[level - 1] || 0) : 0;
} else {
totalInvestment += buildingData.cost * Math.pow(4, level);
totalGoldInvestment += buildingData.goldCost ? buildingData.goldCost * Math.pow(4, level) : 0;
totalCrystalInvestment += buildingData.crystalCost ? buildingData.crystalCost * Math.pow(4, level) : 0;
}
}
const energyRefund = Math.floor(totalInvestment / 2);
const goldRefund = Math.floor(totalGoldInvestment / 2);
const crystalRefund = Math.floor(totalCrystalInvestment / 2);
let refundText = `${energyRefund} energy`;
if (goldRefund > 0) refundText += `, ${goldRefund} gold`;
if (crystalRefund > 0) refundText += `, ${crystalRefund} crystals`;
return `
<button class="remove-building-btn" onclick="window.removeBuilding(${x}, ${y})">
🗑️ Remove Building
</button>
<div class="remove-info">
<small>You will get back ${refundText} (50% of total investment).</small>
</div>
`;
})() : `
<div class="locked-info">
<small>Main buildings cannot be removed.</small>
</div>
`}
</div>
</div>
<button class="close-building-info" onclick="window.closeBuildingInfo()">Close</button>
</div>
`;
// Remove existing info menu if any
const existingInfo = document.getElementById('building-info-menu');
if (existingInfo) {
existingInfo.remove();
}
// Add new info menu
document.querySelector('.dungeon-management-container').insertAdjacentHTML('beforeend', infoHtml);
// Hide other menus
document.getElementById('building-menu').style.display = 'none';
document.getElementById('expansion-menu').style.display = 'none';
}
window.toggleGuide = function() {
const guideContent = document.getElementById('guide-content');
const guideButton = document.getElementById('guide-button');
if (guideContent.style.display === 'none' || guideContent.style.display === '') {
guideContent.style.display = 'block';
guideButton.textContent = '📖 Hide Guide';
} else {
guideContent.style.display = 'none';
guideButton.textContent = '📖 Guide';
}
}
window.selectBuilding = function(buildingType) {
// Clear previous selection
document.querySelectorAll('.building-option').forEach(opt => opt.classList.remove('selected'));
// Select new building
const buildingOption = document.querySelector(`[data-building="${buildingType}"]`);
if (buildingOption) {
buildingOption.classList.add('selected');
}
window.selectedBuilding = buildingType;
window.buildingMode = true;
// Hide building menu
document.getElementById('building-menu').style.display = 'none';
// If a tile is already selected, automatically place the building
if (window.selectedTile) {
window.placeBuilding(window.selectedTile);
} else {
// Show instruction message
const buildingData = window.DungeonManagement.getBuildingData(buildingType);
window.showNotification(`Selected ${buildingData.name}. Click on an empty tile to place it!`);
}
}
window.showBuildingMenu = function() {
document.getElementById('building-menu').style.display = 'block';
document.getElementById('expansion-menu').style.display = 'none';
// Check if we need to force goblin building placement
if (State.variables.goblinBuildingsAdded && (!State.variables.goblinTavernPlaced || !State.variables.goblinBarracksPlaced || !State.variables.prisonPlaced || !State.variables.goblinMansionPlaced)) {
window.showForcedGoblinBuildingMenu();
return;
}
// Check if we need to force Sora building placement
if (State.variables.soraTutorialActive && (!State.variables.catHousePlaced || !State.variables.fashionBoutiquePlaced)) {
window.showForcedSoraBuildingMenu();
return;
}
// Check if we're selecting a main tile
const isMainTile = window.selectedTile && window.selectedTile.dataset.isMainTile === 'true';
// Tutorial step 1: Only show mansion option on main tiles
if (State.variables.dungeonTutorialStep === 1) {
const buildingOptions = document.querySelectorAll('.building-option');
buildingOptions.forEach(option => {
const buildingType = option.dataset.building;
if (buildingType === 'mansion' && isMainTile) {
option.style.display = 'block';
option.style.background = 'linear-gradient(145deg, rgba(255, 215, 0, 0.2), rgba(255, 215, 0, 0.3))';
option.style.borderColor = 'rgba(255, 215, 0, 0.6)';
} else {
option.style.display = 'none';
}
});
} else if (State.variables.dungeonTutorialStep === 3) {
// Tutorial step 3: Only show energy generator option
const buildingOptions = document.querySelectorAll('.building-option');
buildingOptions.forEach(option => {
const buildingType = option.dataset.building;
if (buildingType === 'energy-generator' && !isMainTile) {
option.style.display = 'block';
option.style.background = 'linear-gradient(145deg, rgba(255, 215, 0, 0.2), rgba(255, 215, 0, 0.3))';
option.style.borderColor = 'rgba(255, 215, 0, 0.6)';
} else {
option.style.display = 'none';
}
});
} else {
// Show building options based on tile type
const buildingOptions = document.querySelectorAll('.building-option');
buildingOptions.forEach(option => {
const buildingType = option.dataset.building;
if (isMainTile) {
// Main tiles can have main buildings (mansion) and goblin buildings during goblin tutorial
if (buildingType === 'mansion') {
option.style.display = 'block';
option.style.background = 'linear-gradient(145deg, rgba(255, 215, 0, 0.2), rgba(255, 215, 0, 0.3))';
option.style.borderColor = 'rgba(255, 215, 0, 0.6)';
} else if ((buildingType === 'goblin-tavern' || buildingType === 'goblin-barracks' || buildingType === 'prison' || buildingType === 'goblin-mansion') && State.variables.goblinBuildingsAdded) {
option.style.display = 'block';
option.style.background = 'linear-gradient(145deg, rgba(255, 107, 53, 0.2), rgba(255, 107, 53, 0.3))';
option.style.borderColor = 'rgba(255, 107, 53, 0.6)';
} else if ((buildingType === 'cat-house' || buildingType === 'fashion-boutique') && State.variables.soraTutorialActive) {
option.style.display = 'block';
option.style.background = 'linear-gradient(145deg, rgba(255, 107, 53, 0.2), rgba(255, 107, 53, 0.3))';
option.style.borderColor = 'rgba(255, 107, 53, 0.6)';
} else {
option.style.display = 'none';
}
} else {
// Regular tiles can have all buildings except main buildings
if (buildingType === 'mansion') {
option.style.display = 'none';
} else if (buildingType === 'goblin-tavern' || buildingType === 'goblin-barracks' || buildingType === 'prison' || buildingType === 'goblin-mansion') {
// Goblin buildings are ONLY for main tiles
option.style.display = 'none';
} else if (buildingType === 'cat-house' || buildingType === 'fashion-boutique') {
// Sora buildings are ONLY for main tiles
option.style.display = 'none';
} else {
option.style.display = 'block';
}
option.style.background = '';
option.style.borderColor = '';
}
});
}
}
window.showForcedGoblinBuildingMenu = function() {
document.getElementById('building-menu').style.display = 'block';
document.getElementById('expansion-menu').style.display = 'none';
// Hide all building options except goblin buildings
const buildingOptions = document.querySelectorAll('.building-option');
buildingOptions.forEach(option => {
const buildingType = option.dataset.building;
if (buildingType === 'goblin-tavern' || buildingType === 'goblin-barracks' || buildingType === 'prison' || buildingType === 'goblin-mansion') {
option.style.display = 'block';
option.style.background = 'linear-gradient(145deg, rgba(255, 215, 0, 0.2), rgba(255, 215, 0, 0.3))';
option.style.borderColor = 'rgba(255, 215, 0, 0.6)';
// Disable already placed buildings
if ((buildingType === 'goblin-tavern' && State.variables.goblinTavernPlaced) ||
(buildingType === 'goblin-barracks' && State.variables.goblinBarracksPlaced) ||
(buildingType === 'prison' && State.variables.prisonPlaced) ||
(buildingType === 'goblin-mansion' && State.variables.goblinMansionPlaced)) {
option.style.opacity = '0.5';
option.style.cursor = 'not-allowed';
option.onclick = null;
}
} else {
option.style.display = 'none';
}
});
// Show forced placement message
window.showNotification('You must place the goblin buildings first! Select the Tavern, Barracks, Prison, or Mansion.');
}
window.showForcedSoraBuildingMenu = function() {
document.getElementById('building-menu').style.display = 'block';
document.getElementById('expansion-menu').style.display = 'none';
// Hide all building options except Sora buildings
const buildingOptions = document.querySelectorAll('.building-option');
buildingOptions.forEach(option => {
const buildingType = option.dataset.building;
if (buildingType === 'cat-house' || buildingType === 'fashion-boutique') {
option.style.display = 'block';
option.style.background = 'linear-gradient(145deg, rgba(255, 107, 53, 0.2), rgba(255, 107, 53, 0.3))';
option.style.borderColor = 'rgba(255, 107, 53, 0.6)';
// Disable already placed buildings
if ((buildingType === 'cat-house' && State.variables.catHousePlaced) ||
(buildingType === 'fashion-boutique' && State.variables.fashionBoutiquePlaced)) {
option.style.opacity = '0.5';
option.style.cursor = 'not-allowed';
option.onclick = null;
}
} else {
option.style.display = 'none';
}
});
// Show forced placement message
window.showNotification('You must place Sora\'s buildings first! Select the Cat House or Fashion Boutique.');
}
window.showExpansionMenu = function() {
document.getElementById('expansion-menu').style.display = 'block';
document.getElementById('building-menu').style.display = 'none';
}
window.placeBuilding = function(tileElement) {
const buildingType = window.selectedBuilding;
if (!buildingType) {
window.showNotification('Please select a building first!');
return;
}
const isMainTile = tileElement.dataset.isMainTile === 'true';
// Check if building type matches tile type
if (buildingType === 'mansion' && !isMainTile) {
window.showNotification('Mansions can only be placed on main tiles!');
return;
}
if (buildingType !== 'mansion' && isMainTile && !(buildingType === 'goblin-tavern' || buildingType === 'goblin-barracks' || buildingType === 'prison' || buildingType === 'goblin-mansion' || buildingType === 'cat-house' || buildingType === 'fashion-boutique')) {
window.showNotification('Main tiles can only have main buildings (mansion) or goblin buildings!');
return;
}
// Tutorial step 1: Only allow mansion placement on main tiles
if (State.variables.dungeonTutorialStep === 1 && buildingType !== 'mansion') {
window.showNotification('Tutorial: You must place a mansion first! Select the mansion from the building menu.');
return;
}
// Tutorial step 3: Only allow energy generator placement
if (State.variables.dungeonTutorialStep === 3 && buildingType !== 'energy-generator') {
window.showNotification('Tutorial: You must place an energy generator! Select the energy generator from the building menu.');
return;
}
const x = parseInt(tileElement.dataset.x);
const y = parseInt(tileElement.dataset.y);
// Check if tile already has a building
const existingBuilding = window.getTileBuilding(x, y);
if (existingBuilding) {
window.showNotification('This tile already has a building!');
return;
}
// Check mansion limit
if (buildingType === 'mansion') {
const currentMansions = State.variables.dungeonTiles.filter(t => t.building === 'mansion').length;
if (currentMansions >= 1) {
window.showNotification('Maximum of 1 mansion allowed!');
return;
}
}
// Check if we have enough energy (skip for free goblin buildings)
const buildingData = window.DungeonManagement.getBuildingData(buildingType);
if (buildingData.cost > 0 && State.variables.dungeonEnergy < buildingData.cost) {
window.showNotification(`Not enough energy! Need ${buildingData.cost}, have ${State.variables.dungeonEnergy}`);
return;
}
// Check additional resource costs
if (buildingData.goldCost && State.variables.gold < buildingData.goldCost) {
window.showNotification(`Not enough gold! Need ${buildingData.goldCost}, have ${State.variables.gold}`);
return;
}
if (buildingData.crystalCost && State.variables.crystals < buildingData.crystalCost) {
window.showNotification(`Not enough crystals! Need ${buildingData.crystalCost}, have ${State.variables.crystals}`);
return;
}
if (window.DungeonManagement.placeBuilding(x, y, buildingType)) {
// Update display
window.initializeDungeonGrid();
window.cancelBuildingSelection();
// Track goblin building placement
if (buildingType === 'goblin-tavern') {
State.variables.goblinTavernPlaced = true;
} else if (buildingType === 'goblin-barracks') {
State.variables.goblinBarracksPlaced = true;
} else if (buildingType === 'prison') {
State.variables.prisonPlaced = true;
} else if (buildingType === 'goblin-mansion') {
State.variables.goblinMansionPlaced = true;
}
// Track Sora building placement
if (buildingType === 'cat-house') {
State.variables.catHousePlaced = true;
} else if (buildingType === 'fashion-boutique') {
State.variables.fashionBoutiquePlaced = true;
}
// Show success message
const costText = buildingData.cost === 0 ? 'FREE' : `${buildingData.cost} energy`;
window.showNotification(`Built ${buildingData.name} for ${costText}!`);
// Tutorial progression
if (State.variables.dungeonTutorialStep === 1 && buildingType === 'mansion') {
State.variables.dungeonTutorialStep = 2;
window.showTutorialStep2();
// Update UI after tutorial step change
window.updateTutorialUI();
// Refresh the entire UI to show changes
window.updateResourceDisplay();
} else if (State.variables.dungeonTutorialStep === 3 && buildingType === 'energy-generator') {
State.variables.dungeonTutorialStep = 4;
window.showTutorialStep4();
// Update UI after tutorial step change
window.updateTutorialUI();
// Refresh the entire UI to show changes
window.updateResourceDisplay();
} else if (State.variables.dungeonTutorialStep === 5 && (buildingType === 'goblin-tavern' || buildingType === 'goblin-barracks' || buildingType === 'prison' || buildingType === 'goblin-mansion')) {
// Check if all goblin buildings are placed
if (State.variables.goblinTavernPlaced && State.variables.goblinBarracksPlaced && State.variables.prisonPlaced && State.variables.goblinMansionPlaced) {
State.variables.dungeonTutorialStep = 4; // Complete tutorial
window.showGoblinBuildingsComplete();
// Update UI after tutorial step change
window.updateTutorialUI();
// Refresh the entire UI to show changes
window.updateResourceDisplay();
}
} else if (State.variables.dungeonTutorialStep === 6 && (buildingType === 'cat-house' || buildingType === 'fashion-boutique')) {
// Check if all Sora buildings are placed
if (State.variables.catHousePlaced && State.variables.fashionBoutiquePlaced) {
State.variables.dungeonTutorialStep = 4; // Complete tutorial
State.variables.soraTutorialActive = false; // End Sora tutorial
window.showSoraBuildingsComplete();
// Update UI after tutorial step change
window.updateTutorialUI();
// Refresh the entire UI to show changes
window.updateResourceDisplay();
}
}
// Update stats display
window.updateStatsDisplay();
// Check if all goblin buildings are placed
if (State.variables.goblinBuildingsAdded && State.variables.goblinTavernPlaced && State.variables.goblinBarracksPlaced && State.variables.prisonPlaced && State.variables.goblinMansionPlaced) {
window.showNotification('All goblin buildings placed! You can now build other structures freely.');
}
} else {
window.showNotification('Failed to place building!');
}
}
window.expandDungeon = function() {
// Check if goblin buildings need to be placed first
if (State.variables.goblinBuildingsAdded && (!State.variables.goblinTavernPlaced || !State.variables.goblinBarracksPlaced || !State.variables.prisonPlaced || !State.variables.goblinMansionPlaced)) {
window.showNotification('You must place the goblin buildings first!');
return;
}
// Tutorial restrictions: Only allow expansion after mansion placement
if (State.variables.dungeonTutorialStep === 1) {
window.showNotification('Tutorial: Complete the mansion placement first!');
return;
}
if (!window.DungeonManagement.spendEnergy(100)) {
alert('Not enough Dungeon Energy!');
return;
}
// Find a position for the new tile
const newPosition = window.DungeonManagement.findEmptyPosition(false);
if (!newPosition) {
alert('No space for new tiles!');
// Refund energy
State.variables.dungeonEnergy += 100;
return;
}
// Add new tile - main tiles during goblin tutorial, normal tiles otherwise
const isMainTile = State.variables.goblinBuildingsAdded && (!State.variables.goblinTavernPlaced || !State.variables.goblinBarracksPlaced || !State.variables.prisonPlaced || !State.variables.goblinMansionPlaced);
if (window.DungeonManagement.addTile(newPosition.x, newPosition.y, isMainTile)) {
// Update display
window.initializeDungeonGrid();
window.updateResourceDisplay();
// Show success message
window.showNotification('New tile added for 100 energy!');
// Tutorial progression
if (State.variables.dungeonTutorialStep === 2) {
State.variables.dungeonTutorialStep = 3;
window.showTutorialStep3();
// Update UI after tutorial step change
window.updateTutorialUI();
// Refresh the entire UI to show changes
window.updateResourceDisplay();
}
} else {
alert('No more tiles available!');
// Refund energy
State.variables.dungeonEnergy += 100;
}
}
window.cancelBuildingSelection = function() {
document.getElementById('building-menu').style.display = 'none';
document.querySelectorAll('.building-option').forEach(opt => opt.classList.remove('selected'));
window.selectedTile = null;
window.buildingMode = false;
}
window.cancelExpansion = function() {
document.getElementById('expansion-menu').style.display = 'none';
}
window.showCoreUpgradeMenu = function() {
// Tutorial restriction: No core upgrades until tutorial completion
if (State.variables.dungeonTutorialStep < 3) {
window.showNotification('Tutorial: Complete the tutorial first before upgrading the core!');
return;
}
const currentLevel = State.variables.dungeonCoreLevel || 1;
const nextLevel = currentLevel + 1;
// Hide other menus
const buildingMenu = document.getElementById('building-menu');
const expansionMenu = document.getElementById('expansion-menu');
const buildingInfoMenu = document.getElementById('building-info-menu');
if (buildingMenu) buildingMenu.style.display = 'none';
if (expansionMenu) expansionMenu.style.display = 'none';
if (buildingInfoMenu) buildingInfoMenu.style.display = 'none';
// Show core upgrade menu
const coreUpgradeMenu = document.getElementById('core-upgrade-menu');
if (coreUpgradeMenu) {
coreUpgradeMenu.style.display = 'block';
}
// Update core level display
const currentCoreLevel = document.getElementById('current-core-level');
if (currentCoreLevel) {
currentCoreLevel.textContent = currentLevel;
}
// Update upgrade info
const upgradeInfo = document.getElementById('core-upgrade-info');
const upgradeButton = document.getElementById('upgrade-core-button');
if (currentLevel >= 3) {
if (upgradeInfo) {
upgradeInfo.innerHTML = '<p>Core is already at maximum level!</p>';
}
if (upgradeButton) {
upgradeButton.disabled = true;
upgradeButton.textContent = 'Max Level Reached';
}
} else {
const upgradeData = window.DungeonManagement.getCoreUpgradeData(nextLevel);
if (upgradeData) {
if (upgradeInfo) {
upgradeInfo.innerHTML = `
<div class="upgrade-details">
<h4>Upgrade to Level ${nextLevel}</h4>
<p><strong>Cost:</strong> ${upgradeData.cost} Energy</p>
<p><strong>Reward:</strong> +${upgradeData.tilesAdded} Tiles</p>
<p><strong>Description:</strong> ${upgradeData.description}</p>
</div>
`;
}
if (upgradeButton) {
if (State.variables.dungeonEnergy >= upgradeData.cost) {
upgradeButton.disabled = false;
upgradeButton.textContent = `Upgrade to Level ${nextLevel} (${upgradeData.cost} Energy)`;
} else {
upgradeButton.disabled = true;
upgradeButton.textContent = `Need ${upgradeData.cost} Energy`;
}
}
}
}
}
window.upgradeCore = function() {
const result = window.DungeonManagement.upgradeCore();
if (result.success) {
// Update displays
window.updateResourceDisplay();
window.initializeDungeonGrid();
// Show success message
window.showNotification(result.message);
// Update core upgrade menu
window.showCoreUpgradeMenu();
} else {
window.showNotification(result.message);
}
}
window.cancelCoreUpgrade = function() {
const coreUpgradeMenu = document.getElementById('core-upgrade-menu');
if (coreUpgradeMenu) {
coreUpgradeMenu.style.display = 'none';
}
// Clear tile selection
document.querySelectorAll('.dungeon-tile').forEach(t => t.classList.remove('selected'));
window.selectedTile = null;
}
window.closeBuildingInfo = function() {
const infoMenu = document.getElementById('building-info-menu');
if (infoMenu) {
infoMenu.remove();
}
// Clear tile selection
document.querySelectorAll('.dungeon-tile').forEach(t => t.classList.remove('selected'));
window.selectedTile = null;
}
window.upgradeBuilding = function(x, y) {
const result = window.DungeonManagement.upgradeBuilding(x, y);
if (result.success) {
// Update displays
window.updateResourceDisplay();
window.updateStatsDisplay();
window.initializeDungeonGrid();
// Show success message
window.showNotification(result.message);
// Update building info if it's open
const building = window.getTileBuilding(x, y);
if (building) {
window.showBuildingInfo(building);
}
} else {
window.showNotification(result.message);
}
}
window.removeBuilding = function(x, y) {
console.log('Attempting to remove building at', x, y);
const result = window.DungeonManagement.removeBuilding(x, y);
console.log('Remove building result:', result);
// Handle both boolean true and object with success property
if (result === true || (result && result.success)) {
console.log('Building removal successful, updating UI...');
// Update displays
window.updateResourceDisplay();
window.updateStatsDisplay();
window.initializeDungeonGrid();
// Show success message
if (result && result.message) {
window.showNotification(result.message);
} else {
window.showNotification('Building removed successfully!');
}
// Close building info since building is removed
window.closeBuildingInfo();
} else {
console.log('Building removal failed:', result);
window.showNotification('Cannot remove this building!');
}
}
window.updateResourceDisplay = function() {
const energyElement = document.getElementById('dungeon-energy');
const goldElement = document.getElementById('dungeon-gold');
const crystalsElement = document.getElementById('dungeon-crystals');
const tilesElement = document.getElementById('available-tiles');
const coreElement = document.getElementById('core-level');
if (energyElement) energyElement.textContent = State.variables.dungeonEnergy;
// Calculate population-based bonuses
const stats = window.DungeonManagement.calculateStats();
const populationGold = stats.population * 3;
const populationCrystals = stats.population * 1;
const totalGoldIncrease = (State.variables.goldIncrease || 0) + populationGold;
const totalCrystalIncrease = (State.variables.manaIncrease || 0) + populationCrystals;
if (goldElement) {
goldElement.textContent = State.variables.gold || 0;
}
if (crystalsElement) {
crystalsElement.textContent = State.variables.crystals || 0;
}
if (tilesElement) {
const coreLevel = State.variables.dungeonCoreLevel || 1;
const maxNormalTiles = 3 * coreLevel;
const currentNormalTiles = State.variables.dungeonTiles.filter(t => !t.isMainTile).length;
const availableNormalTiles = maxNormalTiles - currentNormalTiles;
tilesElement.textContent = availableNormalTiles;
}
if (coreElement) coreElement.textContent = State.variables.dungeonCoreLevel || 1;
// Update mansion count
const currentMansions = State.variables.dungeonTiles.filter(t => t.building === 'mansion').length;
const remainingMansions = 1 - currentMansions;
const mansionCount = document.getElementById('mansion-count');
const mansionOption = document.getElementById('mansion-option');
if (mansionCount) {
mansionCount.textContent = `Available: ${remainingMansions}`;
}
if (mansionOption) {
if (remainingMansions <= 0) {
mansionOption.classList.add('disabled');
mansionOption.onclick = null;
} else {
mansionOption.classList.remove('disabled');
mansionOption.onclick = () => window.selectBuilding('mansion');
}
}
// Update goblin building counts
const goblinTavernCount = document.getElementById('goblin-tavern-count');
const goblinBarracksCount = document.getElementById('goblin-barracks-count');
const prisonCount = document.getElementById('prison-count');
const goblinMansionCount = document.getElementById('goblin-mansion-count');
if (goblinTavernCount) {
const remainingTaverns = State.variables.goblinTavernPlaced ? 0 : 1;
goblinTavernCount.textContent = `Available: ${remainingTaverns}`;
}
if (goblinBarracksCount) {
const remainingBarracks = State.variables.goblinBarracksPlaced ? 0 : 1;
goblinBarracksCount.textContent = `Available: ${remainingBarracks}`;
}
if (prisonCount) {
const remainingPrisons = State.variables.prisonPlaced ? 0 : 1;
prisonCount.textContent = `Available: ${remainingPrisons}`;
}
if (goblinMansionCount) {
const remainingMansions = State.variables.goblinMansionPlaced ? 0 : 1;
goblinMansionCount.textContent = `Available: ${remainingMansions}`;
}
// Stats already calculated above for population bonuses
// Update expand button
const expandButton = document.getElementById('expand-button');
if (State.variables.goblinBuildingsAdded && (!State.variables.goblinTavernPlaced || !State.variables.goblinBarracksPlaced || !State.variables.prisonPlaced || !State.variables.goblinMansionPlaced)) {
expandButton.disabled = true;
expandButton.textContent = 'Place Goblin Buildings First';
} else if (State.variables.dungeonTutorialStep === 2) {
expandButton.disabled = false;
expandButton.textContent = 'Add New Tile (100 Energy) - Tutorial';
expandButton.style.background = 'linear-gradient(145deg, rgba(255, 215, 0, 0.3), rgba(255, 215, 0, 0.5))';
expandButton.style.borderColor = 'rgba(255, 215, 0, 0.6)';
} else if (State.variables.dungeonTutorialStep === 3) {
expandButton.disabled = true;
expandButton.textContent = 'Complete Tutorial First';
} else if (State.variables.dungeonTutorialStep === 1) {
const currentTiles = State.variables.dungeonTiles.length;
if (currentTiles >= 1) {
expandButton.disabled = true;
expandButton.textContent = 'Place Mansion First';
} else {
expandButton.disabled = false;
expandButton.textContent = 'Add New Tile (100 Energy) - Tutorial';
}
} else if (State.variables.dungeonEnergy < 100) {
expandButton.disabled = true;
expandButton.textContent = 'Need 100 Energy';
} else {
const coreLevel = State.variables.dungeonCoreLevel || 1;
const maxNormalTiles = 3 * coreLevel;
const currentNormalTiles = State.variables.dungeonTiles.filter(t => !t.isMainTile).length;
if (currentNormalTiles >= maxNormalTiles) {
expandButton.disabled = true;
expandButton.textContent = 'Cannot Expand';
} else {
expandButton.disabled = false;
expandButton.textContent = 'Add New Tile (100 Energy)';
}
}
}
// Legacy function for compatibility
window.updateEnergyDisplay = function() {
window.updateResourceDisplay();
}
window.getBuildingIcon = function(building) {
const icons = {
'mansion': '🏰',
'energy-generator': '🔮',
'goldmine': '⛏️',
'crystal-mine': '💎'
};
return icons[building] || '❓';
}
window.getBuildingImage = function(building, level = 1) {
// Clamp level between 1 and 10 for image selection
const clampedLevel = Math.max(1, Math.min(level, 10));
const buildingImages = {
'mansion': `images/dungeonbuildings/mansion/level${clampedLevel}.webp`,
'energy-generator': `images/dungeonbuildings/energy/level${clampedLevel}.webp`,
'goldmine': `images/dungeonbuildings/goldmines/level${clampedLevel}.webp`,
'crystal-mine': `images/dungeonbuildings/crystalmines/level${clampedLevel}.webp`,
'goblin-tavern': `images/dungeonbuildings/goblintavern/level${clampedLevel}.webp`,
'goblin-barracks': `images/dungeonbuildings/goblinbarracks/level${clampedLevel}.webp`,
'prison': `images/dungeonbuildings/prison/level${clampedLevel}.webp`,
'goblin-mansion': `images/dungeonbuildings/goblinmansion/level${clampedLevel}.webp`,
'cat-house': `images/dungeonbuildings/cathouse/level${clampedLevel}.webp`,
'fashion-boutique': `images/dungeonbuildings/fashionboutique/level${clampedLevel}.webp`
};
// Fallback to generic house images if specific building image doesn't exist
return buildingImages[building] || `images/dungeonbuildings/house${Math.min(clampedLevel, 3)}.webp`;
}
window.getCoreImage = function(level = 1) {
// Clamp level between 1 and 10 for image selection
const clampedLevel = Math.max(1, Math.min(level, 10));
// Core images follow the same pattern as buildings
return `images/dungeonbuildings/core/level${clampedLevel}.webp`;
}
window.getBuildingName = function(building) {
const names = {
'mansion': 'Mansion',
'energy-generator': 'Energy Generator',
'goldmine': 'Gold Mine',
'crystal-mine': 'Crystal Mine',
'goblin-tavern': 'Goblin Tavern',
'goblin-barracks': 'Barracks',
'prison': 'Prison',
'goblin-mansion': 'Goblin Mansion',
'cat-house': 'Cat House',
'fashion-boutique': 'Fashion Boutique'
};
return names[building] || 'Unknown';
}
window.getTileLevel = function(x, y) {
const tile = State.variables.dungeonTiles.find(t => t.x === x && t.y === y);
return tile ? (tile.level || 1) : 1;
}
window.getFashionBoutiqueLevel = function() {
// Find the fashion-boutique building in dungeon tiles
const fashionBoutiqueTile = State.variables.dungeonTiles.find(tile => tile.building === 'fashion-boutique');
return fashionBoutiqueTile ? (fashionBoutiqueTile.level || 1) : 0;
}
window.getTileBuilding = function(x, y) {
const tile = State.variables.dungeonTiles.find(t => t.x === x && t.y === y);
return tile ? tile.building : null;
}
window.showNotification = function(message) {
// Create notification element
const notification = document.createElement('div');
notification.className = 'dungeon-notification';
notification.textContent = message;
document.body.appendChild(notification);
// Animate and remove
setTimeout(() => {
notification.classList.add('show');
setTimeout(() => {
notification.classList.remove('show');
setTimeout(() => {
document.body.removeChild(notification);
}, 300);
}, 2000);
}, 100);
}
window.showTutorialStep2 = function() {
// Show step 2 tutorial dialog
const tutorialDialog = document.createElement('div');
tutorialDialog.className = 'tutorial-dialog';
tutorialDialog.innerHTML = `
<div class="tutorial-content">
<h3>🏰 Tutorial Step 2</h3>
<p>Excellent! You've successfully built your mansion on the main tile.</p>
<p>Now you need to expand your domain by adding new tiles. Normal tiles go below the main tiles and are used for resource buildings.</p>
<p>Click the "Expand Dungeon" button to add your first normal tile. This will cost 100 energy.</p>
<p>After adding a tile, you'll learn how to place buildings on it!</p>
<button onclick="this.parentElement.parentElement.remove()">Got it!</button>
</div>
`;
document.body.appendChild(tutorialDialog);
}
window.showTutorialStep3 = function() {
// Show step 3 tutorial dialog
const tutorialDialog = document.createElement('div');
tutorialDialog.className = 'tutorial-dialog';
tutorialDialog.innerHTML = `
<div class="tutorial-content">
<h3>⚡ Tutorial Step 3</h3>
<p>Great! You've added a new tile to your domain.</p>
<p>Now you need to place a building on it. Click on the new tile you just created, then select "Energy Generator" from the building menu.</p>
<p>The Energy Generator will produce mana every day, which is essential for powering your dungeon's magical abilities.</p>
<p>It costs 30 energy to build, but will generate 2 mana per day once completed.</p>
<button onclick="this.parentElement.parentElement.remove()">Got it!</button>
</div>
`;
document.body.appendChild(tutorialDialog);
}
window.showTutorialStep4 = function() {
// Show step 4 tutorial dialog (completion)
const tutorialDialog = document.createElement('div');
tutorialDialog.className = 'tutorial-dialog';
tutorialDialog.innerHTML = `
<div class="tutorial-content">
<h3>🎉 Tutorial Complete!</h3>
<p>Excellent! You've successfully built your mansion and mana generator.</p>
<p>Now you're free to expand and build as you wish! You can:</p>
<ul>
<li>Add more tiles to expand your domain (normal tiles go below the main tiles)</li>
<li>Build additional resource generators on normal tiles</li>
<li>Upgrade your buildings to higher levels</li>
<li>Upgrade your core to unlock more tiles</li>
</ul>
<p>Main tiles (golden) are for main buildings, normal tiles are for everything else!</p>
<button onclick="this.parentElement.parentElement.remove()">Start Building!</button>
</div>
`;
document.body.appendChild(tutorialDialog);
}
window.showGoblinBuildingsComplete = function() {
// Show goblin buildings completion dialog
const tutorialDialog = document.createElement('div');
tutorialDialog.className = 'tutorial-dialog';
tutorialDialog.innerHTML = `
<div class="tutorial-content">
<h3>🎉 Goblin Buildings Complete!</h3>
<p>Excellent! You've successfully built both the Goblin Tavern and Goblin Barracks.</p>
<p>The goblins now have a place to celebrate and train, making them valuable allies in your dungeon.</p>
<p>You can now continue with the main story or expand your dungeon further!</p>
<button onclick="this.parentElement.parentElement.remove(); SugarCube.Engine.play('Ch7TroopDungeonManagementTutorial');">Continue!</button>
</div>
`;
document.body.appendChild(tutorialDialog);
}
window.showSoraBuildingsComplete = function() {
// Show Sora buildings completion dialog
const tutorialDialog = document.createElement('div');
tutorialDialog.className = 'tutorial-dialog';
tutorialDialog.innerHTML = `
<div class="tutorial-content">
<h3>🎉 Sora's Buildings Complete!</h3>
<p>Excellent! You've successfully built both the Cat House and Fashion Boutique.</p>
<p>Sora now has a cozy home and a stylish boutique to run his fashion business.</p>
<button onclick="this.parentElement.parentElement.remove(); SugarCube.Engine.play('Ch7SoraFashionBoutiqueReveal');">Continue!</button>
</div>
`;
document.body.appendChild(tutorialDialog);
}
window.updateStatsDisplay = function() {
const stats = window.DungeonManagement.calculateStats();
const statsDisplay = document.getElementById('stats-display');
if (!statsDisplay) return;
let statsHtml = '<div class="stats-grid">';
// Only show stats that have values
const statLabels = {
population: '👥',
storage: '📦',
crafting: '🔨',
research: '📚',
food: '🍳',
combat: '🍆',
herbs: '🌱',
authority: '👑',
prisonerLove: '💕',
energyGeneration: '⚡',
goldGeneration: '💰',
crystalGeneration: '💎'
};
Object.keys(statLabels).forEach(stat => {
if (stats[stat] !== 0) {
let displayValue = stats[stat];
// Special handling for Eros stat to show calculation
if (stat === 'combat') {
// Calculate the fetish bonus part
const characters = ["Rylan", "Mariel", "Thalor", "Liora", "Serin", "Seryk", "Nimeria"];
const fetishCategories = [
"SmellFetish", "MuscleFetish", "ThighFetish", "FeetFetish", "ArmpitFetish", "BreastFetish", "AssFetish", "PenisFetish", "VaginaFetish",
"CumAddiction", "SweatFetish", "SalivaFetish", "SubmissionFetish", "DominanceFetish", "ExhibitionismFetish", "VoyeurismFetish",
"BondageFetish", "CrossdressingFetish", "GayValue", "LesbianValue"
];
let totalFetishValues = 0;
characters.forEach(character => {
fetishCategories.forEach(fetish => {
const value = State.variables[`${character.toLowerCase()}_${fetish}`] || 0;
totalFetishValues += value;
});
});
// Calculate troop Eros (goblin troops contribute 1 Eros per level)
const troopEros = (State.variables.goblinTroopLevel || 1) * 1;
// Calculate population Eros bonus
const populationEros = Math.round(stats.population / 10);
const dungeonCombat = stats.combat; // Use calculated stats instead of State.variables.dungeonCombat
const fetishBonus = Math.round(totalFetishValues / 7 / 50);
const totalBonus = fetishBonus + troopEros + populationEros;
displayValue = `${dungeonCombat} + (${totalBonus})`;
}
// Special handling for daily generation stats to show population bonuses
if (stat === 'goldGeneration') {
const populationGold = stats.population * 3;
const buildingGold = stats[stat] - populationGold;
if (populationGold > 0 && buildingGold !== 0) {
displayValue = `${buildingGold} + ${populationGold}`;
} else if (populationGold > 0) {
displayValue = `${populationGold}`;
}
} else if (stat === 'crystalGeneration') {
const populationCrystals = stats.population * 1;
const buildingCrystals = stats[stat] - populationCrystals;
if (populationCrystals > 0 && buildingCrystals !== 0) {
displayValue = `${buildingCrystals} + ${populationCrystals}`;
} else if (populationCrystals > 0) {
displayValue = `${populationCrystals}`;
}
} else if (stat === 'energyGeneration') {
const populationEnergy = stats.population * 5;
const buildingEnergy = stats[stat] - populationEnergy;
if (populationEnergy > 0 && buildingEnergy !== 0) {
displayValue = `${buildingEnergy} + ${populationEnergy}`;
} else if (populationEnergy > 0) {
displayValue = `${populationEnergy}`;
}
}
statsHtml += `
<div class="stat-item">
<span class="stat-label">${statLabels[stat]}</span>
<span class="stat-value">${displayValue}</span>
</div>
`;
}
});
statsHtml += '</div>';
statsDisplay.innerHTML = statsHtml;
}
window.updateTutorialUI = function() {
// Update tutorial status display
const tutorialStatus = document.getElementById('tutorial-status');
if (tutorialStatus) {
if (State.variables.dungeonTutorialStep === 1) {
tutorialStatus.innerHTML = '<span style="color: #ffd700;">📚 Tutorial Step 1: Place mansion on main tile</span>';
} else if (State.variables.dungeonTutorialStep === 2) {
tutorialStatus.innerHTML = '<span style="color: #ffd700;">📚 Tutorial Step 2: Add new tile</span>';
} else if (State.variables.dungeonTutorialStep === 3) {
tutorialStatus.innerHTML = '<span style="color: #ffd700;">📚 Tutorial Step 3: Place mana generator</span>';
} else if (State.variables.dungeonTutorialStep === 5) {
tutorialStatus.innerHTML = '<span style="color: #ff6b35;">🏰 Place tavern, barracks, prison, and mansion</span>';
} else {
tutorialStatus.innerHTML = '<span style="color: #00ff00;">✅ Tutorial Complete - Free Play!</span>';
}
}
// Update expand button
const expandButton = document.getElementById('expand-button-header');
if (expandButton) {
if (State.variables.dungeonTutorialStep === 1) {
expandButton.textContent = 'Expand Dungeon (Locked)';
expandButton.disabled = true;
expandButton.style.opacity = '0.5';
expandButton.style.cursor = 'not-allowed';
expandButton.style.background = 'rgba(100, 100, 100, 0.3)';
expandButton.style.borderColor = 'rgba(100, 100, 100, 0.4)';
} else if (State.variables.dungeonTutorialStep === 2) {
expandButton.textContent = 'Expand Dungeon (Tutorial)';
expandButton.disabled = false;
expandButton.style.opacity = '1';
expandButton.style.cursor = 'pointer';
expandButton.style.background = 'linear-gradient(145deg, rgba(255, 215, 0, 0.3), rgba(255, 215, 0, 0.5))';
expandButton.style.borderColor = 'rgba(255, 215, 0, 0.6)';
} else if (State.variables.dungeonTutorialStep === 3) {
expandButton.textContent = 'Expand Dungeon (Locked)';
expandButton.disabled = true;
expandButton.style.opacity = '0.5';
expandButton.style.cursor = 'not-allowed';
expandButton.style.background = 'rgba(100, 100, 100, 0.3)';
expandButton.style.borderColor = 'rgba(100, 100, 100, 0.4)';
} else if (State.variables.dungeonTutorialStep === 5) {
expandButton.textContent = 'Place Goblin Buildings First';
expandButton.disabled = true;
expandButton.style.opacity = '0.5';
expandButton.style.cursor = 'not-allowed';
expandButton.style.background = 'rgba(255, 107, 53, 0.3)';
expandButton.style.borderColor = 'rgba(255, 107, 53, 0.4)';
} else {
expandButton.textContent = 'Expand Dungeon';
expandButton.disabled = false;
expandButton.style.opacity = '1';
expandButton.style.cursor = 'pointer';
expandButton.style.background = '';
expandButton.style.borderColor = '';
}
}
// Update building button
const buildingButton = document.getElementById('building-button-header');
if (buildingButton) {
if (State.variables.dungeonTutorialStep === 1) {
buildingButton.textContent = 'Place Mansion (Tutorial)';
buildingButton.style.background = 'linear-gradient(145deg, rgba(255, 215, 0, 0.3), rgba(255, 215, 0, 0.5))';
buildingButton.style.borderColor = 'rgba(255, 215, 0, 0.6)';
} else if (State.variables.dungeonTutorialStep === 3) {
buildingButton.textContent = 'Place Mana Generator (Tutorial)';
buildingButton.style.background = 'linear-gradient(145deg, rgba(255, 215, 0, 0.3), rgba(255, 215, 0, 0.5))';
buildingButton.style.borderColor = 'rgba(255, 215, 0, 0.6)';
} else if (State.variables.dungeonTutorialStep === 5) {
buildingButton.textContent = 'Place Goblin Buildings (Required)';
buildingButton.style.background = 'linear-gradient(145deg, rgba(255, 107, 53, 0.3), rgba(255, 107, 53, 0.5))';
buildingButton.style.borderColor = 'rgba(255, 107, 53, 0.6)';
} else {
buildingButton.textContent = 'Place Building';
buildingButton.style.background = '';
buildingButton.style.borderColor = '';
}
}
// Update core tile functionality
const coreTile = document.querySelector('.core-tile');
if (coreTile) {
// Remove existing click listeners
const newCoreTile = coreTile.cloneNode(true);
coreTile.parentNode.replaceChild(newCoreTile, coreTile);
if (State.variables.dungeonTutorialStep >= 3) {
newCoreTile.addEventListener('click', () => window.showCoreUpgradeMenu());
newCoreTile.style.opacity = '1';
newCoreTile.style.cursor = 'pointer';
} else {
newCoreTile.addEventListener('click', () => window.showNotification('Tutorial: Complete the tutorial first before upgrading the core!'));
newCoreTile.style.opacity = '0.6';
newCoreTile.style.cursor = 'not-allowed';
}
}
// Update resource display to refresh button states
window.updateResourceDisplay();
// Update continueBox visibility
const continueBoxContainer = document.getElementById('continue-box-container');
if (continueBoxContainer) {
if (State.variables.dungeonTutorialStep >= 4 && State.variables.dungeonTutorialStep !== 5 && State.variables.dungeonTutorialStep !== 6) {
continueBoxContainer.style.display = 'block';
} else {
continueBoxContainer.style.display = 'none';
}
}
}
// Initialize when page loads
$(document).ready(() => {
// Wait a bit for DOM to be fully ready
setTimeout(() => {
window.initializeDungeonGrid();
window.updateStatsDisplay();
window.updateResourceDisplay();
window.updateTutorialUI();
// Add expand button to header
const header = document.querySelector('.dungeon-header');
if (header) {
// Create button container for side-by-side layout
const buttonContainer = document.createElement('div');
buttonContainer.className = 'button-container';
buttonContainer.style.display = 'flex';
buttonContainer.style.gap = '15px';
buttonContainer.style.justifyContent = 'center';
buttonContainer.style.marginBottom = '15px';
// Add expand button
const expandButton = document.createElement('button');
expandButton.className = 'expand-dungeon-btn';
expandButton.id = 'expand-button-header';
if (State.variables.dungeonTutorialStep === 1) {
const currentTiles = State.variables.dungeonTiles.length;
if (currentTiles >= 1) {
expandButton.textContent = 'Expand Dungeon (Locked)';
expandButton.disabled = true;
expandButton.style.opacity = '0.5';
expandButton.style.cursor = 'not-allowed';
expandButton.style.background = 'rgba(100, 100, 100, 0.3)';
expandButton.style.borderColor = 'rgba(100, 100, 100, 0.4)';
} else {
expandButton.textContent = 'Expand Dungeon (Tutorial)';
expandButton.style.background = 'linear-gradient(145deg, rgba(255, 215, 0, 0.3), rgba(255, 215, 0, 0.5))';
expandButton.style.borderColor = 'rgba(255, 215, 0, 0.6)';
}
} else if (State.variables.dungeonTutorialStep === 2) {
expandButton.textContent = 'Expand Dungeon (Tutorial)';
expandButton.disabled = false;
expandButton.style.opacity = '1';
expandButton.style.cursor = 'pointer';
expandButton.style.background = 'linear-gradient(145deg, rgba(255, 215, 0, 0.3), rgba(255, 215, 0, 0.5))';
expandButton.style.borderColor = 'rgba(255, 215, 0, 0.6)';
} else if (State.variables.dungeonTutorialStep === 3) {
expandButton.textContent = 'Expand Dungeon (Locked)';
expandButton.disabled = true;
expandButton.style.opacity = '0.5';
expandButton.style.cursor = 'not-allowed';
expandButton.style.background = 'rgba(100, 100, 100, 0.3)';
expandButton.style.borderColor = 'rgba(100, 100, 100, 0.4)';
} else if (State.variables.dungeonTutorialStep === 5) {
expandButton.textContent = 'Place Goblin Buildings First';
expandButton.disabled = true;
expandButton.style.opacity = '0.5';
expandButton.style.cursor = 'not-allowed';
expandButton.style.background = 'rgba(255, 107, 53, 0.3)';
expandButton.style.borderColor = 'rgba(255, 107, 53, 0.4)';
} else {
expandButton.textContent = 'Expand Dungeon';
}
expandButton.onclick = window.showExpansionMenu;
buttonContainer.appendChild(expandButton);
// Add building button
const buildingButton = document.createElement('button');
buildingButton.className = 'expand-dungeon-btn';
buildingButton.id = 'building-button-header';
if (State.variables.dungeonTutorialStep === 1) {
buildingButton.textContent = 'Place Mansion (Tutorial)';
buildingButton.style.background = 'linear-gradient(145deg, rgba(255, 215, 0, 0.3), rgba(255, 215, 0, 0.5))';
buildingButton.style.borderColor = 'rgba(255, 215, 0, 0.6)';
} else if (State.variables.dungeonTutorialStep === 3) {
buildingButton.textContent = 'Place Energy Generator (Tutorial)';
buildingButton.style.background = 'linear-gradient(145deg, rgba(255, 215, 0, 0.3), rgba(255, 215, 0, 0.5))';
buildingButton.style.borderColor = 'rgba(255, 215, 0, 0.6)';
} else if (State.variables.dungeonTutorialStep === 5) {
buildingButton.textContent = 'Place Goblin Buildings (Required)';
buildingButton.style.background = 'linear-gradient(145deg, rgba(255, 107, 53, 0.3), rgba(255, 107, 53, 0.5))';
buildingButton.style.borderColor = 'rgba(255, 107, 53, 0.6)';
} else {
buildingButton.textContent = 'Place Building';
}
buildingButton.onclick = window.showBuildingMenu;
buttonContainer.appendChild(buildingButton);
// Add button container to header
header.appendChild(buttonContainer);
// Add tutorial status display
const tutorialStatus = document.createElement('div');
tutorialStatus.className = 'tutorial-status';
tutorialStatus.id = 'tutorial-status';
if (State.variables.dungeonTutorialStep === 1) {
tutorialStatus.innerHTML = '<span style="color: #ffd700;">📚 Tutorial Step 1: Place mansion on main tile</span>';
} else if (State.variables.dungeonTutorialStep === 2) {
tutorialStatus.innerHTML = '<span style="color: #ffd700;">📚 Tutorial Step 2: Add new tile</span>';
} else if (State.variables.dungeonTutorialStep === 3) {
tutorialStatus.innerHTML = '<span style="color: #ffd700;">📚 Tutorial Step 3: Place energy generator</span>';
} else if (State.variables.dungeonTutorialStep === 5) {
tutorialStatus.innerHTML = '<span style="color: #ff6b35;">🏰 Place tavern, barracks, prison, and mansion</span>';
} else {
tutorialStatus.innerHTML = '<span style="color: #00ff00;">✅ Tutorial Complete - Free Play!</span>';
}
header.appendChild(tutorialStatus);
}
}, 100);
});
<</script>>
<style>
.dungeon-management-container {
background: linear-gradient(145deg, rgba(25, 25, 35, 0.9), rgba(45, 45, 55, 0.95));
border: 2px solid rgba(100, 100, 100, 0.4);
border-radius: 15px;
padding: 20px;
margin: 20px 0;
}
.dungeon-header {
display: flex;
flex-direction: column;
margin-bottom: 20px;
padding: 15px;
background: linear-gradient(145deg, rgba(45, 45, 50, 0.8), rgba(35, 35, 40, 0.9));
border: 2px solid rgba(100, 100, 100, 0.4);
border-radius: 10px;
}
.guide-section {
margin-bottom: 15px;
}
.guide-button {
background: linear-gradient(145deg, rgba(255, 105, 180, 0.8), rgba(255, 20, 147, 0.9));
border: 2px solid rgba(255, 105, 180, 0.6);
border-radius: 8px;
color: white;
padding: 8px 16px;
font-size: 14px;
font-weight: bold;
cursor: pointer;
transition: all 0.3s ease;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}
.guide-button:hover {
background: linear-gradient(145deg, rgba(255, 105, 180, 1), rgba(255, 20, 147, 1));
transform: translateY(-2px);
box-shadow: 0 4px 8px rgba(255, 105, 180, 0.4);
}
.guide-content {
margin-top: 10px;
padding: 10px;
background: linear-gradient(145deg, rgba(25, 25, 35, 0.9), rgba(45, 45, 55, 0.8));
border: 2px solid rgba(100, 100, 100, 0.4);
border-radius: 8px;
}
.guide-image-container {
text-align: center;
}
.guide-image {
max-width: 100%;
height: auto;
border-radius: 8px;
border: 2px solid rgba(255, 255, 255, 0.3);
}
.resources-header {
color: #E6E6FA;
font-size: 1.2em;
font-weight: bold;
text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
margin-bottom: 8px;
text-align: center;
}
.resources-container {
display: flex;
flex-direction: row;
gap: 15px;
background: rgba(0, 0, 0, 0.3);
padding: 15px;
border-radius: 8px;
border: 1px solid rgba(100, 100, 100, 0.3);
justify-content: center;
}
.resource-item {
display: flex;
align-items: center;
gap: 10px;
}
.resource-icon {
font-size: 1.2em;
width: 20px;
text-align: center;
}
.resource-value {
font-size: 1.1em;
font-weight: bold;
min-width: 50px;
}
.resource-item:nth-child(1) .resource-value {
color: #ff69b4;
}
.resource-item:nth-child(2) .resource-value {
color: #ffd700;
}
.resource-item:nth-child(3) .resource-value {
color: #8a2be2;
}
.dungeon-container {
display: flex;
flex-direction: column;
gap: 30px;
padding: 20px;
}
.main-tiles-section, .normal-tiles-section {
background: linear-gradient(145deg, rgba(45, 45, 50, 0.9), rgba(35, 35, 40, 0.95));
border: 2px solid rgba(100, 100, 100, 0.4);
border-radius: 15px;
padding: 20px;
}
.section-title {
color: #E6E6FA;
text-align: center;
margin: 0 0 20px 0;
font-size: 1.4em;
text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
border-bottom: 2px solid rgba(100, 100, 100, 0.4);
padding-bottom: 10px;
}
.main-tiles-grid, .normal-tiles-grid {
display: flex;
flex-wrap: wrap;
gap: 15px;
justify-content: center;
min-height: 120px;
}
.dungeon-grid {
position: relative;
margin: 20px 0;
padding: 20px;
background: rgba(0, 0, 0, 0.2);
border-radius: 10px;
min-height: 200px;
width: fit-content;
margin-left: auto;
margin-right: auto;
}
.dungeon-tile {
width: 120px;
height: 120px;
background: linear-gradient(145deg, rgba(60, 60, 70, 0.8), rgba(40, 40, 50, 0.9));
border: 2px solid rgba(100, 100, 100, 0.4);
border-radius: 10px;
cursor: pointer;
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
.dungeon-tile:hover {
border-color: rgba(255, 105, 180, 0.6);
transform: scale(1.05);
box-shadow: 0 0 15px rgba(255, 105, 180, 0.3);
}
.dungeon-tile.selected {
border-color: #ff69b4;
box-shadow: 0 0 20px rgba(255, 105, 180, 0.6);
transform: scale(1.1);
}
.dungeon-tile.core-tile {
background: linear-gradient(145deg, rgba(255, 215, 0, 0.3), rgba(255, 165, 0, 0.4));
border-color: rgba(255, 215, 0, 0.6);
}
.dungeon-tile.main-tile {
background: linear-gradient(145deg, rgba(255, 215, 0, 0.4), rgba(255, 165, 0, 0.5));
border-color: rgba(255, 215, 0, 0.8);
box-shadow: 0 0 15px rgba(255, 215, 0, 0.3);
}
.dungeon-tile.main-tile:hover {
border-color: rgba(255, 215, 0, 1);
transform: scale(1.05);
box-shadow: 0 0 20px rgba(255, 215, 0, 0.5);
}
.dungeon-tile.main-tile.selected {
border-color: #ffd700;
box-shadow: 0 0 25px rgba(255, 215, 0, 0.8);
transform: scale(1.1);
}
.main-tile-indicator {
position: absolute;
top: 5px;
right: 5px;
font-size: 1.2em;
color: #ffd700;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}
.tile-content {
text-align: center;
color: white;
}
.tile-icon {
font-size: 2em;
margin-bottom: 5px;
}
.tile-building-image {
width: 80px;
height: 80px;
object-fit: cover;
border-radius: 8px;
margin-bottom: 5px;
border: 2px solid rgba(255, 255, 255, 0.2);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.tile-core-image {
width: 80px;
height: 80px;
object-fit: cover;
border-radius: 8px;
margin-bottom: 5px;
border: 2px solid rgba(255, 215, 0, 0.4);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.tile-label {
font-size: 0.8em;
font-weight: bold;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}
.building-menu, .expansion-menu {
background: rgba(0, 0, 0, 0.4);
border: 2px solid rgba(255, 105, 180, 0.3);
border-radius: 10px;
padding: 20px;
margin: 20px 0;
}
.building-menu h3, .expansion-menu h3 {
color: #ff69b4;
margin: 0 0 15px 0;
text-align: center;
}
.building-options {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
margin-bottom: 20px;
}
.building-option {
background: rgba(0, 0, 0, 0.3);
border: 2px solid rgba(100, 100, 100, 0.4);
border-radius: 8px;
padding: 15px;
cursor: pointer;
transition: all 0.3s ease;
text-align: center;
}
.building-option:hover {
border-color: rgba(255, 105, 180, 0.6);
transform: translateY(-2px);
}
.building-option.selected {
border-color: #ff69b4;
background: rgba(255, 105, 180, 0.1);
}
.building-option.disabled {
opacity: 0.5;
cursor: not-allowed;
border-color: rgba(100, 100, 100, 0.2);
}
.building-option.disabled:hover {
transform: none;
border-color: rgba(100, 100, 100, 0.2);
}
.building-count {
color: #ffd700;
font-weight: bold;
font-size: 0.9em;
margin-bottom: 5px;
}
.building-icon {
font-size: 2em;
margin-bottom: 10px;
}
.building-preview-image {
width: 60px;
height: 60px;
object-fit: cover;
border-radius: 6px;
margin-bottom: 10px;
border: 2px solid rgba(255, 255, 255, 0.2);
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.building-name {
color: #ff69b4;
font-weight: bold;
margin-bottom: 5px;
}
.building-cost {
color: #ffd700;
font-weight: bold;
margin-bottom: 5px;
}
.building-description {
color: #ccc;
font-size: 0.9em;
font-style: italic;
}
.expand-dungeon-btn {
background: linear-gradient(145deg, rgba(255, 105, 180, 0.3), rgba(255, 105, 180, 0.5));
border: 2px solid rgba(255, 105, 180, 0.6);
color: white;
padding: 10px 20px;
border-radius: 8px;
cursor: pointer;
font-weight: bold;
transition: all 0.3s ease;
}
.expand-dungeon-btn:hover {
background: linear-gradient(145deg, rgba(255, 105, 180, 0.5), rgba(255, 105, 180, 0.7));
transform: translateY(-2px);
}
.expand-tile, .cancel-building, .cancel-expansion {
background: rgba(0, 0, 0, 0.3);
border: 2px solid rgba(100, 100, 100, 0.4);
color: white;
padding: 10px 20px;
border-radius: 8px;
cursor: pointer;
margin: 5px;
transition: all 0.3s ease;
}
.expand-tile:hover, .cancel-building:hover, .cancel-expansion:hover {
border-color: rgba(255, 105, 180, 0.6);
background: rgba(255, 105, 180, 0.1);
}
.expand-tile:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.dungeon-notification {
position: fixed;
top: 20px;
right: 20px;
background: linear-gradient(145deg, rgba(0, 150, 0, 0.9), rgba(0, 200, 0, 0.9));
color: white;
padding: 15px 20px;
border-radius: 8px;
border: 2px solid rgba(0, 255, 0, 0.6);
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
z-index: 10000;
transform: translateX(100%);
transition: transform 0.3s ease;
}
.dungeon-notification.show {
transform: translateX(0);
}
.expansion-info {
margin-bottom: 20px;
color: #ccc;
}
.available-tiles {
margin-top: 10px;
color: #ffd700;
font-weight: bold;
}
.stats-display {
margin-top: 15px;
padding: 10px;
background: rgba(0, 0, 0, 0.2);
border-radius: 8px;
border: 1px solid rgba(255, 105, 180, 0.3);
}
.stats-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
gap: 10px;
}
.stats-display .stat-item {
display: flex;
justify-content: space-between;
align-items: center;
background: rgba(0, 0, 0, 0.3);
padding: 5px 10px;
border-radius: 5px;
border: 1px solid rgba(100, 100, 100, 0.3);
min-height: 32px;
}
.stats-display .stat-label {
color: #ccc;
font-size: 0.9em;
flex: 1;
margin-right: 10px;
}
.stats-display .stat-value {
color: #ff69b4;
font-weight: bold;
text-align: right;
white-space: nowrap;
min-width: 80px;
}
.building-info-menu {
background: rgba(0, 0, 0, 0.4);
border: 2px solid rgba(255, 105, 180, 0.3);
border-radius: 10px;
padding: 20px;
margin: 20px 0;
position: relative;
}
.building-info-menu h3 {
color: #ff69b4;
margin: 0 0 15px 0;
text-align: center;
}
.building-info-content {
margin-bottom: 20px;
}
.building-info-header {
display: flex;
align-items: center;
gap: 15px;
margin-bottom: 15px;
padding: 15px;
background: rgba(0, 0, 0, 0.3);
border-radius: 8px;
}
.building-info-icon {
font-size: 3em;
}
.building-info-image {
width: 80px;
height: 80px;
object-fit: cover;
border-radius: 8px;
border: 2px solid rgba(255, 255, 255, 0.3);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}
.building-info-details {
flex: 1;
}
.building-info-name {
color: #ff69b4;
font-size: 1.3em;
font-weight: bold;
margin-bottom: 5px;
}
.building-info-description {
color: #ccc;
font-style: italic;
}
.building-info-effects {
margin-bottom: 15px;
}
.building-info-effects h4 {
color: #ff69b4;
margin: 0 0 10px 0;
font-size: 1.1em;
}
.effects-list {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 8px;
}
.effect-item {
background: rgba(0, 0, 0, 0.3);
padding: 8px 12px;
border-radius: 5px;
border: 1px solid rgba(100, 100, 100, 0.3);
color: #ccc;
font-size: 0.9em;
text-transform: capitalize;
}
.building-info-actions {
text-align: center;
padding: 15px;
background: rgba(0, 0, 0, 0.2);
border-radius: 8px;
}
.building-cost-info {
margin-bottom: 15px;
padding: 10px;
background: rgba(0, 0, 0, 0.3);
border-radius: 8px;
border: 1px solid rgba(100, 100, 100, 0.3);
}
.building-cost-info h4 {
color: #ff69b4;
margin: 0 0 10px 0;
font-size: 1.1em;
}
.tile-level {
font-size: 0.7em;
color: #ffd700;
font-weight: bold;
text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
margin-top: 2px;
}
.upgrade-info {
margin-bottom: 15px;
padding: 10px;
background: rgba(0, 0, 0, 0.3);
border-radius: 8px;
border: 1px solid rgba(255, 215, 0, 0.3);
}
.upgrade-info h4 {
color: #ffd700;
margin: 0 0 10px 0;
font-size: 1.1em;
}
.upgrade-building-btn {
background: linear-gradient(145deg, rgba(255, 215, 0, 0.3), rgba(255, 215, 0, 0.5));
border: 2px solid rgba(255, 215, 0, 0.6);
color: white;
padding: 10px 20px;
border-radius: 8px;
cursor: pointer;
font-weight: bold;
transition: all 0.3s ease;
margin-top: 10px;
width: 100%;
}
.upgrade-building-btn:hover {
background: linear-gradient(145deg, rgba(255, 215, 0, 0.5), rgba(255, 215, 0, 0.7));
transform: translateY(-2px);
}
.remove-building-btn {
background: linear-gradient(145deg, rgba(220, 20, 60, 0.3), rgba(220, 20, 60, 0.5));
border: 2px solid rgba(220, 20, 60, 0.6);
color: white;
padding: 10px 20px;
border-radius: 8px;
cursor: pointer;
font-weight: bold;
margin-bottom: 10px;
transition: all 0.3s ease;
}
.remove-building-btn:hover {
background: linear-gradient(145deg, rgba(220, 20, 60, 0.5), rgba(220, 20, 60, 0.7));
transform: translateY(-2px);
}
.locked-info {
color: #999;
font-size: 0.85em;
font-style: italic;
}
.remove-info {
color: #ffd700;
font-size: 0.85em;
font-style: italic;
margin-top: 5px;
}
.close-building-info {
background: rgba(0, 0, 0, 0.3);
border: 2px solid rgba(100, 100, 100, 0.4);
color: white;
padding: 10px 20px;
border-radius: 8px;
cursor: pointer;
transition: all 0.3s ease;
width: 100%;
}
.close-building-info:hover {
border-color: rgba(255, 105, 180, 0.6);
background: rgba(255, 105, 180, 0.1);
}
.core-level-display {
display: flex;
align-items: center;
gap: 10px;
background: rgba(0, 0, 0, 0.3);
padding: 10px 15px;
border-radius: 8px;
border: 1px solid rgba(255, 215, 0, 0.3);
margin: 5px 0;
}
.core-upgrade-menu {
background: rgba(0, 0, 0, 0.4);
border: 2px solid rgba(255, 215, 0, 0.3);
border-radius: 10px;
padding: 20px;
margin: 20px 0;
}
.core-upgrade-menu h3 {
color: #ffd700;
margin: 0 0 15px 0;
text-align: center;
}
.core-info {
margin-bottom: 20px;
}
.core-level-info {
background: rgba(0, 0, 0, 0.3);
padding: 10px 15px;
border-radius: 8px;
margin-bottom: 15px;
color: #ffd700;
font-weight: bold;
}
.core-upgrade-info {
background: rgba(0, 0, 0, 0.2);
padding: 15px;
border-radius: 8px;
border: 1px solid rgba(255, 215, 0, 0.3);
}
.upgrade-details h4 {
color: #ffd700;
margin: 0 0 10px 0;
}
.upgrade-details p {
color: #ccc;
margin: 5px 0;
}
.upgrade-details strong {
color: #ffd700;
}
.core-upgrade-options {
text-align: center;
margin-bottom: 15px;
}
.upgrade-core-btn {
background: linear-gradient(145deg, rgba(255, 215, 0, 0.3), rgba(255, 215, 0, 0.5));
border: 2px solid rgba(255, 215, 0, 0.6);
color: white;
padding: 12px 24px;
border-radius: 8px;
cursor: pointer;
font-weight: bold;
transition: all 0.3s ease;
font-size: 1.1em;
}
.upgrade-core-btn:hover:not(:disabled) {
background: linear-gradient(145deg, rgba(255, 215, 0, 0.5), rgba(255, 215, 0, 0.7));
transform: translateY(-2px);
}
.upgrade-core-btn:disabled {
opacity: 0.5;
cursor: not-allowed;
background: rgba(100, 100, 100, 0.3);
border-color: rgba(100, 100, 100, 0.4);
}
.cancel-core-upgrade {
background: rgba(0, 0, 0, 0.3);
border: 2px solid rgba(100, 100, 100, 0.4);
color: white;
padding: 10px 20px;
border-radius: 8px;
cursor: pointer;
transition: all 0.3s ease;
width: 100%;
}
.cancel-core-upgrade:hover {
border-color: rgba(255, 105, 180, 0.6);
background: rgba(255, 105, 180, 0.1);
}
.tutorial-status {
background: rgba(0, 0, 0, 0.3);
padding: 8px 15px;
border-radius: 8px;
border: 1px solid rgba(255, 215, 0, 0.3);
font-weight: bold;
font-size: 0.9em;
}
.tutorial-dialog {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: linear-gradient(145deg, rgba(25, 25, 35, 0.95), rgba(45, 45, 55, 0.98));
border: 3px solid rgba(255, 215, 0, 0.6);
border-radius: 15px;
padding: 30px;
z-index: 10001;
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5);
max-width: 500px;
width: 90%;
}
.tutorial-content h3 {
color: #ffd700;
margin: 0 0 15px 0;
text-align: center;
font-size: 1.3em;
}
.tutorial-content p {
color: #ccc;
margin: 10px 0;
line-height: 1.5;
}
.tutorial-content ul {
color: #ccc;
margin: 10px 0;
padding-left: 20px;
}
.tutorial-content li {
margin: 5px 0;
}
.tutorial-content button {
background: linear-gradient(145deg, rgba(255, 215, 0, 0.3), rgba(255, 215, 0, 0.5));
border: 2px solid rgba(255, 215, 0, 0.6);
color: white;
padding: 12px 24px;
border-radius: 8px;
cursor: pointer;
font-weight: bold;
transition: all 0.3s ease;
margin-top: 15px;
width: 100%;
}
.tutorial-content button:hover {
background: linear-gradient(145deg, rgba(255, 215, 0, 0.5), rgba(255, 215, 0, 0.7));
transform: translateY(-2px);
}
</style>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<if $soraJoinedFamily>>
<<set $SoraBoutiqueFirstVisited = true>>
<</if>>
<div class="passage-container rylan">
<div style="background: linear-gradient(135deg, rgba(25, 25, 35, 0.95), rgba(45, 45, 55, 0.9)); min-height: 800px; position: relative; border-radius: 15px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.5);">
<div style="position: relative; z-index: 2; padding: 40px;">
<div style="text-align: center; margin-bottom: 40px;">
<h1 style="color: #FFD700; font-size: 2.5em; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); margin: 0; font-family: 'Cinzel', serif;">⚔️ TROOP MANAGEMENT ⚔️</h1>
<p style="color: #E6E6FA; font-size: 1.2em; margin: 10px 0; font-style: italic;">Strengthen Your Forces</p>
</div>
<!-- Goblin Troops Row -->
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-bottom: 40px;">
<!-- Goblin Troops Section -->
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.9), rgba(35, 35, 40, 0.95)); border: 2px solid rgba(255, 107, 53, 0.4); border-radius: 15px; padding: 30px;">
<h3 style="color: #FF6B35; margin: 0 0 20px 0; font-size: 1.6em; text-align: center;">🛡️ Goblin Troops</h3>
<div style="text-align: center; margin-bottom: 25px;">
<div style="display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;">
<img src="images/f95/face.webp" style="width: 100px; height: 100px; border-radius: 50%; border: 3px solid rgba(255, 107, 53, 0.6); box-shadow: 0 5px 15px rgba(0,0,0,0.3);">
<img src="images/itchyo/face.webp" style="width: 100px; height: 100px; border-radius: 50%; border: 3px solid rgba(255, 107, 53, 0.6); box-shadow: 0 5px 15px rgba(0,0,0,0.3);">
<img src="images/stieem/face.webp" style="width: 100px; height: 100px; border-radius: 50%; border: 3px solid rgba(255, 107, 53, 0.6); box-shadow: 0 5px 15px rgba(0,0,0,0.3);">
</div>
</div>
<div style="background: linear-gradient(145deg, rgba(255, 107, 53, 0.1), rgba(255, 140, 0, 0.2)); border-radius: 10px; padding: 20px; margin-bottom: 20px;">
<h4 style="color: #FFD700; margin: 0 0 10px 0; font-size: 1.3em;">Current Stats</h4>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px;">
<div style="text-align: center;">
<div style="color: #FF6B35; font-size: 1.8em; font-weight: bold;">🍆</div>
<div style="color: #E6E6FA; font-size: 1.1em;">Eros: <<print ($goblinTroopLevel || 1) * 1>></div>
</div>
<div style="text-align: center;">
<div style="color: #FFD700; font-size: 1.8em; font-weight: bold;">⭐</div>
<div style="color: #E6E6FA; font-size: 1.1em;">Level: <<print $goblinTroopLevel || 1>></div>
</div>
</div>
</div>
<div style="background: linear-gradient(145deg, rgba(0, 255, 127, 0.1), rgba(0, 200, 100, 0.2)); border-radius: 10px; padding: 20px;">
<h4 style="color: #00FF7F; margin: 0 0 15px 0; font-size: 1.3em;">Troop Description</h4>
<p style="color: #E6E6FA; margin: 0; line-height: 1.6; font-size: 1em;">These fierce goblin warriors have joined your cause. Through training and equipment upgrades, their combat effectiveness can be dramatically increased.</p>
</div>
</div>
<!-- Goblin Upgrade System Section -->
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.9), rgba(35, 35, 40, 0.95)); border: 2px solid rgba(138, 43, 226, 0.4); border-radius: 15px; padding: 30px;">
<h3 style="color: #8A2BE2; margin: 0 0 25px 0; font-size: 1.6em; text-align: center;">🛡️ Goblin Upgrade System</h3>
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.1), rgba(255, 165, 0, 0.2)); border-radius: 10px; padding: 20px; margin-bottom: 20px;">
<h4 style="color: #FFD700; margin: 0 0 15px 0; font-size: 1.3em;">💰 Gold Upgrade</h4>
<div style="display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center;">
<div>
<div style="color: #E6E6FA; font-size: 1.1em; margin-bottom: 5px;">Cost: <<print ($goblinTroopLevel || 1) * 300>> Gold</div>
<div style="color: #C0C0C0; font-size: 0.9em;">Current Gold: <<print $gold || 0>></div>
</div>
<div>
<<if $gold >= ($goblinTroopLevel || 1) * 300>>
<<button "Upgrade">>
<<set $gold -= ($goblinTroopLevel || 1) * 300>>
<<set $goblinTroopLevel = ($goblinTroopLevel || 1) + 1>>
<<goto "TroopManagementMenu">>
<</button>>
<<else>>
<button disabled style="background: linear-gradient(145deg, #666, #444); border: 2px solid #666; border-radius: 8px; padding: 12px 24px; color: #999; font-weight: bold; cursor: not-allowed;">Insufficient Gold</button>
<</if>>
</div>
</div>
</div>
<div style="background: linear-gradient(145deg, rgba(0, 191, 255, 0.1), rgba(0, 150, 200, 0.2)); border-radius: 10px; padding: 20px;">
<h4 style="color: #00BFFF; margin: 0 0 15px 0; font-size: 1.3em;">💎 Crystal Upgrade</h4>
<div style="display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center;">
<div>
<div style="color: #E6E6FA; font-size: 1.1em; margin-bottom: 5px;">Cost: <<print ($goblinTroopLevel || 1) * 30>> Crystals</div>
<div style="color: #C0C0C0; font-size: 0.9em;">Current Crystals: <<print $crystals || 0>></div>
</div>
<div>
<<if $crystals >= ($goblinTroopLevel || 1) * 30>>
<<button "Upgrade">>
<<set $crystals -= ($goblinTroopLevel || 1) * 30>>
<<set $goblinTroopLevel = ($goblinTroopLevel || 1) + 1>>
<<goto "TroopManagementMenu">>
<</button>>
<<else>>
<button disabled style="background: linear-gradient(145deg, #666, #444); border: 2px solid #666; border-radius: 8px; padding: 12px 24px; color: #999; font-weight: bold; cursor: not-allowed;">Insufficient Crystals</button>
<</if>>
</div>
</div>
</div>
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.1), rgba(100, 0, 200, 0.2)); border-radius: 10px; padding: 20px; margin-top: 20px;">
<h4 style="color: #8A2BE2; margin: 0 0 10px 0; font-size: 1.2em;">📈 Upgrade Benefits</h4>
<ul style="color: #E6E6FA; margin: 0; padding-left: 20px; line-height: 1.6;">
<li>Each upgrade increases Eros by +1</li>
<li>Higher Eros = better dungeon defense</li>
<li>Costs increase linearly with each level</li>
<li>Choose between Gold or Crystal upgrades</li>
</ul>
</div>
</div>
</div>
<<if $soraJoinedFamily>>
<!-- Sora's Elite Forces Row -->
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-bottom: 40px;">
<!-- Sora's Elite Forces Section -->
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.9), rgba(35, 35, 40, 0.95)); border: 2px solid rgba(255, 182, 193, 0.4); border-radius: 15px; padding: 30px;">
<h3 style="color: #FFB6C1; margin: 0 0 20px 0; font-size: 1.6em; text-align: center;">🐱 Sora's Elite Forces</h3>
<div style="text-align: center; margin-bottom: 25px;">
<img src="images/sora/face.webp" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid rgba(255, 182, 193, 0.6); box-shadow: 0 5px 15px rgba(0,0,0,0.3);">
</div>
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.1), rgba(255, 105, 180, 0.2)); border-radius: 10px; padding: 20px; margin-bottom: 20px;">
<h4 style="color: #FFD700; margin: 0 0 10px 0; font-size: 1.3em;">Current Stats</h4>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px;">
<div style="text-align: center;">
<div style="color: #FFB6C1; font-size: 1.8em; font-weight: bold;">🍆</div>
<div style="color: #E6E6FA; font-size: 1.1em;">Eros: <<print ($soraTroopLevel || 1) * 2>></div>
</div>
<div style="text-align: center;">
<div style="color: #FFD700; font-size: 1.8em; font-weight: bold;">⭐</div>
<div style="color: #E6E6FA; font-size: 1.1em;">Level: <<print $soraTroopLevel || 1>></div>
</div>
</div>
</div>
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.1), rgba(255, 105, 180, 0.2)); border-radius: 10px; padding: 20px;">
<h4 style="color: #FFB6C1; margin: 0 0 15px 0; font-size: 1.3em;">Troop Description</h4>
<p style="color: #E6E6FA; margin: 0; line-height: 1.6; font-size: 1em;">Sora's elite warriors, trained in both combat and fashion.</p>
</div>
</div>
<!-- Sora's Elite Upgrade System Section -->
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.9), rgba(35, 35, 40, 0.95)); border: 2px solid rgba(255, 182, 193, 0.4); border-radius: 15px; padding: 30px;">
<h3 style="color: #FFB6C1; margin: 0 0 25px 0; font-size: 1.6em; text-align: center;">🐱 Sora's Elite Upgrade System</h3>
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.1), rgba(255, 165, 0, 0.2)); border-radius: 10px; padding: 20px; margin-bottom: 20px;">
<h4 style="color: #FFD700; margin: 0 0 15px 0; font-size: 1.3em;">💰 Gold Upgrade</h4>
<div style="display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center;">
<div>
<div style="color: #E6E6FA; font-size: 1.1em; margin-bottom: 5px;">Cost: <<print ($soraTroopLevel || 1) * 500>> Gold</div>
<div style="color: #C0C0C0; font-size: 0.9em;">Current Gold: <<print $gold || 0>></div>
</div>
<div>
<<if $gold >= ($soraTroopLevel || 1) * 500>>
<<button "Upgrade">>
<<set $gold -= ($soraTroopLevel || 1) * 500>>
<<set $soraTroopLevel = ($soraTroopLevel || 1) + 1>>
<<goto "TroopManagementMenu">>
<</button>>
<<else>>
<button disabled style="background: linear-gradient(145deg, #666, #444); border: 2px solid #666; border-radius: 8px; padding: 12px 24px; color: #999; font-weight: bold; cursor: not-allowed;">Insufficient Gold</button>
<</if>>
</div>
</div>
</div>
<div style="background: linear-gradient(145deg, rgba(0, 191, 255, 0.1), rgba(0, 150, 200, 0.2)); border-radius: 10px; padding: 20px;">
<h4 style="color: #00BFFF; margin: 0 0 15px 0; font-size: 1.3em;">💎 Crystal Upgrade</h4>
<div style="display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center;">
<div>
<div style="color: #E6E6FA; font-size: 1.1em; margin-bottom: 5px;">Cost: <<print ($soraTroopLevel || 1) * 50>> Crystals</div>
<div style="color: #C0C0C0; font-size: 0.9em;">Current Crystals: <<print $crystals || 0>></div>
</div>
<div>
<<if $crystals >= ($soraTroopLevel || 1) * 50>>
<<button "Upgrade">>
<<set $crystals -= ($soraTroopLevel || 1) * 50>>
<<set $soraTroopLevel = ($soraTroopLevel || 1) + 1>>
<<goto "TroopManagementMenu">>
<</button>>
<<else>>
<button disabled style="background: linear-gradient(145deg, #666, #444); border: 2px solid #666; border-radius: 8px; padding: 12px 24px; color: #999; font-weight: bold; cursor: not-allowed;">Insufficient Crystals</button>
<</if>>
</div>
</div>
</div>
<div style="background: linear-gradient(145deg, rgba(255, 182, 193, 0.1), rgba(255, 105, 180, 0.2)); border-radius: 10px; padding: 20px; margin-top: 20px;">
<h4 style="color: #FFB6C1; margin: 0 0 10px 0; font-size: 1.2em;">📈 Elite Upgrade Benefits</h4>
<ul style="color: #E6E6FA; margin: 0; padding-left: 20px; line-height: 1.6;">
<li>Each upgrade increases Eros by +2</li>
<li>Elite forces provide superior combat effectiveness</li>
<li>Higher costs reflect their elite status</li>
<li>Fashion and combat expertise combined</li>
</ul>
</div>
</div>
</div>
<</if>>
<!-- Total Eros Contribution Section -->
<div style="text-align: center; margin-top: 40px;">
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.2), rgba(255, 165, 0, 0.3)); border: 2px solid rgba(255, 215, 0, 0.6); border-radius: 15px; padding: 20px; display: inline-block;">
<h3 style="color: #FFD700; margin: 0 0 15px 0; font-size: 1.3em;">🎯 Total Eros Contribution</h3>
<<if $soraJoinedFamily>>
<p style="color: #E6E6FA; margin: 0; font-size: 1.2em; font-weight: bold;"><<print ($goblinTroopLevel || 1) * 1>> Eros from Goblin Troops</p>
<p style="color: #FFB6C1; margin: 0; font-size: 1.2em; font-weight: bold;"><<print ($soraTroopLevel || 1) * 2>> Eros from Sora's Elite Forces</p>
<p style="color: #FFD700; margin: 10px 0 0 0; font-size: 1.4em; font-weight: bold;">Total: <<print (($goblinTroopLevel || 1) * 1) + (($soraTroopLevel || 1) * 2)>> Eros</p>
<<else>>
<p style="color: #E6E6FA; margin: 0; font-size: 1.2em; font-weight: bold;"><<print ($goblinTroopLevel || 1) * 1>> Eros from Goblin Troops</p>
<</if>>
</div>
</div>
</div>
<<continueBox "DungeonChoices" "Return to Dungeon" "Back to dungeon...">>
</div>
</div>
<</nobr>>
<<pov "rylan" "defaultch7.mp3">><<nobr>>
<<set _eventType = Math.random() < 0.5 ? "blightwood" : "fetish">>
<<if _eventType === "blightwood">>
<<if not $blightwoodEventsSeen>>
<<set $blightwoodEventsSeen = []>>
<</if>>
<<if $blightwoodEventsSeen.length >= 5>>
<<set $blightwoodEventsSeen = []>>
<</if>>
<<set _eventWeights = []>>
<<for _i = 1; _i <= 5; _i++>>
<<if $blightwoodEventsSeen.includes(_i)>>
<<set _eventWeights.push({event: _i, weight: 1})>>
<<else>>
<<set _eventWeights.push({event: _i, weight: 50})>>
<</if>>
<</for>>
<<set _totalWeight = 0>>
<<for _i = 0; _i < _eventWeights.length; _i++>>
<<set _totalWeight += _eventWeights[_i].weight>>
<</for>>
<<set _randomValue = random(1, _totalWeight)>>
<<set _runningTotal = 0>>
<<set _selectedEvent = 1>>
<<for _i = 0; _i < _eventWeights.length; _i++>>
<<set _runningTotal += _eventWeights[_i].weight>>
<<if _randomValue <= _runningTotal>>
<<set _selectedEvent = _eventWeights[_i].event>>
<<break>>
<</if>>
<</for>>
<<set $blightwoodEventsSeen.pushUnique(_selectedEvent)>>
<<if _selectedEvent === 1>>
<<goto "BlightwoodEvent1">>
<<elseif _selectedEvent === 2>>
<<goto "BlightwoodEvent2">>
<<elseif _selectedEvent === 3>>
<<goto "BlightwoodEvent3">>
<<elseif _selectedEvent === 4>>
<<goto "BlightwoodEvent4">>
<<else>>
<<goto "BlightwoodEvent5">>
<</if>>
<<else>>
<<dynamicFetishEvent>>
<</if>>
<</nobr>>
<<pov "rylan" "forestofbeginningnorth.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "⚔️ Combat Encounter ⚔️">>
<center><img src="images/enemies/blackslimes.webp" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "A group of blighted slimes emerges from the corrupted undergrowth, their bodies pulsing with toxic energy. Battle is inevitable!">>
<<set _battleRoll = random(1, 100)>>
<<set _partyPower = (($rylan_combatStats.physicalPower || 10) + ($serin_combatStats.agility || 12) + ($liora_combatStats.willpower || 12) + ($mariel_combatStats.technique || 10) + ($seryk_combatStats.physicalPower || 16) + ($nimeria_combatStats.perception || 14)) / 6>>
<<battleRollDisplay _battleRoll 50 _partyPower>>
<div id="battleResults" style="display: none;">
<<if _battleRoll >= 80>>
<<applyBattleDamage 0.5>>
<<set _goldGained = random(10, 30)>>
<<set _crystalsGained = random(1, 3)>>
<<set $gold += _goldGained>>
<<set $crystals += _crystalsGained>>
<<set _allMembers = ["rylan", "liora", "serin", "mariel", "seryk", "nimeria"]>>
<<for _i = 0; _i < _allMembers.length; _i++>>
<<set _member = _allMembers[_i]>>
<<set _randomStat = either(["physicalPower", "agility", "willpower", "technique", "perception", "focus", "vitality"])>>
<<trackCombatStat _member _randomStat 1>>
<</for>>
<<narrative "🎯 Perfect Execution! 🎯">>
<<narrative "Your coordinated assault overwhelms the slimes before they can mount an effective defense!">>
<<narrative "Gained: _goldGained Gold, _crystalsGained Crystals">>
<<narrative "Everyone gains +1 to a random combat stat!">>
<<elseif _battleRoll >= 40>>
<<applyBattleDamage 1.0>>
<<set _goldGained = random(10, 30)>>
<<set _crystalsGained = random(1, 3)>>
<<set $gold += _goldGained>>
<<set $crystals += _crystalsGained>>
<<set _allMembers = ["rylan", "liora", "serin", "mariel", "seryk", "nimeria"]>>
<<for _i = 0; _i < _allMembers.length; _i++>>
<<set _member = _allMembers[_i]>>
<<set _randomStat = either(["physicalPower", "agility", "willpower", "technique", "perception", "focus", "vitality"])>>
<<trackCombatStat _member _randomStat 1>>
<</for>>
<<narrative "✅ Victory! ✅">>
<<narrative "After a fierce battle, you emerge victorious over the corrupted slimes.">>
<<narrative "Gained: _goldGained Gold, _crystalsGained Crystals">>
<<narrative "Everyone gains +1 to a random combat stat!">>
<<else>>
<<applyBattleDamage 1.5>>
<<set _goldGained = random(10, 30)>>
<<set _crystalsGained = random(1, 3)>>
<<set $gold += _goldGained>>
<<set $crystals += _crystalsGained>>
<<set _allMembers = ["rylan", "liora", "serin", "mariel", "seryk", "nimeria"]>>
<<for _i = 0; _i < _allMembers.length; _i++>>
<<set _member = _allMembers[_i]>>
<<set _randomStat = either(["physicalPower", "agility", "willpower", "technique", "perception", "focus", "vitality"])>>
<<trackCombatStat _member _randomStat 1>>
<</for>>
<<narrative "⚠️ Hard-Fought Victory ⚠️">>
<<narrative "The battle was brutal and costly, but you managed to overcome the slimes.">>
<<narrative "Gained: _goldGained Gold, _crystalsGained Crystals">>
<<narrative "Everyone gains +1 to a random combat stat!">>
<</if>>
</div>
<<continueBox "BlightwoodContinue" "Continue Exploring" "">>
</div>
<</nobr>>
<<timed 1s>><<run $("#battleResults").show()>><</timed>>
<<pov "rylan" "blightwood.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "✨ Training Opportunity ✨">>
<center><img src="images/landscapes/ancientgrounds.webp" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "You discover ancient training grounds hidden within the corrupted forest. The party can focus and learn from this place of power.">>
<<set _trainingRoll = random(1, 100)>>
<<set _partyFocus = (($rylan_combatStats.willpower || 9) + ($serin_combatStats.willpower || 8) + ($liora_combatStats.willpower || 12) + ($mariel_combatStats.willpower || 13) + ($seryk_combatStats.willpower || 14) + ($nimeria_combatStats.willpower || 15)) / 6>>
<<trainingRollDisplay _trainingRoll 50 _partyFocus>>
<div id="trainingResults" style="display: none;">
<<if _trainingRoll >= 80>>
<<narrative "🎯 Perfect Learning! 🎯">>
<<narrative "Your focused training session unlocks hidden potential in all party members!">>
<<narrative "All party members gain +2 to a random combat stat">>
<<set $rylan_combatStats.physicalpower += 2>>
<<set $liora_combatStats.technique += 2>>
<<set $serin_combatStats.agility += 2>>
<<set $mariel_combatStats.willpower += 2>>
<<set $seryk_combatStats.physicalpower += 2>>
<<set $nimeria_combatStats.perception += 2>>
<<elseif _trainingRoll >= 40>>
<<narrative "✅ Good Progress! ✅">>
<<narrative "The training session yields solid results for everyone involved.">>
<<narrative "All party members gain +1 to a random combat stat">>
<<set $rylan_combatStats.technique += 1>>
<<set $liora_combatStats.willpower += 1>>
<<set $serin_combatStats.physicalpower += 1>>
<<set $mariel_combatStats.perception += 1>>
<<set $seryk_combatStats.agility += 1>>
<<set $nimeria_combatStats.willpower += 1>>
<<else>>
<<narrative "⚠️ Slow Learning ⚠️">>
<<narrative "The corrupted atmosphere makes concentration difficult, but some learning still occurs.">>
<<narrative "All party members gain small stat improvements">>
<<set $rylan_combatStats.willpower += 0.5>>
<<set $liora_combatStats.perception += 0.5>>
<<set $serin_combatStats.technique += 0.5>>
<<set $mariel_combatStats.willpower += 0.5>>
<<set $seryk_combatStats.physicalpower += 0.5>>
<<set $nimeria_combatStats.willpower += 0.5>>
<</if>>
</div>
<<continueBox "BlightwoodContinue" "Continue Exploring" "">>
</div>
<</nobr>>
<<timed 1s>><<run $("#trainingResults").show()>><</timed>>
<<pov "rylan" "blightwood.mp3">><<script>>window.AudioSystem.playBGM('blightwood.mp3');<</script>><<set $currentFace = $currentRylanFace>>
<<nobr>>
<div class="treasure-encounter-container" style="background: url('images/landscapes/blightwood.webp'); background-size: cover; background-position: center; min-height: 600px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3); position: relative;"><div class="treasure-overlay" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(255, 215, 0, 0.85); border-radius: 10px;"></div><div style="position: relative; z-index: 2;"><div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;"><p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">💰 Treasure Discovery 💰</p></div><img src="images/items/goldchest.webp" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"><div class="treasure-description" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin: 25px 0;"><p style="color: white; line-height: 1.6; margin-bottom: 20px; text-align: center; font-style: italic;">*You discover an ancient treasure chest hidden beneath twisted roots. It requires careful teamwork to unlock safely without triggering any traps.*</p></div><<set _treasureRoll = random(1, 100)>><<set _partySkill = (($rylan_combatStats.technique || 8) + ($serin_combatStats.agility || 12) + ($liora_combatStats.perception || 9) + ($mariel_combatStats.technique || 10) + ($seryk_combatStats.technique || 11) + ($nimeria_combatStats.perception || 14)) / 6>><<treasureRollDisplay _treasureRoll 50 _partySkill>><div id="treasureResults" style="display: none;"><<if _treasureRoll >= 80>><<set _goldGained = random(25, 50)>><<set $gold += _goldGained>><div class="treasure-result perfect" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(255,215,0,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;"><p style="color: #FFD700; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">🎯 Perfect Discovery! 🎯</p><p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*Your skilled approach disables all traps and reveals a hidden compartment with bonus treasure!*</p><p style="color: #FFD700; text-align: center; font-size: 1.1em; margin: 5px 0;">Gained: _goldGained Gold</p></div><<elseif _treasureRoll >= 40>><<set _goldGained = random(15, 30)>><<set $gold += _goldGained>><div class="treasure-result standard" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(255,215,0,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;"><p style="color: #FFD700; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">✅ Successful Find! ✅</p><p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*You carefully open the chest and retrieve its valuable contents.*</p><p style="color: #FFD700; text-align: center; font-size: 1.1em; margin: 5px 0;">Gained: _goldGained Gold</p></div><<else>><<set _goldGained = random(5, 15)>><<set $gold += _goldGained>><div class="treasure-result difficult" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(255,165,0,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;"><p style="color: #FFA500; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">⚠️ Partial Success ⚠️</p><p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*You trigger a minor trap but still manage to salvage some treasure.*</p><p style="color: #FFD700; text-align: center; font-size: 1.1em; margin: 5px 0;">Gained: _goldGained Gold</p></div><</if>>
<div style="text-align: center; margin: 30px 0;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.95), rgba(35, 35, 40, 0.98)); border: 3px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 25px; min-width: 280px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); position: relative; overflow: hidden; display: inline-block;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #32CD32, #228B22, #006400, #228B22);"></div>
<h4 style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Continue Exploring</h4>
<div style="display: flex; gap: 15px; justify-content: center; flex-wrap: wrap;">
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 8px; padding: 12px; display: inline-block; min-width: 150px;">[[Continue|BlightwoodContinue]]</div>
</div></div></div>
</div></div></div><<timed 1s>><<run $("#treasureResults").show()>><</timed>><<changeFace $currentRylanFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('blightwood.mp3');<</script>><<set $currentFace = $currentRylanFace>>
<<nobr>>
<div class="crystal-encounter-container" style="background: url('images/landscapes/blightwood.webp'); background-size: cover; background-position: center; min-height: 600px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3); position: relative;"><div class="crystal-overlay" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(135, 206, 235, 0.85); border-radius: 10px;"></div><div style="position: relative; z-index: 2;"><div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;"><p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">💎 Crystal Extraction 💎</p></div><img src="images/items/crystals.webp" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"><div class="crystal-description" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin: 25px 0;"><p style="color: white; line-height: 1.6; margin-bottom: 20px; text-align: center; font-style: italic;">*You find corrupted magical crystals pulsing with unstable energy. Careful magical extraction is needed to harvest them safely.*</p></div><<set _crystalRoll = random(1, 100)>><<set _partyMagic = (($rylan_combatStats.willpower || 9) + ($serin_combatStats.willpower || 8) + ($liora_combatStats.willpower || 12) + ($mariel_combatStats.willpower || 13) + ($seryk_combatStats.willpower || 14) + ($nimeria_combatStats.willpower || 15)) / 6>><<crystalRollDisplay _crystalRoll 50 _partyMagic>><div id="crystalResults" style="display: none;"><<if _crystalRoll >= 80>><<set _crystalsGained = 3>><<set $crystals += _crystalsGained>><div class="crystal-result perfect" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(135,206,235,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;"><p style="color: #87CEEB; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">🎯 Perfect Extraction! 🎯</p><p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*Your masterful magical control purifies the corrupted crystals, revealing their true potential!*</p><p style="color: #87CEEB; text-align: center; font-size: 1.1em; margin: 5px 0;">Gained: _crystalsGained Magic Crystals</p></div><<elseif _crystalRoll >= 40>><<set _crystalsGained = 2>><<set $crystals += _crystalsGained>><div class="crystal-result standard" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(135,206,235,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;"><p style="color: #87CEEB; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">✅ Successful Harvest! ✅</p><p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*You carefully stabilize the crystals and extract their magical essence.*</p><p style="color: #87CEEB; text-align: center; font-size: 1.1em; margin: 5px 0;">Gained: _crystalsGained Magic Crystals</p></div><<else>><<set _crystalsGained = 1>><<set $crystals += _crystalsGained>><div class="crystal-result difficult" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(255,165,0,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;"><p style="color: #FFA500; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">⚠️ Partial Harvest ⚠️</p><p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*The crystals resist your magic and several shatter, but you salvage what you can.*</p><p style="color: #87CEEB; text-align: center; font-size: 1.1em; margin: 5px 0;">Gained: _crystalsGained Magic Crystals</p></div><</if>>
<div style="text-align: center; margin: 30px 0;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.95), rgba(35, 35, 40, 0.98)); border: 3px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 25px; min-width: 280px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); position: relative; overflow: hidden; display: inline-block;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #32CD32, #228B22, #006400, #228B22);"></div>
<h4 style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Continue Exploring</h4>
<div style="display: flex; gap: 15px; justify-content: center; flex-wrap: wrap;">
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 8px; padding: 12px; display: inline-block; min-width: 150px;">[[Continue|BlightwoodContinue]]</div>
</div></div></div>
</div></div></div><<timed 1s>><<run $("#crystalResults").show()>><</timed>><<changeFace $currentRylanFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('blightwood.mp3');<</script>><<set $currentFace = $currentRylanFace>>
<<nobr>>
<div class="mystery-encounter-container" style="background: url('images/landscapes/blightwood.webp'); background-size: cover; background-position: center; min-height: 600px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3); position: relative;"><div class="mystery-overlay" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(218, 112, 214, 0.85); border-radius: 10px;"></div><div style="position: relative; z-index: 2;"><div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;"><p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">🔮 Mana Resonance 🔮</p></div><img src="images/landscapes/mysticalcircle.webp" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"><div class="mystery-description" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin: 25px 0;"><p style="color: white; line-height: 1.6; margin-bottom: 20px; text-align: center; font-style: italic;">*You sense powerful mana resonating from an ancient source within the corrupted forest. Understanding and channeling this magical energy requires focus and careful attunement.*</p></div><<set _mysteryRoll = random(1, 100)>><<set _partyWisdom = (($rylan_combatStats.willpower || 9) + ($serin_combatStats.perception || 8) + ($liora_combatStats.willpower || 12) + ($mariel_combatStats.willpower || 13) + ($seryk_combatStats.willpower || 14) + ($nimeria_combatStats.perception || 14)) / 6>><<mysteryRollDisplay _mysteryRoll 50 _partyWisdom>><div id="mysteryResults" style="display: none;"><<if _mysteryRoll >= 80>><<set _goldGained = random(15, 25)>><<set _crystalsGained = random(2, 4)>><<set $gold += _goldGained>><<set $crystals += _crystalsGained>><div class="mystery-result perfect" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(218,112,214,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;"><p style="color: #DA70D6; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">🎯 Enlightening Discovery! 🎯</p><p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*Your deep understanding unlocks the mystery's full potential, revealing hidden treasures and magical secrets!*</p><p style="color: #FFD700; text-align: center; font-size: 1.1em; margin: 5px 0;">Gained: _goldGained Gold & _crystalsGained Crystals</p></div><<elseif _mysteryRoll >= 40>><<set _reward = either("gold", "crystals", "experience")>><<if _reward === "gold">><<set _goldGained = random(10, 20)>><<set $gold += _goldGained>><div class="mystery-result standard" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(218,112,214,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;"><p style="color: #DA70D6; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">✅ Interesting Find! ✅</p><p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*Your investigation reveals hidden knowledge that leads you to a cache of valuable resources.*</p><p style="color: #FFD700; text-align: center; font-size: 1.1em; margin: 5px 0;">Gained: _goldGained Gold</p></div><<elseif _reward === "crystals">><<set _crystalsGained = random(2, 4)>><<set $crystals += _crystalsGained>><div class="mystery-result standard" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(218,112,214,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;"><p style="color: #DA70D6; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">✅ Magical Discovery! ✅</p><p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*Your understanding of the phenomenon allows you to harvest its magical essence.*</p><p style="color: #87CEEB; text-align: center; font-size: 1.1em; margin: 5px 0;">Gained: _crystalsGained Magic Crystals</p></div><<else>><div class="mystery-result standard" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(218,112,214,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;"><p style="color: #DA70D6; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">✅ Mystical Enhancement! ✅</p><p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*The mystical energy enhances Liora's magical capacity, expanding her healing potential.*</p><p style="color: #87CEEB; text-align: center; font-size: 1.1em; margin: 5px 0;">Liora gains +10 Max SP</p></div><<set $liora_combatStats.maxStamina += 10>><<set $liora_combatStats.currentStamina += 10>><</if>><<else>><div class="mystery-result difficult" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(255,165,0,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;"><p style="color: #FFA500; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">⚠️ Weak Resonance ⚠️</p><p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*The mana resonance is difficult to attune to, but Liora manages to absorb a small amount of magical energy.*</p><p style="color: #87CEEB; text-align: center; font-size: 1.1em; margin: 5px 0;">Liora gains +2 Max SP</p></div><<set $liora_combatStats.maxStamina += 2>><<set $liora_combatStats.currentStamina += 2>><</if>>
<div style="text-align: center; margin: 30px 0;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.95), rgba(35, 35, 40, 0.98)); border: 3px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 25px; min-width: 280px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); position: relative; overflow: hidden; display: inline-block;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #32CD32, #228B22, #006400, #228B22);"></div>
<h4 style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Continue Exploring</h4>
<div style="display: flex; gap: 15px; justify-content: center; flex-wrap: wrap;">
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 8px; padding: 12px; display: inline-block; min-width: 150px;">[[Continue|BlightwoodContinue]]</div>
</div></div></div>
</div></div></div><<timed 1s>><<run $("#mysteryResults").show()>><</timed>><<changeFace $currentRylanFace>><<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('blightwood.mp3');<</script>><<set $currentFace = $currentRylanFace>>
<<nobr>>
<div class="random-encounter-container" style="background: url('images/landscapes/blightwood.webp'); background-size: cover; background-position: center; min-height: 600px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3); position: relative;"><div class="random-overlay" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(255, 20, 147, 0.85); border-radius: 10px;"></div><div style="position: relative; z-index: 2;"><div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;"><p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">🎲 Fate's Choice 🎲</p><p style="color: white; font-size: 1.1em;">The Unknown Path</p></div><div class="random-description" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin: 25px 0;"><p style="color: white; line-height: 1.6; margin: 20px 0; text-align: center; font-style: italic;">*You step into a swirling mist that obscures the path ahead. Strange energies twist around you as fate itself seems to guide your steps. What lies beyond remains completely unknown...*</p><div class="fate-spinner" style="text-align: center; margin: 30px 0;"><div style="font-size: 4em; animation: spin 2s linear infinite; display: inline-block;">🎲</div><p style="color: #FF1493; font-size: 1.2em; margin: 15px 0; font-weight: bold;">Fate is deciding your encounter...</p></div></div><<set _randomOutcome = either(["event", "battle", "item", "gold", "crystal", "mystery"])>><div id="randomResults" style="display: none;"><<if _randomOutcome === "event">><div class="random-result" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(255,215,0,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;"><p style="color: #FFD700; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">🎭 Fate Brings an Event! 🎭</p><p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*The mists clear to reveal an unexpected encounter awaiting you!*</p>
[[Continue|DungeonEventCard]]</div><<elseif _randomOutcome === "battle">><div class="random-result" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(255,69,0,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;"><p style="color: #FF6347; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">⚔️ Fate Brings Battle! ⚔️</p><p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*The mists part to reveal enemies ready for combat!*</p>
[[Continue|DungeonBattleCard]]</div><<elseif _randomOutcome === "item">><div class="random-result" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(147,112,219,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;"><p style="color: #9370DB; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">✨ Fate Brings Training! ✨</p><p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*The mists reveal ancient knowledge waiting to be learned!*</p>[[Continue|DungeonItemCard]]</div><<elseif _randomOutcome === "gold">><div class="random-result" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(255,215,0,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;"><p style="color: #FFD700; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">💰 Fate Brings Treasure! 💰</p><p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*The mists clear to show gleaming treasures hidden nearby!*</p>[[Continue|DungeonGoldCard]]</div><<elseif _randomOutcome === "crystal">><div class="random-result" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(135,206,235,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;"><p style="color: #87CEEB; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">💎 Fate Brings Crystals! 💎</p><p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*The mists reveal magical crystals pulsing with energy!*</p>[[Continue|DungeonCrystalCard]]</div><<elseif _randomOutcome === "mystery">><div class="random-result" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(218,112,214,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;"><p style="color: #DA70D6; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">❓ Fate Brings Mystery! ❓</p><p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*The mists swirl thicker, revealing an even deeper mystery!*</p>
[[Continue|DungeonMysteryCard]]</div>
<</if>></div></div></div><<timed 1.5s>><<run $("#randomResults").show()>><</timed>>
<<changeFace $currentRylanFace>>
<</nobr>><<script>>window.AudioSystem.playBGM('blightwood.mp3');<</script>><<set $currentFace = $currentRylanFace>>
<<nobr>>
<<dungeonEffectCheck>><<if not $dungeonProgress>><<set $dungeonProgress = 1>><</if>><<set $dungeonProgress += 1>><<if $serykxliorantr === true || $serykxliorantr === "stage1">><<set $liora_combatStats.currentStamina = Math.min($liora_combatStats.currentStamina + 2, $liora_combatStats.maxStamina)>><<else>><<set $liora_combatStats.currentStamina = Math.min($liora_combatStats.currentStamina + 5, $liora_combatStats.maxStamina)>><</if>><<if not $mariel_combatStats>><<set $mariel_combatStats = { maxHealth: 100, currentHealth: 100, maxStamina: 100, currentStamina: 100, physicalPower: 8, agility: 7, willpower: 13, technique: 10, perception: 11 }>><</if>><<if not $partyMaxHP>><<set $partyMaxHP = ($rylan_combatStats.maxHealth || 100) + ($liora_combatStats.maxHealth || 80) + ($serin_combatStats.maxHealth || 90) + ($mariel_combatStats.maxHealth || 100) + ($seryk_combatStats.maxHealth || 150) + ($nimeria_combatStats.maxHealth || 120)>><</if>><<if not $partyCurrentHP>><<set $partyCurrentHP = ($rylan_combatStats.currentHealth || 100) + ($liora_combatStats.currentHealth || 80) + ($serin_combatStats.currentHealth || 90) + ($mariel_combatStats.currentHealth || 100) + ($seryk_combatStats.currentHealth || 150) + ($nimeria_combatStats.currentHealth || 120)>><</if>><<autoHealCheck>><<set _lioraCurrentSP = $liora_combatStats.currentStamina || 0>><<set _lioraMaxSP = $liora_combatStats.maxStamina || 80>><<set _hpPercentage = Math.round(($partyCurrentHP / $partyMaxHP) * 100)>><<set _spPercentage = Math.round((_lioraCurrentSP / _lioraMaxSP) * 100)>><<set _hpColor = (_hpPercentage >= 75) ? "#32CD32" : (_hpPercentage >= 50) ? "#FFD700" : (_hpPercentage >= 25) ? "#FFA500" : "#FF4500">><<set _spColor = (_spPercentage >= 75) ? "#87CEEB" : (_spPercentage >= 50) ? "#4169E1" : (_spPercentage >= 25) ? "#0000FF" : "#8A2BE2">><<if $dungeonProgress >= $dungeonMaxAreas>><div class="completion-redirect" style="background: linear-gradient(to bottom, rgba(0, 128, 0, 0.85), rgba(34, 139, 34, 0.9)); min-height: 300px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3); text-align: center;"><h2 style="color: white; margin-bottom: 20px;">🎉 Exploration Complete! 🎉</h2><p style="color: white; line-height: 1.6; margin-bottom: 20px;">You have successfully explored the entire $dungeonName region!</p>
[[Complete the mission|BlightwoodComplete]]</div>
<<elseif $dungeonProgress % 4 === 0>>
<<continueBox "BlightwoodRestArea" "Take a rest" "">>
<<else>><div class="dungeon-exploration-container" style="background: url('images/landscapes/blightwood.webp'); background-size: cover; background-position: center; min-height: 600px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3); position: relative;"><div class="dungeon-overlay" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(34, 139, 34, 0.3); border-radius: 10px;"></div><div style="position: relative; z-index: 2;"><div class="dungeon-header" style="background: rgba(45,45,50,0.95); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;"><p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">$dungeonName Exploration</p><<set _dungeonImageName = $dungeonName.toLowerCase()>><center><img @src="'images/landscapes/' + _dungeonImageName + '.webp'" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center><div style="display: flex; justify-content: space-between; align-items: center;"><p style="color: white; font-size: 1.1em; margin: 0;">Progress: $dungeonProgress / $dungeonMaxAreas</p><p style="color: <<print _hpColor>>; font-size: 1.1em; margin: 0; font-weight: bold;">Party HP: $partyCurrentHP / $partyMaxHP</p><p style="color: <<print _spColor>>; font-size: 1.1em; margin: 0; font-weight: bold;">Liora MP: _lioraCurrentSP / _lioraMaxSP</p></div></div><div class="card-selection" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin-bottom: 25px;"><p style="color: white; line-height: 1.6; margin-bottom: 20px; text-align: center; font-style: italic;">*You continue deeper into the twisted forest. The path ahead splits once again, offering new choices and challenges.*</p><<generateDungeonCards>></div></div></div><</if>><<changeFace $currentRylanFace>>
<</nobr>><<nobr>>
<<widget "dynamicFetishEvent">>
<<set _fetishType1 = "feet">>
<<set _fetishType2 = "ass">>
<<set _fetishType3 = "breasts">>
<<set _fetishType4 = "armpit">>
<<set _fetishValue1 = $rylan_FeetFetish || 0>>
<<set _fetishValue2 = $rylan_AssFetish || 0>>
<<set _fetishValue3 = $rylan_BreastFetish || 0>>
<<set _fetishValue4 = $rylan_ArmpitFetish || 0>>
<<set _chance1 = 10 + (_fetishValue1 > 0 ? _fetishValue1 : 0)>>
<<set _chance2 = 10 + (_fetishValue2 > 0 ? _fetishValue2 : 0)>>
<<set _chance3 = 10 + (_fetishValue3 > 0 ? _fetishValue3 : 0)>>
<<set _chance4 = 10 + (_fetishValue4 > 0 ? _fetishValue4 : 0)>>
<<set _totalChance = _chance1 + _chance2 + _chance3 + _chance4>>
<<set _random = random(1, _totalChance)>>
<<if _random <= _chance1>>
<<set _selectedType = "feet">>
<<elseif _random <= _chance1 + _chance2>>
<<set _selectedType = "ass">>
<<elseif _random <= _chance1 + _chance2 + _chance3>>
<<set _selectedType = "breasts">>
<<else>>
<<set _selectedType = "armpit">>
<</if>>
<<set _fetishType = _selectedType>>
<<set _debugFetishType = _fetishType>>
<<if _selectedType === "feet">>
<<set _fetishValue = _fetishValue1>>
<<elseif _selectedType === "ass">>
<<set _fetishValue = _fetishValue2>>
<<elseif _selectedType === "breasts">>
<<set _fetishValue = _fetishValue3>>
<<elseif _selectedType === "armpit">>
<<set _fetishValue = _fetishValue4>>
<</if>>
<<if _fetishType === "feet">>
<<set _fetishTypeName = "FeetFetish">>
<<set _fetishDescription = "feet">>
<<elseif _fetishType === "ass">>
<<set _fetishTypeName = "AssFetish">>
<<set _fetishDescription = "ass">>
<<elseif _fetishType === "breasts">>
<<set _fetishTypeName = "BreastFetish">>
<<set _fetishDescription = "breasts">>
<<elseif _fetishType === "armpit">>
<<set _fetishTypeName = "ArmpitFetish">>
<<set _fetishDescription = "armpits">>
<</if>>
<<set _randomImage = random(1, 10)>>
<<set _availableCharacters = []>>
<<if $lioraFutaCurrious>>
<<set _availableCharacters.push("Liora")>>
<</if>>
<<if $rylanxserincontent>>
<<set _availableCharacters.push("Serin")>>
<</if>>
<<if $marielChapter5Massage>>
<<set _availableCharacters.push("Mariel")>>
<</if>>
<<if $nimeriaxrylancontent == true>>
<<set _availableCharacters.push("Nimeria")>>
<</if>>
<<if $serykRylanBlightwoodEncounter>>
<<set _availableCharacters.push("Seryk")>>
<</if>>
<<if $thalor_rylanGayContent>>
<<set _availableCharacters.push("Thalor")>>
<</if>>
<<if _availableCharacters.length === 0>>
<<set _availableCharacters = ["Liora"]>>
<</if>>
<<set _randomCharacterIndex = random(0, _availableCharacters.length - 1)>>
<<set _selectedCharacter = _availableCharacters[_randomCharacterIndex]>>
<<if _selectedCharacter === "Liora">>
<<set _characterName = "Liora">>
<<set _characterFolder = "liora">>
<<set _attractionValue = $rylan_LioraAttraction || 0>>
<<set _faceImage = "images/liora/faceshortpink.webp">>
<<elseif _selectedCharacter === "Serin">>
<<set _characterName = "Serin">>
<<set _characterFolder = "serin">>
<<set _attractionValue = $rylan_SerinAttraction || 0>>
<<set _faceImage = "images/serin/face.webp">>
<<elseif _selectedCharacter === "Mariel">>
<<set _characterName = "Mariel">>
<<set _characterFolder = "mariel">>
<<set _attractionValue = $rylan_MarielAttraction || 0>>
<<set _faceImage = "images/mariel/stage2/face.webp">>
<<elseif _selectedCharacter === "Nimeria">>
<<set _characterName = "Nimeria">>
<<set _characterFolder = "nimeria">>
<<set _attractionValue = $rylan_NimeriaAttraction || 0>>
<<set _faceImage = "images/nimeria/face.webp">>
<<elseif _selectedCharacter === "Seryk">>
<<set _characterName = "Seryk">>
<<set _characterFolder = "seryk">>
<<set _attractionValue = $rylan_SerykAttraction || 0>>
<<set _faceImage = "images/seryk/face.webp">>
<<else>>
<<set _characterName = "Thalor">>
<<set _characterFolder = "thalor">>
<<set _attractionValue = $rylan_ThalorAttraction || 0>>
<<set _faceImage = "images/thalor/face.webp">>
<</if>>
<<quickRoll "Fetish Temptation" "Rylan" 80 5 _fetishTypeName 2>>
<<if _characterName === "Mariel">>
<<narrative "As we rest in this area, I find myself unable to stop looking at $humanToMariel's _fetishDescription. There's something about them that keeps drawing my attention...">>
<<elseif _characterName === "Thalor">>
<<narrative "As we rest in this area, I find myself unable to stop looking at $humanToThalor's _fetishDescription. There's something about them that keeps drawing my attention...">>
<<else>>
<<narrative "As we rest in this area, I find myself unable to stop looking at _characterName's _fetishDescription. There's something about them that keeps drawing my attention...">>
<</if>>
<<set _imagePath = "images/" + _characterFolder + "/dungeon/" + _fetishType + "/" + _randomImage + ".webp">>
<center><img @src="_imagePath" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" _fetishTypeName 0.2>>
<<changeLust "Rylan" 3>>
<<changeAttraction "Rylan" _characterName 0.1>>
<<narrative "I can't help myself... the sight is too tempting to resist. My heart races as I continue to stare, feeling a strange warmth building inside me.">>
<<set _randomChance = random(1, 100)>>
<<if _randomChance <= 30>>
<<if _characterName === "Liora">>
<<dialog "Liora" "faceshortpink" "Is something wrong, $humanName? You seem distracted...">>
<<elseif _characterName === "Serin">>
<<dialog "Serin" "face" "Hey, what are you staring at? Do I have something on me?">>
<<elseif _characterName === "Mariel">>
<<dialog "Mariel" "face" "$humanName, are you feeling alright? You look a bit flushed.">>
<<elseif _characterName === "Nimeria">>
<<dialog "Nimeria" "face" "Something caught your eye? I hope it's something pleasant...">>
<<elseif _characterName === "Seryk">>
<<dialog "Seryk" "face" "You okay there? You seem lost in thought.">>
<<else>>
<<dialog "Thalor" "face" "What's got you so distracted, $humanName?">>
<</if>>
<</if>>
<<else>>
<<narrative "I manage to tear my gaze away, feeling a bit embarrassed by my own thoughts. I should focus on the mission, not get distracted by such things.">>
<</if>>
<<continueBox "BlightwoodJourney" "Continue Exploring" "">>
<</widget>>
<</nobr>><<nobr>>
<<unset $dungeonProgress>>
<<unset $dungeonName>>
<<unset $dungeonEffect>>
<<unset $dungeonDifficulty>>
<<unset $dungeonMaxAreas>>
<<if $Chapter5BlightwoodVisit === true>>
<div class="passage-container rylan">
<<narrative "🔍 Mysterious Discovery 🔍">>
<<narrative "As the team prepares to leave the Blightwood, Mariel suddenly stops and points excitedly toward a shadowy area of the forest.">>
<<dialog "Mariel" "face" "Guys! Look over there! I think I see something!">>
<<narrative "The team gathers around, peering into the darkness. There's definitely something new - a structure or entrance that wasn't visible during your previous explorations.">>
<center><img src="images/landscapes/lustdungeonentrance.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "A hidden passage has revealed itself, beckoning you deeper into the mysteries of the Blightwood.">>
<<continueBox "Chapter5LustDungeonDiscovery" "Continue.." "">>
<<set $gold += 200>>
<<set $crystal += 10>>
</div>
<<elseif $blightwoodGoblinSeen !== true>>
<<set $blightwoodGoblinSeen = true>>
<div class="passage-container rylan">
<<narrative "🎉 Exploration Complete! 🎉">>
<<narrative "Something Unusual Ahead...">>
<<narrative "After thoroughly exploring the Blightwood, your team prepares to leave. But just as you're about to exit the forest, something catches your attention...">>
<center><img src="images/landscapes/blightwood.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "There's movement in the clearing ahead. Something... or someone...">>
<<continueBox "GoblinEncounter" "Investigate the strange figure" "">>
</div>
<<else>>
<div class="passage-container rylan">
<<narrative "🎉 Mission Complete! 🎉">>
<<narrative "Blightwood Patrol Successful">>
<<narrative "After thoroughly exploring the Blightwood, your team emerges tired but victorious. The patrol mission has been completed successfully, though you found no sign of the mysterious talking goblin 'Effnain' again.">>
<center><img src="images/landscapes/guildhall.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The team returns to the guild hall to report your findings to Elena.">>
<<continueBox "MorningChoices" "Return home..." "">>
<<set $gold += 200>>
</div>
<</if>>
<</nobr>>
<<pov "rylan" "default3.mp3">><<nobr>>
<div class="passage-container liora">
<<narrative "💪 Helping Hand 💪">>
<center><img src="images/landscapes/blockage.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The path is blocked by fallen trees and large rocks. The team needs to work together to clear the way forward.">>
<<if $serykxliorantr === true || $serykxliorantr === "stage1">>
<<dialog "Seryk" "face" "Little Bird, stay back while I clear this path for you.">>
<<narrative "The others continue ahead, leaving Liora completely alone with Seryk. The isolation creates an intimate atmosphere as he begins his display of strength.">>
<center><img src="images/seryk/chapter2/stretching.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Seryk approaches the heavy debris wearing only his loose boxers, his impressive physique naturally visible. He rolls his shoulders and stretches, preparing to work. There's nothing calculated about his appearance - he's simply comfortable in his own skin.">>
<<dialog "Seryk" "face" "Little Bird, why don't you rest over there? This debris looks heavy, and I don't want you getting hurt. I've got the strength to handle this safely.">>
<<set _currentMuscleFetish = $liora_muscleFetish || 0>>
<<set _currentSmellFetish = $liora_smellFetish || 0>>
<<quickFetishRoll "Liora" "MuscleFetish" "Seryk" 0.5>>
<<if _fetishSuccess>>
<<if _currentMuscleFetish >= 3.0>>
<<narrative "My obsession with powerful muscles reaches a fever pitch. Seryk's near-naked body in just those loose boxers is absolutely perfect - every ridge, every curve of his powerful physique makes me feel weak with desire. I remember the taste of his saliva... wait, why am I thinking about that?">>
<<changeLust "Liora" 10>>
<<changeAttraction "Liora" "Seryk" 5>>
<<changeFetish "Liora" "MuscleFetish" 0.6>>
<<dialog "Liora" "facewet" "Seryk... seeing you like this... it's bringing back memories of when we... when you helped me and I tasted... No, I shouldn't be thinking about that now.">>
<<elseif _currentMuscleFetish >= 1.5>>
<<narrative "My growing appreciation for muscular bodies makes Seryk's nearly naked display incredibly captivating. The memory of our kiss flashes through my mind - how his saliva tasted, how it made me feel. Why do I keep thinking about that?">>
<<changeLust "Liora" 8>>
<<changeAttraction "Liora" "Seryk" 4>>
<<changeFetish "Liora" "MuscleFetish" 0.5>>
<<dialog "Liora" "facewet" "Your body is incredible, Seryk. It reminds me of when you were so close to me before... when I could taste your...">>
<<else>>
<<narrative "I find myself unexpectedly drawn to Seryk's impressive physique barely covered by his boxers. Memories surface unbidden - the kiss we shared, how I actually drank his saliva multiple times and... enjoyed it? What's wrong with me?">>
<<changeLust "Liora" 6>>
<<changeAttraction "Liora" "Seryk" 3>>
<<changeFetish "Liora" "MuscleFetish" 0.4>>
<<dialog "Liora" "faceembarrassedshortpink" "I... I keep remembering when we kissed, when I swallowed your saliva. Why did I like it so much? Why do I want more?">>
<</if>>
<<else>>
<<narrative "I try to focus on something else, but seeing Seryk in just his boxers brings back confused memories of our intimate moments. The way his saliva tasted... why can't I stop thinking about it?">>
<<changeLust "Liora" 4>>
<<changeAttraction "Liora" "Seryk" 2>>
<<changeFetish "Liora" "MuscleFetish" 0.2>>
<</if>>
<center><img src="images/seryk/sweathard.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Seryk begins lifting the heavy stones with impressive ease, his powerful body working efficiently. His muscles flex naturally with each movement, and soon a light sheen of sweat appears on his skin from the exertion.">>
<<dialog "Seryk" "face" "Sorry about working up a sweat, Little Bird. These stones are heavier than they look! Are you feeling okay over there? You look a bit flushed.">>
<<narrative "As Seryk works, I find myself unable to look away. The beads of sweat on his skin catch my attention, and strangely... they look almost delicious? What is wrong with me? Why am I having such strange thoughts? I remember when I tasted his saliva... it was so sweet...">>
<<quickFetishRoll "Liora" "SmellFetish" "Seryk" 0.5>>
<<if _fetishSuccess>>
<<if _currentSmellFetish >= 3.0>>
<<narrative "Seryk's natural masculine scent completely overwhelms my senses. I find myself breathing deeper unconsciously, almost drunk on his musky aroma. The smell combines with the memory of his taste - his saliva, so sweet and addictive. I want to get closer... God, what is happening to me?">>
<<changeLust "Liora" 8>>
<<changeFetish "Liora" "SmellFetish" 0.6>>
<<dialog "Liora" "facewet" "Seryk... your scent reminds me of when you helped me before, when I tasted... I keep having these strange thoughts. I shouldn't feel this way, but I can't stop myself...">>
<<elseif _currentSmellFetish >= 1.5>>
<<narrative "My growing fascination with Seryk's scent makes me unconsciously breathe deeper. The sight of his sweat triggers memories of how good his saliva tasted. These thoughts confuse and overwhelm me.">>
<<changeLust "Liora" 6>>
<<changeFetish "Liora" "SmellFetish" 0.4>>
<<dialog "Liora" "facewet" "Your scent... it makes me remember when you saved me, when I tasted you. I'm having such strange thoughts... why do I feel this way?">>
<<else>>
<<narrative "Seryk's natural masculine scent is unlike anything I've experienced. Combined with memories of when he helped me, I'm having the strangest urges. I remember how his saliva tasted... and now I'm wondering about other things. What's wrong with me?">>
<<changeLust "Liora" 5>>
<<changeFetish "Liora" "SmellFetish" 0.3>>
<<dialog "Liora" "faceembarrassedshortpink" "Your scent... it's making me think about when you saved me and I tasted... I keep having these confusing thoughts...">>
<</if>>
<<else>>
<<narrative "I try to focus on the work being done, but the sight of Seryk's sweaty body keeps bringing back memories of tasting his saliva. Why do I keep thinking about how delicious his sweat looks?">>
<<changeLust "Liora" 3>>
<<changeFetish "Liora" "SmellFetish" 0.1>>
<</if>>
<<dialog "Seryk" "face" "Little Bird, are you feeling alright? You look flushed and your breathing seems heavy. Maybe you should sit down? I don't want you overheating in this weather.">>
<center><img src="images/liora/facewet.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "When Seryk finishes clearing the path, he notices I'm still breathing heavily and looking flushed. His expression shows genuine concern as he approaches, wiping sweat from his brow.">>
<<dialog "Seryk" "face" "Little Bird, you're really overheated. Here, let me check if you have a fever. I'm worried about you.">>
<<narrative "Seryk gently places the back of his hand against my forehead, then carefully cups my face to check my temperature. His touch is tender and concerned, though I can smell his natural scent even stronger now that he's close.">>
<<quickFetishRoll "Liora" "SubmissionFetish" "Seryk" 0.4>>
<<if _fetishSuccess>>
<<narrative "Being so close to Seryk's protective presence, feeling his gentle hands on my skin while breathing in his natural scent, awakens something deep inside me. I feel safe and cared for, and somehow... I want to let him take care of me completely.">>
<<changeLust "Liora" 6>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<dialog "Liora" "facewet" "When you touch me like this... I feel so safe with your strength protecting me. I want... I want to let you take care of me.">>
<<changeLust "Seryk" 4>>
<<changeAttraction "Seryk" "Liora" 2>>
<<else>>
<<narrative "Seryk's gentle touch is comforting yet overwhelming. I don't understand why his presence affects me so powerfully, but I feel safe with him.">>
<<changeLust "Liora" 4>>
<<changeLust "Seryk" 2>>
<</if>>
<<narrative "Seryk uses his thumbs to gently wipe away the sweat from my forehead. His touch lingers longer than necessary, and I find myself leaning into his strong hands unconsciously.">>
<<dialog "Seryk" "face" "Little Bird, you're trembling... Are you still feeling unwell? I can step back if I'm making you uncomfortable. I just want to make sure you're okay.">>
<center><img src="images/liora/blightwood/seryktouchface.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Seryk remains close, still checking on me, but I notice he seems affected too. His breathing has changed, and there's a slight flush to his cheeks. Neither of us expected this kind of reaction.">>
<<dialog "Seryk" "face" "Little Bird... I can feel your heart racing. Mine is too, actually. I don't understand what's happening between us. This feeling is... new to me.">>
<<narrative "Almost unconsciously, I find myself breathing deeper, letting Seryk's masculine aroma wash over me. His demonic pheromones seem to awaken primal desires I never knew existed.">>
<<quickFetishRoll "Liora" "SalivaFetish" "Seryk" 0.3>>
<<if _fetishSuccess>>
<<narrative "As Seryk speaks, I find myself drawn to his mouth, remembering the taste of his saliva from when he helped me before. When he unconsciously licks his lips, I feel an unexpected surge of longing.">>
<<changeLust "Liora" 5>>
<<changeFetish "Liora" "SalivaFetish" 0.2>>
<<dialog "Liora" "facewet" "I... I keep remembering when you saved me, when I tasted... I can't stop thinking about it.">>
<<dialog "Seryk" "faceembarrassed" "I... I keep thinking about that too, Little Bird. I didn't expect it to affect me this way. Your reactions... they make me feel things I've never felt before.">>
<</if>>
<<narrative "Seryk's hands move gently to my shoulders, his touch tender and supportive. The contact sends warm sensations through my body, and I feel both comforted and excited by his closeness.">>
<<dialog "Liora" "facewet" "Seryk... I... thank you for checking on me. I feel better now that you're here.">>
<<narrative "As our intimate moment continues, Seryk slowly steps back, looking as confused and affected as I feel. His expression shows he's experiencing something new and unexpected too.">>
<<dialog "Seryk" "faceembarrassed" "Little Bird... are you feeling better now? We should... we should catch up with the others.">>
<<changeLust "Seryk" 5>>
<<changeAffection "Liora" "Seryk" 3>>
<<changeAttraction "Seryk" "Liora" 3>>
<<else>>
<<narrative "Everyone works together to clear the blockage. I find myself working alongside Liora, both of us struggling with some of the heavier debris.">>
<<dialog "Liora" "faceworried" "$humanName, this rock is too heavy for me alone. Can you help me lift it?">>
<center><img src="images/liora/sweathard.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "We work together to move the debris, our bodies pressed close as we coordinate our efforts. I can feel the warmth from her body and catch her feminine scent as we work.">>
<<quickFetishRoll "Rylan" "SmellFetish" "Liora" 0.3>>
<<if _fetishSuccess>>
<<narrative "Working so close to Liora, I become aware of her natural scent - a mix of feminine sweetness and the light sweat from our efforts. It's surprisingly intoxicating.">>
<<changeLust "Rylan" 5>>
<<changeLust "Liora" 3>>
<<changeAttraction "Rylan" "Liora" 2>>
<<dialog "Liora" "faceembarrassedshortpink" "I'm sorry if I smell from the work... being so close to you makes me nervous...">>
<<else>>
<<narrative "We work efficiently together, though I can't help but notice how graceful Liora remains even during physical labor.">>
<<changeLust "Rylan" 2>>
<<changeAttraction "Rylan" "Liora" 1>>
<</if>>
<<changeAffection "Rylan" "Liora" 1>>
<<changeAffection "Liora" "Rylan" 1>>
<</if>>
<<if $serykxliorantr === true || $serykxliorantr === "stage1">>
<<narrative "As we prepare to continue forward, I can't help but notice how Liora keeps glancing back toward Seryk. The intimate encounter has clearly affected her deeply, and I sense something fundamental has changed between them. Her breathing is still slightly uneven, and there's a new look in her eyes - a mixture of confusion and awakening desire.">>
<<dialog "Liora" "facewet" "I... I can still smell his scent on my skin. What is happening to me? I've never felt anything like this before...">>
<<else>>
<<narrative "With the path cleared through our teamwork, we can continue forward through the dungeon. The cooperative effort has brought us closer together as a team.">>
<</if>>
</div>
<<continueBox "BlightwoodContinue" "Continue Exploring" "">>
<</nobr>>
<<pov "liora" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<if $nimeriaxrylancontent == true>>
<<narrative "💕 Intoxicating Scent 💕">>
<center><img src="images/landscapes/secludedclearing.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The group splits up to cover more ground efficiently. I find myself alone with Nimeria in a secluded clearing near a small spring. She seems to have planned this moment.">>
<<dialog "Nimeria" "face" "$humanName, I've been walking all day and I'm quite... sweaty. I need to freshen up a bit. Would you mind staying close? I feel safer when you're watching over me.">>
<center><img src="images/nimeria/blightwood/1.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Nimeria begins loosening her white dress, explaining she needs to clean the areas where she's been sweating. As she lifts her arms to adjust the fabric, her underarms become exposed, revealing smooth pale skin.">>
<<dialog "Nimeria" "face" "I hope you don't mind, $humanName, but I really need to clean properly. I've been sweating quite a bit... You can smell it, can't you? My natural scent?">>
<<narrative "Even from this distance, I can detect Nimeria's intoxicating feminine scent - a mixture of sweet perfume and her natural musk. There's something about her aroma that seems almost magical, drawing me in unconsciously.">>
<<quickFetishRoll "Rylan" "ArmpitFetish" "Nimeria" 0.4>>
<<if _fetishSuccess>>
<<narrative "I find myself completely captivated by the sight of Nimeria's exposed underarms. The smooth, pale skin and the intimate nature of seeing this usually hidden part of her body awakens something powerful in me.">>
<<changeLust "Rylan" 6>>
<<changeFetish "Rylan" "ArmpitFetish" 0.3>>
<<changeAttraction "Rylan" "Nimeria" 3>>
<<dialog "Nimeria" "face" "I can see you're fascinated by what I'm showing you, $humanName. There's something special about seeing someone's most intimate areas, isn't there?">>
<<else>>
<<narrative "I try to give Nimeria privacy while she cleans herself, though I can't help but notice her graceful movements and enticing scent.">>
<<changeLust "Rylan" 3>>
<<changeAttraction "Rylan" "Nimeria" 1>>
<</if>>
<<quickFetishRoll "Rylan" "SmellFetish" "Nimeria" 0.4>>
<<if _fetishSuccess>>
<<narrative "Nimeria's scent is incredibly intoxicating. There's something about her natural aroma that seems to bypass my rational mind and speak directly to my primal desires. I find myself breathing deeper, wanting more.">>
<<changeLust "Rylan" 5>>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<<dialog "Nimeria" "face" "I can see you breathing differently, $humanName. My scent affects you, doesn't it? That's perfectly natural...">>
<</if>>
<center><img src="images/nimeria/blightwood/2.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Nimeria deliberately positions herself so I have a clear view as she begins washing. She lifts one arm high above her head, completely exposing her underarm as she uses a wet cloth to clean the smooth skin. Her movements are slow and deliberate.">>
<<dialog "Nimeria" "face" "I need to be very thorough, $humanName. These areas accumulate so much scent... Can you smell how intensely I've been sweating? It's quite... overwhelming, isn't it?">>
<<narrative "As she washes, Nimeria's intoxicating aroma becomes even stronger. The combination of her natural musk and the water seems to intensify her scent, creating an almost hypnotic effect that makes my head swim with desire.">>
<<quickFetishRoll "Rylan" "ArmpitFetish" "Nimeria" 0.5>>
<<if _fetishSuccess>>
<<narrative "Watching Nimeria wash her exposed underarms is incredibly erotic. The intimate nature of the act, combined with the perfect view of her smooth, pale skin, creates an overwhelming surge of desire. I can't look away from this private, sensual display.">>
<<changeLust "Rylan" 8>>
<<changeFetish "Rylan" "ArmpitFetish" 0.4>>
<<changeAttraction "Rylan" "Nimeria" 4>>
<<dialog "Nimeria" "face" "I can see how fascinated you are by this intimate view, $humanName. There's something so personal about watching someone cleanse their most private areas...">>
<<else>>
<<narrative "I try to give Nimeria privacy for her washing, though her deliberate positioning makes it clear she wants me to watch her intimate cleansing ritual.">>
<<changeLust "Rylan" 4>>
<<changeAttraction "Rylan" "Nimeria" 2>>
<</if>>
<<quickFetishRoll "Rylan" "SmellFetish" "Nimeria" 0.5>>
<<if _fetishSuccess>>
<<narrative "The washing seems to release even more of Nimeria's intoxicating scent into the air. Her natural aroma is incredibly powerful and seductive, making me feel drunk with desire. I find myself leaning closer unconsciously, desperate to breathe in more of her essence.">>
<<changeLust "Rylan" 6>>
<<changeFetish "Rylan" "SmellFetish" 0.4>>
<<dialog "Nimeria" "face" "I can see you're getting closer, $humanName. My scent is quite potent, isn't it? Feel free to breathe it in deeply...">>
<</if>>
<center><img src="images/nimeria/blightwood/3.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Nimeria raises both arms above her head in a deliberate display, fully exposing both of her smooth underarms. She holds this position longer than necessary, clearly wanting me to have the perfect view of her most intimate areas.">>
<<dialog "Nimeria" "face" "$humanName, could you come closer and check? I'm worried I still smell bad after all that walking. Can you tell if the cleaning helped?">>
<<narrative "The invitation is too tempting to resist. As I move closer, Nimeria's powerful aroma washes over me like a tidal wave. Her scent is incredibly potent - a heady mixture of feminine musk and something almost magical that seems to bypass rational thought and speak directly to my primal desires.">>
<<quickFetishRoll "Rylan" "ArmpitFetish" "Nimeria" 0.6>>
<<if _fetishSuccess>>
<<narrative "Being this close to Nimeria's exposed underarms is overwhelming. The smooth, pale skin and the intimate nature of this private display creates an incredible surge of arousal. I feel completely mesmerized by the sight and can't tear my eyes away from her perfect armpits.">>
<<changeLust "Rylan" 10>>
<<changeFetish "Rylan" "ArmpitFetish" 0.5>>
<<changeAttraction "Rylan" "Nimeria" 5>>
<<dialog "Nimeria" "face" "Perfect... I can see you're completely captivated by this view, $humanName. There's something so erotic about showing off my most intimate areas, isn't there?">>
<<else>>
<<narrative "I try to maintain some composure despite Nimeria's deliberate and intimate display, though her proximity and scent make concentration nearly impossible.">>
<<changeLust "Rylan" 6>>
<<changeAttraction "Rylan" "Nimeria" 3>>
<</if>>
<<quickFetishRoll "Rylan" "SmellFetish" "Nimeria" 0.6>>
<<if _fetishSuccess>>
<<narrative "Nimeria's scent at this distance is absolutely intoxicating. Her natural aroma seems to have an almost hypnotic quality that makes me feel drunk with desire. I find myself breathing deeply, desperate to absorb more of her essence, completely under the spell of her powerful feminine musk.">>
<<changeLust "Rylan" 8>>
<<changeFetish "Rylan" "SmellFetish" 0.5>>
<<dialog "Nimeria" "face" "That's it... breathe me in deeply, $humanName. Let my scent fill your lungs completely. Can you feel how it affects you? How it makes you want things you've never imagined?">>
<</if>>
<<narrative "Nimeria lowers her arms slightly, but keeps them positioned so her underarms remain exposed. She seems to enjoy the effect her intimate display is having on me, a knowing smile playing across her lips.">>
<<dialog "Nimeria" "face" "Oh! You look a little dizzy, $humanName. Are you feeling alright? Maybe I do still smell quite strong after all that walking...">>
<center><img src="images/nimeria/blightwood/4.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Before finishing our private moment, Nimeria has one final surprise. She deliberately moves even closer, positioning her underarms directly in front of my face. Her intoxicating scent is now overwhelming at this distance.">>
<<dialog "Nimeria" "face" "Before we go, $humanName, could you check one more time? I just want to make sure I'm presentable for the others. Take a deep breath and tell me if I still smell too strong.">>
<<narrative "At this close distance, Nimeria's aroma is absolutely overwhelming. My head spins with intoxication as her magical scent completely dominates my senses. I feel like I'm drowning in her feminine essence.">>
<<quickFetishRoll "Rylan" "SmellFetish" "Nimeria" 0.7>>
<<if _fetishSuccess>>
<<narrative "I can't resist breathing deeply, letting Nimeria's intoxicating scent completely overwhelm me. Her aroma is like a drug, creating an almost euphoric sensation that makes me crave more. I feel completely addicted to her essence.">>
<<changeLust "Rylan" 12>>
<<changeFetish "Rylan" "SmellFetish" 0.6>>
<<changeFetish "Rylan" "ArmpitFetish" 0.4>>
<<dialog "Nimeria" "face" "Perfect... I can see you're completely intoxicated by my scent now. You'll think about this moment every time you close your eyes, won't you?">>
<<else>>
<<narrative "Even trying to resist, Nimeria's powerful scent at this close range is impossible to ignore. My body responds despite my attempts at self-control.">>
<<changeLust "Rylan" 8>>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<</if>>
<<narrative "After what feels like an eternity of intoxicating bliss, Nimeria finally steps back. She adjusts her white dress and smooths down her black pantyhose, looking perfectly composed despite the intimate encounter.">>
<<dialog "Nimeria" "face" "That was quite refreshing! I hope you enjoyed our little... cleaning session, $humanName. We should do this again sometime. Now, shall we rejoin the others?">>
<<narrative "As we prepare to leave the clearing, I find myself completely dazed by the intimate encounter. The memory of Nimeria's intoxicating scent and the sight of her perfect underarms will haunt my thoughts for days to come.">>
<<changeLust "Nimeria" 5>>
<<changeAttraction "Nimeria" "Rylan" 3>>
<<changeFetish "Nimeria" "ExhibitionismFetish" 0.3>>
<<continueBox "BlightwoodContinue" "Continue Exploring" "">>
<<else>>
<<narrative "🌿 Peaceful Exploration 🌿">>
<<narrative "Botanical Discovery">>
<center><img src="images/landscapes/secludedclearing.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The group splits up to cover more ground efficiently. I find myself with Nimeria in a secluded clearing near a small spring, examining some unusual plants that seem to be thriving despite the blight.">>
<<dialog "Nimeria" "face" "Look at these fascinating plants, $humanName! They seem to be naturally resistant to the blight. This could be valuable information for the guild's research.">>
<<narrative "We spend time cataloguing the unusual flora, taking notes on their resistance to the toxic environment. It's peaceful work, and Nimeria proves to be an excellent research partner.">>
<<dialog "Nimeria" "face" "Your knowledge of plants is quite impressive, $humanName. I enjoy working with someone who appreciates the natural world as much as I do.">>
<<changeAffection "Nimeria" "Rylan" 1>>
<<changeAffection "Rylan" "Nimeria" 1>>
<<continueBox "BlightwoodContinue" "Continue Exploring" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "💆 Muscle Strain 💆">>
<center><img src="images/landscapes/restingspot.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "After walking for hours through difficult terrain, Liora suddenly stumbles and cries out in pain. She's pulled something in her leg and can barely walk.">>
<<dialog "Liora" "faceworried" "Ow! My thigh muscle... I think I've strained it badly. I can't put weight on this leg...">>
<<narrative "The others scout ahead for a safe path while I help Liora to a secluded resting spot where she can recover.">>
<center><img src="images/liora/blightwood/thigh2.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "faceembarrassedshortpink" "$humanName... I'm going to need to lift my skirt so you can massage the muscle properly. This is so embarrassing...">>
<<narrative "Liora hesitantly lifts her skirt to expose her injured thigh. Her skin is pale and soft, and I can see the tense muscle that needs attention.">>
<<quickFetishRoll "Rylan" "ThighFetish" "Liora" 0.4>>
<<if _fetishSuccess>>
<<narrative "As my hands work on Liora's injured thigh, I find myself captivated by the smoothness of her skin and the intimate nature of our position. Her leg feels incredibly soft under my touch.">>
<<changeLust "Rylan" 6>>
<<changeLust "Liora" 4>>
<<changeAttraction "Rylan" "Liora" 3>>
<<dialog "Liora" "facewet" "Your hands... they feel so warm on my skin. The massage is helping, but it's also making me feel... strange...">>
<<quickFetishRoll "Liora" "SubmissionFetish" "Rylan" 0.3>>
<<if _fetishSuccess>>
<<narrative "As I continue the massage, Liora's breathing becomes heavier. She seems to be enjoying the intimate contact more than just the therapeutic benefits.">>
<<changeLust "Liora" 4>>
<<changeFetish "Liora" "SubmissionFetish" 0.2>>
<<dialog "Liora" "faceembarrassedshortpink" "Please... don't stop. Your touch is making the pain go away, but also making me feel things I don't understand...">>
<<changeAffection "Liora" "Rylan" 2>>
<</if>>
<<else>>
<<narrative "I focus on the therapeutic aspects of the massage, working to relieve the tension in Liora's injured muscle while trying not to think about the intimate nature of the situation.">>
<<changeLust "Rylan" 3>>
<<changeLust "Liora" 2>>
<<changeAttraction "Rylan" "Liora" 1>>
<</if>>
<<narrative "After several minutes of careful massage, Liora's muscle relaxes and the pain subsides. She's able to stand again, though she remains close to me.">>
<<dialog "Liora" "face" "Thank you, $humanName. Your gentle touch... I'll remember how safe you made me feel.">>
<<changeAffection "Liora" "Rylan" 1>>
<<changeFetish "Rylan" "ThighFetish" 0.1>>
<<continueBox "BlightwoodContinue" "Continue Exploring" "">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "💪 Intensive Training 💪">>
<center><img src="images/landscapes/trainingground.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "We discover an ancient training ground hidden in the forest. The others scout ahead, leaving me completely alone with Seryk. He grins as he surveys the spacious area, clearly having ideas for intensive training.">>
<<if ($rylan_GayValue || 0) > 0.5 && $allowGayContent === true>>
<<dialog "Seryk" "facegrin" "Perfect timing, bro. We've got this whole training ground to ourselves, and your combat technique definitely needs some... hands-on instruction. As you can see, I'm already dressed for serious training - just my boxers. You should match my level of preparation.">>
<center><img src="images/seryk/boxers.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Seryk stands before me wearing only his loose boxers, his incredibly impressive physique on full display. His muscles are perfectly defined, with broad shoulders tapering to a narrow waist. His chest is powerful and masculine, covered with a light sheen of sweat from our journey.">>
<<dialog "Seryk" "facegrin" "Come on, bro. Don't be shy - lose the shirt and match my style. We need full range of motion for this training. I want to see exactly how your body moves so I can correct your form properly.">>
<<narrative "Somewhat nervously, I remove my shirt as well. Seryk's eyes openly appraise my smaller, leaner frame. There's something predatory yet appreciative in his gaze that makes my heart race. His near-naked state in just those loose boxers is incredibly distracting.">>
<<set _currentMuscleFetish = $rylan_MuscleFetish || 0>>
<<set _currentGayValue = $rylan_GayValue || 0>>
<<quickFetishRoll "Rylan" "MuscleFetish" "Seryk" 0.6>>
<<if _fetishSuccess>>
<<if _currentMuscleFetish >= 3.0>>
<<narrative "My existing obsession with powerful muscles reaches fever pitch seeing Seryk's perfect physique so close. Every ridge, every curve of his powerful body seems designed to drive me wild with desire. I can barely think straight.">>
<<changeLust "Rylan" 10>>
<<changeAttraction "Rylan" "Seryk" 5>>
<<changeFetish "Rylan" "MuscleFetish" 0.6>>
<<dialog "Seryk" "facegrin" "I can see exactly how much you appreciate what you're looking at, bro. Your body doesn't lie - that hungry stare tells me everything I need to know. You like seeing me in just my boxers, don't you?">>
<<elseif _currentMuscleFetish >= 1.5>>
<<narrative "My growing appreciation for muscular bodies makes Seryk's display absolutely captivating. I find myself studying every detail of his powerful physique with fascination and growing arousal.">>
<<changeLust "Rylan" 8>>
<<changeAttraction "Rylan" "Seryk" 4>>
<<changeFetish "Rylan" "MuscleFetish" 0.5>>
<<dialog "Seryk" "facegrin" "You're really taking your time looking me over, bro. I like a man who appreciates quality craftsmanship when he sees it.">>
<<else>>
<<narrative "I find myself unexpectedly mesmerized by Seryk's powerful build. There's something incredibly appealing about his raw masculine strength that awakens new feelings in me.">>
<<changeLust "Rylan" 6>>
<<changeAttraction "Rylan" "Seryk" 3>>
<<changeFetish "Rylan" "MuscleFetish" 0.4>>
<<dialog "Seryk" "face" "I can see this is awakening something new in you, bro. That's perfectly natural - demons tend to have that effect on people.">>
<</if>>
<<else>>
<<narrative "I try to focus on the training aspect rather than Seryk's impressive physique, though avoiding looking at his powerful build proves nearly impossible.">>
<<changeLust "Rylan" 4>>
<<changeAttraction "Rylan" "Seryk" 2>>
<<changeFetish "Rylan" "MuscleFetish" 0.2>>
<</if>>
<center><img src="images/seryk/chapter2/stretching.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Seryk begins demonstrating various combat stances, his muscles flexing and rippling with each movement. Soon, sweat begins to glisten on his skin, creating an even more mesmerizing display of raw masculine power.">>
<<dialog "Seryk" "face" "Now it's your turn, bro. But first I need to correct your posture. Stand in front of me and let me position you properly from behind.">>
<<narrative "Seryk moves directly behind me, his powerful chest pressing against my back. His muscular arms come around me to adjust my stance, and I can feel the heat radiating from his body. His masculine scent fills my nostrils.">>
<<quickFetishRoll "Rylan" "SmellFetish" "Seryk" 0.6>>
<<if _fetishSuccess>>
<<set _currentSmellFetish = $rylan_SmellFetish || 0>>
<<if _currentSmellFetish >= 3.0>>
<<narrative "Seryk's intoxicating masculine scent completely overwhelms my senses. The combination of his natural musk and fresh sweat is like a drug to me. I find myself leaning back against him unconsciously, desperate to breathe in more of his essence.">>
<<changeLust "Rylan" 8>>
<<changeFetish "Rylan" "SmellFetish" 0.6>>
<<dialog "Seryk" "facegrin" "That's it, bro... I can feel how much you're enjoying my scent. You're practically melting against me. My demon pheromones have quite an effect, don't they?">>
<<elseif _currentSmellFetish >= 1.5>>
<<narrative "My growing fascination with masculine scents makes Seryk's aroma incredibly appealing. I find myself breathing deeper, savoring the intoxicating smell of his powerful body.">>
<<changeLust "Rylan" 6>>
<<changeFetish "Rylan" "SmellFetish" 0.4>>
<<dialog "Seryk" "face" "You're breathing quite deeply back there, bro. I can tell you're enjoying being this close to me. My natural scent has that effect.">>
<<else>>
<<narrative "Seryk's natural masculine scent is incredibly potent this close. There's something about his aroma that seems to bypass my rational mind and awaken primal desires I never knew existed.">>
<<changeLust "Rylan" 5>>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<<dialog "Seryk" "face" "I can feel your body responding to mine, bro. That's perfectly natural - demons have natural pheromones that affect others.">>
<</if>>
<<else>>
<<narrative "I try to focus on the training position rather than how good Seryk smells this close, though his masculine presence is impossible to ignore.">>
<<changeLust "Rylan" 3>>
<<changeFetish "Rylan" "SmellFetish" 0.1>>
<</if>>
<<narrative "Seryk's powerful hands grip my arms and shoulders, adjusting my position with firm, confident touches. His skin is warm and slightly damp with sweat, and I can feel his strength in every contact.">>
<<dialog "Seryk" "face" "Feel how I'm positioning your body, bro. Your stance needs to be wider, more... open. Let me guide you into the proper form.">>
<<narrative "Seryk suggests we move on to grappling techniques. Before I can react, he smoothly takes me down to the training mats, pinning me beneath his powerful body. His weight presses down on me as he demonstrates proper submission holds.">>
<center><img src="images/seryk/blightwood/1.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "facegrin" "This is how you establish dominance, bro. Feel my body controlling yours completely. Your opponent should know who's in charge from the moment you pin them down.">>
<<narrative "Pinned beneath Seryk's incredibly powerful physique, I'm completely overwhelmed by the intimate contact. His sweat drips down onto my chest as he holds me in place, and I can feel his muscles flexing against me with every movement.">>
<<quickFetishRoll "Rylan" "SubmissionFetish" "Seryk" 0.6>>
<<if _fetishSuccess>>
<<narrative "Being completely dominated and controlled by Seryk's superior strength awakens something deep inside me. I find myself enjoying the helpless position far more than I should, craving his powerful dominance over my weaker body.">>
<<changeLust "Rylan" 8>>
<<changeFetish "Rylan" "SubmissionFetish" 0.5>>
<<changeAttraction "Rylan" "Seryk" 4>>
<<dialog "Seryk" "facegrin" "I can feel you relaxing under me, bro. You like being controlled by someone stronger, don't you? There's no shame in enjoying submission to superior power.">>
<<else>>
<<narrative "I try to focus on the technical aspects of the grappling technique, though being pinned so intimately beneath Seryk's powerful body makes concentration nearly impossible.">>
<<changeLust "Rylan" 5>>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<</if>>
<<narrative "Seryk shifts his position, his muscular thighs straddling my waist as he demonstrates different control holds. The intimate positioning and his overwhelming physical presence make my heart race with confusing new desires.">>
<center><img src="images/seryk/blightwood/4.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "face" "Now I'm going to show you how to reverse this position, bro. But first, I want you to really feel what it's like to be completely at someone else's mercy.">>
<<narrative "As Seryk adjusts his hold, I become acutely aware of something pressing against my body through his loose boxers. He's getting aroused from the intimate contact, and I can feel his hardness growing against me. Unconsciously, he begins making small, rhythmic movements against my body.">>
<<narrative "The feeling of Seryk's arousal pressing against me sends shockwaves through my entire being. My own body responds involuntarily, and I find myself completely overwhelmed by the intimate contact. This is so far beyond anything I ever imagined experiencing with another man.">>
<<narrative "Seryk seems lost in the moment, his breathing becoming heavier as he unconsciously grinds against me. His powerful hips move in slow, deliberate motions that send waves of confusing pleasure through both of us. This clearly wasn't part of his training plan.">>
<center><img src="images/seryk/blightwood/2.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "faceembarrassed" "Shit... I... *suddenly realizes what he's doing and stops abruptly* Sorry, bro.">>
<<narrative "Seryk pulls back slightly, his face flushed with embarrassment and confusion. The bulge in his boxers is still clearly visible, and we both struggle to process what just happened between us. Neither of us expected these intense physical reactions.">>
<<dialog "Rylan" "faceembarrassed" "It's... it's okay... I...">>
<<changeLust "Rylan" 10>>
<<changeLust "Seryk" 8>>
<<changeAttraction "Seryk" "Rylan" 4>>
<<changeAttraction "Rylan" "Seryk" 4>>
<<changeFetish "Seryk" "GayValue" 0.3>>
<<changeFetish "Rylan" "GayValue" 0.4>>
<center><img src="images/seryk/blightwood/5.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Seryk leans down close, his face inches from mine as he demonstrates a chokehold technique. His breath is warm against my skin, and I can see every detail of his handsome features. Sweat from his forehead drips down onto my face.">>
<<dialog "Seryk" "face" "This close contact is essential for proper technique, bro. You need to get comfortable being this intimate with an opponent... feeling their body heat, breathing their scent.">>
<<narrative "The intense eye contact and physical closeness creates an incredibly charged atmosphere. I find myself completely lost in Seryk's dark eyes, my breathing becoming shallow and rapid as unfamiliar desires course through me.">>
<center><img src="images/seryk/blightwood/3.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<quickFetishRoll "Rylan" "GayValue" "Seryk" 0.4>>
<<if _fetishSuccess>>
<<if _currentGayValue >= 3.0>>
<<narrative "My established attraction to men reaches its peak in this moment. Seryk's masculine beauty and powerful presence completely overwhelm me. I want him desperately - every fiber of my being craves his touch, his dominance, his possession of my body.">>
<<changeLust "Rylan" 12>>
<<changeFetish "Rylan" "GayValue" 0.6>>
<<changeAttraction "Rylan" "Seryk" 6>>
<<dialog "Seryk" "facegrin" "I can see exactly what you're thinking, bro. Your eyes are full of desire... you want this as much as I do. There's nothing wrong with embracing what you truly crave.">>
<<elseif _currentGayValue >= 1.5>>
<<narrative "My growing attraction to masculine beauty makes this intimate moment incredibly intense. Seryk's powerful presence and closeness awakens desires I'm still learning to understand and accept.">>
<<changeLust "Rylan" 9>>
<<changeFetish "Rylan" "GayValue" 0.5>>
<<changeAttraction "Rylan" "Seryk" 5>>
<<dialog "Seryk" "face" "I can feel how much this affects you, bro. These feelings you're having... they're completely natural. Let yourself explore what you truly want.">>
<<else>>
<<narrative "This intimate closeness with Seryk awakens completely new feelings in me. His masculine power and beauty create desires I never imagined I could feel. Something fundamental is changing inside me.">>
<<changeLust "Rylan" 7>>
<<changeFetish "Rylan" "GayValue" 0.4>>
<<changeAttraction "Rylan" "Seryk" 4>>
<<dialog "Seryk" "face" "I can see something awakening in you, bro. Don't be afraid of these new feelings - they're part of discovering who you really are.">>
<</if>>
<<else>>
<<narrative "The intimate training position creates confusing feelings I'm not ready to examine. I try to focus on the technique rather than the overwhelming closeness.">>
<<changeLust "Rylan" 4>>
<<changeFetish "Rylan" "GayValue" 0.2>>
<</if>>
<center><img src="images/seryk/blightwood/5.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "After what feels like an eternity of intense physical contact, Seryk finally releases me and sits back. Both of us are breathing heavily, our bodies glistening with sweat from the intensive training session. The air between us feels charged with unspoken possibilities.">>
<<dialog "Seryk" "faceembarrassed" "That was... intense training, bro. Maybe we got a bit too into it. *clears throat awkwardly* Your technique definitely improved though.">>
<<narrative "I struggle to find words, my mind reeling from the intimate encounter. The memory of Seryk's powerful body dominating mine, his scent, his touch - it all swirls together in a confusing mix of desire and awakening.">>
<<dialog "Rylan" "faceembarrassed" "Yeah... definitely different from what I expected. *avoids eye contact* I should probably... we should catch up with the others.">>
<<narrative "Seryk reaches out and places a gentle but firm hand on my shoulder, his touch sending electric sensations through my body. His dark eyes hold mine with an intensity that makes my heart race.">>
<<dialog "Seryk" "faceembarrassed" "Yeah... maybe we should. *pause* But hey, good training session, right? We should... do this again sometime. The training, I mean.">>
<<narrative "As I put my shirt back on and Seryk remains comfortably in just his boxers, we both avoid eye contact for a moment. The training session was... different. We both know something happened, but neither of us wants to talk about it right now.">>
<<changeLust "Seryk" 8>>
<<changeAffection "Seryk" "Rylan" 4>>
<<changeAttraction "Seryk" "Rylan" 4>>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<changeFetish "Rylan" "MuscleFetish" 0.2>>
<<else>>
<<narrative "I practice basic combat forms alone while Seryk works on his own training nearby. Occasionally I catch glimpses of his impressive technique and strength.">>
<<dialog "Seryk" "face" "Looking good, bro. Your form is improving. Keep practicing those movements.">>
<<quickFetishRoll "Rylan" "MuscleFetish" "Seryk" 0.2>>
<<if _fetishSuccess>>
<<narrative "Watching Seryk train is inspiring. His powerful movements and confident demeanor create an oddly appealing display of masculine strength.">>
<<changeLust "Rylan" 4>>
<<changeAttraction "Rylan" "Seryk" 2>>
<<else>>
<<narrative "I focus on my own training, appreciating Seryk's guidance and encouragement.">>
<<changeLust "Rylan" 2>>
<<changeAttraction "Rylan" "Seryk" 1>>
<</if>>
<<changeAffection "Seryk" "Rylan" 1>>
<</if>>
<<continueBox "BlightwoodContinue" "Continue Exploring" "">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<script>>window.AudioSystem.playBGM('blightwood.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentRylanFace>><<if not $dungeonProgress>><<set $dungeonProgress = 1>><<set $dungeonName = "Blightwood">><<set $dungeonEffect = "poisonDamage">><</if>><<if $dungeonProgress > 1>><<if $serykxliorantr>><<set $liora_combatStats.currentStamina = Math.min($liora_combatStats.currentStamina + 2, $liora_combatStats.maxStamina)>><<else>><<set $liora_combatStats.currentStamina = Math.min($liora_combatStats.currentStamina + 5, $liora_combatStats.maxStamina)>><</if>><</if>><<if not $rylan_combatStats>><<set $rylan_combatStats = { maxHealth: 100, currentHealth: 100, maxStamina: 100, currentStamina: 100, physicalPower: 10, agility: 8, willpower: 9, technique: 8, perception: 7 }>><</if>><<if not $liora_combatStats>><<set $liora_combatStats = { maxHealth: 80, currentHealth: 80, maxStamina: 80, currentStamina: 80, physicalPower: 7, agility: 7, willpower: 12, technique: 8, perception: 9 }>><</if>><<if not $serin_combatStats>><<set $serin_combatStats = { maxHealth: 90, currentHealth: 90, maxStamina: 90, currentStamina: 90, physicalPower: 9, agility: 12, willpower: 8, technique: 9, perception: 8 }>><</if>><<if not $mariel_combatStats>><<set $mariel_combatStats = { maxHealth: 100, currentHealth: 100, maxStamina: 100, currentStamina: 100, physicalPower: 8, agility: 7, willpower: 13, technique: 10, perception: 11 }>><</if>><<if not $seryk_combatStats>><<set $seryk_combatStats = { maxHealth: 150, currentHealth: 150, maxStamina: 150, currentStamina: 150, physicalPower: 16, agility: 10, willpower: 14, technique: 11, perception: 10 }>><</if>><<if not $nimeria_combatStats>><<set $nimeria_combatStats = { maxHealth: 120, currentHealth: 120, maxStamina: 120, currentStamina: 120, physicalPower: 8, agility: 11, willpower: 15, technique: 10, perception: 14 }>><</if>><<set $partyMaxHP = ($rylan_combatStats.maxHealth || 100) + ($liora_combatStats.maxHealth || 80) + ($serin_combatStats.maxHealth || 90) + ($mariel_combatStats.maxHealth || 100) + ($seryk_combatStats.maxHealth || 150) + ($nimeria_combatStats.maxHealth || 120)>><<set $partyCurrentHP = ($rylan_combatStats.currentHealth || 100) + ($liora_combatStats.currentHealth || 80) + ($serin_combatStats.currentHealth || 90) + ($mariel_combatStats.currentHealth || 100) + ($seryk_combatStats.currentHealth || 150) + ($nimeria_combatStats.currentHealth || 120)>><<dungeonEffectCheck>><<autoHealCheck>><<set _lioraCurrentSP = $liora_combatStats.currentStamina || 0>><<set _lioraMaxSP = $liora_combatStats.maxStamina || 80>><<set _hpPercentage = Math.round(($partyCurrentHP / $partyMaxHP) * 100)>><<set _spPercentage = Math.round((_lioraCurrentSP / _lioraMaxSP) * 100)>><<set _hpColor = (_hpPercentage >= 75) ? "#32CD32" : (_hpPercentage >= 50) ? "#FFD700" : (_hpPercentage >= 25) ? "#FFA500" : "#FF4500">><<set _spColor = (_spPercentage >= 75) ? "#87CEEB" : (_spPercentage >= 50) ? "#4169E1" : (_spPercentage >= 25) ? "#0000FF" : "#8A2BE2">><div class="dungeon-exploration-container" style="background: url('images/landscapes/blightwood.webp'); background-size: cover; background-position: center; min-height: 600px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3); position: relative;"><div class="dungeon-overlay" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(34, 139, 34, 0.3); border-radius: 10px;"></div><div style="position: relative; z-index: 2;"><div class="dungeon-header" style="background: rgba(45,45,50,0.95); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;"><p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">$dungeonName Exploration</p><<set _dungeonImageName = $dungeonName.toLowerCase()>><center><img @src="'images/landscapes/' + _dungeonImageName + '.webp'" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center><div style="display: flex; justify-content: space-between; align-items: center;"><p style="color: white; font-size: 1.1em; margin: 0;">Progress: $dungeonProgress / $dungeonMaxAreas</p><p style="color: <<print _hpColor>>; font-size: 1.1em; margin: 0; font-weight: bold;">Party HP: $partyCurrentHP / $partyMaxHP</p><p style="color: <<print _spColor>>; font-size: 1.1em; margin: 0; font-weight: bold;">Liora MP: _lioraCurrentSP / _lioraMaxSP</p></div></div><div class="card-selection" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin-bottom: 25px;"><p style="color: white; line-height: 1.6; margin-bottom: 20px; text-align: center; font-style: italic;">*You come to a junction in the twisted forest. Three paths diverge before you, each offering different opportunities and dangers.*</p><<generateDungeonCards>></div></div></div>
<</nobr>><<script>>window.AudioSystem.playBGM('sensualmassage.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentRylanFace>><div class="rest-area-container" style="background: linear-gradient(to bottom, rgba(25, 25, 112, 0.85), rgba(72, 61, 139, 0.9)); min-height: 500px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3);"><div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;"><p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">🏕️ Rest Area 🏕️</p><p style="color: white; font-size: 1.1em;">A Safe Haven in the Blight</p></div><div class="rest-description" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin-bottom: 25px;"><center><img src="images/landscapes/blightwoodclearing.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center><p style="color: white; line-height: 1.6; margin: 20px 0; text-align: center; font-style: italic;">*You find a small clearing where the blight seems less intense. Ancient stones form a protective circle, creating a safe space to rest and recover.*</p>
<<restAreaEvents>><<if not _eventTriggered>><<set $partyCurrentHP = Math.min($partyCurrentHP + Math.round($partyMaxHP * 0.2), $partyMaxHP)>><<if not $serykxliorantr>><<set $liora_combatStats.currentStamina = Math.min($liora_combatStats.currentStamina + 20, $liora_combatStats.maxStamina || 100)>><p style="color: #98FB98; text-align: center; font-size: 1.0em; margin: 15px 0;">Everyone feels refreshed. Liora recovers 20 SP.</p><<else>><p style="color: #FFB6C1; text-align: center; font-size: 1.0em; margin: 15px 0;">Everyone feels refreshed. Liora seems distracted.</p><</if>><p style="color: #32CD32; text-align: center; font-size: 1.0em; margin: 15px 0;">🌿 The protective energy heals the party for 20% HP 🌿</p><p style="color: white; line-height: 1.6; margin: 20px 0; text-align: center; font-style: italic;">*Everyone takes a moment to rest and recover their strength. The protective stones seem to cleanse the worst effects of the blight.*</p><</if>></div></div>
<<if not _eventTriggered>>
<div style="text-align: center; margin: 30px 0;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.95), rgba(35, 35, 40, 0.98)); border: 3px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 25px; min-width: 280px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); position: relative; overflow: hidden; display: inline-block;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #32CD32, #228B22, #006400, #228B22);"></div>
<h4 style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Continue Exploring</h4>
<div style="display: flex; gap: 15px; justify-content: center; flex-wrap: wrap;">
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 8px; padding: 12px; display: inline-block; min-width: 150px;">[[Continue|BlightwoodContinue]]</div>
</div></div></div>
<</if>>
<</nobr>><<nobr>>
<<if $blightwoodGoblinSeen !== true>>
<<set $blightwoodGoblinSeen = true>>
<<continueBox "GoblinEncounter" "Wait, there's something unusual ahead..." "">>
<<else>>
<div class="passage-container rylan">
<<narrative "🎉 Chapter 3 Complete! 🎉">>
<<narrative "Blightwood Mission Accomplished">>
<center><img src="images/elenor/face.webp" style="max-width: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Back at the guild hall, Elena reviews your mission report with obvious satisfaction. The Blightwood patrol has been completed successfully, and your team has proven their capabilities.">>
<<dialog "Elena" "face" "Excellent work, everyone! Your patrol of the Blightwood was thorough and professional. While you didn't find the mysterious talking goblin, your presence has helped secure the area.">>
<<narrative "Elena hands over the mission rewards and updates your guild records. The successful completion of this D-Rank mission brings your team closer to advancement.">>
<<dialog "Elena" "face" "I'll be sure to recommend your team for more challenging missions in the future. You've shown you can handle yourselves in dangerous situations.">>
<<set $gold += 100>>
<<changeAffection "Rylan" "Liora" 1>>
<<changeAffection "Rylan" "Serin" 1>>
<<changeAffection "Rylan" "Seryk" 1>>
<<changeAffection "Rylan" "Nimeria" 1>>
<<narrative "Mission Rewards: 100 Gold">>
<<narrative "Chapter 3 Complete - New adventures await!">>
<<continueBox "Chapter4Start" "Continue to the next chapter" "">>
</div>
<</if>>
<</nobr>>
<<pov "rylan" "chapter1default.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "🎩 Mysterious Goblin 🎩">>
<<narrative "An Unexpected Encounter">>
<<narrative "As we prepare to leave the Blightwood, we spot something unusual - a lone goblin wearing a strange, ornate hat sitting on a tree stump. He seems completely unbothered by our presence.">>
<<dialog "Nimeria" "face" "That's him! That's the goblin we were supposed to find. We should split up to cut off his escape routes.">>
<<narrative "I quickly assess the situation and formulate a plan.">>
<<dialog "Rylan" "face" "Good thinking, Nimeria. Since there's no way north from here, Serin, you take the west. Seryk, cover the east. I'll approach from the south. Liora and Nimeria, stay back as backup.">>
<<dialog "Serin" "face" "Smart plan. We'll cut off all escape routes.">>
<<dialog "Seryk" "face" "Got it, bro. I'll make sure he can't escape to the east.">>
<<dialog "Liora" "face" "Ready to provide support if needed.">>
<<dialog "Rylan" "face" "Remember, we don't attack unless necessary. Let's see if he can actually talk first. Everyone agrees?">>
<<dialog "Rylan" "face" "Alright, let's move into position.">>
<<narrative "We spread out and carefully surround the goblin. Once everyone is in position, I approach cautiously from the south.">>
<<narrative "I take a deep breath and step forward. I can't believe I'm about to try talking to a goblin.">>
<<dialog "Rylan" "face" "Hi there... can you talk?">>
<<thought "Rylan" "face" "I can't believe I'm trying to have a conversation with a goblin">>
<<narrative "The goblin looks up at me with surprisingly intelligent eyes and grins widely.">>
<center><img src="images/f95/portrait.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "f95" "face" "Of course I can talk! I can poop too if you want to know, NTRrrgh!">>
<<narrative "I'm completely taken aback. Not only can he talk, but he has a sense of humor... and strange speech patterns.">>
<<dialog "Rylan" "face" "*shocked* You... you really can talk! This is incredible!">>
<<dialog "f95" "face" "How about introducing yourselves first, NTRrrgh? Manners, you know!">>
<<dialog "Rylan" "face" "Right, sorry. I'm $humanName.">>
<<dialog "f95" "face" "Pleasure to meet you, $humanName! I'm Effnain Tyfaif, NTRrrgh!">>
<<narrative "Now I need to explain our mission to him.">>
<<dialog "Rylan" "face" "Effnain, we're adventurers from the guild. We have a mission to... well, to capture you and bring you back with us.">>
<<narrative "I notice Nimeria staring at the goblin's hat with an expression I can't quite read. She looks like she's seen a ghost.">>
<<dialog "Nimeria" "faceworried" "*staring at the hat* ...is this a joke?">>
<<narrative "Before I can ask what she means, the goblin responds to my capture request.">>
<<dialog "f95" "face" "Never! I'm a free pirate, NTRrrgh! You'll never take me alive!">>
<<narrative "Then the goblin asks something completely bizarre.">>
<<dialog "f95" "face" "$humanName, let me ask you something important - do you like landladies, or do you hate them?">>
<<narrative "What kind of question is that? I decide to answer honestly.">>
<<dialog "Rylan" "face" "I guess if I have to choose, I'd say I like them...">>
<<dialog "f95" "face" "Oooh! You know true beauty! My brother from a different womb! NTRrrgh!">>
<<dialog "Liora" "faceworried" "What is this conversation about?">>
<<dialog "f95" "face" "Silence! Talk when you become a milf! Me and my brother are having an important discussion!">>
<<narrative "I'm getting tired of this bizarre conversation.">>
<<narrative "The goblin's next question is even stranger than the last.">>
<<dialog "f95" "face" "You must be the main character! How did your $humanToThalor die, Carriage accident?">>
<<dialog "Rylan" "face" "My $humanToThalor is still alive, thankfully.">>
<<dialog "f95" "face" "Oh my poor brother... so you aren't the main character after all...">>
<<dialog "Nimeria" "faceworried" "...I think I'm going home...">>
<<narrative "Then the goblin leans in and whispers conspiratorially.">>
<<dialog "f95" "face" "*whispering* Hey $humanName, is it true that you humans are... holding hands?">>
<<dialog "Rylan" "face" "*confused* Yes? Of course we hold hands sometimes.">>
<<dialog "f95" "face" "*disgusted* NTRrrgh! You guys are absolutely degenerate! I have to tell my brother Itchyo about this! See you later, brother!">>
<<dialog "Rylan" "face" "*bewildered* Alright... see you, I guess?">>
<<narrative "The goblin gets up from his stump and walks away casually, apparently no longer interested in us. We all stand there in stunned silence.">>
<<dialog "Liora" "faceworried" "Wait... didn't we have a mission to capture him?">>
<<dialog "Seryk" "faceworried" "...what did I just witness?">>
<<narrative "I rub my temples, trying to process what just happened.">>
<<dialog "Rylan" "face" "...oh damn... let's just say we didn't find anything. Nobody is going to believe this story anyway.">>
<<dialog "Serin" "facelaugh" "Agreed. I don't think Elena would believe us if we told her about a philosophical goblin pirate who's disgusted by hand-holding.">>
<<dialog "Nimeria" "faceworried" "*still staring in the direction the goblin went* That hat... where have I seen it before?">>
<<narrative "We all look at each other and silently agree to never speak of this encounter again. Some things are just too weird to explain.">>
<<continueBox "ReturnGuildAfterBlightwood" "Return to the guild" "">>
<<changeAffection "Rylan" "Liora" 1>>
<<changeAffection "Rylan" "Serin" 1>>
<<changeAffection "Rylan" "Seryk" 1>>
<<changeAffection "Rylan" "Nimeria" 1>>
</div>
<</nobr>>
<<pov "rylan" "blightwood.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "After resting and recovering your strength, the party is ready to continue the exploration. The protective stones have helped cleanse some of the blight's effects.">>
<<if not $serykxliorantr && $liora_combatStats.currentStamina>>
<<set $liora_combatStats.currentStamina = Math.min($liora_combatStats.currentStamina + 5, $liora_combatStats.maxStamina || 100)>>
<</if>>
<<set $partyCurrentHP = Math.min($partyCurrentHP + Math.round($partyMaxHP * 0.2), $partyMaxHP)>>
<<narrative "Party recovers 20% HP">>
<<if not $serykxliorantr>>
<<narrative "Liora recovers 5 MP">>
<<else>>
<<narrative "Liora seems distracted and doesn't recover MP">>
<</if>>
<<continueBox "BlightwoodContinue" "Continue Exploring" "">>
</div>
<</nobr>>
<<pov "rylan" "blightwood.mp3">><<nobr>>
<<set $timeOfDay = "afternoon">>
<div class="passage-container rylan">
<<narrative "🏛️ Guild Hall Return 🏛️">>
<center><img src="images/elenor/face.webp" style="max-width: 120px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Back at the guild hall, Elena looks up expectantly as our team returns. We all exchange nervous glances, silently reminding each other of our pact to never speak of what just happened.">>
<<dialog "Elena" "face" "Welcome back! How did the Blightwood patrol go? Did you find any sign of the talking goblin?">>
<<narrative "We all look at each other. Seryk clears his throat. Liora stares at the floor. Nimeria fidgets with her hat. Serin examines her fingernails with intense concentration.">>
<<dialog "Rylan" "face" "Nope! Nothing unusual at all. Just... trees. And... blight. Very normal blight.">>
<<dialog "Serin" "face" "Extremely normal. No talking. No philosophical discussions about landladies whatsoever.">>
<<narrative "Elena raises an eyebrow at Serin's oddly specific denial.">>
<<dialog "Liora" "faceworried" "And definitely no questions about... um... hand-holding being degenerate behavior...">>
<<narrative "Everyone stares at Liora. She claps her hands over her mouth.">>
<<dialog "Seryk" "faceworried" "What she means is... we held hands. As a team. Very normal behavior that no one would find disgusting.">>
<<dialog "Elena" "faceworried" "...Are you all feeling alright? You're acting very strange.">>
<<dialog "Rylan" "face" "We're perfectly normal! Nothing strange happened! No main character discussions or sibling references from different wombs!">>
<<narrative "Elena stares at us with growing suspicion.">>
<<dialog "Elena" "faceworried" "Right... well, I suppose if you're certain nothing unusual happened...">>
<<dialog "Serin" "face" "Yeah! Totally boring mission. Nothing worth reporting at all. Right guys?">>
<<narrative "We all nod way too enthusiastically, like bobbleheads in an earthquake.">>
<<dialog "Seryk" "faceworried" "*nodding so hard his head might fall off* So normal. The normalest mission ever.">>
<<dialog "Nimeria" "faceworried" "*looking exhausted* This conversation is making me very tired. Can we just... be done here?">>
<<dialog "Elena" "face" "...I'm not even going to ask. Here's your payment. Please just... try to write a coherent mission report.">>
<<narrative "Elena hands over our payment while looking like she's questioning her life choices. We all nod very seriously, trying to look professional.">>
<<dialog "Rylan" "face" "Thank you, Elena. We'll... just go write that completely normal mission report now.">>
<<narrative "As we walk away, Elena shakes her head in bewilderment. Behind her, other guild members whisper among themselves about how weird we're all acting.">>
<<dialog "Liora" "faceembarrassedshortpink" "*whispering* I think we might have made that worse...">>
<<dialog "Seryk" "faceworried" "*whispering back* Let's just agree to never talk about what happened ever again.">>
<<narrative "We all nod solemnly and walk away, leaving Elena more confused than ever about what really happened in the Blightwood.">>
<<set $gold += 100>>
<<changeAffection "Rylan" "Liora" 1>>
<<changeAffection "Rylan" "Serin" 1>>
<<changeAffection "Rylan" "Seryk" 1>>
<<changeAffection "Rylan" "Nimeria" 1>>
<<narrative "Mission Rewards: 100 Gold">>
<<continueBox "StrangeShopDiscovery" "Head home" "">>
</div>
<</nobr>>
<<pov "rylan" "chapter1default.mp3">><<script>>window.AudioSystem.playBGM('intimate.mp3');<</script>><<set $currentFace = $currentRylanFace>>
<<nobr>>
<div class="masturbation-container" style="background: linear-gradient(to bottom, rgba(106, 90, 205, 0.85), rgba(138, 43, 226, 0.9)); min-height: 500px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3);"><div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;"><p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">💦 Fighting Temptation 💦</p><p style="color: white; font-size: 1.1em;">Confusing Desires</p></div><div style="background: rgba(60,60,70,0.9); border: 1px solid rgba(120,120,130,0.4); border-radius: 8px; padding: 20px; margin: 20px 0;"><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I try to resist the strange urge to ask him to stay, but the impulse is stronger than I expected. Why do I want him to watch me? This isn't normal...*</p><<quickRoll "Resist Gay Urges" "Rylan" 70 10 "GayValue" 5>><<if not _tempRollSuccess>><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I can't help myself. Despite knowing how weird it sounds, the words come out before I can stop them.*</p><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/rylan/faceembarrassed.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-rylan">W-wait... don't go. Could you... could you maybe stay? I know it's weird but...</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I can't believe I just said that. But the thought of him leaving makes me feel strangely disappointed. Why am I feeling this way about another man?*</p><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/seryk/faceembarrassed.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-seryk">Uh... okay bro. That's... different. But if it helps you, I guess I can stay. Want me to pose for you or something?</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*He seems as confused as I am, but there's also something arousing about his willingness to help. The way his muscles glisten with sweat is incredibly distracting.*</p><center><img src="images/seryk/blightwood/masturbationdiscover/pose1.webp" style="width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I nod eagerly, too aroused to feel embarrassed anymore. He starts flexing for me, and I resume stroking myself while watching his impressive display. This feels so wrong but so incredibly right...*</p><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/seryk/facewet.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-seryk">Is this... is this doing it for you? I have to admit, watching you is getting me hot too...</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;"><center><img src="images/seryk/blightwood/masturbationdiscover/pose2.webp" style="width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>*His admission that he's getting aroused watching me pushes me over the edge. I climax intensely while staring at his muscular body, our mutual arousal creating an incredibly intimate moment.*</p><<run window.AudioSystem.playSFX('hsounds/cum.mp3')>><center><img src="images/rylan/masturbate/cumming.webp" style="width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center><<changeLust "Rylan" -100>><<changeLust "Seryk" 15>><<changeFetish "Rylan" "MuscleFetish" 0.4>><<changeFetish "Rylan" "GayValue" 0.3>><<changeFetish "Rylan" "ExhibitionismFetish" 0.3>><<changeFetish "Seryk" "VoyeurismFetish" 0.2>><<changeAttraction "Rylan" "Seryk" 1.5>><<changeAttraction "Seryk" "Rylan" 1.5>><<changeAffection "Seryk" "Rylan" 3>><<else>><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I manage to fight off the strange urge to ask him to stay. This is weird enough already without making it even more awkward.*</p><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/rylan/faceembarrassed.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-rylan">Yeah... you should probably go. This is embarrassing enough as it is.</span></div><div style="clear: left;"></div></div><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/seryk/face.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-seryk">No problem, bro. Take your time. I'll make sure nobody else comes this way.</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*He leaves with understanding, and I finish alone. But I can't shake the feeling that I missed something important just now. Why did part of me want him to stay?*</p><<changeLust "Rylan" -70>><<changeFetish "Rylan" "GayValue" 0.1>><<changeAttraction "Seryk" "Rylan" 0.5>><</if>></div><div style="background: rgba(60,60,70,0.9); border: 1px solid rgba(120,120,130,0.4); border-radius: 8px; padding: 20px; margin: 20px 0;"><p style="color: #9370DB; font-weight: bold; text-align: center; margin-bottom: 15px;">--- Confusing Aftermath ---</p><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*As I clean myself up, my mind races with confusing thoughts. What's happening to me? Why am I having these feelings about Seryk? I thought I was attracted to women...*</p><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I try to push these thoughts away as I rejoin the group, but Seryk's masculine presence seems to affect me more than before. Something is definitely changing inside me.*</p></div></div>[[Return to the group|RestAreaContinue]]
<<changeFace $currentRylanFace>><<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('intimate.mp3');<</script>><<set $currentFace = $currentRylanFace>>
<<nobr>>
<div class="masturbation-container" style="background: linear-gradient(to bottom, rgba(106, 90, 205, 0.85), rgba(138, 43, 226, 0.9)); min-height: 500px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3);"><div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;"><p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">💦 Embarrassing End 💦</p><p style="color: white; font-size: 1.1em;">Caught and Covered</p></div><div style="background: rgba(60,60,70,0.9); border: 1px solid rgba(120,120,130,0.4); border-radius: 8px; padding: 20px; margin: 20px 0;"><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*Snapping back to reality, I quickly cover myself and stop what I'm doing. The embarrassment is overwhelming as I realize Seryk just caught me in this compromising position.*</p><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/rylan/faceembarrassed.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-rylan">S-sorry! I was just... I didn't think anyone would come here!</span></div><div style="clear: left;"></div></div><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/seryk/faceembarrassed.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-seryk">Hey, it's completely natural bro. Nothing to be ashamed of. I'll just... go back to the others.</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*As he starts to turn away, a confusing impulse overwhelms me. Despite my embarrassment, I find myself calling out to him.*</p><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/rylan/faceembarrassed.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-rylan">W-wait! Seryk... could you... could you maybe pose for me? I know it sounds weird but seeing your muscles would... help me finish.</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I can't believe I just asked that. The words came out before I could stop them, driven by some strange attraction to his powerful physique that I don't fully understand.*</p><center><img src="images/seryk/blightwood/masturbationdiscover/pose1.webp" style="width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*Without waiting for my answer, he starts flexing his impressive muscles, sweat glistening on his blue skin. The sight is incredibly arousing, and I find myself nodding without really thinking about it.*</p><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/seryk/facegrin.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-seryk">That's it, bro. Just watch me flex while you finish what you started. Nothing weird about appreciating a good physique.</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I can't help but stare at his powerful body as I resume stroking myself. His masculine scent fills the air, making the whole experience incredibly intense. This isn't supposed to feel this good...*</p><center><img src="images/seryk/blightwood/masturbationdiscover/pose2.webp" style="width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center><center><img src="images/rylan/masturbate/1.webp" style="width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*The combination of his muscular display and encouraging words pushes me over the edge quickly. I climax while staring at his impressive physique, trying to convince myself this is just about admiring strength.*</p><<run window.AudioSystem.playSFX('hsounds/cum.mp3')>><center><img src="images/rylan/masturbate/cumming.webp" style="width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center><<changeLust "Rylan" -100>><<changeLust "Seryk" 10>><<changeFetish "Rylan" "MuscleFetish" 0.3>><<changeFetish "Rylan" "GayValue" 0.2>><<changeFetish "Rylan" "ExhibitionismFetish" 0.2>><<changeAttraction "Rylan" "Seryk" 1>><<changeAttraction "Seryk" "Rylan" 1>><<changeAffection "Seryk" "Rylan" 2>></div><div style="background: rgba(60,60,70,0.9); border: 1px solid rgba(120,120,130,0.4); border-radius: 8px; padding: 20px; margin: 20px 0;"><p style="color: #9370DB; font-weight: bold; text-align: center; margin-bottom: 15px;">--- Aftermath ---</p><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*As I clean myself up, there's an awkward but oddly comfortable silence between us. Seryk doesn't seem bothered by what just happened, which somehow makes it feel less embarrassing.*</p><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/seryk/face.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-seryk">See? Nothing wrong with appreciating the male form. Thanks for letting me help, bro.</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I nod awkwardly, not entirely sure what to make of what just happened between us. There's definitely something changing in how I see Seryk...*</p></div></div>[[Return to the group|RestAreaContinue]]
<<changeFace $currentRylanFace>><<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('chapter1default.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="test-container" style="background: linear-gradient(to bottom, rgba(255, 0, 0, 0.85), rgba(139, 0, 0, 0.9)); min-height: 500px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3);">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">🧪 EVENT TESTING 🧪</p>
<p style="color: white; font-size: 1.1em;">Direct Access to All BlightwoodEvents</p></div>
<div class="test-content" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin-bottom: 25px;">
<p style="color: white; line-height: 1.6; margin: 20px 0; text-align: center; font-style: italic;">*This is a temporary testing passage for easy access to all BlightwoodEvents. Delete this passage when testing is complete.*</p>
<div style="display: flex; flex-wrap: wrap; gap: 15px; justify-content: center; margin: 30px 0;">
<div style="background: rgba(255,255,255,0.1); border: 2px solid rgba(255,182,193,0.8); border-radius: 8px; padding: 15px; text-align: center; min-width: 180px;">
<h3 style="color: #FFB6C1; margin-bottom: 10px;">Event 1</h3>
<p style="color: white; font-size: 0.9em; margin: 10px 0;">Stone in Shoe<br/>(Rylan/Serin)</p>
[[Test Event 1|BlightwoodEvent1]]
</div><div style="background: rgba(255,255,255,0.1); border: 2px solid rgba(139,0,139,0.8); border-radius: 8px; padding: 15px; text-align: center; min-width: 180px;">
<h3 style="color: #8B008B; margin-bottom: 10px;">Event 2</h3>
<p style="color: white; font-size: 0.9em; margin: 10px 0;">Helping Hand<br/>(Liora/Seryk or Rylan/Liora)</p>
[[Test Event 2|BlightwoodEvent2]]
</div><div style="background: rgba(255,255,255,0.1); border: 2px solid rgba(220,20,60,0.8); border-radius: 8px; padding: 15px; text-align: center; min-width: 180px;">
<h3 style="color: #DC143C; margin-bottom: 10px;">Event 3</h3>
<p style="color: white; font-size: 0.9em; margin: 10px 0;">Mysterious Guidance<br/>(Rylan/Nimeria)</p>
[[Test Event 3|BlightwoodEvent3]]
</div><div style="background: rgba(255,255,255,0.1); border: 2px solid rgba(147,112,219,0.8); border-radius: 8px; padding: 15px; text-align: center; min-width: 180px;">
<h3 style="color: #9370DB; margin-bottom: 10px;">Event 4</h3>
<p style="color: white; font-size: 0.9em; margin: 10px 0;">Muscle Strain<br/>(Rylan/Liora)</p>
[[Test Event 4|BlightwoodEvent4]]
</div><div style="background: rgba(255,255,255,0.1); border: 2px solid rgba(106,90,205,0.8); border-radius: 8px; padding: 15px; text-align: center; min-width: 180px;">
<h3 style="color: #6A5ACD; margin-bottom: 10px;">Event 5</h3>
<p style="color: white; font-size: 0.9em; margin: 10px 0;">Private Training<br/>(Rylan/Seryk)</p>
[[Test Event 5|BlightwoodEvent5]]
</div></div><div style="background: rgba(255,69,0,0.3); border: 1px solid rgba(255,69,0,0.8); border-radius: 8px; padding: 15px; margin: 20px 0; text-align: center;">
<p style="color: #FF4500; font-weight: bold; margin: 0;">⚠️ Testing Variables ⚠️</p>
<p style="color: white; font-size: 0.9em; margin: 5px 0;">Events check: $rylanxserincontent, $serykxliorantr, $rylan_GayValue, $allowGayContent</p>
<p style="color: white; font-size: 0.9em; margin: 5px 0;">Set these variables appropriately before testing specific paths</p>
</div></div></div><<changeFace $currentRylanFace>><<statSummary>>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<<narrative "🦶 Sharp Stone 🦶">>
<<narrative "Intimate Care">>
<center><img src="images/landscapes/rockypath.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The path becomes rocky and treacherous. Suddenly, Serin stops walking and winces, clearly in pain.">>
<<dialog "Serin" "faceangry" "Damn it! A sharp stone got into my boot. It's cutting into my foot!">>
<<narrative "Serin sits down on a fallen log and starts unlacing her boot. The others continue ahead, leaving us completely alone in this secluded part of the forest.">>
<<if $rylanxserincontent === true>>
<center><img src="images/serin/blightwood/stoneinshoe/1.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "$humanName... I need your help again. But this time, I want you to be extra thorough. Make sure you check every inch of my foot...">>
<<narrative "There's something different in Serin's voice - a sultry undertone that makes my heart race. She sits gracefully on the log, her legs positioned deliberately to draw my attention. The white socks hug her athletic calves perfectly.">>
<<dialog "Serin" "facewet" "See how my socks are damp with sweat? I've been walking for hours... they're clinging to my skin. You'll need to peel them off very slowly...">>
<<set _currentFeetFetish = $rylan_feetFetish || 0>>
<<set _currentSmellFetish = $rylan_smellFetish || 0>>
<<quickFetishRoll "Rylan" "FeetFetish" "Serin" 0.4>>
<<if _fetishSuccess>>
<<if _currentFeetFetish >= 3.0>>
<<narrative "My existing obsession with feet makes this moment overwhelming. Serin's sock-covered feet are like a drug to me, and I can barely contain my desperate need to worship them properly.">>
<<changeLust "Rylan" 8>>
<<changeAttraction "Serin" "Rylan" 1.0>>
<<changeFetish "Rylan" "FeetFetish" 0.5>>
<<elseif _currentFeetFetish >= 1.5>>
<<narrative "My growing appreciation for feet makes Serin's display incredibly appealing. I find myself completely mesmerized by the sight of her sock-covered feet, wanting to see and touch more.">>
<<changeLust "Rylan" 6>>
<<changeAttraction "Serin" "Rylan" 3>>
<<changeFetish "Rylan" "FeetFetish" 0.4>>
<<else>>
<<narrative "I find myself unexpectedly drawn to the sight of Serin's sock-covered feet. The way the fabric clings to her curves awakens something new in me.">>
<<changeLust "Rylan" 5>>
<<changeAttraction "Serin" "Rylan" 2>>
<<changeFetish "Rylan" "FeetFetish" 0.3>>
<</if>>
<<else>>
<<narrative "I try to focus on the medical aspect, but Serin's deliberate positioning and sultry words make it impossible to ignore the intimate nature of what's happening.">>
<<changeLust "Rylan" 3>>
<<changeAttraction "Serin" "Rylan" 1>>
<<changeFetish "Rylan" "FeetFetish" 0.1>>
<</if>>
<center><img src="images/serin/blightwood/stoneinshoe/2.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I kneel before Serin as she extends her foot toward me. Her sock is indeed damp and clings to her skin like a second layer. The intimacy of the moment is overwhelming.">>
<<dialog "Serin" "facewet" "That's it... get closer. I can see how you're looking at my foot through the sock. You're imagining what's underneath, aren't you?">>
<<narrative "From this close, I can see every detail of how the damp fabric clings to her foot. The anticipation builds as I prepare to examine her injury properly.">>
<<quickFetishRoll "Rylan" "SmellFetish" "Serin" 0.4>>
<<if _fetishSuccess>>
<<if _currentSmellFetish >= 3.0>>
<<narrative "My established addiction to feminine scents makes Serin's aroma utterly intoxicating. I find myself nearly panting, desperate to breathe in more of her intoxicating musk. The smell of her sweaty foot is like pure ecstasy.">>
<<changeLust "Rylan" 8>>
<<changeFetish "Rylan" "SmellFetish" 0.5>>
<<dialog "Serin" "facewet" "Look at you... you're practically intoxicated by my scent. You can't get enough, can you? I love how my smell affects you so much...">>
<<elseif _currentSmellFetish >= 1.5>>
<<narrative "My growing fascination with feminine scents makes Serin's aroma incredibly appealing. I find myself breathing deeper, wanting to absorb more of her intoxicating musk.">>
<<changeLust "Rylan" 6>>
<<changeFetish "Rylan" "SmellFetish" 0.4>>
<<dialog "Serin" "facewet" "I can see you breathing deeper, $humanName. You like my scent, don't you? My foot smells so strong from our long walk...">>
<<else>>
<<narrative "As more of her foot is revealed, an unexpected scent reaches me - a blend of leather, cotton, and her natural feminine musk. Something about it is oddly appealing.">>
<<changeLust "Rylan" 5>>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<<dialog "Serin" "facewet" "You're breathing differently... do you like how I smell? I've been walking all day so my foot is quite... aromatic.">>
<</if>>
<<else>>
<<narrative "I continue removing the sock, trying to maintain some semblance of medical professionalism despite the increasingly intimate atmosphere.">>
<<changeLust "Rylan" 3>>
<<changeFetish "Rylan" "SmellFetish" 0.1>>
<</if>>
<center><img src="images/serin/blightwood/stoneinshoe/3.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "My hands shake slightly as I begin to slowly roll down her sock. The fabric peels away from her damp skin with a soft whisper, and I catch my first glimpse of her bare heel as more skin is revealed.">>
<<dialog "Serin" "facewet" "That's it... slowly peel it off. I can feel your fingers brushing against my skin as you work. The sock is so damp it's practically stuck to me...">>
<<narrative "As more of her foot is revealed, I can see her smooth, athletic skin glistening slightly with moisture. The sock continues to cling as I work it down, creating an incredibly intimate process.">>
<<quickFetishRoll "Rylan" "FeetFetish" "Serin" 0.5>>
<<if _fetishSuccess>>
<<if _currentFeetFetish >= 3.0>>
<<narrative "The sight of Serin's completely bare foot sends waves of overwhelming desire through me. My obsession takes over completely - every toe, every arch, every inch of her skin seems like perfection that I desperately need to worship.">>
<<changeLust "Rylan" 10>>
<<changeAttraction "Serin" "Rylan" 5>>
<<changeFetish "Rylan" "FeetFetish" 0.6>>
<<dialog "Serin" "facewet" "Look at that intense stare... you're completely obsessed with my feet, aren't you? I can see the desperation in your eyes to touch them properly...">>
<<elseif _currentFeetFetish >= 1.5>>
<<narrative "The sight of her bare foot captivates me completely. My growing appreciation for feet makes this moment incredibly intense - I find myself studying every detail with fascination.">>
<<changeLust "Rylan" 8>>
<<changeAttraction "Serin" "Rylan" 4>>
<<changeFetish "Rylan" "FeetFetish" 0.5>>
<<dialog "Serin" "facewet" "I can see exactly how you're looking at my foot, $humanName. You're not thinking about medical treatment anymore, are you? You're just... admiring.">>
<<else>>
<<narrative "I'm completely captivated by the sight of her bare foot. Every curve, every line seems unexpectedly appealing. Something about this intimate view awakens new desires.">>
<<changeLust "Rylan" 7>>
<<changeAttraction "Serin" "Rylan" 3>>
<<changeFetish "Rylan" "FeetFetish" 0.4>>
<<dialog "Serin" "facewet" "I can see you're really looking at my foot now... not just the injury. Do you like what you see?">>
<</if>>
<<else>>
<<narrative "I try to focus on locating the injury, though the intimate display makes concentration nearly impossible.">>
<<changeLust "Rylan" 4>>
<<changeAttraction "Serin" "Rylan" 2>>
<<changeFetish "Rylan" "FeetFetish" 0.2>>
<</if>>
<<quickFetishRoll "Rylan" "SmellFetish" "Serin" 0.4>>
<<if _fetishSuccess>>
<<if _currentSmellFetish >= 3.0>>
<<narrative "With her foot fully exposed, her natural scent becomes even more intense and intoxicating. I find myself leaning closer unconsciously, almost drunk on her aroma.">>
<<changeLust "Rylan" 6>>
<<changeFetish "Rylan" "SmellFetish" 0.4>>
<<elseif _currentSmellFetish >= 1.5>>
<<narrative "The scent from her bare foot is more noticeable now, and I find it surprisingly appealing. There's something about her natural aroma that draws me in.">>
<<changeLust "Rylan" 4>>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<<else>>
<<narrative "I notice her foot has a distinct scent from being in her boot all day. Something about it seems oddly appealing.">>
<<changeLust "Rylan" 2>>
<<changeFetish "Rylan" "SmellFetish" 0.2>>
<</if>>
<</if>>
<center><img src="images/serin/blightwood/stoneinshoe/4.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "With her sock finally removed, Serin's bare foot is fully revealed. Her skin is slightly flushed from being confined in her boot, and I can see the small cut where the stone was pressing against her sole.">>
<<dialog "Serin" "facewet" "There... now you can see everything. My bare foot, completely exposed for you. You'll need to examine it very carefully to make sure there's no debris left...">>
<<narrative "Serin shifts position, giving me an even better view. Her foot is elegant and athletic, with perfectly shaped toes and smooth, soft-looking skin despite her active lifestyle.">>
<<dialog "Serin" "facewet" "I thought you might want to compare both feet... to make sure the injured one heals properly. You'll need to touch them both, won't you?">>
<<quickFetishRoll "Rylan" "SubmissionFetish" "Serin" 0.4>>
<<if _fetishSuccess>>
<<narrative "Kneeling here at Serin's feet, completely focused on her needs and desires, I realize how much I enjoy being in this position of service. She has complete control over the situation, and I love it.">>
<<changeLust "Rylan" 6>>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<dialog "Serin" "facewet" "You look so perfect down there, taking care of me. I could get used to having you at my feet like this... attending to my every need.">>
<<changeFetish "Serin" "DominanceFetish" 0.3>>
<<else>>
<<narrative "Despite my best efforts to remain professional, the intimate nature of the situation and Serin's deliberate seduction is wearing down my resolve.">>
<<changeLust "Rylan" 4>>
<</if>>
<center><img src="images/serin/blightwood/stoneinshoe/5.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<quickFetishRoll "Rylan" "FeetFetish" "Serin" 0.6>>
<<if _fetishSuccess>>
<<if _currentFeetFetish >= 3.0>>
<<narrative "The moment my hands make contact with Serin's bare feet, I'm completely overwhelmed. My obsession reaches its peak as I feel the warm, soft skin under my fingers. I can barely contain my desperate need to worship them properly.">>
<<changeLust "Rylan" 12>>
<<changeFetish "Rylan" "FeetFetish" 0.8>>
<<dialog "Serin" "facewet" "Look at you... you're completely lost in touching my feet. I can feel how much you need this. Don't be shy - massage them properly...">>
<<elseif _currentFeetFetish >= 1.5>>
<<narrative "My hands tremble with excitement as I touch her warm, soft skin. The physical contact with her feet sends intense pleasure through me, far beyond what medical treatment should provide.">>
<<changeLust "Rylan" 9>>
<<changeFetish "Rylan" "FeetFetish" 0.6>>
<<dialog "Serin" "facewet" "Your hands feel amazing on my skin, $humanName. I can feel how much you're enjoying touching my feet... Take your time and examine every inch.">>
<<else>>
<<narrative "My hands tremble as I gently touch her skin to examine the wound. Her feet are warm and incredibly soft, and the intimate contact awakens something new in me.">>
<<changeLust "Rylan" 7>>
<<changeFetish "Rylan" "FeetFetish" 0.5>>
<<dialog "Serin" "facewet" "Your hands feel so gentle on my skin... I can tell you like touching my feet more than you expected.">>
<</if>>
<<else>>
<<narrative "I try to focus on the medical treatment, though the intimate contact makes it difficult to think clearly.">>
<<changeLust "Rylan" 4>>
<<changeFetish "Rylan" "FeetFetish" 0.3>>
<</if>>
<<quickFetishRoll "Rylan" "SmellFetish" "Serin" 0.5>>
<<if _fetishSuccess>>
<<if _currentSmellFetish >= 3.0>>
<<narrative "Working so close to her feet, her intoxicating scent completely overwhelms me. I find myself breathing deeply, addicted to her natural aroma. The smell of her warm skin is pure bliss.">>
<<changeLust "Rylan" 8>>
<<changeFetish "Rylan" "SmellFetish" 0.6>>
<<elseif _currentSmellFetish >= 1.5>>
<<narrative "Being so close to her feet while touching them intensifies her scent significantly. I find myself unconsciously breathing deeper, drawn to her natural aroma.">>
<<changeLust "Rylan" 5>>
<<changeFetish "Rylan" "SmellFetish" 0.4>>
<<else>>
<<narrative "Working this close, I become more aware of her natural scent. Something about it is oddly appealing and arousing.">>
<<changeLust "Rylan" 3>>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<</if>>
<</if>>
<<narrative "As I apply the bandage, Serin deliberately flexes her toes and shifts her feet, ensuring maximum contact between my hands and her skin. Every touch sends electric sensations through both of us.">>
<<dialog "Serin" "facewet" "Perfect... you've been so thorough, so attentive. This little private examination will be our secret, won't it? I like having intimate secrets with you, $humanName.">>
<<narrative "With the treatment complete, Serin slowly puts her sock back on, but not before giving me one last, lingering look at her bare feet. The memory of this intimate encounter will stay with me for a long time.">>
<<changeLust "Serin" 6>>
<<changeAffection "Serin" "Rylan" 4>>
<<changeFetish "Serin" "ExhibitionismFetish" 0.2>>
<</if>>
<<dialog "Serin" "faceworried" "$humanName, can you help me? I can't reach the stone properly and my foot is starting to bleed...">>
<center><img src="images/serin/blightwood/stoneinshoe/1.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I kneel down in front of Serin as she removes her boot and sock, revealing her athletic foot. There's a small cut where the stone was pressing, and her foot is slightly damp with sweat from the long walk.">>
<<quickFetishRoll "Rylan" "FeetFetish" "Serin" 0.2>>
<<if _fetishSuccess>>
<<narrative "Despite the medical nature of the situation, I find myself oddly drawn to the intimate contact with Serin's foot. There's something appealing about caring for her this way.">>
<<changeLust "Rylan" 4>>
<<changeAttraction "Serin" "Rylan" 2>>
<<else>>
<<narrative "I focus on the practical aspects of treating Serin's injury, though the intimate nature of the contact isn't lost on me.">>
<<changeLust "Rylan" 2>>
<<changeAttraction "Serin" "Rylan" 1>>
<</if>>
<<narrative "I carefully clean and bandage the wound, trying to be as gentle as possible.">>
<<dialog "Serin" "face" "Thanks, $humanName. You're good at this... gentle but thorough.">>
<<changeAffection "Serin" "Rylan" 1>>
<<continueBox "BlightwoodContinue" "Continue Exploring" "">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<script>>window.AudioSystem.playBGM('blightwood.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentRylanFace>><<if not $dungeonProgress>><<set $dungeonEffect = "poisonDamage">><<set $gold = $gold || 0>><<set $crystals = $crystals || 0>><div class="dungeon-setup-container" style="background: linear-gradient(to bottom, rgba(34, 139, 34, 0.85), rgba(0, 100, 0, 0.9)); min-height: 500px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3);"><div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;"><p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">🌲 Entering the Blightwood 🌲</p><p style="color: white; font-size: 1.1em;">Choose Your Path</p></div><center><img src="images/landscapes/blightwood.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center><div class="path-selection" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin: 25px 0;"><p style="color: white; line-height: 1.6; margin-bottom: 20px; text-align: center; font-style: italic;">*As we approach the edge of the Blightwood, the toxic atmosphere becomes immediately apparent. The air shimmers with a sickly green hue, and the trees look twisted and unnatural.*</p><p style="color: white; line-height: 1.6; margin-bottom: 20px; text-align: center;">Choose your exploration route:</p><div style="display: flex; gap: 20px; margin: 30px 0; justify-content: center; flex-wrap: wrap;"><div class="path-option" style="background: rgba(255,255,255,0.1); border: 2px solid rgba(100,200,100,0.5); border-radius: 12px; padding: 20px; text-align: center; flex: 1; min-width: 200px; max-width: 250px;"><h3 style="color: #90EE90; margin-bottom: 15px;">🚶 Safe Path</h3><p style="color: white; font-size: 0.9em; margin: 0; line-height: 1.4;">Take the shortest, safest route through the blight. Fewer encounters but less risk.</p><p style="color: #90EE90; font-size: 0.8em; margin: 10px 0; font-style: italic;">8 Areas - Lower Rewards</p><<link "Choose Safe Path">><<set $dungeonDifficulty = "easy">><<set $dungeonMaxAreas = 8>><<goto "BlightwoodExploration">><</link>></div><div class="path-option" style="background: rgba(255,255,255,0.1); border: 2px solid rgba(255,215,0,0.5); border-radius: 12px; padding: 20px; text-align: center; flex: 1; min-width: 200px; max-width: 250px;"><h3 style="color: #FFD700; margin-bottom: 15px;">⚖️ Balanced Path</h3><p style="color: white; font-size: 0.9em; margin: 0; line-height: 1.4;">Take the standard patrol route. Moderate risk and moderate rewards.</p><p style="color: #FFD700; font-size: 0.8em; margin: 10px 0; font-style: italic;">12 Areas - Standard Rewards</p><<link "Choose Balanced Path">><<set $dungeonDifficulty = "normal">><<set $dungeonMaxAreas = 12>><<goto "BlightwoodExploration">><</link>></div><div class="path-option" style="background: rgba(255,255,255,0.1); border: 2px solid rgba(255,69,0,0.5); border-radius: 12px; padding: 20px; text-align: center; flex: 1; min-width: 200px; max-width: 250px;"><h3 style="color: #FF4500; margin-bottom: 15px;">⚔️ Thorough Path</h3><p style="color: white; font-size: 0.9em; margin: 0; line-height: 1.4;">Explore deeper into the blight. High risk but maximum rewards and exploration.</p><p style="color: #FF4500; font-size: 0.8em; margin: 10px 0; font-style: italic;">16 Areas - Maximum Rewards</p><<link "Choose Thorough Path">><<set $dungeonDifficulty = "hard">><<set $dungeonMaxAreas = 16>><<goto "BlightwoodExploration">><</link>></div></div></div></div><<else>><<goto "BlightwoodExploration">><</if>>
<</nobr>><<nobr>>
<<if not $serykLioraManaAssistCount>>
<<set $serykLioraManaAssistCount = 0>>
<</if>>
<div class="passage-container liora">
<<narrative "💧 Mana Assistance Offer 💧">>
<<if $serykLioraManaAssistCount === 1>>
<<narrative "First Time - Medical Help">>
<<elseif $serykLioraManaAssistCount === 2>>
<<narrative "Second Time - Growing Familiarity">>
<<else>>
<<narrative "Repeated Encounters - Potential Dependency">>
<</if>>
<center><img src="images/seryk/face.webp" style="max-width: 200px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $serykLioraManaAssistCount === 1>>
<<narrative "First Time: Medical Assistance">>
<<narrative "I collapse against the stone wall, my mana completely depleted. Every muscle in my body aches with magical exhaustion, and I can barely keep my eyes open.">>
<<narrative "Seryk notices my condition immediately and approaches with genuine concern in his eyes. His expression is caring and professional - he's clearly worried about my wellbeing.">>
<<dialog "Seryk" "face" "Little Bird, you're in bad shape. That magical exhaustion could be dangerous if we encounter more enemies. You know my body fluids can restore your mana quickly... like in the cave. It's the most effective treatment I can offer.">>
<<narrative "My stomach drops at his words. His saliva - the same fluid I unknowingly consumed in the cave when I thought it was medicine. Now that I know the truth, the idea makes me feel sick.">>
<<dialog "Liora" "faceembarrassedshortpink" "Your saliva?! Seryk, now that I know what it actually is... that's absolutely disgusting! I can't willingly drink your spit!">>
<<narrative "Seryk's expression remains calm and genuinely concerned. He's not being pushy or seductive - just offering medical help in the way he knows best.">>
<<dialog "Seryk" "face" "I understand it sounds unpleasant, but it's just medicine. Like taking a health potion, just more direct. Could literally save your life here, Little Bird. No judgment from me either way.">>
<<narrative "His words pierce through my revulsion. He's right - I am in serious danger. My mana reserves are so low that even minor magical exertion could kill me.">>
<<dialog "Seryk" "face" "Take your time deciding, Little Bird. If you'd rather rest and try to recover naturally, I understand. But the offer's there if you need it.">>
<<choiceBox "Medical Decision" "Try to resist and recover naturally" "SerykLioraResistanceSuccess" "SerykLioraResistanceSuccess=resist" "Accept his assistance" "SerykLioraManaAssistAccept" "SerykLioraManaAssistAccept=accept">>
<<elseif $serykLioraManaAssistCount === 2>>
<<narrative "Second Time: Growing Familiarity">>
<<narrative "Here I am again, magic depleted. The exhaustion feels familiar now, as does the knowledge that Seryk's assistance worked incredibly well last time.">>
<<dialog "Seryk" "face" "Little Bird, you're pushing yourself too hard again. You know what happened last time when you overextended like this. My assistance worked well before.">>
<<narrative "His tone is gentler this time, more familiar. There's a care in the way he speaks to me now, born from our shared experience.">>
<<dialog "Liora" "facesadshortpink" "Seryk... I told myself last time was a one-time emergency. This can't become a pattern.">>
<<dialog "Seryk" "face" "No pressure, Little Bird. You know how quickly my treatment worked last time. But if you'd rather try to recover on your own, that's fine too.">>
<<choiceBox "Medical Decision" "Try to resist again" "SerykLioraResistanceSuccess" "SerykLioraResistanceSuccess=resist" "Accept his assistance again" "SerykLioraManaAssistAccept" "SerykLioraManaAssistAccept=accept">>
<<else>>
<<narrative "This is becoming routine now. When my mana runs low, I find myself looking for Seryk's help almost automatically.">>
<<dialog "Seryk" "face" "My Little Bird needs help again? You don't look surprised anymore when I offer.">>
<<narrative "His words hit close to the truth. I'm not shocked anymore. The treatment has proven effective, and part of me already anticipates it.">>
<<dialog "Liora" "facesadshortpink" "I'm not becoming dependent on this, am I? It's still just medical necessity.">>
<<dialog "Seryk" "face" "Of course it's medical, Little Bird. But there's nothing wrong with accepting effective treatment when you need it.">>
<<choiceBox "Medical Decision" "Try to resist the dependency" "SerykLioraResistanceSuccess" "SerykLioraResistanceSuccess=resist" "Accept the assistance" "SerykLioraManaAssistAccept" "SerykLioraManaAssistAccept=accept">>
<</if>>
</div>
<</nobr>>
<<pov "liora" "intimate.mp3">><<nobr>>
<<set _currentAttraction = $liora_SerykAttraction || 0>>
<<set _currentLust = $liora_Lust || 0>>
<<set _currentSalivaFetish = $liora_SalivaFetish || 0>>
<<set _baseThreshold = 25>>
<<set _attractionPenalty = Math.floor(_currentAttraction / 10) * 5>>
<<set _lustPenalty = Math.floor(_currentLust / 20) * 5>>
<<set _salivaFetishPenalty = Math.floor(_currentSalivaFetish)>>
<<set _finalThreshold = _baseThreshold + _attractionPenalty + _lustPenalty + _salivaFetishPenalty>>
<<set _resistanceRoll = random(1, 100)>>
<<set _resistanceSuccess = _resistanceRoll >= _finalThreshold>>
<div class="passage-container liora">
<<narrative "Resistance Attempt">>
<<narrative "I try to resist Seryk's offer, attempting to recover my mana naturally through rest and meditation.">>
<<if _resistanceSuccess>>
<<narrative "Success! I manage to resist the temptation and recover my mana through natural means.">>
<<continueBox "RestAreaContinue" "Return to the rest area" "">>
<<else>>
<<narrative "I fail to resist. Despite my best efforts, I find myself accepting Seryk's assistance.">>
<<continueBox "SerykLioraManaAssistAccept" "Accept the mana assistance" "">>
<</if>>
</div>
<</nobr>>
<<pov "liora" "intimate.mp3">><<nobr>>
<<if not $serykLioraManaAssistCount>>
<<set $serykLioraManaAssistCount = 0>>
<</if>>
<<set $serykLioraManaAssistCount += 1>>
<div class="passage-container liora">
<<narrative "💧 Intimate Body Fluid Treatment 💧">>
<<narrative "Medical Assistance">>
<center><img src="images/liora/faceembarrassedshortpink.webp" style="max-width: 200px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Whether through conscious choice or failed resistance, I find myself accepting Seryk's intimate assistance once again. The shame burns in my cheeks as I position myself to receive his body fluids, but my desperate need for mana recovery overrides my dignity.">>
<<dialog "Seryk" "face" "Don't worry, Little Bird. I know this seems strange, but it's just medicine. Let me help you recover properly.">>
<<narrative "I tilt my head back and open my mouth, feeling the familiar mixture of shame and anticipation. Seryk positions himself carefully above me, his caring expression focused on helping me recover, not exploiting my vulnerability.">>
<<narrative "Phase 1: Initial Contact">>
<center><img src="images/liora/blightwood/saliva1.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The first warm drop of his saliva hits my tongue, and my body responds immediately. That familiar bitter-then-sweet taste floods my senses - the unique properties of his saliva that makes it so effective for magical restoration.">>
<<narrative "Despite knowing it's medicine, the intimacy of the act is overwhelming. Having someone's saliva directly dripped into my mouth feels incredibly personal and vulnerable. My breathing becomes shallow as more drops follow, each one carrying that distinctive taste that my body is beginning to recognize and crave.">>
<<dialog "Seryk" "face" "That's good, Little Bird. I can see your color returning already. Try to relax and let your body absorb it properly.">>
<<narrative "Each swallow sends both magical energy and confusing sensations through my system. My body is definitely responding to the treatment, but there are other effects too - a warm tingling that spreads from my stomach outward, making me feel strangely aroused despite the medical nature of what we're doing.">>
<<quickFetishRoll "Liora" "SalivaFetish" "Seryk" 0.4>>
<<if _fetishSuccess>>
<<dialog "Liora" "facewet" "The taste... it's so much more intense than I expected. My body is responding in ways that feel... strange but not unpleasant.">>
<<narrative "I can't deny that my body is reacting powerfully to this intimate treatment. There's an undeniable arousal building alongside the magical restoration, making me feel conflicted about the experience. My nipples are becoming hard, and I can feel warmth building between my legs.">>
<<changeLust "Liora" 8>>
<<changeFetish "Liora" "SalivaFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 2>>
<<else>>
<<dialog "Liora" "faceembarrassedshortpink" "This is so embarrassing... I know it's medicine, but having your saliva in my mouth feels so... intimate.">>
<<narrative "I force myself to focus on the medical necessity, trying to ignore the more confusing aspects of this treatment. Still, I can't completely suppress my body's growing familiarity with the process, or the way my pulse quickens with each drop.">>
<<changeLust "Liora" 5>>
<<changeFetish "Liora" "SalivaFetish" 0.1>>
<<changeAttraction "Liora" "Seryk" 1>>
<</if>>
<div style="background: rgba(90,70,110,0.9); border: 1px solid rgba(170,150,190,0.4); border-radius: 8px; padding: 20px; margin: 20px 0;"><p style="color: #DDA0DD; font-weight: bold; text-align: center; margin-bottom: 15px;">--- Phase 2: Deeper Administration ---</p><center><img src="images/liora/blightwood/saliva2.webp" style="width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*For the second phase, Seryk moves closer, positioning himself so he can deliver a more substantial amount. The intimacy increases dramatically as he leans over me, his face now only inches from mine. I can feel the heat radiating from his body as he concentrates on the treatment.*</p><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I can feel his breath on my face, smell his masculine scent mixed with the subtle sweat that seem to make my head spin. Every sense is heightened as he continues the treatment, making the experience incredibly intense and deeply personal.*</p><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/seryk/face.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-seryk">This next dose will be more concentrated, Little Bird. It might feel intense, but it's necessary for full recovery. Trust me.</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*A larger amount of his saliva flows into my mouth this time - warm and thick. I have to swallow more frequently to keep up with the flow, the taste becoming more pronounced and somehow more addictive with each gulp.*</p><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*The effects are immediate and powerful. Magical energy surges through me, but so does a confusing mix of other sensations. My body is responding in ways that go far beyond simple medical treatment - there's an undeniable sexual tension building.*</p><<if _fetishSuccess>><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/liora/facewet.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-liora">Oh my... this feels so much more intense! My whole body is tingling. Is this normal for the treatment?</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I can feel warmth and arousal building throughout my body. This intimate exchange is affecting me in ways I didn't expect, creating confusion between medical necessity and growing desire. My breathing becomes more labored, and I can feel myself getting wet.*</p><<changeLust "Liora" 5>><<changeAttraction "Liora" "Seryk" 1>><<else>><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/liora/faceembarrassedshortpink.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-liora">This is working amazingly well, but being this close while you... it's very overwhelming.</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I try to focus on the medical benefits while managing the overwhelming intimacy of the situation. Still, I can't deny that my body is responding positively to both the treatment and Seryk's caring presence.*</p><</if>></div>
<div style="background: rgba(100,80,120,0.9); border: 1px solid rgba(180,160,200,0.4); border-radius: 8px; padding: 20px; margin: 20px 0;"><p style="color: #FF69B4; font-weight: bold; text-align: center; margin-bottom: 15px;">--- Phase 3: Complete Treatment ---</p><center><img src="images/liora/blightwood/saliva3.webp" style="width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*For the final phase, Seryk positions himself even closer for maximum effectiveness. This level of intimacy is almost overwhelming - his presence surrounds me completely as he prepares to deliver the final, most concentrated dose. I can feel the heat from his body, see the genuine care in his eyes.*</p><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*His caring expression never wavers, focused entirely on ensuring my complete recovery. Even in this incredibly intimate position, he maintains his professional demeanor while providing the most effective treatment possible. Yet there's an undeniable tension between us now.*</p><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/seryk/face.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-seryk">This final dose will complete your recovery, Little Bird. I'll give you a whole lot for treatment at once. Just breathe and let it work through your system.</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*The final administration is the most intense yet. A steady, generous flow of his saliva fills my mouth, requiring continuous swallowing. Each gulp sends powerful waves of both magical restoration and overwhelming sensations through my entire body. The taste is now familiar, almost comforting.*</p><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*My mana reserves are completely restored, but the side effects are undeniable. The intimate nature of this treatment has awakened responses in my body that go far beyond simple medical necessity. I'm breathing heavily, my body flushed and aroused from the prolonged intimate contact.*</p><<if _fetishSuccess>><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/liora/facewet.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-liora">I can't believe how incredible this feels... my whole body is responding so intensely. This treatment is affecting me in ways I never expected.</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*By the treatment's conclusion, I'm breathing heavily, my entire body flushed with both restored energy and intense arousal. I can't deny that this intimate exchange has affected me deeply. My underwear is completely soaked, and I'm struggling to control the overwhelming sensations.*</p><<changeLust "Liora" 8>><<changeFetish "Liora" "SalivaFetish" 0.2>><<changeAttraction "Liora" "Seryk" 2>><<else>><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/liora/faceembarrassedshortpink.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-liora">The treatment is incredibly effective... I feel completely restored. Thank you for helping me, even though this was so embarrassing.</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*As the treatment concludes, I'm left feeling both grateful and confused. My mana is fully restored, but the intimate nature of the experience has left me with complicated feelings and undeniable arousal.*</p><</if>><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*As we prepare to rejoin the others, I feel the familiar mixture of restored energy and complex emotions. Seryk's treatment is undeniably effective, but the growing intimacy of these exchanges is something I'm still trying to understand. The taste of his saliva lingers on my tongue, and I find myself already anticipating the next time I might need his... assistance.*</p><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/seryk/face.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-seryk">Perfect recovery, Little Bird. Your color looks much better now. Are you feeling ready to continue?</span></div><div style="clear: left;"></div></div><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/liora/facesmile.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;">
<span class="dialog-liora">Yes, I feel completely restored. Thank you for your help, Seryk.</span></div><div style="clear: left;"></div></div></div><<set $liora_combatStats.currentStamina = Math.min($liora_combatStats.currentStamina + 40, $liora_combatStats.maxStamina || 80)>><<changeLust "Seryk" 3>><<changeAffection "Liora" "Seryk" 2>><<changeAffection "Seryk" "Liora" 3>><<changeAttraction "Seryk" "Liora" 1>><<if $serykxliorantr === true>><<set $serykxliorantr = "stage1">><</if>><div style="background: rgba(144,238,144,0.2); border: 1px solid rgba(144,238,144,0.5); border-radius: 8px; padding: 15px; margin: 15px 0; text-align: center;"><p style="color: #90EE90; font-size: 0.9em; margin: 0;">💧 Liora recovers 40 MP from Seryk's treatment 💧</p></div></div>
<<continueBox "RestAreaContinue" "Return to the rest area" "">>
<<changeFace $currentLioraFace>><<statSummary>>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<<narrative "💦 Private Relief 💦">>
<<narrative "Desperate Need">>
<center><img src="images/landscapes/secludedarea.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The dungeonous atmosphere and recent events have left me in a state of desperate arousal. My body aches with need, and the rest area offers just enough privacy for relief. I find a secluded corner behind some ancient stone pillars.">>
<<narrative "I can't take it anymore. Every interaction, every sight, every scent has been building this tension. My hands shake as I quickly check that the others are occupied elsewhere before giving in to my body's demands.">>
<<narrative "--- Private Moment ---">>
<center><img src="images/rylan/masturbate/1.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I quickly free myself from my pants, my arousal already at its peak from the built-up tension. The relief of finally being able to address my body's needs is immediate and overwhelming.">>
<<narrative "My mind races with images from recent encounters - the intimate moments that have been driving me wild. Each memory fuels my desperate need for release.">>
<<if $serinChapter2ArmpitSeen === true>>
<<narrative "--- Serin's Domination ---">>
<center><img src="images/serin/chapter2/morningactivities/lickingarmpit3.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I remember being lost in that intoxicating trance, my tongue exploring her armpit while she held me captive. The musky taste, the overwhelming scent that drove me wild...">>
<center><img src="images/serin/chapter2/morningactivities/feet/7.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "And then her feet... those pantyhose-covered soles pressed against my face, the damp fabric and her commanding voice as I climaxed completely from just her scent...">>
<<changeFetish "Rylan" "feetFetish" 0.1>>
<<changeFetish "Rylan" "SmellFetish" 0.1>>
<</if>>
<<if $rylanRomanceMariel === true>>
<<narrative "--- Mariel's Desperate Need ---">>
<center><img src="images/mariel/chapter3/nightactivities1/11.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Mariel's passionate kisses flood my memory - her desperate need, the way she mistook me for Thalor, the guilt and arousal warring in my mind as she pushed me onto the bed...">>
<<changeFetish "Rylan" "SalivaFetish" 0.1>>
<</if>>
<<if $serykMorningBathScene === true>>
<<narrative "--- Seryk's Masculine Power ---">>
<center><img src="images/seryk/chapter2/morningactivities/cockslap2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The bath scene plays vividly - Seryk's impressive member slapping across my face as he stood up, his masculine scent overwhelming me as I climaxed uncontrollably from just that contact...">>
<<changeFetish "Rylan" "MuscleFetish" 0.1>>
<<changeFetish "Rylan" "GayValue" 0.1>>
<</if>>
<<if $nimeriaxrylancontent == true && ($nimeria_RylanSitOnLap || 0) > 0>>
<<narrative "--- Nimeria's Mysterious Allure ---">>
<center><img src="images/nimeria/chapter2/morningactivities/sitonlap.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Nimeria sitting on my lap, her mysterious smile and intoxicating presence. There's something about her that makes my body react in ways I don't understand...">>
<<changeFetish "Rylan" "SubmissionFetish" 0.1>>
<</if>>
<<if ($rylan_LioraFootSmelled || false) === true>>
<<narrative "--- Liora's Innocent Temptation ---">>
<center><img src="images/liora/blightwood/thigh2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Liora's exposed thigh during our intimate moments, her innocent reactions to my touches. The way she trusted me completely, not knowing the effect she was having on me...">>
<<changeFetish "Rylan" "ThighFetish" 0.1>>
<</if>>
<<if !$serinChapter2PunishmentSeen && !$rylanRomanceMariel && !$serykMorningBathScene && !($nimeria_RylanSitOnLap > 0) && !$rylan_LioraFootSmelled>>
<<narrative "All the intimate encounters and teasing moments play through my mind, each memory intensifying my desperate need for relief.">>
<</if>>
<<narrative "I work frantically, my body responding eagerly after so much built-up tension. The fear of being discovered only adds to the intensity, making every sensation more acute.">>
<<set _discoveryRoll = random(1, 100)>>
<<set _possibleDiscoverers = []>>
<<if $serinChapter4MasturbationPunishment === true>>
<<set _possibleDiscoverers.push("Serin")>>
<</if>>
<<if $nimeria_rylanHandjobChapter4 === true>>
<<set _possibleDiscoverers.push("Nimeria")>>
<</if>>
<<if ($rylan_GayValue || 0) > 1>>
<<set _possibleDiscoverers.push("Seryk")>>
<</if>>
<<if _discoveryRoll <= 60 && _possibleDiscoverers.length > 0>>
<<set _discoverer = _possibleDiscoverers.random()>>
<<if _discoverer === "Serin">>
<<narrative "--- Discovered by Serin! ---">>
<center><img src="images/serin/facesmirk.webp" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Just as I'm getting close, I hear familiar footsteps. My heart stops as Serin rounds the corner, her eyes immediately taking in the scene with that predatory grin I've come to know too well.">>
<<dialog "Serin" "facesmirk" "Well, well... what do we have here? My little pervert can't even wait until we're home. How pathetic... and exciting.">>
<<narrative "Instead of retreating, she steps closer, her eyes gleaming with mischievous intent. The memory of our previous encounters floods back, and I can see that same dominant hunger in her expression.">>
<<dialog "Serin" "facelaugh" "You know what? I think I should help you. After all, you clearly need proper guidance to finish what you started. Want to see something that'll really help you climax?">>
<<set _currentLust = $rylan_Lust || 0>>
<<set _currentAttraction = $rylan_SerinAttraction || 0>>
<<set _currentArmpitFetish = $rylan_ArmpitFetish || 0>>
<<set _currentSmellFetish = $rylan_SmellFetish || 0>>
<<set _currentBreastFetish = $rylan_BreastFetish || 0>>
<<set _currentSubmissionFetish = $rylan_SubmissionFetish || 0>>
<<set _baseTarget = 20>>
<<set _lustBonus = Math.floor(_currentLust / 20) * 5>>
<<set _attractionBonus = Math.floor(_currentAttraction / 10) * 3>>
<<set _armpitBonus = Math.floor(_currentArmpitFetish)>>
<<set _smellBonus = Math.floor(_currentSmellFetish)>>
<<set _breastBonus = Math.floor(_currentBreastFetish)>>
<<set _submissionBonus = Math.floor(_currentSubmissionFetish)>>
<<set _finalTarget = Math.min(80, _baseTarget + _lustBonus + _attractionBonus + _armpitBonus + _smellBonus + _breastBonus + _submissionBonus)>>
<<set _resistanceRoll = random(1, 100)>>
<<set _tempRollSuccess = _resistanceRoll > _finalTarget>>
<<narrative "🎲 Resistance to Temptation: _resistanceRoll vs _finalTarget">>
<<if _tempRollSuccess>>
<<narrative "✅ (Success)">>
<<else>>
<<narrative "❌ (Failure)">>
<</if>>
<<narrative "Base: _baseTarget | Lust: +_lustBonus | Attraction: +_attractionBonus | Armpit: +_armpitBonus | Smell: +_smellBonus | Breast: +_breastBonus | Submission: +_submissionBonus">>
<<if not _tempRollSuccess>>
<<narrative "The combination of embarrassment, arousal, and her dominant presence overwhelms my resistance completely. I find myself nodding, unable to form words.">>
<<dialog "Serin" "facesmirk" "That's my good boy. Now watch carefully...">>
<center><img src="images/serin/blightwood/masturbationdiscover/breasts.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Without hesitation, she begins to strip, revealing her perfect breasts and toned body. The sight of her exposed skin in the dangerous environment makes the moment incredibly intense.">>
<<dialog "Serin" "facewet" "You want to smell them, don't you? My sweaty armpits after all this traveling? Come closer and take a deep breath while you stroke yourself.">>
<<quickRoll "Armpit Temptation" "Rylan" 65 10 "armpitFetish" 5>>
<<if not _tempRollSuccess>>
<<narrative "I can't resist her command. The musky, feminine scent emanating from her exposed armpits is intoxicating. I lean closer, inhaling deeply as her natural pheromones fill my senses completely.">>
<center><img src="images/serin/blightwood/masturbationdiscover/breasts.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The combination of her visual dominance and that overwhelming scent drives me wild. I stroke myself faster, completely lost in the moment as her armpit musk becomes my entire world.">>
<<changeFetish "Rylan" "armpitFetish" 0.3>>
<<changeAttraction "Rylan" "Serin" 0.1>>
<<else>>
<<narrative "I try to maintain some distance, but the sight of her exposed body and the faint scent still reaches me. Even while trying to resist, I can't deny the effect she's having on me.">>
<center><img src="images/serin/chapter4/masturbationpunishment/6.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Despite my attempt at resistance, her commanding presence and exposed body continue to fuel my arousal. I stroke myself while trying to maintain control, but her dominance is overwhelming.">>
<<changeFetish "Rylan" "armpitFetish" 0.1>>
<<changeAttraction "Rylan" "Serin" 0.1>>
<</if>>
<<dialog "Serin" "facesmirk" "That's it, my little pet. Breathe it all in. Let my scent become part of you. You're going to think about this every time you touch yourself from now on.">>
<center><img src="images/serin/blightwood/masturbationdiscover/armpits.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Her words push me to the absolute edge. The combination of her scent, her exposed body, her dominant commands, and the thrill of being caught in this compromising position creates an overwhelming sensory overload that I can no longer resist.">>
<<run window.AudioSystem.playSFX('hsounds/cum.mp3')>>
<center><img src="images/rylan/masturbate/cumming.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The climax is incredibly intense, amplified by her scent, her visual stimulation, and the thrill of being dominated even in this semi-public setting. I shudder with the force of the orgasm.">>
<<changeLust "Rylan" -100>>
<<changeLust "Serin" 15>>
<<changeFetish "Rylan" "smellFetish" 0.3>>
<<changeFetish "Rylan" "exhibitionismFetish" 0.4>>
<<changeFetish "Rylan" "submissionFetish" 0.3>>
<<changeFetish "Serin" "exhibitionismFetish" 0.3>>
<<changeAttraction "Rylan" "Serin" 1>>
<<changeAttraction "Serin" "Rylan" 2>>
<<changeAffection "Serin" "Rylan" 2>>
<<else>>
<<narrative "Despite the temptation, I manage to maintain some composure and shake my head, quickly covering myself.">>
<<dialog "Rylan" "faceembarrassed" "N-no, Serin. I just... I need to handle this privately. Please go back to the others.">>
<<dialog "Serin" "facelaugh" "How disappointing. But I'll remember this moment, $humanName. Next time you might not have a choice.">>
<<narrative "She leaves with that predatory smile, and I quickly finish in privacy, though the encounter with her has left me more aroused than before.">>
<<changeLust "Rylan" -50>>
<<changeFetish "Rylan" "exhibitionismFetish" 0.1>>
<<changeAttraction "Serin" "Rylan" 1>>
<</if>>
<<elseif _discoverer === "Nimeria">>
<<narrative "--- Discovered by Nimeria! ---">>
<center><img src="images/nimeria/face.webp" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "As I approach my peak, I suddenly sense a familiar presence. Nimeria appears silently, her innocent smile hiding the mysterious depths I've come to recognize.">>
<<dialog "Nimeria" "face" "Oh my, $humanName... such desperate need. You know, I could help you with that. My hands are quite skilled...">>
<<narrative "Her offer hangs in the air, and I remember our previous intimate encounter. There's something hypnotic about her presence that makes resistance difficult.">>
<<set _currentLust = $rylan_Lust || 0>>
<<set _currentAttraction = $rylan_NimeriaAttraction || 0>>
<<set _currentSmellFetish = $rylan_SmellFetish || 0>>
<<set _currentBreastFetish = $rylan_BreastFetish || 0>>
<<set _currentArmpitFetish = $rylan_ArmpitFetish || 0>>
<<set _baseTarget = 25>>
<<set _lustBonus = Math.floor(_currentLust / 20) * 5>>
<<set _attractionBonus = Math.floor(_currentAttraction / 10) * 3>>
<<set _smellBonus = Math.floor(_currentSmellFetish)>>
<<set _breastBonus = Math.floor(_currentBreastFetish)>>
<<set _armpitBonus = Math.floor(_currentArmpitFetish)>>
<<set _finalTarget = Math.min(80, _baseTarget + _lustBonus + _attractionBonus + _smellBonus + _breastBonus + _armpitBonus)>>
<<set _resistanceRoll = random(1, 100)>>
<<set _tempRollSuccess = _resistanceRoll > _finalTarget>>
<<narrative "🎲 Resistance to Temptation: _resistanceRoll vs _finalTarget">>
<<if _tempRollSuccess>>
<<narrative "✅ (Success)">>
<<else>>
<<narrative "❌ (Failure)">>
<</if>>
<<narrative "Base: _baseTarget | Lust: +_lustBonus | Attraction: +_attractionBonus | Smell: +_smellBonus | Breast: +_breastBonus | Armpit: +_armpitBonus">>
<<if not _tempRollSuccess>>
<<narrative "Unable to resist her mysterious allure and remembering how incredible her touch felt before, I nod weakly.">>
<<dialog "Nimeria" "facesmile" "There's a good boy. Just relax and let me take care of everything...">>
<<narrative "Without breaking eye contact, she begins to slowly remove her white dress, the fabric sliding down her pale skin with deliberate sensuality. My breathing becomes heavier as I watch her undress in front of me.">>
<center><img src="images/nimeria/blightwood/masturbationdiscover/undressing.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The white dress falls to the ground, revealing her incredible body clad only in sheer black pantyhose. The contrast of the dark fabric against her pale skin is mesmerizing, and I can see every curve of her form through the translucent material.">>
<<dialog "Nimeria" "facewet" "Much better... now I can properly take care of you. These pantyhose feel so smooth against my skin, don't you think?">>
<<narrative "She kneels beside me, her body barely covered by the sheer black pantyhose that clings to every curve. The sight of her nearly naked form is overwhelming, and I can barely think straight as she reaches for me.">>
<center><img src="images/nimeria/blightwood/masturbationdiscover/1.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Her soft, skilled hands replace mine, and the sensation is immediately more intense. There's something almost supernatural about her touch that sends waves of pleasure through my entire body. The feeling of her nearly naked body so close to mine makes it even more intense.">>
<center><img src="images/nimeria/blightwood/masturbationdiscover/2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She works me with expert precision, her mysterious smile never wavering as she brings me to the most intense climax I've ever experienced. Her otherworldly presence and the sight of her in just those black pantyhose amplifies every sensation to an almost unbearable level.">>
<<set _rylanCumAmount = setup.getStat("Rylan", "body", "cumAmount")>>
<<if not $rylan_cumOnOthersMl>><<set $rylan_cumOnOthersMl = 0>><</if>>
<<if not $nimeria_cumOnBodyMl>><<set $nimeria_cumOnBodyMl = 0>><</if>>
<<if not $rylan_NimeriaCumOnOthersMl>><<set $rylan_NimeriaCumOnOthersMl = 0>><</if>>
<<if not $Nimeria_RylanCumOnBodyMl>><<set $Nimeria_RylanCumOnBodyMl = 0>><</if>>
<<set $rylan_cumOnOthersMl += _rylanCumAmount>>
<<set $rylan_NimeriaOrgasmsReceived = ($rylan_NimeriaOrgasmsReceived or 0) + 1>>
<<set $nimeria_RylanOrgasmsGiven = ($nimeria_RylanOrgasmsGiven or 0) + 1>>
<<set $rylan_NimeriaHandjobTakenCount = ($rylan_NimeriaHandjobTakenCount or 0) + 1>>
<<set $nimeria_RylanHandjobCount = ($nimeria_RylanHandjobCount or 0) + 1>>
<center><img src="images/nimeria/blightwood/masturbationdiscover/3.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<run window.AudioSystem.playSFX('hsounds/cum.mp3')>>
<center><img src="images/rylan/masturbate/cumming.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeLust "Rylan" -100>>
<<changeLust "Nimeria" 10>>
<<changeFetish "Rylan" "submissionFetish" 0.3>>
<<changeAttraction "Rylan" "Nimeria" 2>>
<<changeAttraction "Nimeria" "Rylan" 2>>
<<changeAffection "Nimeria" "Rylan" 3>>
<<set $nimeria_RylanHandjobDoneCount = ($nimeria_RylanHandjobDoneCount || 0) + 1>>
<<set $rylan_handjobTakenCount = ($rylan_handjobTakenCount || 0) + 1>>
<<set $nimeria_handjobDoneCount = ($nimeria_handjobDoneCount || 0) + 1>>
<<set $rylan_handjobExperience = ($rylan_handjobExperience || 0) + 1>>
<<set $nimeria_handjobExperience = ($nimeria_handjobExperience || 0) + 1>>
<<set $nimeria_cumOnBodyAmount = ($nimeria_cumOnBodyAmount || 0) + ($rylan_cumAmount || 15)>>
<<set $nimeria_cumOnBodyCount = ($nimeria_cumOnBodyCount || 0) + 1>>
<<set $rylan_cumOnOthersAmount = ($rylan_cumOnOthersAmount || 0) + ($rylan_cumAmount || 15)>>
<<set $rylan_cumOnOthersCount = ($rylan_cumOnOthersCount || 0) + 1>>
<<else>>
<<narrative "Despite the temptation, I manage to shake my head and pull back slightly.">>
<<dialog "Rylan" "faceembarrassed" "I... I appreciate the offer, Nimeria, but I should handle this myself.">>
<<dialog "Nimeria" "face" "As you wish, $humanName. But remember, I'm always here if you need... assistance.">>
<<narrative "She disappears as quietly as she arrived, leaving me to finish alone, though thoughts of her mysterious offer linger in my mind.">>
<<changeLust "Rylan" -70>>
<<changeFetish "Rylan" "submissionFetish" 0.1>>
<<changeAttraction "Nimeria" "Rylan" 1>>
<</if>>
<<elseif _discoverer === "Seryk">>
<<narrative "--- Discovered by Seryk! ---">>
<center><img src="images/seryk/faceembarrassed.webp" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Just as I'm getting close, I hear heavy footsteps. My heart nearly stops as Seryk rounds the corner, his eyes widening as he takes in the scene.">>
<<dialog "Seryk" "faceembarrassed" "Oh... sorry bro! I'll just... I'll go away. Don't mind me, just continue what you were doing.">>
<<narrative "He starts to turn away, but something inside me - some confusing impulse - makes me want him to stay. The thought surprises me, but my growing attraction to his masculine presence seems to override my embarrassment.">>
<<choiceBox "Seryk Discovery" "Ask him to pose for you" "RylanMasturbationStop" "" "Try to resist asking him to stay" "RylanMasturbationResist" "">>
<</if>>
<<else>>
<<narrative "--- Uninterrupted Relief ---">>
<<narrative "Fortunately, my secluded spot remains private. The built-up tension from all the recent encounters reaches its peak, and I finally achieve the release my body desperately needed.">>
<center><img src="images/rylan/masturbate/cumming.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The orgasm is incredibly intense after so much buildup. Wave after wave of pleasure washes over me as months of tension finally find release. I lean against the stone wall, breathing heavily as the overwhelming satisfaction settles in.">>
<<changeLust "Rylan" -100>>
<<trackOther "Rylan" "MasturbationCount" 1>>
<</if>>
<<narrative "--- Aftermath ---">>
<<narrative "As the intense pleasure fades, I quickly clean myself up and adjust my clothing. The relief is enormous - the desperate tension that had been building finally releases, leaving me feeling much more centered and able to focus.">>
<<narrative "I take a few deep breaths to compose myself before rejoining the others, hoping no one notices my slightly flushed appearance. The rest area has certainly served its purpose for recovery in more ways than one.">>
<<set $rylan_Lust = 0>>
<<trackOther "Rylan" "MasturbationCount" 1>>
<<narrative "💦 $humanName's lust completely relieved 💦">>
<<continueBox "RestAreaContinue" "Return to the group" "">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<script>>window.AudioSystem.playBGM('intimate.mp3');<</script>><<set $currentFace = $currentRylanFace>>
<<nobr>>
<div class="secret-transition-container" style="background: linear-gradient(45deg, rgba(75, 0, 130, 0.95), rgba(139, 0, 139, 0.95), rgba(75, 0, 130, 0.95)); min-height: 100vh; padding: 40px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.2); position: relative; overflow: hidden;"><div class="floating-particles" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none;"><div style="position: absolute; width: 4px; height: 4px; background: rgba(255,255,255,0.6); border-radius: 50%; animation: float 8s infinite ease-in-out; top: 20%; left: 10%;"></div><div style="position: absolute; width: 3px; height: 3px; background: rgba(255,255,255,0.4); border-radius: 50%; animation: float 6s infinite ease-in-out 2s; top: 60%; left: 80%;"></div><div style="position: absolute; width: 5px; height: 5px; background: rgba(255,255,255,0.5); border-radius: 50%; animation: float 10s infinite ease-in-out 4s; top: 80%; left: 30%;"></div></div><div class="transition-content" style="position: relative; z-index: 2; text-align: center;"><div class="fade-text-1" style="opacity: 0; animation: fadeInOut 4s ease-in-out;"><p style="color: #FFB6C1; font-size: 1.6em; font-weight: bold; margin-bottom: 30px; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">As you rest...</p><p style="color: white; font-size: 1.2em; line-height: 1.8; margin-bottom: 40px; font-style: italic;">*You focus on recovering your strength, unaware of what's happening nearby...*</p></div><div class="fade-text-2" style="opacity: 0; animation: fadeInOut 4s ease-in-out 3s;"><p style="color: #DDA0DD; font-size: 1.4em; font-weight: bold; margin-bottom: 30px; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">In the shadows...</p><p style="color: white; font-size: 1.2em; line-height: 1.8; margin-bottom: 40px; font-style: italic;">*Seryk notices Liora's exhausted state and approaches her quietly...*</p></div><div class="fade-text-3" style="opacity: 0; animation: fadeInOut 4s ease-in-out 6s;"><p style="color: #FF69B4; font-size: 1.4em; font-weight: bold; margin-bottom: 30px; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Behind your back...</p><p style="color: white; font-size: 1.2em; line-height: 1.8; margin-bottom: 40px; font-style: italic;">*Something intimate is about to happen without your knowledge...*</p></div><div class="continue-button" style="opacity: 0; animation: fadeIn 2s ease-in-out 8s forwards;"><div style="background: rgba(45,45,50,0.9); border: 2px solid rgba(255,20,147,0.6); border-radius: 10px; padding: 15px; margin: 20px auto; width: 500px;">[[Continue →|SerykLioraManaAssist]]</div></div></div></div>
<style>
@keyframes fadeInOut {
0% { opacity: 0; transform: translateY(20px); }
20% { opacity: 1; transform: translateY(0); }
80% { opacity: 1; transform: translateY(0); }
100% { opacity: 0; transform: translateY(-20px); }
}
@keyframes fadeIn {
0% { opacity: 0; transform: scale(0.9); }
100% { opacity: 1; transform: scale(1); }
}
@keyframes float {
0%, 100% { transform: translateY(0px) rotate(0deg); opacity: 0.5; }
50% { transform: translateY(-20px) rotate(180deg); opacity: 1; }
}
</style>
<<timed 10s>><<goto "SerykLioraManaAssist">><</timed>>
<</nobr>><<nobr>>
<<unset $dungeonProgress>>
<<unset $dungeonName>>
<<unset $dungeonEffect>>
<<unset $dungeonDifficulty>>
<<unset $dungeonMaxAreas>>
<div class="passage-container rylan">
<<narrative "After what feels like hours of exploration through the treacherous dungeon, you finally reach the deepest chamber. The air shimmers with ancient magic, and before you stands a magnificent treasure chest, glowing with ethereal light.">>
<<narrative "🎉 TREASURE DISCOVERED! 🎉">>
<center><img src="images/landscapes/lustdungeontreasure.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3); animation: treasureGlow 2s ease-in-out infinite alternate;"></center>
<<narrative "Inside we find:">>
<div style="text-align: center; margin: 20px 0; background: linear-gradient(145deg, rgba(255, 215, 0, 0.2), rgba(255, 165, 0, 0.3)); border: 2px solid rgba(255, 215, 0, 0.5); border-radius: 15px; padding: 20px;">
<h3 style="color: #FFD700; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 10px 0;">💰 TREASURE REWARDS 💰</h3>
<p style="color: #FFD700; font-size: 1.2em; margin: 5px 0;">✨ 150 Gold Coins ✨</p>
<p style="color: #87CEEB; font-size: 1.2em; margin: 5px 0;">💎 30 Magic Crystals 💎</p>
</div>
<<narrative "The treasure glitters brilliantly as you collect the rewards. The gold coins clink satisfyingly in your pouch, and the magic crystals pulse with mysterious energy.">>
<<set $gold += 150>>
<<set $crystals += 30>>
<<narrative "With the treasure secured, your team makes their way back to the surface, victorious and significantly wealthier.">>
<<continueBox "MorningActivityChoicesNext" "Return home..." "">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<widget "lustDungeonDynamicFetishEvent">>
<<set _fetishType1 = "feet">>
<<set _fetishType2 = "ass">>
<<set _fetishType3 = "breasts">>
<<set _fetishType4 = "armpit">>
<<set _fetishValue1 = $rylan_FeetFetish || 0>>
<<set _fetishValue2 = $rylan_AssFetish || 0>>
<<set _fetishValue3 = $rylan_BreastFetish || 0>>
<<set _fetishValue4 = $rylan_ArmpitFetish || 0>>
<<set _chance1 = 10 + (_fetishValue1 > 0 ? _fetishValue1 : 0)>>
<<set _chance2 = 10 + (_fetishValue2 > 0 ? _fetishValue2 : 0)>>
<<set _chance3 = 10 + (_fetishValue3 > 0 ? _fetishValue3 : 0)>>
<<set _chance4 = 10 + (_fetishValue4 > 0 ? _fetishValue4 : 0)>>
<<set _totalChance = _chance1 + _chance2 + _chance3 + _chance4>>
<<set _random = random(1, _totalChance)>>
<<if _random <= _chance1>>
<<set _selectedType = "feet">>
<<elseif _random <= _chance1 + _chance2>>
<<set _selectedType = "ass">>
<<elseif _random <= _chance1 + _chance2 + _chance3>>
<<set _selectedType = "breasts">>
<<else>>
<<set _selectedType = "armpit">>
<</if>>
<<set _fetishType = _selectedType>>
<<set _debugFetishType = _fetishType>>
<<if _selectedType === "feet">>
<<set _fetishValue = _fetishValue1>>
<<elseif _selectedType === "ass">>
<<set _fetishValue = _fetishValue2>>
<<elseif _selectedType === "breasts">>
<<set _fetishValue = _fetishValue3>>
<<elseif _selectedType === "armpit">>
<<set _fetishValue = _fetishValue4>>
<</if>>
<<if _fetishType === "feet">>
<<set _fetishTypeName = "FeetFetish">>
<<set _fetishDescription = "feet">>
<<elseif _fetishType === "ass">>
<<set _fetishTypeName = "AssFetish">>
<<set _fetishDescription = "ass">>
<<elseif _fetishType === "breasts">>
<<set _fetishTypeName = "BreastFetish">>
<<set _fetishDescription = "breasts">>
<<elseif _fetishType === "armpit">>
<<set _fetishTypeName = "ArmpitFetish">>
<<set _fetishDescription = "armpits">>
<</if>>
<<set _randomImage = random(1, 10)>>
<<set _availableCharacters = []>>
<<if $lioraFutaCurrious>>
<<set _availableCharacters.push("Liora")>>
<</if>>
<<if $rylanxserincontent>>
<<set _availableCharacters.push("Serin")>>
<</if>>
<<if $marielChapter5Massage>>
<<set _availableCharacters.push("Mariel")>>
<</if>>
<<if $nimeriaxrylancontent == true>>
<<set _availableCharacters.push("Nimeria")>>
<</if>>
<<if $serykRylanLustDungeonEncounter>>
<<set _availableCharacters.push("Seryk")>>
<</if>>
<<if $thalor_rylanGayContent>>
<<set _availableCharacters.push("Thalor")>>
<</if>>
<<if _availableCharacters.length === 0>>
<<set _availableCharacters = ["Liora"]>>
<</if>>
<<set _randomCharacterIndex = random(0, _availableCharacters.length - 1)>>
<<set _selectedCharacter = _availableCharacters[_randomCharacterIndex]>>
<<if _selectedCharacter === "Liora">>
<<set _characterName = "Liora">>
<<set _characterFolder = "liora">>
<<set _attractionValue = $rylan_LioraAttraction || 0>>
<<set _faceImage = "images/liora/faceshortpink.webp">>
<<elseif _selectedCharacter === "Serin">>
<<set _characterName = "Serin">>
<<set _characterFolder = "serin">>
<<set _attractionValue = $rylan_SerinAttraction || 0>>
<<set _faceImage = "images/serin/face.webp">>
<<elseif _selectedCharacter === "Mariel">>
<<set _characterName = "Mariel">>
<<set _characterFolder = "mariel">>
<<set _attractionValue = $rylan_MarielAttraction || 0>>
<<set _faceImage = "images/mariel/stage2/face.webp">>
<<elseif _selectedCharacter === "Nimeria">>
<<set _characterName = "Nimeria">>
<<set _characterFolder = "nimeria">>
<<set _attractionValue = $rylan_NimeriaAttraction || 0>>
<<set _faceImage = "images/nimeria/face.webp">>
<<elseif _selectedCharacter === "Seryk">>
<<set _characterName = "Seryk">>
<<set _characterFolder = "seryk">>
<<set _attractionValue = $rylan_SerykAttraction || 0>>
<<set _faceImage = "images/seryk/face.webp">>
<<else>>
<<set _characterName = "Thalor">>
<<set _characterFolder = "thalor">>
<<set _attractionValue = $rylan_ThalorAttraction || 0>>
<<set _faceImage = "images/thalor/face.webp">>
<</if>>
<<quickRoll "Fetish Temptation" "Rylan" 80 5 _fetishTypeName 2>>
<<if _characterName === "Mariel">>
<<narrative "As we rest in this area, I find myself unable to stop looking at $humanToMariel's _fetishDescription. There's something about them that keeps drawing my attention...">>
<<elseif _characterName === "Thalor">>
<<narrative "As we rest in this area, I find myself unable to stop looking at $humanToThalor's _fetishDescription. There's something about them that keeps drawing my attention...">>
<<else>>
<<narrative "As we rest in this area, I find myself unable to stop looking at _characterName's _fetishDescription. There's something about them that keeps drawing my attention...">>
<</if>>
<<set _imagePath = "images/" + _characterFolder + "/dungeon/" + _fetishType + "/" + _randomImage + ".webp">>
<center><img @src="_imagePath" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if not _tempRollSuccess>>
<<changeFetish "Rylan" _fetishTypeName 0.2>>
<<changeLust "Rylan" 3>>
<<changeAttraction "Rylan" _characterName 0.1>>
<<narrative "I can't help myself... the sight is too tempting to resist. My heart races as I continue to stare, feeling a strange warmth building inside me.">>
<<set _randomChance = random(1, 100)>>
<<if _randomChance <= 30>>
<<if _characterName === "Liora">>
<<dialog "Liora" "faceshortpink" "Is something wrong, $humanName? You seem distracted...">>
<<elseif _characterName === "Serin">>
<<dialog "Serin" "face" "Hey, what are you staring at? Do I have something on me?">>
<<elseif _characterName === "Mariel">>
<<dialog "Mariel" "face" "$humanName, are you feeling alright? You look a bit flushed.">>
<<elseif _characterName === "Nimeria">>
<<dialog "Nimeria" "face" "Something caught your eye? I hope it's something pleasant...">>
<<elseif _characterName === "Seryk">>
<<dialog "Seryk" "face" "You okay there? You seem lost in thought.">>
<<else>>
<<dialog "Thalor" "face" "What's got you so distracted, $humanName?">>
<</if>>
<</if>>
<<else>>
<<narrative "I manage to tear my gaze away, feeling a bit embarrassed by my own thoughts. I should focus on the exploration, not get distracted by such things.">>
<</if>>
<<continueBox "LustDungeonJourney" "Continue Exploring" "">>
<</widget>>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<<narrative "🦶 Sharp Stone 🦶">>
<<narrative "Intimate Care">>
<center><img src="images/landscapes/rockypath.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The path becomes rocky and treacherous. Suddenly, Serin stops walking and winces, clearly in pain.">>
<<dialog "Serin" "faceangry" "Damn it! A sharp stone got into my boot. It's cutting into my foot!">>
<<narrative "Serin sits down on a stone bench and starts unlacing her boot. The others continue ahead, leaving us completely alone in this secluded part of the dungeon.">>
<<if $rylanxserincontent === true>>
<center><img src="images/serin/blightwood/stoneinshoe/1.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "$humanName... I need your help again. But this time, I want you to be extra thorough. Make sure you check every inch of my foot...">>
<<narrative "There's something different in Serin's voice - a sultry undertone that makes my heart race. She sits gracefully on the log, her legs positioned deliberately to draw my attention. The white socks hug her athletic calves perfectly.">>
<<dialog "Serin" "facewet" "See how my socks are damp with sweat? I've been walking for hours... they're clinging to my skin. You'll need to peel them off very slowly...">>
<<set _currentFeetFetish = $rylan_feetFetish || 0>>
<<set _currentSmellFetish = $rylan_smellFetish || 0>>
<<quickFetishRoll "Rylan" "FeetFetish" "Serin" 0.4>>
<<if _fetishSuccess>>
<<if _currentFeetFetish >= 3.0>>
<<narrative "My existing obsession with feet makes this moment overwhelming. Serin's sock-covered feet are like a drug to me, and I can barely contain my desperate need to worship them properly.">>
<<changeLust "Rylan" 8>>
<<changeAttraction "Serin" "Rylan" 1.0>>
<<changeFetish "Rylan" "FeetFetish" 0.5>>
<<elseif _currentFeetFetish >= 1.5>>
<<narrative "My growing appreciation for feet makes Serin's display incredibly appealing. I find myself completely mesmerized by the sight of her sock-covered feet, wanting to see and touch more.">>
<<changeLust "Rylan" 6>>
<<changeAttraction "Serin" "Rylan" 3>>
<<changeFetish "Rylan" "FeetFetish" 0.4>>
<<else>>
<<narrative "I find myself unexpectedly drawn to the sight of Serin's sock-covered feet. The way the fabric clings to her curves awakens something new in me.">>
<<changeLust "Rylan" 5>>
<<changeAttraction "Serin" "Rylan" 2>>
<<changeFetish "Rylan" "FeetFetish" 0.3>>
<</if>>
<<else>>
<<narrative "I try to focus on the medical aspect, but Serin's deliberate positioning and sultry words make it impossible to ignore the intimate nature of what's happening.">>
<<changeLust "Rylan" 3>>
<<changeAttraction "Serin" "Rylan" 1>>
<<changeFetish "Rylan" "FeetFetish" 0.1>>
<</if>>
<center><img src="images/serin/blightwood/stoneinshoe/2.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I kneel before Serin as she extends her foot toward me. Her sock is indeed damp and clings to her skin like a second layer. The intimacy of the moment is overwhelming.">>
<<dialog "Serin" "facewet" "That's it... get closer. I can see how you're looking at my foot through the sock. You're imagining what's underneath, aren't you?">>
<<narrative "From this close, I can see every detail of how the damp fabric clings to her foot. The anticipation builds as I prepare to examine her injury properly.">>
<<quickFetishRoll "Rylan" "SmellFetish" "Serin" 0.4>>
<<if _fetishSuccess>>
<<if _currentSmellFetish >= 3.0>>
<<narrative "My established addiction to feminine scents makes Serin's aroma utterly intoxicating. I find myself nearly panting, desperate to breathe in more of her intoxicating musk. The smell of her sweaty foot is like pure ecstasy.">>
<<changeLust "Rylan" 8>>
<<changeFetish "Rylan" "SmellFetish" 0.5>>
<<dialog "Serin" "facewet" "Look at you... you're practically intoxicated by my scent. You can't get enough, can you? I love how my smell affects you so much...">>
<<elseif _currentSmellFetish >= 1.5>>
<<narrative "My growing fascination with feminine scents makes Serin's aroma incredibly appealing. I find myself breathing deeper, wanting to absorb more of her intoxicating musk.">>
<<changeLust "Rylan" 6>>
<<changeFetish "Rylan" "SmellFetish" 0.4>>
<<dialog "Serin" "facewet" "I can see you breathing deeper, $humanName. You like my scent, don't you? My foot smells so strong from our long walk...">>
<<else>>
<<narrative "As more of her foot is revealed, an unexpected scent reaches me - a blend of leather, cotton, and her natural feminine musk. Something about it is oddly appealing.">>
<<changeLust "Rylan" 5>>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<<dialog "Serin" "facewet" "You're breathing differently... do you like how I smell? I've been walking all day so my foot is quite... aromatic.">>
<</if>>
<<else>>
<<narrative "I continue removing the sock, trying to maintain some semblance of medical professionalism despite the increasingly intimate atmosphere.">>
<<changeLust "Rylan" 3>>
<<changeFetish "Rylan" "SmellFetish" 0.1>>
<</if>>
<center><img src="images/serin/blightwood/stoneinshoe/3.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "My hands shake slightly as I begin to slowly roll down her sock. The fabric peels away from her damp skin with a soft whisper, and I catch my first glimpse of her bare heel as more skin is revealed.">>
<<dialog "Serin" "facewet" "That's it... slowly peel it off. I can feel your fingers brushing against my skin as you work. The sock is so damp it's practically stuck to me...">>
<<narrative "As more of her foot is revealed, I can see her smooth, athletic skin glistening slightly with moisture. The sock continues to cling as I work it down, creating an incredibly intimate process.">>
<<quickFetishRoll "Rylan" "FeetFetish" "Serin" 0.5>>
<<if _fetishSuccess>>
<<if _currentFeetFetish >= 3.0>>
<<narrative "The sight of Serin's completely bare foot sends waves of overwhelming desire through me. My obsession takes over completely - every toe, every arch, every inch of her skin seems like perfection that I desperately need to worship.">>
<<changeLust "Rylan" 10>>
<<changeAttraction "Serin" "Rylan" 5>>
<<changeFetish "Rylan" "FeetFetish" 0.6>>
<<dialog "Serin" "facewet" "Look at that intense stare... you're completely obsessed with my feet, aren't you? I can see the desperation in your eyes to touch them properly...">>
<<elseif _currentFeetFetish >= 1.5>>
<<narrative "The sight of her bare foot captivates me completely. My growing appreciation for feet makes this moment incredibly intense - I find myself studying every detail with fascination.">>
<<changeLust "Rylan" 8>>
<<changeAttraction "Serin" "Rylan" 4>>
<<changeFetish "Rylan" "FeetFetish" 0.5>>
<<dialog "Serin" "facewet" "I can see exactly how you're looking at my foot, $humanName. You're not thinking about medical treatment anymore, are you? You're just... admiring.">>
<<else>>
<<narrative "I'm completely captivated by the sight of her bare foot. Every curve, every line seems unexpectedly appealing. Something about this intimate view awakens new desires.">>
<<changeLust "Rylan" 7>>
<<changeAttraction "Serin" "Rylan" 3>>
<<changeFetish "Rylan" "FeetFetish" 0.4>>
<<dialog "Serin" "facewet" "I can see you're really looking at my foot now... not just the injury. Do you like what you see?">>
<</if>>
<<else>>
<<narrative "I try to focus on locating the injury, though the intimate display makes concentration nearly impossible.">>
<<changeLust "Rylan" 4>>
<<changeAttraction "Serin" "Rylan" 2>>
<<changeFetish "Rylan" "FeetFetish" 0.2>>
<</if>>
<<quickFetishRoll "Rylan" "SmellFetish" "Serin" 0.4>>
<<if _fetishSuccess>>
<<if _currentSmellFetish >= 3.0>>
<<narrative "With her foot fully exposed, her natural scent becomes even more intense and intoxicating. I find myself leaning closer unconsciously, almost drunk on her aroma.">>
<<changeLust "Rylan" 6>>
<<changeFetish "Rylan" "SmellFetish" 0.4>>
<<elseif _currentSmellFetish >= 1.5>>
<<narrative "The scent from her bare foot is more noticeable now, and I find it surprisingly appealing. There's something about her natural aroma that draws me in.">>
<<changeLust "Rylan" 4>>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<<else>>
<<narrative "I notice her foot has a distinct scent from being in her boot all day. Something about it seems oddly appealing.">>
<<changeLust "Rylan" 2>>
<<changeFetish "Rylan" "SmellFetish" 0.2>>
<</if>>
<</if>>
<center><img src="images/serin/blightwood/stoneinshoe/4.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "With her sock finally removed, Serin's bare foot is fully revealed. Her skin is slightly flushed from being confined in her boot, and I can see the small cut where the stone was pressing against her sole.">>
<<dialog "Serin" "facewet" "There... now you can see everything. My bare foot, completely exposed for you. You'll need to examine it very carefully to make sure there's no debris left...">>
<<narrative "Serin shifts position, giving me an even better view. Her foot is elegant and athletic, with perfectly shaped toes and smooth, soft-looking skin despite her active lifestyle.">>
<<dialog "Serin" "facewet" "I thought you might want to compare both feet... to make sure the injured one heals properly. You'll need to touch them both, won't you?">>
<<quickFetishRoll "Rylan" "SubmissionFetish" "Serin" 0.4>>
<<if _fetishSuccess>>
<<narrative "Kneeling here at Serin's feet, completely focused on her needs and desires, I realize how much I enjoy being in this position of service. She has complete control over the situation, and I love it.">>
<<changeLust "Rylan" 6>>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<dialog "Serin" "facewet" "You look so perfect down there, taking care of me. I could get used to having you at my feet like this... attending to my every need.">>
<<changeFetish "Serin" "DominanceFetish" 0.3>>
<<else>>
<<narrative "Despite my best efforts to remain professional, the intimate nature of the situation and Serin's deliberate seduction is wearing down my resolve.">>
<<changeLust "Rylan" 4>>
<</if>>
<center><img src="images/serin/blightwood/stoneinshoe/5.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<quickFetishRoll "Rylan" "FeetFetish" "Serin" 0.6>>
<<if _fetishSuccess>>
<<if _currentFeetFetish >= 3.0>>
<<narrative "The moment my hands make contact with Serin's bare feet, I'm completely overwhelmed. My obsession reaches its peak as I feel the warm, soft skin under my fingers. I can barely contain my desperate need to worship them properly.">>
<<changeLust "Rylan" 12>>
<<changeFetish "Rylan" "FeetFetish" 0.8>>
<<dialog "Serin" "facewet" "Look at you... you're completely lost in touching my feet. I can feel how much you need this. Don't be shy - massage them properly...">>
<<elseif _currentFeetFetish >= 1.5>>
<<narrative "My hands tremble with excitement as I touch her warm, soft skin. The physical contact with her feet sends intense pleasure through me, far beyond what medical treatment should provide.">>
<<changeLust "Rylan" 9>>
<<changeFetish "Rylan" "FeetFetish" 0.6>>
<<dialog "Serin" "facewet" "Your hands feel amazing on my skin, $humanName. I can feel how much you're enjoying touching my feet... Take your time and examine every inch.">>
<<else>>
<<narrative "My hands tremble as I gently touch her skin to examine the wound. Her feet are warm and incredibly soft, and the intimate contact awakens something new in me.">>
<<changeLust "Rylan" 7>>
<<changeFetish "Rylan" "FeetFetish" 0.5>>
<<dialog "Serin" "facewet" "Your hands feel so gentle on my skin... I can tell you like touching my feet more than you expected.">>
<</if>>
<<else>>
<<narrative "I try to focus on the medical treatment, though the intimate contact makes it difficult to think clearly.">>
<<changeLust "Rylan" 4>>
<<changeFetish "Rylan" "FeetFetish" 0.3>>
<</if>>
<<quickFetishRoll "Rylan" "SmellFetish" "Serin" 0.5>>
<<if _fetishSuccess>>
<<if _currentSmellFetish >= 3.0>>
<<narrative "Working so close to her feet, her intoxicating scent completely overwhelms me. I find myself breathing deeply, addicted to her natural aroma. The smell of her warm skin is pure bliss.">>
<<changeLust "Rylan" 8>>
<<changeFetish "Rylan" "SmellFetish" 0.6>>
<<elseif _currentSmellFetish >= 1.5>>
<<narrative "Being so close to her feet while touching them intensifies her scent significantly. I find myself unconsciously breathing deeper, drawn to her natural aroma.">>
<<changeLust "Rylan" 5>>
<<changeFetish "Rylan" "SmellFetish" 0.4>>
<<else>>
<<narrative "Working this close, I become more aware of her natural scent. Something about it is oddly appealing and arousing.">>
<<changeLust "Rylan" 3>>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<</if>>
<</if>>
<<narrative "As I apply the bandage, Serin deliberately flexes her toes and shifts her feet, ensuring maximum contact between my hands and her skin. Every touch sends electric sensations through both of us.">>
<<dialog "Serin" "facewet" "Perfect... you've been so thorough, so attentive. This little private examination will be our secret, won't it? I like having intimate secrets with you, $humanName.">>
<<narrative "With the treatment complete, Serin slowly puts her sock back on, but not before giving me one last, lingering look at her bare feet. The memory of this intimate encounter will stay with me for a long time.">>
<<changeLust "Serin" 6>>
<<changeAffection "Serin" "Rylan" 4>>
<<changeFetish "Serin" "ExhibitionismFetish" 0.2>>
<</if>>
<<dialog "Serin" "faceworried" "$humanName, can you help me? I can't reach the stone properly and my foot is starting to bleed...">>
<center><img src="images/serin/blightwood/stoneinshoe/1.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I kneel down in front of Serin as she removes her boot and sock, revealing her athletic foot. There's a small cut where the stone was pressing, and her foot is slightly damp with sweat from the long walk.">>
<<quickFetishRoll "Rylan" "FeetFetish" "Serin" 0.2>>
<<if _fetishSuccess>>
<<narrative "Despite the medical nature of the situation, I find myself oddly drawn to the intimate contact with Serin's foot. There's something appealing about caring for her this way.">>
<<changeLust "Rylan" 4>>
<<changeAttraction "Serin" "Rylan" 2>>
<<else>>
<<narrative "I focus on the practical aspects of treating Serin's injury, though the intimate nature of the contact isn't lost on me.">>
<<changeLust "Rylan" 2>>
<<changeAttraction "Serin" "Rylan" 1>>
<</if>>
<<narrative "I carefully clean and bandage the wound, trying to be as gentle as possible.">>
<<dialog "Serin" "face" "Thanks, $humanName. You're good at this... gentle but thorough.">>
<<changeAffection "Serin" "Rylan" 1>>
<<continueBox "LustDungeonContinue" "Continue Exploring" "">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container liora">
<<narrative "💪 Helping Hand 💪">>
<center><img src="images/landscapes/blockage.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The path is blocked by fallen trees and large rocks. The team needs to work together to clear the way forward.">>
<<if $serykxliorantr === true || $serykxliorantr === "stage1">>
<<dialog "Seryk" "face" "Little Bird, stay back while I clear this path for you.">>
<<narrative "The others continue ahead, leaving Liora completely alone with Seryk. The isolation creates an intimate atmosphere as he begins his display of strength.">>
<center><img src="images/seryk/chapter2/stretching.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Seryk approaches the heavy debris wearing only his loose boxers, his impressive physique naturally visible. He rolls his shoulders and stretches, preparing to work. There's nothing calculated about his appearance - he's simply comfortable in his own skin.">>
<<dialog "Seryk" "face" "Little Bird, why don't you rest over there? This debris looks heavy, and I don't want you getting hurt. I've got the strength to handle this safely.">>
<<set _currentMuscleFetish = $liora_muscleFetish || 0>>
<<set _currentSmellFetish = $liora_smellFetish || 0>>
<<quickFetishRoll "Liora" "MuscleFetish" "Seryk" 0.5>>
<<if _fetishSuccess>>
<<if _currentMuscleFetish >= 3.0>>
<<narrative "My obsession with powerful muscles reaches a fever pitch. Seryk's near-naked body in just those loose boxers is absolutely perfect - every ridge, every curve of his powerful physique makes me feel weak with desire. I remember the taste of his saliva... wait, why am I thinking about that?">>
<<changeLust "Liora" 10>>
<<changeAttraction "Liora" "Seryk" 5>>
<<changeFetish "Liora" "MuscleFetish" 0.6>>
<<dialog "Liora" "facewet" "Seryk... seeing you like this... it's bringing back memories of when we... when you helped me and I tasted... No, I shouldn't be thinking about that now.">>
<<elseif _currentMuscleFetish >= 1.5>>
<<narrative "My growing appreciation for muscular bodies makes Seryk's nearly naked display incredibly captivating. The memory of our kiss flashes through my mind - how his saliva tasted, how it made me feel. Why do I keep thinking about that?">>
<<changeLust "Liora" 8>>
<<changeAttraction "Liora" "Seryk" 4>>
<<changeFetish "Liora" "MuscleFetish" 0.5>>
<<dialog "Liora" "facewet" "Your body is incredible, Seryk. It reminds me of when you were so close to me before... when I could taste your...">>
<<else>>
<<narrative "I find myself unexpectedly drawn to Seryk's impressive physique barely covered by his boxers. Memories surface unbidden - the kiss we shared, how I actually drank his saliva multiple times and... enjoyed it? What's wrong with me?">>
<<changeLust "Liora" 6>>
<<changeAttraction "Liora" "Seryk" 3>>
<<changeFetish "Liora" "MuscleFetish" 0.4>>
<<dialog "Liora" "faceembarrassedshortpink" "I... I keep remembering when we kissed, when I swallowed your saliva. Why did I like it so much? Why do I want more?">>
<</if>>
<<else>>
<<narrative "I try to focus on something else, but seeing Seryk in just his boxers brings back confused memories of our intimate moments. The way his saliva tasted... why can't I stop thinking about it?">>
<<changeLust "Liora" 4>>
<<changeAttraction "Liora" "Seryk" 2>>
<<changeFetish "Liora" "MuscleFetish" 0.2>>
<</if>>
<center><img src="images/seryk/sweathard.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Seryk begins lifting the heavy stones with impressive ease, his powerful body working efficiently. His muscles flex naturally with each movement, and soon a light sheen of sweat appears on his skin from the exertion.">>
<<dialog "Seryk" "face" "Sorry about working up a sweat, Little Bird. These stones are heavier than they look! Are you feeling okay over there? You look a bit flushed.">>
<<narrative "As Seryk works, I find myself unable to look away. The beads of sweat on his skin catch my attention, and strangely... they look almost delicious? What is wrong with me? Why am I having such strange thoughts? I remember when I tasted his saliva... it was so sweet...">>
<<quickFetishRoll "Liora" "SmellFetish" "Seryk" 0.5>>
<<if _fetishSuccess>>
<<if _currentSmellFetish >= 3.0>>
<<narrative "Seryk's natural masculine scent completely overwhelms my senses. I find myself breathing deeper unconsciously, almost drunk on his musky aroma. The smell combines with the memory of his taste - his saliva, so sweet and addictive. I want to get closer... God, what is happening to me?">>
<<changeLust "Liora" 8>>
<<changeFetish "Liora" "SmellFetish" 0.6>>
<<dialog "Liora" "facewet" "Seryk... your scent reminds me of when you helped me before, when I tasted... I keep having these strange thoughts. I shouldn't feel this way, but I can't stop myself...">>
<<elseif _currentSmellFetish >= 1.5>>
<<narrative "My growing fascination with Seryk's scent makes me unconsciously breathe deeper. The sight of his sweat triggers memories of how good his saliva tasted. These thoughts confuse and overwhelm me.">>
<<changeLust "Liora" 6>>
<<changeFetish "Liora" "SmellFetish" 0.4>>
<<dialog "Liora" "facewet" "Your scent... it makes me remember when you saved me, when I tasted you. I'm having such strange thoughts... why do I feel this way?">>
<<else>>
<<narrative "Seryk's natural masculine scent is unlike anything I've experienced. Combined with memories of when he helped me, I'm having the strangest urges. I remember how his saliva tasted... and now I'm wondering about other things. What's wrong with me?">>
<<changeLust "Liora" 5>>
<<changeFetish "Liora" "SmellFetish" 0.3>>
<<dialog "Liora" "faceembarrassedshortpink" "Your scent... it's making me think about when you saved me and I tasted... I keep having these confusing thoughts...">>
<</if>>
<<else>>
<<narrative "I try to focus on the work being done, but the sight of Seryk's sweaty body keeps bringing back memories of tasting his saliva. Why do I keep thinking about how delicious his sweat looks?">>
<<changeLust "Liora" 3>>
<<changeFetish "Liora" "SmellFetish" 0.1>>
<</if>>
<<dialog "Seryk" "face" "Little Bird, are you feeling alright? You look flushed and your breathing seems heavy. Maybe you should sit down? I don't want you overheating in this weather.">>
<center><img src="images/liora/facewet.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "When Seryk finishes clearing the path, he notices I'm still breathing heavily and looking flushed. His expression shows genuine concern as he approaches, wiping sweat from his brow.">>
<<dialog "Seryk" "face" "Little Bird, you're really overheated. Here, let me check if you have a fever. I'm worried about you.">>
<<narrative "Seryk gently places the back of his hand against my forehead, then carefully cups my face to check my temperature. His touch is tender and concerned, though I can smell his natural scent even stronger now that he's close.">>
<<quickFetishRoll "Liora" "SubmissionFetish" "Seryk" 0.4>>
<<if _fetishSuccess>>
<<narrative "Being so close to Seryk's protective presence, feeling his gentle hands on my skin while breathing in his natural scent, awakens something deep inside me. I feel safe and cared for, and somehow... I want to let him take care of me completely.">>
<<changeLust "Liora" 6>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<dialog "Liora" "facewet" "When you touch me like this... I feel so safe with your strength protecting me. I want... I want to let you take care of me.">>
<<changeLust "Seryk" 4>>
<<changeAttraction "Seryk" "Liora" 2>>
<<else>>
<<narrative "Seryk's gentle touch is comforting yet overwhelming. I don't understand why his presence affects me so powerfully, but I feel safe with him.">>
<<changeLust "Liora" 4>>
<<changeLust "Seryk" 2>>
<</if>>
<<narrative "Seryk uses his thumbs to gently wipe away the sweat from my forehead. His touch lingers longer than necessary, and I find myself leaning into his strong hands unconsciously.">>
<<dialog "Seryk" "face" "Little Bird, you're trembling... Are you still feeling unwell? I can step back if I'm making you uncomfortable. I just want to make sure you're okay.">>
<center><img src="images/liora/blightwood/seryktouchface.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Seryk remains close, still checking on me, but I notice he seems affected too. His breathing has changed, and there's a slight flush to his cheeks. Neither of us expected this kind of reaction.">>
<<dialog "Seryk" "face" "Little Bird... I can feel your heart racing. Mine is too, actually. I don't understand what's happening between us. This feeling is... new to me.">>
<<narrative "Almost unconsciously, I find myself breathing deeper, letting Seryk's masculine aroma wash over me. His demonic pheromones seem to awaken primal desires I never knew existed.">>
<<quickFetishRoll "Liora" "SalivaFetish" "Seryk" 0.3>>
<<if _fetishSuccess>>
<<narrative "As Seryk speaks, I find myself drawn to his mouth, remembering the taste of his saliva from when he helped me before. When he unconsciously licks his lips, I feel an unexpected surge of longing.">>
<<changeLust "Liora" 5>>
<<changeFetish "Liora" "SalivaFetish" 0.2>>
<<dialog "Liora" "facewet" "I... I keep remembering when you saved me, when I tasted... I can't stop thinking about it.">>
<<dialog "Seryk" "faceembarrassed" "I... I keep thinking about that too, Little Bird. I didn't expect it to affect me this way. Your reactions... they make me feel things I've never felt before.">>
<</if>>
<<narrative "Seryk's hands move gently to my shoulders, his touch tender and supportive. The contact sends warm sensations through my body, and I feel both comforted and excited by his closeness.">>
<<dialog "Liora" "facewet" "Seryk... I... thank you for checking on me. I feel better now that you're here.">>
<<narrative "As our intimate moment continues, Seryk slowly steps back, looking as confused and affected as I feel. His expression shows he's experiencing something new and unexpected too.">>
<<dialog "Seryk" "faceembarrassed" "Little Bird... are you feeling better now? We should... we should catch up with the others.">>
<<changeLust "Seryk" 5>>
<<changeAffection "Liora" "Seryk" 3>>
<<changeAttraction "Seryk" "Liora" 3>>
<<else>>
<<narrative "Everyone works together to clear the blockage. I find myself working alongside Liora, both of us struggling with some of the heavier debris.">>
<<dialog "Liora" "faceworried" "$humanName, this rock is too heavy for me alone. Can you help me lift it?">>
<center><img src="images/liora/sweathard.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "We work together to move the debris, our bodies pressed close as we coordinate our efforts. I can feel the warmth from her body and catch her feminine scent as we work.">>
<<quickFetishRoll "Rylan" "SmellFetish" "Liora" 0.3>>
<<if _fetishSuccess>>
<<narrative "Working so close to Liora, I become aware of her natural scent - a mix of feminine sweetness and the light sweat from our efforts. It's surprisingly intoxicating.">>
<<changeLust "Rylan" 5>>
<<changeLust "Liora" 3>>
<<changeAttraction "Rylan" "Liora" 2>>
<<dialog "Liora" "faceembarrassedshortpink" "I'm sorry if I smell from the work... being so close to you makes me nervous...">>
<<else>>
<<narrative "We work efficiently together, though I can't help but notice how graceful Liora remains even during physical labor.">>
<<changeLust "Rylan" 2>>
<<changeAttraction "Rylan" "Liora" 1>>
<</if>>
<<changeAffection "Rylan" "Liora" 1>>
<<changeAffection "Liora" "Rylan" 1>>
<</if>>
<<if $serykxliorantr === true || $serykxliorantr === "stage1">>
<<narrative "As we prepare to continue forward, I can't help but notice how Liora keeps glancing back toward Seryk. The intimate encounter has clearly affected her deeply, and I sense something fundamental has changed between them. Her breathing is still slightly uneven, and there's a new look in her eyes - a mixture of confusion and awakening desire.">>
<<dialog "Liora" "facewet" "I... I can still smell his scent on my skin. What is happening to me? I've never felt anything like this before...">>
<<else>>
<<narrative "With the path cleared through our teamwork, we can continue forward through the dungeon. The cooperative effort has brought us closer together as a team.">>
<</if>>
</div>
<<continueBox "LustDungeonContinue" "Continue Exploring" "">>
<</nobr>>
<<pov "liora" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<if $nimeriaxrylancontent == true>>
<<narrative "💕 Intoxicating Scent 💕">>
<center><img src="images/landscapes/secludedclearing.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The group splits up to cover more ground efficiently. I find myself alone with Nimeria in a secluded clearing near a small spring. She seems to have planned this moment.">>
<<dialog "Nimeria" "face" "$humanName, I've been walking all day and I'm quite... sweaty. I need to freshen up a bit. Would you mind staying close? I feel safer when you're watching over me.">>
<center><img src="images/nimeria/blightwood/1.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Nimeria begins loosening her white dress, explaining she needs to clean the areas where she's been sweating. As she lifts her arms to adjust the fabric, her underarms become exposed, revealing smooth pale skin.">>
<<dialog "Nimeria" "face" "I hope you don't mind, $humanName, but I really need to clean properly. I've been sweating quite a bit... You can smell it, can't you? My natural scent?">>
<<narrative "Even from this distance, I can detect Nimeria's intoxicating feminine scent - a mixture of sweet perfume and her natural musk. There's something about her aroma that seems almost magical, drawing me in unconsciously.">>
<<quickFetishRoll "Rylan" "ArmpitFetish" "Nimeria" 0.4>>
<<if _fetishSuccess>>
<<narrative "I find myself completely captivated by the sight of Nimeria's exposed underarms. The smooth, pale skin and the intimate nature of seeing this usually hidden part of her body awakens something powerful in me.">>
<<changeLust "Rylan" 6>>
<<changeFetish "Rylan" "ArmpitFetish" 0.3>>
<<changeAttraction "Rylan" "Nimeria" 3>>
<<dialog "Nimeria" "face" "I can see you're fascinated by what I'm showing you, $humanName. There's something special about seeing someone's most intimate areas, isn't there?">>
<<else>>
<<narrative "I try to give Nimeria privacy while she cleans herself, though I can't help but notice her graceful movements and enticing scent.">>
<<changeLust "Rylan" 3>>
<<changeAttraction "Rylan" "Nimeria" 1>>
<</if>>
<<quickFetishRoll "Rylan" "SmellFetish" "Nimeria" 0.4>>
<<if _fetishSuccess>>
<<narrative "Nimeria's scent is incredibly intoxicating. There's something about her natural aroma that seems to bypass my rational mind and speak directly to my primal desires. I find myself breathing deeper, wanting more.">>
<<changeLust "Rylan" 5>>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<<dialog "Nimeria" "face" "I can see you breathing differently, $humanName. My scent affects you, doesn't it? That's perfectly natural...">>
<</if>>
<center><img src="images/nimeria/blightwood/2.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Nimeria deliberately positions herself so I have a clear view as she begins washing. She lifts one arm high above her head, completely exposing her underarm as she uses a wet cloth to clean the smooth skin. Her movements are slow and deliberate.">>
<<dialog "Nimeria" "face" "I need to be very thorough, $humanName. These areas accumulate so much scent... Can you smell how intensely I've been sweating? It's quite... overwhelming, isn't it?">>
<<narrative "As she washes, Nimeria's intoxicating aroma becomes even stronger. The combination of her natural musk and the water seems to intensify her scent, creating an almost hypnotic effect that makes my head swim with desire.">>
<<quickFetishRoll "Rylan" "ArmpitFetish" "Nimeria" 0.5>>
<<if _fetishSuccess>>
<<narrative "Watching Nimeria wash her exposed underarms is incredibly erotic. The intimate nature of the act, combined with the perfect view of her smooth, pale skin, creates an overwhelming surge of desire. I can't look away from this private, sensual display.">>
<<changeLust "Rylan" 8>>
<<changeFetish "Rylan" "ArmpitFetish" 0.4>>
<<changeAttraction "Rylan" "Nimeria" 4>>
<<dialog "Nimeria" "face" "I can see how fascinated you are by this intimate view, $humanName. There's something so personal about watching someone cleanse their most private areas...">>
<<else>>
<<narrative "I try to give Nimeria privacy for her washing, though her deliberate positioning makes it clear she wants me to watch her intimate cleansing ritual.">>
<<changeLust "Rylan" 4>>
<<changeAttraction "Rylan" "Nimeria" 2>>
<</if>>
<<quickFetishRoll "Rylan" "SmellFetish" "Nimeria" 0.5>>
<<if _fetishSuccess>>
<<narrative "The washing seems to release even more of Nimeria's intoxicating scent into the air. Her natural aroma is incredibly powerful and seductive, making me feel drunk with desire. I find myself leaning closer unconsciously, desperate to breathe in more of her essence.">>
<<changeLust "Rylan" 6>>
<<changeFetish "Rylan" "SmellFetish" 0.4>>
<<dialog "Nimeria" "face" "I can see you're getting closer, $humanName. My scent is quite potent, isn't it? Feel free to breathe it in deeply...">>
<</if>>
<center><img src="images/nimeria/blightwood/3.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Nimeria raises both arms above her head in a deliberate display, fully exposing both of her smooth underarms. She holds this position longer than necessary, clearly wanting me to have the perfect view of her most intimate areas.">>
<<dialog "Nimeria" "face" "$humanName, could you come closer and check? I'm worried I still smell bad after all that walking. Can you tell if the cleaning helped?">>
<<narrative "The invitation is too tempting to resist. As I move closer, Nimeria's powerful aroma washes over me like a tidal wave. Her scent is incredibly potent - a heady mixture of feminine musk and something almost magical that seems to bypass rational thought and speak directly to my primal desires.">>
<<quickFetishRoll "Rylan" "ArmpitFetish" "Nimeria" 0.6>>
<<if _fetishSuccess>>
<<narrative "Being this close to Nimeria's exposed underarms is overwhelming. The smooth, pale skin and the intimate nature of this private display creates an incredible surge of arousal. I feel completely mesmerized by the sight and can't tear my eyes away from her perfect armpits.">>
<<changeLust "Rylan" 10>>
<<changeFetish "Rylan" "ArmpitFetish" 0.5>>
<<changeAttraction "Rylan" "Nimeria" 5>>
<<dialog "Nimeria" "face" "Perfect... I can see you're completely captivated by this view, $humanName. There's something so erotic about showing off my most intimate areas, isn't there?">>
<<else>>
<<narrative "I try to maintain some composure despite Nimeria's deliberate and intimate display, though her proximity and scent make concentration nearly impossible.">>
<<changeLust "Rylan" 6>>
<<changeAttraction "Rylan" "Nimeria" 3>>
<</if>>
<<quickFetishRoll "Rylan" "SmellFetish" "Nimeria" 0.6>>
<<if _fetishSuccess>>
<<narrative "Nimeria's scent at this distance is absolutely intoxicating. Her natural aroma seems to have an almost hypnotic quality that makes me feel drunk with desire. I find myself breathing deeply, desperate to absorb more of her essence, completely under the spell of her powerful feminine musk.">>
<<changeLust "Rylan" 8>>
<<changeFetish "Rylan" "SmellFetish" 0.5>>
<<dialog "Nimeria" "face" "That's it... breathe me in deeply, $humanName. Let my scent fill your lungs completely. Can you feel how it affects you? How it makes you want things you've never imagined?">>
<</if>>
<<narrative "Nimeria lowers her arms slightly, but keeps them positioned so her underarms remain exposed. She seems to enjoy the effect her intimate display is having on me, a knowing smile playing across her lips.">>
<<dialog "Nimeria" "face" "Oh! You look a little dizzy, $humanName. Are you feeling alright? Maybe I do still smell quite strong after all that walking...">>
<center><img src="images/nimeria/blightwood/4.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Before finishing our private moment, Nimeria has one final surprise. She deliberately moves even closer, positioning her underarms directly in front of my face. Her intoxicating scent is now overwhelming at this distance.">>
<<dialog "Nimeria" "face" "Before we go, $humanName, could you check one more time? I just want to make sure I'm presentable for the others. Take a deep breath and tell me if I still smell too strong.">>
<<narrative "At this close distance, Nimeria's aroma is absolutely overwhelming. My head spins with intoxication as her magical scent completely dominates my senses. I feel like I'm drowning in her feminine essence.">>
<<quickFetishRoll "Rylan" "SmellFetish" "Nimeria" 0.7>>
<<if _fetishSuccess>>
<<narrative "I can't resist breathing deeply, letting Nimeria's intoxicating scent completely overwhelm me. Her aroma is like a drug, creating an almost euphoric sensation that makes me crave more. I feel completely addicted to her essence.">>
<<changeLust "Rylan" 12>>
<<changeFetish "Rylan" "SmellFetish" 0.6>>
<<changeFetish "Rylan" "ArmpitFetish" 0.4>>
<<dialog "Nimeria" "face" "Perfect... I can see you're completely intoxicated by my scent now. You'll think about this moment every time you close your eyes, won't you?">>
<<else>>
<<narrative "Even trying to resist, Nimeria's powerful scent at this close range is impossible to ignore. My body responds despite my attempts at self-control.">>
<<changeLust "Rylan" 8>>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<</if>>
<<narrative "After what feels like an eternity of intoxicating bliss, Nimeria finally steps back. She adjusts her white dress and smooths down her black pantyhose, looking perfectly composed despite the intimate encounter.">>
<<dialog "Nimeria" "face" "That was quite refreshing! I hope you enjoyed our little... cleaning session, $humanName. We should do this again sometime. Now, shall we rejoin the others?">>
<<narrative "As we prepare to leave the clearing, I find myself completely dazed by the intimate encounter. The memory of Nimeria's intoxicating scent and the sight of her perfect underarms will haunt my thoughts for days to come.">>
<<changeLust "Nimeria" 5>>
<<changeAttraction "Nimeria" "Rylan" 3>>
<<changeFetish "Nimeria" "ExhibitionismFetish" 0.3>>
<<continueBox "LustDungeonContinue" "Continue Exploring" "">>
<<else>>
<<narrative "🌿 Peaceful Exploration 🌿">>
<<narrative "Botanical Discovery">>
<center><img src="images/landscapes/secludedclearing.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The group splits up to cover more ground efficiently. I find myself with Nimeria in a secluded clearing near a small spring, examining some unusual plants that seem to be thriving despite the blight.">>
<<dialog "Nimeria" "face" "Look at these fascinating plants, $humanName! They seem to be naturally resistant to the blight. This could be valuable information for the guild's research.">>
<<narrative "We spend time cataloguing the unusual flora, taking notes on their resistance to the toxic environment. It's peaceful work, and Nimeria proves to be an excellent research partner.">>
<<dialog "Nimeria" "face" "Your knowledge of plants is quite impressive, $humanName. I enjoy working with someone who appreciates the natural world as much as I do.">>
<<changeAffection "Nimeria" "Rylan" 1>>
<<changeAffection "Rylan" "Nimeria" 1>>
<<continueBox "LustDungeonContinue" "Continue Exploring" "">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "💆 Muscle Strain 💆">>
<center><img src="images/landscapes/restingspot.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "After walking for hours through difficult terrain, Liora suddenly stumbles and cries out in pain. She's pulled something in her leg and can barely walk.">>
<<dialog "Liora" "faceworried" "Ow! My thigh muscle... I think I've strained it badly. I can't put weight on this leg...">>
<<narrative "The others scout ahead for a safe path while I help Liora to a secluded resting spot where she can recover.">>
<center><img src="images/liora/blightwood/thigh2.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Liora" "faceembarrassedshortpink" "$humanName... I'm going to need to lift my skirt so you can massage the muscle properly. This is so embarrassing...">>
<<narrative "Liora hesitantly lifts her skirt to expose her injured thigh. Her skin is pale and soft, and I can see the tense muscle that needs attention.">>
<<quickFetishRoll "Rylan" "ThighFetish" "Liora" 0.4>>
<<if _fetishSuccess>>
<<narrative "As my hands work on Liora's injured thigh, I find myself captivated by the smoothness of her skin and the intimate nature of our position. Her leg feels incredibly soft under my touch.">>
<<changeLust "Rylan" 6>>
<<changeLust "Liora" 4>>
<<changeAttraction "Rylan" "Liora" 3>>
<<dialog "Liora" "facewet" "Your hands... they feel so warm on my skin. The massage is helping, but it's also making me feel... strange...">>
<<quickFetishRoll "Liora" "SubmissionFetish" "Rylan" 0.3>>
<<if _fetishSuccess>>
<<narrative "As I continue the massage, Liora's breathing becomes heavier. She seems to be enjoying the intimate contact more than just the therapeutic benefits.">>
<<changeLust "Liora" 4>>
<<changeFetish "Liora" "SubmissionFetish" 0.2>>
<<dialog "Liora" "faceembarrassedshortpink" "Please... don't stop. Your touch is making the pain go away, but also making me feel things I don't understand...">>
<<changeAffection "Liora" "Rylan" 2>>
<</if>>
<<else>>
<<narrative "I focus on the therapeutic aspects of the massage, working to relieve the tension in Liora's injured muscle while trying not to think about the intimate nature of the situation.">>
<<changeLust "Rylan" 3>>
<<changeLust "Liora" 2>>
<<changeAttraction "Rylan" "Liora" 1>>
<</if>>
<<narrative "After several minutes of careful massage, Liora's muscle relaxes and the pain subsides. She's able to stand again, though she remains close to me.">>
<<dialog "Liora" "face" "Thank you, $humanName. Your gentle touch... I'll remember how safe you made me feel.">>
<<changeAffection "Liora" "Rylan" 1>>
<<changeFetish "Rylan" "ThighFetish" 0.1>>
<<continueBox "LustDungeonContinue" "Continue Exploring" "">>
</div>
<</nobr>>
<<pov "rylan" "sensualmassage.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "💪 Intensive Training 💪">>
<center><img src="images/landscapes/trainingground.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "We discover an ancient training ground hidden in the dungeon depths. The others scout ahead, leaving me completely alone with Seryk. He grins as he surveys the spacious area, clearly having ideas for intensive training.">>
<<if ($rylan_GayValue || 0) > 0.5 && $allowGayContent === true>>
<<dialog "Seryk" "facegrin" "Perfect timing, bro. We've got this whole training ground to ourselves, and your combat technique definitely needs some... hands-on instruction. As you can see, I'm already dressed for serious training - just my boxers. You should match my level of preparation.">>
<center><img src="images/seryk/boxers.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Seryk stands before me wearing only his loose boxers, his incredibly impressive physique on full display. His muscles are perfectly defined, with broad shoulders tapering to a narrow waist. His chest is powerful and masculine, covered with a light sheen of sweat from our journey.">>
<<dialog "Seryk" "facegrin" "Come on, bro. Don't be shy - lose the shirt and match my style. We need full range of motion for this training. I want to see exactly how your body moves so I can correct your form properly.">>
<<narrative "Somewhat nervously, I remove my shirt as well. Seryk's eyes openly appraise my smaller, leaner frame. There's something predatory yet appreciative in his gaze that makes my heart race. His near-naked state in just those loose boxers is incredibly distracting.">>
<<set _currentMuscleFetish = $rylan_MuscleFetish || 0>>
<<set _currentGayValue = $rylan_GayValue || 0>>
<<quickFetishRoll "Rylan" "MuscleFetish" "Seryk" 0.6>>
<<if _fetishSuccess>>
<<if _currentMuscleFetish >= 3.0>>
<<narrative "My existing obsession with powerful muscles reaches fever pitch seeing Seryk's perfect physique so close. Every ridge, every curve of his powerful body seems designed to drive me wild with desire. I can barely think straight.">>
<<changeLust "Rylan" 10>>
<<changeAttraction "Rylan" "Seryk" 5>>
<<changeFetish "Rylan" "MuscleFetish" 0.6>>
<<dialog "Seryk" "facegrin" "I can see exactly how much you appreciate what you're looking at, bro. Your body doesn't lie - that hungry stare tells me everything I need to know. You like seeing me in just my boxers, don't you?">>
<<elseif _currentMuscleFetish >= 1.5>>
<<narrative "My growing appreciation for muscular bodies makes Seryk's display absolutely captivating. I find myself studying every detail of his powerful physique with fascination and growing arousal.">>
<<changeLust "Rylan" 8>>
<<changeAttraction "Rylan" "Seryk" 4>>
<<changeFetish "Rylan" "MuscleFetish" 0.5>>
<<dialog "Seryk" "facegrin" "You're really taking your time looking me over, bro. I like a man who appreciates quality craftsmanship when he sees it.">>
<<else>>
<<narrative "I find myself unexpectedly mesmerized by Seryk's powerful build. There's something incredibly appealing about his raw masculine strength that awakens new feelings in me.">>
<<changeLust "Rylan" 6>>
<<changeAttraction "Rylan" "Seryk" 3>>
<<changeFetish "Rylan" "MuscleFetish" 0.4>>
<<dialog "Seryk" "face" "I can see this is awakening something new in you, bro. That's perfectly natural - demons tend to have that effect on people.">>
<</if>>
<<else>>
<<narrative "I try to focus on the training aspect rather than Seryk's impressive physique, though avoiding looking at his powerful build proves nearly impossible.">>
<<changeLust "Rylan" 4>>
<<changeAttraction "Rylan" "Seryk" 2>>
<<changeFetish "Rylan" "MuscleFetish" 0.2>>
<</if>>
<center><img src="images/seryk/chapter2/stretching.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Seryk begins demonstrating various combat stances, his muscles flexing and rippling with each movement. Soon, sweat begins to glisten on his skin, creating an even more mesmerizing display of raw masculine power.">>
<<dialog "Seryk" "face" "Now it's your turn, bro. But first I need to correct your posture. Stand in front of me and let me position you properly from behind.">>
<<narrative "Seryk moves directly behind me, his powerful chest pressing against my back. His muscular arms come around me to adjust my stance, and I can feel the heat radiating from his body. His masculine scent fills my nostrils.">>
<<quickFetishRoll "Rylan" "SmellFetish" "Seryk" 0.6>>
<<if _fetishSuccess>>
<<set _currentSmellFetish = $rylan_SmellFetish || 0>>
<<if _currentSmellFetish >= 3.0>>
<<narrative "Seryk's intoxicating masculine scent completely overwhelms my senses. The combination of his natural musk and fresh sweat is like a drug to me. I find myself leaning back against him unconsciously, desperate to breathe in more of his essence.">>
<<changeLust "Rylan" 8>>
<<changeFetish "Rylan" "SmellFetish" 0.6>>
<<dialog "Seryk" "facegrin" "That's it, bro... I can feel how much you're enjoying my scent. You're practically melting against me. My demon pheromones have quite an effect, don't they?">>
<<elseif _currentSmellFetish >= 1.5>>
<<narrative "My growing fascination with masculine scents makes Seryk's aroma incredibly appealing. I find myself breathing deeper, savoring the intoxicating smell of his powerful body.">>
<<changeLust "Rylan" 6>>
<<changeFetish "Rylan" "SmellFetish" 0.4>>
<<dialog "Seryk" "face" "You're breathing quite deeply back there, bro. I can tell you're enjoying being this close to me. My natural scent has that effect.">>
<<else>>
<<narrative "Seryk's natural masculine scent is incredibly potent this close. There's something about his aroma that seems to bypass my rational mind and awaken primal desires I never knew existed.">>
<<changeLust "Rylan" 5>>
<<changeFetish "Rylan" "SmellFetish" 0.3>>
<<dialog "Seryk" "face" "I can feel your body responding to mine, bro. That's perfectly natural - demons have natural pheromones that affect others.">>
<</if>>
<<else>>
<<narrative "I try to focus on the training position rather than how good Seryk smells this close, though his masculine presence is impossible to ignore.">>
<<changeLust "Rylan" 3>>
<<changeFetish "Rylan" "SmellFetish" 0.1>>
<</if>>
<<narrative "Seryk's powerful hands grip my arms and shoulders, adjusting my position with firm, confident touches. His skin is warm and slightly damp with sweat, and I can feel his strength in every contact.">>
<<dialog "Seryk" "face" "Feel how I'm positioning your body, bro. Your stance needs to be wider, more... open. Let me guide you into the proper form.">>
<<narrative "Seryk suggests we move on to grappling techniques. Before I can react, he smoothly takes me down to the training mats, pinning me beneath his powerful body. His weight presses down on me as he demonstrates proper submission holds.">>
<center><img src="images/seryk/blightwood/1.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "facegrin" "This is how you establish dominance, bro. Feel my body controlling yours completely. Your opponent should know who's in charge from the moment you pin them down.">>
<<narrative "Pinned beneath Seryk's incredibly powerful physique, I'm completely overwhelmed by the intimate contact. His sweat drips down onto my chest as he holds me in place, and I can feel his muscles flexing against me with every movement.">>
<<quickFetishRoll "Rylan" "SubmissionFetish" "Seryk" 0.6>>
<<if _fetishSuccess>>
<<narrative "Being completely dominated and controlled by Seryk's superior strength awakens something deep inside me. I find myself enjoying the helpless position far more than I should, craving his powerful dominance over my weaker body.">>
<<changeLust "Rylan" 8>>
<<changeFetish "Rylan" "SubmissionFetish" 0.5>>
<<changeAttraction "Rylan" "Seryk" 4>>
<<dialog "Seryk" "facegrin" "I can feel you relaxing under me, bro. You like being controlled by someone stronger, don't you? There's no shame in enjoying submission to superior power.">>
<<else>>
<<narrative "I try to focus on the technical aspects of the grappling technique, though being pinned so intimately beneath Seryk's powerful body makes concentration nearly impossible.">>
<<changeLust "Rylan" 5>>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<</if>>
<<narrative "Seryk shifts his position, his muscular thighs straddling my waist as he demonstrates different control holds. The intimate positioning and his overwhelming physical presence make my heart race with confusing new desires.">>
<center><img src="images/seryk/blightwood/4.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "face" "Now I'm going to show you how to reverse this position, bro. But first, I want you to really feel what it's like to be completely at someone else's mercy.">>
<<narrative "As Seryk adjusts his hold, I become acutely aware of something pressing against my body through his loose boxers. He's getting aroused from the intimate contact, and I can feel his hardness growing against me. Unconsciously, he begins making small, rhythmic movements against my body.">>
<<narrative "The feeling of Seryk's arousal pressing against me sends shockwaves through my entire being. My own body responds involuntarily, and I find myself completely overwhelmed by the intimate contact. This is so far beyond anything I ever imagined experiencing with another man.">>
<<narrative "Seryk seems lost in the moment, his breathing becoming heavier as he unconsciously grinds against me. His powerful hips move in slow, deliberate motions that send waves of confusing pleasure through both of us. This clearly wasn't part of his training plan.">>
<center><img src="images/seryk/blightwood/2.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Seryk" "faceembarrassed" "Shit... I... *suddenly realizes what he's doing and stops abruptly* Sorry, bro.">>
<<narrative "Seryk pulls back slightly, his face flushed with embarrassment and confusion. The bulge in his boxers is still clearly visible, and we both struggle to process what just happened between us. Neither of us expected these intense physical reactions.">>
<<dialog "Rylan" "faceembarrassed" "It's... it's okay... I...">>
<<changeLust "Rylan" 10>>
<<changeLust "Seryk" 8>>
<<changeAttraction "Seryk" "Rylan" 4>>
<<changeAttraction "Rylan" "Seryk" 4>>
<<changeFetish "Seryk" "GayValue" 0.3>>
<<changeFetish "Rylan" "GayValue" 0.4>>
<center><img src="images/seryk/blightwood/5.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Seryk leans down close, his face inches from mine as he demonstrates a chokehold technique. His breath is warm against my skin, and I can see every detail of his handsome features. Sweat from his forehead drips down onto my face.">>
<<dialog "Seryk" "face" "This close contact is essential for proper technique, bro. You need to get comfortable being this intimate with an opponent... feeling their body heat, breathing their scent.">>
<<narrative "The intense eye contact and physical closeness creates an incredibly charged atmosphere. I find myself completely lost in Seryk's dark eyes, my breathing becoming shallow and rapid as unfamiliar desires course through me.">>
<center><img src="images/seryk/blightwood/3.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<quickFetishRoll "Rylan" "GayValue" "Seryk" 0.4>>
<<if _fetishSuccess>>
<<if _currentGayValue >= 3.0>>
<<narrative "My established attraction to men reaches its peak in this moment. Seryk's masculine beauty and powerful presence completely overwhelm me. I want him desperately - every fiber of my being craves his touch, his dominance, his possession of my body.">>
<<changeLust "Rylan" 12>>
<<changeFetish "Rylan" "GayValue" 0.6>>
<<changeAttraction "Rylan" "Seryk" 6>>
<<dialog "Seryk" "facegrin" "I can see exactly what you're thinking, bro. Your eyes are full of desire... you want this as much as I do. There's nothing wrong with embracing what you truly crave.">>
<<elseif _currentGayValue >= 1.5>>
<<narrative "My growing attraction to masculine beauty makes this intimate moment incredibly intense. Seryk's powerful presence and closeness awakens desires I'm still learning to understand and accept.">>
<<changeLust "Rylan" 9>>
<<changeFetish "Rylan" "GayValue" 0.5>>
<<changeAttraction "Rylan" "Seryk" 5>>
<<dialog "Seryk" "face" "I can feel how much this affects you, bro. These feelings you're having... they're completely natural. Let yourself explore what you truly want.">>
<<else>>
<<narrative "This intimate closeness with Seryk awakens completely new feelings in me. His masculine power and beauty create desires I never imagined I could feel. Something fundamental is changing inside me.">>
<<changeLust "Rylan" 7>>
<<changeFetish "Rylan" "GayValue" 0.4>>
<<changeAttraction "Rylan" "Seryk" 4>>
<<dialog "Seryk" "face" "I can see something awakening in you, bro. Don't be afraid of these new feelings - they're part of discovering who you really are.">>
<</if>>
<<else>>
<<narrative "The intimate training position creates confusing feelings I'm not ready to examine. I try to focus on the technique rather than the overwhelming closeness.">>
<<changeLust "Rylan" 4>>
<<changeFetish "Rylan" "GayValue" 0.2>>
<</if>>
<center><img src="images/seryk/blightwood/5.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "After what feels like an eternity of intense physical contact, Seryk finally releases me and sits back. Both of us are breathing heavily, our bodies glistening with sweat from the intensive training session. The air between us feels charged with unspoken possibilities.">>
<<dialog "Seryk" "faceembarrassed" "That was... intense training, bro. Maybe we got a bit too into it. *clears throat awkwardly* Your technique definitely improved though.">>
<<narrative "I struggle to find words, my mind reeling from the intimate encounter. The memory of Seryk's powerful body dominating mine, his scent, his touch - it all swirls together in a confusing mix of desire and awakening.">>
<<dialog "Rylan" "faceembarrassed" "Yeah... definitely different from what I expected. *avoids eye contact* I should probably... we should catch up with the others.">>
<<narrative "Seryk reaches out and places a gentle but firm hand on my shoulder, his touch sending electric sensations through my body. His dark eyes hold mine with an intensity that makes my heart race.">>
<<dialog "Seryk" "faceembarrassed" "Yeah... maybe we should. *pause* But hey, good training session, right? We should... do this again sometime. The training, I mean.">>
<<narrative "As I put my shirt back on and Seryk remains comfortably in just his boxers, we both avoid eye contact for a moment. The training session was... different. We both know something happened, but neither of us wants to talk about it right now.">>
<<changeLust "Seryk" 8>>
<<changeAffection "Seryk" "Rylan" 4>>
<<changeAttraction "Seryk" "Rylan" 4>>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<changeFetish "Rylan" "MuscleFetish" 0.2>>
<<else>>
<<narrative "I practice basic combat forms alone while Seryk works on his own training nearby. Occasionally I catch glimpses of his impressive technique and strength.">>
<<dialog "Seryk" "face" "Looking good, bro. Your form is improving. Keep practicing those movements.">>
<<quickFetishRoll "Rylan" "MuscleFetish" "Seryk" 0.2>>
<<if _fetishSuccess>>
<<narrative "Watching Seryk train is inspiring. His powerful movements and confident demeanor create an oddly appealing display of masculine strength.">>
<<changeLust "Rylan" 4>>
<<changeAttraction "Rylan" "Seryk" 2>>
<<else>>
<<narrative "I focus on my own training, appreciating Seryk's guidance and encouragement.">>
<<changeLust "Rylan" 2>>
<<changeAttraction "Rylan" "Seryk" 1>>
<</if>>
<<changeAffection "Seryk" "Rylan" 1>>
<</if>>
<<continueBox "LustDungeonContinue" "Continue Exploring" "">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "You are exhausted from all the walking in the dungeon. Your legs feel heavy and your body aches from the constant tension and danger.">>
<<narrative "The stone walls around you seem to offer some respite from the oppressive atmosphere. A moment of rest could help you gather your strength before continuing deeper into the dungeon.">>
<<choiceBox "Rest or Continue?" "Lean against the wall (Sora Ass/Cock worship)" "LustDungeonEventSoraTrap" "LustDungeonEventSora5=rest" "Continue walking" "LustDungeonContinue" "LustDungeonEventSora5=skip">>
</div>
<</nobr>>
<<pov "rylan" "sorahscene.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "--- Aphrodisiac Trap ---">>
<<narrative "As I lean against what appears to be a solid stone wall, the surface suddenly gives way beneath my weight. I tumble through a hidden opening, landing hard on the stone floor of a small chamber.">>
<<narrative "I immediately notice the thick, pinkish mist swirling around the chamber. The aphrodisiac fumes are incredibly potent - within seconds, I can feel my body responding with overwhelming arousal. My cock throbs painfully hard as the intoxicating mist clouds my judgment.">>
<center><img src="images/landscapes/lustdungeontrap.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Panic sets in as I realize I need to escape before the aphrodisiac takes complete control. I scramble to my feet and try to run for the exit, but before I can even take a step, a wave of magical energy washes over me.">>
<<thought "Rylan" "face" "Another trap?!" "I realize in horror">>
<<narrative "My muscles lock up completely - I can't move my arms, my legs, nothing. I'm frozen in place, kneeling helplessly on the cold stone floor while the aphrodisiac continues to build my arousal to unbearable levels.">>
<<narrative "The cruel irony is devastating. My cock throbs painfully hard, my body burns with desperate need, but I can't even touch myself. The aphrodisiac continues to build my arousal to unbearable levels while I'm completely helpless to do anything about it.">>
<<narrative "I can only whimper and moan as the intoxicating mist clouds my judgment completely. My breathing becomes heavy and ragged, my body trembling with frustrated arousal. I'm completely at the mercy of whatever trap this is.">>
<<narrative "Just as I'm lost in the throes of desperate, helpless arousal, I hear footsteps approaching. My heart races with both fear and anticipation as someone enters the chamber.">>
<center><img src="images/sora/faceplayful.webp" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "faceplayful" "Well, well... looks like you're are in quite the predicament. I can see you're absolutely desperate there.">>
<<narrative "Sora's playful grin widens as he takes in the scene. The mist doesn't seem to affect him the same way, but there's definitely predatory interest in his eyes as he watches me helplessly trembling with frustrated arousal.">>
<<dialog "Sora" "facesmirk" "You know what? I think I should help you out. After all, it's not fair to leave you suffering like this - completely paralyzed and burning with need you can't satisfy. But first... let me ask you something important.">>
<<narrative "He steps closer, his movements confident and teasing. The aphrodisiac mist continues to cloud my mind, making it impossible to think clearly about anything except the overwhelming need for release that I'm completely powerless to achieve.">>
<<dialog "Sora" "faceplayful" "What would you prefer? My ass or my cock? Both are quite nice, but I want to know which one will finally give you the relief you're so desperately seeking. You can't even speak, can you? Just nod or shake your head.">>
<center><img src="images/sora/dungeon/trap/present.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<choiceBox "Sora's Offer" "Choose his ass" "LustDungeonSoraAssScene" "LustDungeonEventSoraTrap=ass" "Choose his cock" "LustDungeonSoraCockScene" "LustDungeonEventSoraTrap=cock">>
</div>
<</nobr>>
<<pov "rylan" "sorahscene.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "--- Sora's Ass ---">>
<<dialog "Sora" "facesmirk" "Excellent choice! My ass it is. I think you'll find it quite... intoxicating.">>
<<narrative "Sora turns around with a playful smirk, slowly lifting up his skirt to reveal his perfectly shaped ass. The sight of his exposed cheeks in the aphrodisiac mist sends another wave of arousal through my already overwhelmed system.">>
<center><img src="images/sora/dungeon/trap/ass1.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "faceplayful" "Oh, but you can't touch yourself, can you? You're completely paralyzed. How frustrating that must be... burning with need but unable to do anything about it.">>
<<narrative "He presses his ass against my face, the musky, intoxicating scent immediately overwhelming me. The combination of the aphrodisiac mist and his intimate aroma creates a devastating blend that makes my cock throb painfully hard.">>
<center><img src="images/sora/dungeon/trap/ass2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "face" "Please... please touch me... I need release so badly..." "I beg silently">>
<<narrative "I can only whimper helplessly as his ass scent fills my senses completely. My body burns with desperate need, but I'm completely powerless to satisfy myself.">>
<<quickRoll "Ass Scent Temptation" "Rylan" 60 15 "AssFetish" 8>>
<<if not _tempRollSuccess>>
<<narrative "I can't resist the intoxicating scent emanating from his ass. I lean closer, inhaling deeply as his pheromones fill my senses completely.">>
<center><img src="images/sora/dungeon/trap/ass3.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The combination of his visual dominance and that overwhelming ass scent drives me wild. My cock throbs desperately, but I can't even touch it. I'm completely at his mercy.">>
<<changeFetish "Rylan" "AssFetish" 0.5>>
<<changeFetish "Rylan" "smellFetish" 0.4>>
<<changeAttraction "Rylan" "Sora" 0.3>>
<<else>>
<<narrative "I try to maintain some distance, but the sight of his exposed ass and the faint scent still reaches me. Even while trying to resist, I can't deny the effect he's having on me.">>
<center><img src="images/sora/dungeon/trap/ass3.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Despite my attempt at resistance, his commanding presence and ass scent continue to fuel my arousal. My cock aches with need, but I'm completely helpless to do anything about it.">>
<<changeFetish "Rylan" "AssFetish" 0.2>>
<<changeFetish "Rylan" "smellFetish" 0.1>>
<<changeAttraction "Rylan" "Sora" 0.1>>
<</if>>
<<dialog "Sora" "facewet" "That's it, my little pet. Keep sniffing my ass. I can see how desperate you are... your cock is throbbing so hard, but you can't even touch it. How pathetic.">>
<<thought "Rylan" "face" "Please... please touch me... I'm begging you..." "I whimper desperately">>
<center><img src="images/sora/dungeon/trap/ass4.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "facesmirk" "Begging won't help you, kitten. You're completely helpless, aren't you? But maybe... if you give my ass a big kiss, I might consider touching you.">>
<<narrative "The humiliation is overwhelming, but my desperation is even stronger. I lean forward reluctantly, pressing my lips against his ass in a desperate kiss, hoping this will finally earn me some relief.">>
<center><img src="images/sora/dungeon/trap/ass5.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The moment my lips touch his ass, something snaps inside me. The combination of humiliation, desperation, and that intoxicating scent sends me over the edge. I climax violently, cumming without any physical stimulation.">>
<center><img src="images/rylan/cum.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "faceplayful" "Oh my! You came just from kissing my ass? Without even touching your dick? How absolutely pathetic! You're such a desperate little slut.">>
<<narrative "The humiliation is complete. I've cummed from nothing more than kissing his ass, completely helpless and unable to resist. His mocking laughter echoes in my ears as I shudder with the force of the orgasm.">>
<<changeLust "Rylan" -100>>
<<quickSexTrack "orgasm" "Sora" "Rylan" 1>>
<<changeFetish "Rylan" "AssFetish" 0.3>>
<<changeFetish "Rylan" "smellFetish" 0.2>>
<<changeFetish "Rylan" "exhibitionismFetish" 0.3>>
<<changeFetish "Rylan" "submissionFetish" 0.3>>
<<changeAttraction "Rylan" "Sora" 1.5>>
<<changeAttraction "Sora" "Rylan" 2>>
<<changeAffection "Sora" "Rylan" 2>>
<<narrative "--- Aftermath ---">>
<<narrative "As the intense pleasure fades and the aphrodisiac mist begins to clear, I quickly clean myself up and adjust my clothing. The relief is enormous - the desperate tension that had been building finally releases, leaving me feeling much more centered and able to focus.">>
<center><img src="images/sora/dungeon/trap/ass6.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Sora pulls his skirt back down with a satisfied grin, clearly pleased with how the encounter went. The rest area has certainly served its purpose for recovery in more ways than one.">>
<<narrative "💦 $humanName's lust completely relieved 💦">>
<<continueBox "LustDungeonContinue" "Return to the group" "">>
</div>
<</nobr>>
<<pov "rylan" "sorahscene.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "--- Sora's Cock ---">>
<<dialog "Sora" "facesmirk" "Excellent choice! My cock it is. I think you'll find it quite... impressive.">>
<<narrative "Sora pulls down his pants, revealing his impressive member. The sight of his exposed cock in the aphrodisiac mist sends another wave of arousal through my already overwhelmed system.">>
<center><img src="images/sora/dungeon/trap/cock1.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "faceplayful" "Oh, but you can't touch yourself, can you? You're completely paralyzed. How frustrating that must be... burning with need but unable to do anything about it.">>
<center><img src="images/sora/dungeon/trap/cock2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "He slowly rubs his cock against my face, the musky, intoxicating scent immediately overwhelming me. The combination of the aphrodisiac mist and his intimate aroma creates a devastating blend that makes my cock throb painfully hard.">>
<center><img src="images/sora/dungeon/trap/cock2a.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<thought "Rylan" "face" "Please... please touch me... I need release so badly..." "I beg silently">>
<<narrative "I can only whimper helplessly as he continues rubbing his cock against my face. My body burns with desperate need, but I'm completely powerless to satisfy myself.">>
<center><img src="images/sora/dungeon/trap/cock3.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I can feel his precum smearing across my cheeks and lips as he drags his cock over my face. The sticky, salty taste fills my mouth, making me even more desperate for release.">>
<center><img src="images/sora/dungeon/trap/cock3a.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<quickRoll "Cock Scent Temptation" "Rylan" 60 15 "PenisFetish" 8>>
<<if not _tempRollSuccess>>
<<narrative "I can't resist the intoxicating scent emanating from his cock. I lean closer, inhaling deeply as his pheromones fill my senses completely.">>
<center><img src="images/sora/dungeon/trap/cock4.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The combination of his visual dominance and that overwhelming cock scent drives me wild. My cock throbs desperately, but I can't even touch it. I'm completely at his mercy.">>
<<changeFetish "Rylan" "PenisFetish" 0.5>>
<<changeFetish "Rylan" "smellFetish" 0.4>>
<<changeFetish "Rylan" "GayValue" 0.3>>
<<changeAttraction "Rylan" "Sora" 0.3>>
<<else>>
<<narrative "I try to maintain some distance, but the sight of his exposed cock and the faint scent still reaches me. Even while trying to resist, I can't deny the effect he's having on me.">>
<center><img src="images/sora/dungeon/trap/cock4.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Despite my attempt at resistance, his commanding presence and cock scent continue to fuel my arousal. My cock aches with need, but I'm completely helpless to do anything about it.">>
<<changeFetish "Rylan" "PenisFetish" 0.2>>
<<changeFetish "Rylan" "smellFetish" 0.1>>
<<changeFetish "Rylan" "GayValue" 0.1>>
<<changeAttraction "Rylan" "Sora" 0.1>>
<</if>>
<<dialog "Sora" "facewet" "That's it, my little pet. Keep sniffing my cock. I can see how desperate you are... your cock is throbbing so hard, but you can't even touch it. How pathetic.">>
<<thought "Rylan" "face" "Please... please touch me... I'm begging you..." "I whimper desperately">>
<<dialog "Sora" "facesmirk" "Begging won't help you, kitten. You're completely helpless, aren't you? But maybe... if you give my cock a big kiss, I might consider touching you.">>
<<continueBox "LustDungeonSoraCockScene2" "Continue" "The humiliation begins...">>
</div>
<</nobr>>
<<pov "rylan" "sorahscene.mp3">><<nobr>>
<<run window.AudioSystem.playSFX('hsounds/sora/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 7000)>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 1000)>>
<div class="passage-container rylan">
<<narrative "The humiliation is overwhelming, but my desperation is even stronger. I lean forward reluctantly, pressing my lips against his cock in a desperate kiss, hoping this will finally earn me some relief.">>
<center><img src="images/sora/dungeon/trap/cock5.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The moment my lips touch his cock, something snaps inside me. The combination of humiliation, desperation, and that intoxicating scent sends me over the edge. At the same time, Sora's cock pulses violently against my face.">>
<<narrative "Hot, sticky cum erupts from Sora's cock in an abnormal torrent, splattering across my face in thick, gooey streams. The sheer volume is overwhelming - it coats my cheeks, lips, nose, and even gets in my eyes and hair. The sensation is so intense that I cum at the exact same moment, my own orgasm triggered by the humiliation of being completely drenched in his massive load.">>
<center><img src="images/sora/dungeon/trap/cumming.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<center><img src="images/rylan/cum.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Sora" "faceplayful" "Oh my! You came just from kissing my cock and getting completely drenched in my load? Without even touching your dick? How absolutely pathetic! You're such a desperate little slut.">>
<center><img src="images/rylan/cum/cumface.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The humiliation is complete. I've cummed from nothing more than kissing his cock and being completely drenched in his abnormal amount of cum, completely helpless and unable to resist. His mocking laughter echoes in my ears as I shudder with the force of the orgasm, my face still dripping with his thick, sticky seed.">>
<<changeLust "Rylan" -100>>
<<quickSexTrack "orgasm" "Sora" "Rylan" 1>>
<<quickSexTrack "orgasm" "Rylan" "Sora" 1>>
<<quickSexTrack "cumonbody" "Sora" "Rylan" 1>>
<<changeFetish "Rylan" "PenisFetish" 0.3>>
<<changeFetish "Rylan" "smellFetish" 0.2>>
<<changeFetish "Rylan" "GayValue" 0.2>>
<<changeFetish "Rylan" "CumAddiction" 0.4>>
<<changeFetish "Rylan" "exhibitionismFetish" 0.3>>
<<changeFetish "Rylan" "submissionFetish" 0.3>>
<<changeAttraction "Rylan" "Sora" 1.5>>
<<changeAttraction "Sora" "Rylan" 2>>
<<changeAffection "Sora" "Rylan" 2>>
<<narrative "--- Aftermath ---">>
<<narrative "As the intense pleasure fades and the aphrodisiac mist begins to clear, I quickly clean myself up and adjust my clothing. The relief is enormous - the desperate tension that had been building finally releases, leaving me feeling much more centered and able to focus.">>
<center><img src="images/sora/ass6.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Sora pulls his skirt back down with a satisfied grin, clearly pleased with how the encounter went. The rest area has certainly served its purpose for recovery in more ways than one.">>
<<narrative "💦 $humanName's lust completely relieved 💦">>
<<continueBox "LustDungeonContinue" "Return to the group" "">>
</div>
<</nobr>>
<<pov "rylan" "sorahscene.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "--- Discovered by Nimeria! ---">>
<center><img src="images/nimeria/face.webp" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "As I approach my peak, I suddenly sense a familiar presence. Nimeria appears silently, her innocent smile hiding the mysterious depths I've come to recognize.">>
<<dialog "Nimeria" "face" "Oh my, $humanName... such desperate need. You know, I could help you with that. My hands are quite skilled...">>
<<narrative "Her offer hangs in the air, and I remember our previous intimate encounter. There's something hypnotic about her presence that makes resistance difficult.">>
<<set _currentLust = $rylan_Lust || 0>>
<<set _currentAttraction = $rylan_NimeriaAttraction || 0>>
<<set _currentSmellFetish = $rylan_SmellFetish || 0>>
<<set _currentBreastFetish = $rylan_BreastFetish || 0>>
<<set _currentArmpitFetish = $rylan_ArmpitFetish || 0>>
<<set _baseTarget = 25>>
<<set _lustBonus = Math.floor(_currentLust / 20) * 5>>
<<set _attractionBonus = Math.floor(_currentAttraction / 10) * 3>>
<<set _smellBonus = Math.floor(_currentSmellFetish)>>
<<set _breastBonus = Math.floor(_currentBreastFetish)>>
<<set _armpitBonus = Math.floor(_currentArmpitFetish)>>
<<set _finalTarget = Math.min(80, _baseTarget + _lustBonus + _attractionBonus + _smellBonus + _breastBonus + _armpitBonus)>>
<<set _resistanceRoll = random(1, 100)>>
<<set _tempRollSuccess = _resistanceRoll > _finalTarget>>
<<narrative "🎲 Resistance to Temptation: _resistanceRoll vs _finalTarget">>
<<if _tempRollSuccess>>
<<narrative "✅ (Success)">>
<<else>>
<<narrative "❌ (Failure)">>
<</if>>
<<narrative "Base: _baseTarget | Lust: +_lustBonus | Attraction: +_attractionBonus | Smell: +_smellBonus | Breast: +_breastBonus | Armpit: +_armpitBonus">>
<<if not _tempRollSuccess>>
<<narrative "Unable to resist her mysterious allure and remembering how incredible her touch felt before, I nod weakly.">>
<<dialog "Nimeria" "facesmile" "There's a good boy. Just relax and let me take care of everything...">>
<<narrative "Without breaking eye contact, she begins to slowly remove her white dress, the fabric sliding down her pale skin with deliberate sensuality. My breathing becomes heavier as I watch her undress in front of me.">>
<center><img src="images/nimeria/blightwood/masturbationdiscover/undressing.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The white dress falls to the ground, revealing her incredible body clad only in sheer black pantyhose. The contrast of the dark fabric against her pale skin is mesmerizing, and I can see every curve of her form through the translucent material.">>
<<dialog "Nimeria" "facewet" "Much better... now I can properly take care of you. These pantyhose feel so smooth against my skin, don't you think?">>
<<narrative "She kneels beside me, her body barely covered by the sheer black pantyhose that clings to every curve. The sight of her nearly naked form is overwhelming, and I can barely think straight as she reaches for me.">>
<center><img src="images/nimeria/blightwood/masturbationdiscover/1.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Her soft, skilled hands replace mine, and the sensation is immediately more intense. There's something almost supernatural about her touch that sends waves of pleasure through my entire body. The feeling of her nearly naked body so close to mine makes it even more intense.">>
<center><img src="images/nimeria/blightwood/masturbationdiscover/2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "She works me with expert precision, her mysterious smile never wavering as she brings me to the most intense climax I've ever experienced. Her otherworldly presence and the sight of her in just those black pantyhose amplifies every sensation to an almost unbearable level.">>
<<set _rylanCumAmount = setup.getStat("Rylan", "body", "cumAmount")>>
<<if not $rylan_cumOnOthersMl>><<set $rylan_cumOnOthersMl = 0>><</if>>
<<if not $nimeria_cumOnBodyMl>><<set $nimeria_cumOnBodyMl = 0>><</if>>
<<if not $rylan_NimeriaCumOnOthersMl>><<set $rylan_NimeriaCumOnOthersMl = 0>><</if>>
<<if not $Nimeria_RylanCumOnBodyMl>><<set $Nimeria_RylanCumOnBodyMl = 0>><</if>>
<<set $rylan_cumOnOthersMl += _rylanCumAmount>>
<<set $rylan_NimeriaOrgasmsReceived = ($rylan_NimeriaOrgasmsReceived or 0) + 1>>
<<set $nimeria_RylanOrgasmsGiven = ($nimeria_RylanOrgasmsGiven or 0) + 1>>
<<set $rylan_NimeriaHandjobTakenCount = ($rylan_NimeriaHandjobTakenCount or 0) + 1>>
<<set $nimeria_RylanHandjobCount = ($nimeria_RylanHandjobCount or 0) + 1>>
<center><img src="images/nimeria/blightwood/masturbationdiscover/3.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<run window.AudioSystem.playSFX('hsounds/cum.mp3')>>
<center><img src="images/rylan/masturbate/cumming.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeLust "Rylan" -100>>
<<changeLust "Nimeria" 10>>
<<changeFetish "Rylan" "submissionFetish" 0.3>>
<<changeAttraction "Rylan" "Nimeria" 2>>
<<changeAttraction "Nimeria" "Rylan" 2>>
<<changeAffection "Nimeria" "Rylan" 3>>
<<set $nimeria_RylanHandjobDoneCount = ($nimeria_RylanHandjobDoneCount || 0) + 1>>
<<set $rylan_handjobTakenCount = ($rylan_handjobTakenCount || 0) + 1>>
<<set $nimeria_handjobDoneCount = ($nimeria_handjobDoneCount || 0) + 1>>
<<set $rylan_handjobExperience = ($rylan_handjobExperience || 0) + 1>>
<<set $nimeria_handjobExperience = ($nimeria_handjobExperience || 0) + 1>>
<<set $nimeria_cumOnBodyAmount = ($nimeria_cumOnBodyAmount || 0) + ($rylan_cumAmount || 15)>>
<<set $nimeria_cumOnBodyCount = ($nimeria_cumOnBodyCount || 0) + 1>>
<<set $rylan_cumOnOthersAmount = ($rylan_cumOnOthersAmount || 0) + ($rylan_cumAmount || 15)>>
<<set $rylan_cumOnOthersCount = ($rylan_cumOnOthersCount || 0) + 1>>
<<else>>
<<narrative "Despite the temptation, I manage to shake my head and pull back slightly.">>
<<dialog "Rylan" "faceembarrassed" "I... I appreciate the offer, Nimeria, but I should handle this myself.">>
<<dialog "Nimeria" "face" "As you wish, $humanName. But remember, I'm always here if you need... assistance.">>
<<narrative "She disappears as quietly as she arrived, leaving me to finish alone, though thoughts of her mysterious offer linger in my mind.">>
<<changeLust "Rylan" -70>>
<<changeFetish "Rylan" "submissionFetish" 0.1>>
<<changeAttraction "Nimeria" "Rylan" 1>>
<</if>>
<<narrative "--- Aftermath ---">>
<<narrative "As the intense pleasure fades, I quickly clean myself up and adjust my clothing. The relief is enormous - the desperate tension that had been building finally releases, leaving me feeling much more centered and able to focus.">>
<<narrative "I take a few deep breaths to compose myself before rejoining the others, hoping no one notices my slightly flushed appearance. The rest area has certainly served its purpose for recovery in more ways than one.">>
<<set $rylan_Lust = 0>>
<<trackOther "Rylan" "MasturbationCount" 1>>
<<narrative "💦 $humanName's lust completely relieved 💦">>
<<continueBox "LustDungeonRestAreaContinue" "Return to the group" "">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<script>>window.AudioSystem.playBGM('intimate.mp3');<</script>>
<<set $currentFace = $currentRylanFace>>
<<nobr>>
<div class="masturbation-container" style="background: linear-gradient(to bottom, rgba(106, 90, 205, 0.85), rgba(138, 43, 226, 0.9)); min-height: 500px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3);">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">💦 Fighting Temptation 💦</p>
<p style="color: white; font-size: 1.1em;">Confusing Desires</p>
</div>
<div style="background: rgba(60,60,70,0.9); border: 1px solid rgba(120,120,130,0.4); border-radius: 8px; padding: 20px; margin: 20px 0;">
<p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I try to resist the strange urge to ask him to stay, but the impulse is stronger than I expected. Why do I want him to watch me? This isn't normal...*</p>
<<quickRoll "Resist Gay Urges" "Rylan" 70 10 "GayValue" 5>>
<<if not _tempRollSuccess>>
<p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I can't help myself. Despite knowing how weird it sounds, the words come out before I can stop them.*</p>
<div class="speaker-block" style="margin-bottom: 20px;">
<img src="images/rylan/faceembarrassed.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;">
<span class="dialog-rylan">W-wait... don't go. Could you... could you maybe stay? I know it's weird but...</span>
</div>
<div style="clear: left;"></div>
</div>
<p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I can't believe I just said that. But the thought of him leaving makes me feel strangely disappointed. Why am I feeling this way about another man?*</p>
<div class="speaker-block" style="margin-bottom: 20px;">
<img src="images/seryk/faceembarrassed.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;">
<span class="dialog-seryk">Uh... okay bro. That's... different. But if it helps you, I guess I can stay. Want me to pose for you or something?</span>
</div>
<div style="clear: left;"></div>
</div>
<p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*He seems as confused as I am, but there's also something arousing about his willingness to help. The way his muscles glisten with sweat is incredibly distracting.*</p>
<center><img src="images/seryk/blightwood/masturbationdiscover/pose1.webp" style="width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I nod eagerly, too aroused to feel embarrassed anymore. He starts flexing for me, and I resume stroking myself while watching his impressive display. This feels so wrong but so incredibly right...*</p>
<div class="speaker-block" style="margin-bottom: 20px;">
<img src="images/seryk/facewet.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;">
<span class="dialog-seryk">Is this... is this doing it for you? I have to admit, watching you is getting me hot too...</span>
</div>
<div style="clear: left;"></div>
</div>
<p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">
<center><img src="images/seryk/blightwood/masturbationdiscover/pose2.webp" style="width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
*His admission that he's getting aroused watching me pushes me over the edge. I climax intensely while staring at his muscular body, our mutual arousal creating an incredibly intimate moment.*
</p>
<<run window.AudioSystem.playSFX('hsounds/cum.mp3')>>
<center><img src="images/rylan/masturbate/cumming.webp" style="width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeLust "Rylan" -100>>
<<changeLust "Seryk" 15>>
<<changeFetish "Rylan" "MuscleFetish" 0.4>>
<<changeFetish "Rylan" "GayValue" 0.3>>
<<changeFetish "Rylan" "ExhibitionismFetish" 0.3>>
<<changeFetish "Seryk" "VoyeurismFetish" 0.2>>
<<changeAttraction "Rylan" "Seryk" 1.5>>
<<changeAttraction "Seryk" "Rylan" 1.5>>
<<changeAffection "Seryk" "Rylan" 3>>
<<else>>
<p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I manage to fight off the strange urge to ask him to stay. This is weird enough already without making it even more awkward.*</p>
<div class="speaker-block" style="margin-bottom: 20px;">
<img src="images/rylan/faceembarrassed.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;">
<span class="dialog-rylan">Yeah... you should probably go. This is embarrassing enough as it is.</span>
</div>
<div style="clear: left;"></div>
</div>
<div class="speaker-block" style="margin-bottom: 20px;">
<img src="images/seryk/face.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;">
<span class="dialog-seryk">No problem, bro. Take your time. I'll make sure nobody else comes this way.</span>
</div>
<div style="clear: left;"></div>
</div>
<p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*He leaves with understanding, and I finish alone. But I can't shake the feeling that I missed something important just now. Why did part of me want him to stay?*</p>
<<changeLust "Rylan" -70>>
<<changeFetish "Rylan" "GayValue" 0.1>>
<<changeAttraction "Seryk" "Rylan" 0.5>>
<</if>>
</div>
<div style="background: rgba(60,60,70,0.9); border: 1px solid rgba(120,120,130,0.4); border-radius: 8px; padding: 20px; margin: 20px 0;">
<p style="color: #9370DB; font-weight: bold; text-align: center; margin-bottom: 15px;">--- Confusing Aftermath ---</p>
<p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*As I clean myself up, my mind races with confusing thoughts. What's happening to me? Why am I having these feelings about Seryk? I thought I was attracted to women...*</p>
<p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I try to push these thoughts away as I rejoin the group, but Seryk's masculine presence seems to affect me more than before. Something is definitely changing inside me.*</p>
</div>
</div>
[[Return to the group|LustDungeonRestAreaContinue]]
<<changeFace $currentRylanFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('intimate.mp3');<</script>>
<<set $currentFace = $currentRylanFace>>
<<nobr>>
<div class="masturbation-container" style="background: linear-gradient(to bottom, rgba(106, 90, 205, 0.85), rgba(138, 43, 226, 0.9)); min-height: 500px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3);">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">💦 Embarrassing End 💦</p>
<p style="color: white; font-size: 1.1em;">Caught and Covered</p>
</div>
<div style="background: rgba(60,60,70,0.9); border: 1px solid rgba(120,120,130,0.4); border-radius: 8px; padding: 20px; margin: 20px 0;">
<p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*Snapping back to reality, I quickly cover myself and stop what I'm doing. The embarrassment is overwhelming as I realize Seryk just caught me in this compromising position.*</p>
<div class="speaker-block" style="margin-bottom: 20px;">
<img src="images/rylan/faceembarrassed.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;">
<span class="dialog-rylan">S-sorry! I was just... I didn't think anyone would come here!</span>
</div>
<div style="clear: left;"></div>
</div>
<div class="speaker-block" style="margin-bottom: 20px;">
<img src="images/seryk/faceembarrassed.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;">
<span class="dialog-seryk">Hey, it's completely natural bro. Nothing to be ashamed of. I'll just... go back to the others.</span>
</div>
<div style="clear: left;"></div>
</div>
<p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*As he starts to turn away, a confusing impulse overwhelms me. Despite my embarrassment, I find myself calling out to him.*</p>
<div class="speaker-block" style="margin-bottom: 20px;">
<img src="images/rylan/faceembarrassed.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;">
<span class="dialog-rylan">W-wait! Seryk... could you... could you maybe pose for me? I know it sounds weird but seeing your muscles would... help me finish.</span>
</div>
<div style="clear: left;"></div>
</div>
<p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I can't believe I just asked that. The words came out before I could stop them, driven by some strange attraction to his powerful physique that I don't fully understand.*</p>
<center><img src="images/seryk/blightwood/masturbationdiscover/pose1.webp" style="width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*Without waiting for my answer, he starts flexing his impressive muscles, sweat glistening on his blue skin. The sight is incredibly arousing, and I find myself nodding without really thinking about it.*</p>
<div class="speaker-block" style="margin-bottom: 20px;">
<img src="images/seryk/facegrin.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;">
<span class="dialog-seryk">That's it, bro. Just watch me flex while you finish what you started. Nothing weird about appreciating a good physique.</span>
</div>
<div style="clear: left;"></div>
</div>
<p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I can't help but stare at his powerful body as I resume stroking myself. His masculine scent fills the air, making the whole experience incredibly intense. This isn't supposed to feel this good...*</p>
<center><img src="images/seryk/blightwood/masturbationdiscover/pose2.webp" style="width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<center><img src="images/rylan/masturbate/1.webp" style="width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*The combination of his muscular display and encouraging words pushes me over the edge quickly. I climax while staring at his impressive physique, trying to convince myself this is just about admiring strength.*</p>
<<run window.AudioSystem.playSFX('hsounds/cum.mp3')>>
<center><img src="images/rylan/masturbate/cumming.webp" style="width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<changeLust "Rylan" -100>>
<<changeLust "Seryk" 10>>
<<changeFetish "Rylan" "MuscleFetish" 0.3>>
<<changeFetish "Rylan" "GayValue" 0.2>>
<<changeFetish "Rylan" "ExhibitionismFetish" 0.2>>
<<changeAttraction "Rylan" "Seryk" 1>>
<<changeAttraction "Seryk" "Rylan" 1>>
<<changeAffection "Seryk" "Rylan" 2>>
</div>
<div style="background: rgba(60,60,70,0.9); border: 1px solid rgba(120,120,130,0.4); border-radius: 8px; padding: 20px; margin: 20px 0;">
<p style="color: #9370DB; font-weight: bold; text-align: center; margin-bottom: 15px;">--- Aftermath ---</p>
<p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*As I clean myself up, there's an awkward but oddly comfortable silence between us. Seryk doesn't seem bothered by what just happened, which somehow makes it feel less embarrassing.*</p>
<div class="speaker-block" style="margin-bottom: 20px;">
<img src="images/seryk/face.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;">
<span class="dialog-seryk">See? Nothing wrong with appreciating the male form. Thanks for letting me help, bro.</span>
</div>
<div style="clear: left;"></div>
</div>
<p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I nod awkwardly, not entirely sure what to make of what just happened between us. There's definitely something changing in how I see Seryk...*</p>
</div>
</div>
[[Return to the group|LustDungeonRestAreaContinue]]
<<changeFace $currentRylanFace>>
<<statSummary>>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<<narrative "💦 Private Relief 💦">>
<<narrative "Desperate Need">>
<center><img src="images/landscapes/lustdungeonbedroom.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The dungeonous atmosphere and recent events have left me in a state of desperate arousal. My body aches with need, and the rest area offers just enough privacy for relief. I find a secluded corner behind some ancient stone pillars.">>
<<narrative "I can't take it anymore. Every interaction, every sight, every scent has been building this tension. My hands shake as I quickly check that the others are occupied elsewhere before giving in to my body's demands.">>
<<narrative "--- Private Moment ---">>
<center><img src="images/rylan/masturbate/1.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I quickly free myself from my pants, my arousal already at its peak from the built-up tension. The relief of finally being able to address my body's needs is immediate and overwhelming.">>
<<narrative "My mind races with images from recent encounters - the intimate moments that have been driving me wild. Each memory fuels my desperate need for release.">>
<<if $serinChapter2ArmpitSeen === true>>
<<narrative "--- Serin's Domination ---">>
<center><img src="images/serin/chapter2/morningactivities/lickingarmpit3.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I remember being lost in that intoxicating trance, my tongue exploring her armpit while she held me captive. The musky taste, the overwhelming scent that drove me wild...">>
<center><img src="images/serin/chapter2/morningactivities/feet/7.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "And then her feet... those pantyhose-covered soles pressed against my face, the damp fabric and her commanding voice as I climaxed completely from just her scent...">>
<<changeFetish "Rylan" "feetFetish" 0.1>>
<<changeFetish "Rylan" "SmellFetish" 0.1>>
<</if>>
<<if $rylanRomanceMariel === true>>
<<narrative "--- Mariel's Desperate Need ---">>
<center><img src="images/mariel/chapter3/nightactivities1/11.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Mariel's passionate kisses flood my memory - her desperate need, the way she mistook me for Thalor, the guilt and arousal warring in my mind as she pushed me onto the bed...">>
<<changeFetish "Rylan" "SalivaFetish" 0.1>>
<</if>>
<<if $serykMorningBathScene === true>>
<<narrative "--- Seryk's Masculine Power ---">>
<center><img src="images/seryk/chapter2/morningactivities/cockslap2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The bath scene plays vividly - Seryk's impressive member slapping across my face as he stood up, his masculine scent overwhelming me as I climaxed uncontrollably from just that contact...">>
<<changeFetish "Rylan" "MuscleFetish" 0.1>>
<<changeFetish "Rylan" "GayValue" 0.1>>
<</if>>
<<if $nimeriaxrylancontent == true && ($nimeria_RylanSitOnLap || 0) > 0>>
<<narrative "--- Nimeria's Mysterious Allure ---">>
<center><img src="images/nimeria/chapter2/morningactivities/sitonlap.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Nimeria sitting on my lap, her mysterious smile and intoxicating presence. There's something about her that makes my body react in ways I don't understand...">>
<<changeFetish "Rylan" "SubmissionFetish" 0.1>>
<</if>>
<<if ($rylan_LioraFootSmelled || false) === true>>
<<narrative "--- Liora's Innocent Temptation ---">>
<center><img src="images/liora/blightwood/thigh2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Liora's exposed thigh during our intimate moments, her innocent reactions to my touches. The way she trusted me completely, not knowing the effect she was having on me...">>
<<changeFetish "Rylan" "ThighFetish" 0.1>>
<</if>>
<<if !$serinChapter2PunishmentSeen && !$rylanRomanceMariel && !$serykMorningBathScene && !($nimeria_RylanSitOnLap > 0) && !$rylan_LioraFootSmelled>>
<<narrative "All the intimate encounters and teasing moments play through my mind, each memory intensifying my desperate need for relief.">>
<</if>>
<<narrative "I work frantically, my body responding eagerly after so much built-up tension. The fear of being discovered only adds to the intensity, making every sensation more acute.">>
<<set _discoveryRoll = random(1, 100)>>
<<set _possibleDiscoverers = []>>
<<if $serinChapter4MasturbationPunishment === true>>
<<set _possibleDiscoverers.push("Serin")>>
<</if>>
<<if $nimeria_rylanHandjobChapter4 === true>>
<<set _possibleDiscoverers.push("Nimeria")>>
<</if>>
<<if ($rylan_GayValue || 0) > 1>>
<<set _possibleDiscoverers.push("Seryk")>>
<</if>>
<<if _discoveryRoll <= 80 && _possibleDiscoverers.length > 0>>
<<set _discoverer = _possibleDiscoverers.random()>>
<<if _discoverer === "Serin">>
<<set _serinSceneRoll = random(1, 100)>>
<<if (_serinSceneRoll <= 65 && ($TrainingWithSerinChapter2 == true || $TrainingWithSerinChapter2 === "armpit"))>>
<<goto "LustDungeonSerinMasturbationDiscovery">>
<<else>>
<<goto "LustDungeonSerinFootMasturbationDiscovery">>
<</if>>
<<elseif _discoverer === "Nimeria">>
<<goto "LustDungeonNimeriaMasturbationDiscovery">>
<<elseif _discoverer === "Seryk">>
<<goto "LustDungeonSerykMasturbationDiscovery">>
<</if>>
<<else>>
<<goto "LustDungeonUninterruptedMasturbation">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/cum.mp3')>>
<div class="passage-container rylan">
<<dialog "Serin" "facewet" "Come for me, my little foot slave. Come while my foot is pressed against your face. Show me how much you worship me.">>
<center><img src="images/serin/dungeon/masturbationdiscover/feet/barefeet3.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The pressure builds to an incredible climax. I can't hold back any longer as I explode with pleasure, her foot still dominating my face throughout my orgasm.">>
<center><img src="images/rylan/masturbate/cumming.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facelaugh" "Perfect! You came for my feet like the good little pervert you are. I think we've found your true calling.">>
<<narrative "She finally removes her foot from my face, and I collapse onto the ground, completely spent and humiliated, yet strangely satisfied.">>
<<changeFetish "Rylan" "FeetFetish" 0.4>>
<<changeFetish "Rylan" "SubmissionFetish" 0.3>>
<<changeFetish "Rylan" "SmellFetish" 0.2>>
<<quickSexTrack "orgasm" "Serin" "Rylan" 1>>
<<changeAttraction "Rylan" "Serin" 1>>
<<changeAttraction "Serin" "Rylan" 0.8>>
<<continueBox "LustDungeonRestAreaContinue" "Continue" "The scene ends...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "--- Kissing Up Her Legs ---">>
<<narrative "I choose to slowly kiss up her legs, starting from her upper feet and working my way up. The intimate contact sends shivers through both of us as I begin this sensual journey.">>
<<dialog "Serin" "facewet" "Mmm... that's it, my little pet. Take your time. I want to feel every kiss as you work your way up my legs.">>
<center><img src="images/serin/dungeon/masturbationdiscover/feet/feetclose.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I start with gentle, lingering kisses on the tops of her feet, taking my time to savor each moment. The soft skin feels incredible against my lips, and I can feel her shiver slightly with each kiss.">>
<<narrative "Moving slowly, I kiss along the sides of her feet, then work my way up to her ankles. Each kiss is deliberate and tender, building anticipation for what's to come.">>
<<narrative "I continue my slow, methodical journey up her calves, placing soft kisses every few inches. The skin becomes smoother and more sensitive as I work my way higher, and I can feel her breathing getting heavier.">>
<<narrative "As I reach her knees, I pause to kiss them gently, then begin the slow ascent up her thighs. The anticipation builds with each kiss, bringing me closer to her most intimate area.">>
<<dialog "Serin" "facesmirk" "You're doing so well... keep going. I want to see how far you're willing to go for me.">>
<center><img src="images/serin/dungeon/masturbationdiscover/feet/legs2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "As I reach her inner thighs, the scent becomes even more intense. Her panties are visible now, and the feminine musk emanating from beneath them is overwhelming, making me completely lost in the moment.">>
<center><img src="images/serin/dungeon/masturbationdiscover/feet/panties1.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<quickRoll "Panties Scent Temptation" "Rylan" 60 15 "smellFetish" 8>>
<<if not _tempRollSuccess>>
<<narrative "I can't resist the intoxicating scent emanating from her panties. I lean closer, inhaling deeply as her natural pheromones fill my senses completely.">>
<<narrative "The combination of her visual dominance, the sight of her panties, and that overwhelming feminine scent drives me wild. I stroke myself faster, completely lost in the moment as her intimate musk becomes my entire world.">>
<<changeFetish "Rylan" "smellFetish" 0.5>>
<<changeFetish "Rylan" "feetFetish" 0.3>>
<<changeAttraction "Rylan" "Serin" 0.3>>
<<else>>
<<narrative "I try to maintain some distance, but the sight of her panties and the faint scent still reaches me. Even while trying to resist, I can't deny the effect she's having on me.">>
<<narrative "Despite my attempt at resistance, her commanding presence and intimate scent continue to fuel my arousal. I stroke myself while trying to maintain control, but her dominance is overwhelming.">>
<<changeFetish "Rylan" "smellFetish" 0.2>>
<<changeFetish "Rylan" "feetFetish" 0.1>>
<<changeAttraction "Rylan" "Serin" 0.1>>
<</if>>
<center><img src="images/serin/dungeon/masturbationdiscover/feet/panties2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facesmirk" "Perfect. Now keep going until you can't take it anymore. I want to see you lose control completely from just my scent.">>
<<thought "Rylan" "facewet" "I can't hold back anymore... her scent is driving me completely wild." "I need to come for her" "This is the most intense feeling...">>
<<narrative "The pressure builds to an incredible level as I continue stroking myself, completely lost in her intoxicating scent and dominant presence. I can feel myself approaching the point of no return.">>
<center><img src="images/serin/dungeon/masturbationdiscover/feet/panties3.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The climax is incredibly intense, amplified by her intimate scent, her visual stimulation, and the thrill of being dominated even in this semi-public setting. I shudder with the force of the orgasm.">>
<<run window.AudioSystem.playSFX('hsounds/cum.mp3')>>
<center><img src="images/rylan/masturbate/cumming.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "As I climax, her intimate scent becomes permanently imprinted in my memory. The combination of her dominance and that intoxicating aroma has created an association that will haunt me forever.">>
<<changeLust "Rylan" -100>>
<<changeLust "Serin" 20>>
<<changeFetish "Rylan" "smellFetish" 0.3>>
<<changeFetish "Rylan" "feetFetish" 0.2>>
<<changeFetish "Rylan" "exhibitionismFetish" 0.3>>
<<changeFetish "Rylan" "submissionFetish" 0.4>>
<<changeFetish "Serin" "exhibitionismFetish" 0.4>>
<<changeAttraction "Rylan" "Serin" 1>>
<<changeAttraction "Serin" "Rylan" 0.8>>
<<narrative "--- Aftermath ---">>
<<narrative "As the intense pleasure fades, I quickly clean myself up and adjust my clothing. The relief is enormous - the desperate tension that had been building finally releases, leaving me feeling much more centered and able to focus.">>
<<narrative "I take a few deep breaths to compose myself before rejoining the others, hoping no one notices my slightly flushed appearance. The rest area has certainly served its purpose for recovery in more ways than one.">>
<<set $rylan_Lust = 0>>
<<trackOther "Rylan" "MasturbationCount" 1>>
<<narrative "💦 $humanName's lust completely relieved 💦">>
<<continueBox "LustDungeonRestAreaContinue" "Return to the group" "">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<stopLoopingSounds>>
<<narrative "--- Discovered by Serin! ---">>
<center><img src="images/serin/facesmirk.webp" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Just as I'm getting close, I hear familiar footsteps. My heart stops as Serin rounds the corner, her eyes immediately taking in the scene with that predatory grin I've come to know too well.">>
<<dialog "Serin" "facesmirk" "Well, well... what do we have here? My little pervert can't even wait until we're home. How pathetic... and exciting.">>
<<narrative "Instead of retreating, she steps closer, her eyes gleaming with mischievous intent. The memory of our previous encounters floods back, and I can see that same dominant hunger in her expression.">>
<<dialog "Serin" "facelaugh" "You know what? I think I should help you. After all, you clearly need proper guidance to finish what you started. But first... let me get comfortable.">>
<<narrative "She sits down on a nearby stone bench, slowly removing her boots and then her shorts. The sight of her bare legs and the outline of her panties sends a jolt of anticipation through me. I know exactly where this is heading.">>
<center><img src="images/serin/dungeon/masturbationdiscover/feet/sit1.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facesmirk" "There we go. Now, my little pet, I want you to continue what you were doing... but you're going to do it while smelling my feet. And don't you dare stop until I tell you to.">>
<<narrative "She stands up and extends her socked feet toward my face, the fabric slightly damp from her travels through the dungeon. The musky, feminine scent emanating from them is intoxicating, and I can already feel my arousal building even higher.">>
<center><img src="images/serin/dungeon/masturbationdiscover/feet/feet1.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Go on, take a deep breath. Let my foot scent fill your senses while you stroke yourself. You're going to think about this every time you touch yourself from now on.">>
<<narrative "I lean closer, my nose almost touching the fabric of her socks. The scent is overwhelming - a mixture of sweat, leather from her boots, and that uniquely feminine musk that makes my head spin.">>
<center><img src="images/serin/dungeon/masturbationdiscover/feet/feet2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<quickRoll "Foot Scent Resistance" "Rylan" 80 5 "SmellFetish" 3>>
<<if not _tempRollSuccess>>
<<thought "Rylan" "face" "I can't resist this... her foot scent is intoxicating me completely." "My mind is spinning" "I need more of this smell...">>
<<else>>
<<thought "Rylan" "face" "I'm trying to resist, but the temptation is so strong." "I can feel myself getting weaker" "Maybe just one more breath...">>
<</if>>
<<dialog "Serin" "facesmirk" "That's it... closer. I want to see you completely lost in my scent. Stroke yourself harder while you breathe me in.">>
<<narrative "I can't help but obey, my hand moving faster as I inhale deeply. The combination of her commanding voice and that intoxicating foot scent is driving me wild.">>
<center><img src="images/serin/dungeon/masturbationdiscover/feet/feet3.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Mmm, look at you. My little pervert is getting so worked up just from smelling my feet. How pathetic...">>
<<narrative "She wiggles her toes slightly, making the fabric shift and releasing even more of that intoxicating scent. I find myself pressing my face closer, desperate for more.">>
<<dialog "Serin" "facesmirk" "You know what? I think you need to kiss them too. Press your lips against the fabric, let my foot scent fill your mouth while you stroke yourself.">>
<<narrative "The combination of her dominant commands, the intimate positioning, and that overwhelming foot scent creates an incredibly intense moment. I find myself completely under her control, unable to resist her demands.">>
<<changeFetish "Rylan" "FeetFetish" 0.3>>
<<changeFetish "Rylan" "SmellFetish" 0.2>>
<<changeFetish "Rylan" "SubmissionFetish" 0.2>>
<<changeLust "Rylan" 8>>
<<changeAttraction "Rylan" "Serin" 0.5>>
<<changeAttraction "Serin" "Rylan" 0.3>>
<<choiceBox "Serin's Foot Domination" "Continue smelling her feet until you come" "LustDungeonSerinFootSmellOnly" "LustDungeonSerinFootSmellOnly=smell" "Kiss up her legs to her crotch and smell" "LustDungeonSerinFootKissUp" "LustDungeonSerinFootKissUp=kiss">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<playLoopingSounds "sounds/hsounds/kiss.mp3" 1>>
<center><img src="images/serin/dungeon/masturbationdiscover/feet/feet2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "I focus entirely on her socked feet, my nose pressed against the fabric as I breathe in her intoxicating scent. My hand strokes faster, completely lost in the moment.">>
<<dialog "Serin" "facesmirk" "Look at you, completely hypnotized by my feet. You're like a little puppy following a treat.">>
<<narrative "She slowly pulls her foot away, and I find myself following it in a trance, my face still pressed against the fabric, desperate not to lose contact with that intoxicating scent.">>
<<dialog "Serin" "facelaugh" "Oh my, you're actually following my foot! This is too perfect. You're completely under my spell, aren't you?">>
<<narrative "She sits back down and slowly peels off her socks, revealing her bare feet. The sight of her naked soles makes my heart race even faster.">>
<center><img src="images/serin/dungeon/masturbationdiscover/feet/sockremove.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facewet" "Now kneel down, my little pet. I want you to kiss the top of my feet. Show me how much you worship them.">>
<<narrative "I drop to my knees without hesitation, my eyes locked on her perfect feet. I lean forward and press my lips against the top of her right foot, kissing it gently.">>
<center><img src="images/serin/dungeon/masturbationdiscover/feet/feetclose.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facesmirk" "Mmm, that's it. Kiss them like you mean it. Show me how much you love my feet.">>
<<narrative "I continue kissing her feet, moving from the top to the sides, my lips caressing every inch of her soft skin. The taste is incredible, and I can't get enough.">>
<<dialog "Serin" "facewet" "You're such a good little foot slave.">>
<<narrative "She suddenly presses her bare foot against my face, covering my mouth and nose. I can barely breathe, but I don't resist. I'm completely under her control.">>
<center><img src="images/serin/dungeon/masturbationdiscover/feet/barefeet1.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<dialog "Serin" "facesmirk" "There we go. My foot is covering your face, and you're loving every second of it. Stroke yourself faster while I dominate you with my feet.">>
<<narrative "I continue stroking myself frantically, her foot still pressed against my face. The combination of her dominance, the foot scent, and the intense arousal is overwhelming.">>
<center><img src="images/serin/dungeon/masturbationdiscover/feet/barefeet2.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<quickRoll "Foot Domination Resistance" "Rylan" 85 5 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<thought "Rylan" "face" "I can't resist her foot domination... I'm completely hers now." "This is the most intense feeling ever" "I need to come for her feet...">>
<<else>>
<<thought "Rylan" "face" "I'm trying to resist, but her foot on my face is too much." "I can feel myself losing control" "I want to submit completely...">>
<</if>>
<<continueBox "LustDungeonSerinFootClimax" "Continue" "Reach climax...">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "--- Discovered by Serin! ---">>
<center><img src="images/serin/facesmirk.webp" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Just as I'm getting close, I hear familiar footsteps. My heart stops as Serin rounds the corner, her eyes immediately taking in the scene with that predatory grin I've come to know too well.">>
<<dialog "Serin" "facesmirk" "Well, well... what do we have here? My little pervert can't even wait until we're home. How pathetic... and exciting.">>
<<narrative "Instead of retreating, she steps closer, her eyes gleaming with mischievous intent. The memory of our previous encounters floods back, and I can see that same dominant hunger in her expression.">>
<<dialog "Serin" "facelaugh" "You know what? I think I should help you. After all, you clearly need proper guidance to finish what you started. Want to see something that'll really help you climax?">>
<<set _currentLust = $rylan_Lust || 0>>
<<set _currentAttraction = $rylan_SerinAttraction || 0>>
<<set _currentArmpitFetish = $rylan_ArmpitFetish || 0>>
<<set _currentSmellFetish = $rylan_SmellFetish || 0>>
<<set _currentBreastFetish = $rylan_BreastFetish || 0>>
<<set _currentSubmissionFetish = $rylan_SubmissionFetish || 0>>
<<set _baseTarget = 20>>
<<set _lustBonus = Math.floor(_currentLust / 20) * 5>>
<<set _attractionBonus = Math.floor(_currentAttraction / 10) * 3>>
<<set _armpitBonus = Math.floor(_currentArmpitFetish)>>
<<set _smellBonus = Math.floor(_currentSmellFetish)>>
<<set _breastBonus = Math.floor(_currentBreastFetish)>>
<<set _submissionBonus = Math.floor(_currentSubmissionFetish)>>
<<set _finalTarget = Math.min(80, _baseTarget + _lustBonus + _attractionBonus + _armpitBonus + _smellBonus + _breastBonus + _submissionBonus)>>
<<set _resistanceRoll = random(1, 100)>>
<<set _tempRollSuccess = _resistanceRoll > _finalTarget>>
<<narrative "🎲 Resistance to Temptation: _resistanceRoll vs _finalTarget">>
<<if _tempRollSuccess>>
<<narrative "✅ (Success)">>
<<else>>
<<narrative "❌ (Failure)">>
<</if>>
<<narrative "Base: _baseTarget | Lust: +_lustBonus | Attraction: +_attractionBonus | Armpit: +_armpitBonus | Smell: +_smellBonus | Breast: +_breastBonus | Submission: +_submissionBonus">>
<<if not _tempRollSuccess>>
<<narrative "The combination of embarrassment, arousal, and her dominant presence overwhelms my resistance completely. I find myself nodding, unable to form words.">>
<<dialog "Serin" "facesmirk" "That's my good boy. Now watch carefully...">>
<center><img src="images/serin/blightwood/masturbationdiscover/breasts.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Without hesitation, she begins to strip, revealing her perfect breasts and toned body. The sight of her exposed skin in the dangerous environment makes the moment incredibly intense.">>
<<dialog "Serin" "facewet" "You want to smell them, don't you? My sweaty armpits after all this traveling? Come closer and take a deep breath while you stroke yourself.">>
<<quickRoll "Armpit Temptation" "Rylan" 65 10 "armpitFetish" 5>>
<<if not _tempRollSuccess>>
<<narrative "I can't resist her command. The musky, feminine scent emanating from her exposed armpits is intoxicating. I lean closer, inhaling deeply as her natural pheromones fill my senses completely.">>
<center><img src="images/serin/blightwood/masturbationdiscover/breasts.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The combination of her visual dominance and that overwhelming scent drives me wild. I stroke myself faster, completely lost in the moment as her armpit musk becomes my entire world.">>
<<changeFetish "Rylan" "armpitFetish" 0.3>>
<<changeAttraction "Rylan" "Serin" 0.1>>
<<else>>
<<narrative "I try to maintain some distance, but the sight of her exposed body and the faint scent still reaches me. Even while trying to resist, I can't deny the effect she's having on me.">>
<center><img src="images/serin/chapter4/masturbationpunishment/6.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Despite my attempt at resistance, her commanding presence and exposed body continue to fuel my arousal. I stroke myself while trying to maintain control, but her dominance is overwhelming.">>
<<changeFetish "Rylan" "armpitFetish" 0.1>>
<<changeAttraction "Rylan" "Serin" 0.1>>
<</if>>
<<dialog "Serin" "facesmirk" "That's it, my little pet. Breathe it all in. Let my scent become part of you. You're going to think about this every time you touch yourself from now on.">>
<center><img src="images/serin/blightwood/masturbationdiscover/armpits.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Her words push me to the absolute edge. The combination of her scent, her exposed body, her dominant commands, and the thrill of being caught in this compromising position creates an overwhelming sensory overload that I can no longer resist.">>
<<run window.AudioSystem.playSFX('hsounds/cum.mp3')>>
<center><img src="images/rylan/masturbate/cumming.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The climax is incredibly intense, amplified by her scent, her visual stimulation, and the thrill of being dominated even in this semi-public setting. I shudder with the force of the orgasm.">>
<<changeLust "Rylan" -100>>
<<changeLust "Serin" 15>>
<<changeFetish "Rylan" "smellFetish" 0.3>>
<<changeFetish "Rylan" "exhibitionismFetish" 0.4>>
<<changeFetish "Rylan" "submissionFetish" 0.3>>
<<changeFetish "Serin" "exhibitionismFetish" 0.3>>
<<changeAttraction "Rylan" "Serin" 1>>
<<changeAttraction "Serin" "Rylan" 2>>
<<changeAffection "Serin" "Rylan" 2>>
<<else>>
<<narrative "Despite the temptation, I manage to maintain some composure and shake my head, quickly covering myself.">>
<<dialog "Rylan" "faceembarrassed" "N-no, Serin. I just... I need to handle this privately. Please go back to the others.">>
<<dialog "Serin" "facelaugh" "How disappointing. But I'll remember this moment, $humanName. Next time you might not have a choice.">>
<<narrative "She leaves with that predatory smile, and I quickly finish in privacy, though the encounter with her has left me more aroused than before.">>
<<changeLust "Rylan" -50>>
<<changeFetish "Rylan" "exhibitionismFetish" 0.1>>
<<changeAttraction "Serin" "Rylan" 1>>
<</if>>
<<narrative "--- Aftermath ---">>
<<narrative "As the intense pleasure fades, I quickly clean myself up and adjust my clothing. The relief is enormous - the desperate tension that had been building finally releases, leaving me feeling much more centered and able to focus.">>
<<narrative "I take a few deep breaths to compose myself before rejoining the others, hoping no one notices my slightly flushed appearance. The rest area has certainly served its purpose for recovery in more ways than one.">>
<<set $rylan_Lust = 0>>
<<trackOther "Rylan" "MasturbationCount" 1>>
<<narrative "💦 $humanName's lust completely relieved 💦">>
<<continueBox "LustDungeonRestAreaContinue" "Return to the group" "">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "--- Discovered by Seryk! ---">>
<center><img src="images/seryk/faceembarrassed.webp" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Just as I'm getting close, I hear heavy footsteps. My heart nearly stops as Seryk rounds the corner, his eyes widening as he takes in the scene.">>
<<dialog "Seryk" "faceembarrassed" "Oh... sorry bro! I'll just... I'll go away. Don't mind me, just continue what you were doing.">>
<<narrative "He starts to turn away, but something inside me - some confusing impulse - makes me want him to stay. The thought surprises me, but my growing attraction to his masculine presence seems to override my embarrassment.">>
<<choiceBox "Seryk Discovery" "Ask him to pose for you" "LustDungeonRylanMasturbationStop" "LustDungeonRylanMasturbationStop=pose" "Try to resist" "LustDungeonRylanMasturbationResist" "LustDungeonRylanMasturbationResist=resist">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "--- Uninterrupted Relief ---">>
<<narrative "Fortunately, my secluded spot remains private. The built-up tension from all the recent encounters reaches its peak, and I finally achieve the release my body desperately needed.">>
<center><img src="images/rylan/masturbate/cumming.webp" style="max-width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The orgasm is incredibly intense after so much buildup. Wave after wave of pleasure washes over me as months of tension finally find release. I lean against the stone wall, breathing heavily as the overwhelming satisfaction settles in.">>
<<changeLust "Rylan" -100>>
<<trackOther "Rylan" "MasturbationCount" 1>>
<<narrative "--- Aftermath ---">>
<<narrative "As the intense pleasure fades, I quickly clean myself up and adjust my clothing. The relief is enormous - the desperate tension that had been building finally releases, leaving me feeling much more centered and able to focus.">>
<<narrative "I take a few deep breaths to compose myself before rejoining the others, hoping no one notices my slightly flushed appearance. The rest area has certainly served its purpose for recovery in more ways than one.">>
<<set $rylan_Lust = 0>>
<<trackOther "Rylan" "MasturbationCount" 1>>
<<narrative "💦 $humanName's lust completely relieved 💦">>
<<continueBox "LustDungeonRestAreaContinue" "Return to the group" "">>
</div>
<</nobr>>
<<pov "rylan" "intimate.mp3">><<nobr>>
<<if not $serykLioraManaAssistCount>>
<<set $serykLioraManaAssistCount = 0>>
<</if>>
<div class="passage-container liora">
<<narrative "💧 Mana Assistance Offer 💧">>
<<if $serykLioraManaAssistCount === 1>>
<<narrative "First Time - Medical Help">>
<<elseif $serykLioraManaAssistCount === 2>>
<<narrative "Second Time - Growing Familiarity">>
<<else>>
<<narrative "Repeated Encounters - Potential Dependency">>
<</if>>
<center><img src="images/seryk/face.webp" style="max-width: 200px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<if $serykLioraManaAssistCount === 1>>
<<narrative "First Time: Medical Assistance">>
<<narrative "I collapse against the stone wall, my mana completely depleted. Every muscle in my body aches with magical exhaustion, and I can barely keep my eyes open.">>
<<narrative "Seryk notices my condition immediately and approaches with genuine concern in his eyes. His expression is caring and professional - he's clearly worried about my wellbeing.">>
<<dialog "Seryk" "face" "Little Bird, you're in bad shape. That magical exhaustion could be dangerous if we encounter more enemies. You know my body fluids can restore your mana quickly... like in the cave. It's the most effective treatment I can offer.">>
<<narrative "My stomach drops at his words. His saliva - the same fluid I unknowingly consumed in the cave when I thought it was medicine. Now that I know the truth, the idea makes me feel sick.">>
<<dialog "Liora" "faceembarrassedshortpink" "Your saliva?! Seryk, now that I know what it actually is... that's absolutely disgusting! I can't willingly drink your spit!">>
<<narrative "Seryk's expression remains calm and genuinely concerned. He's not being pushy or seductive - just offering medical help in the way he knows best.">>
<<dialog "Seryk" "face" "I understand it sounds unpleasant, but it's just medicine. Like taking a health potion, just more direct. Could literally save your life here, Little Bird. No judgment from me either way.">>
<<narrative "His words pierce through my revulsion. He's right - I am in serious danger. My mana reserves are so low that even minor magical exertion could kill me.">>
<<dialog "Seryk" "face" "Take your time deciding, Little Bird. If you'd rather rest and try to recover naturally, I understand. But the offer's there if you need it.">>
<<choiceBox "Medical Decision" "Try to resist and recover naturally" "LustDungeonSerykLioraResistanceSuccess" "LustDungeonSerykLioraResistanceSuccess=resist" "Accept his assistance" "LustDungeonSerykLioraManaAssistAccept" "LustDungeonSerykLioraManaAssistAccept=accept">>
<<elseif $serykLioraManaAssistCount === 2>>
<<narrative "Second Time: Growing Familiarity">>
<<narrative "Here I am again, magic depleted. The exhaustion feels familiar now, as does the knowledge that Seryk's assistance worked incredibly well last time.">>
<<dialog "Seryk" "face" "Little Bird, you're pushing yourself too hard again. You know what happened last time when you overextended like this. My assistance worked well before.">>
<<narrative "His tone is gentler this time, more familiar. There's a care in the way he speaks to me now, born from our shared experience.">>
<<dialog "Liora" "facesadshortpink" "Seryk... I told myself last time was a one-time emergency. This can't become a pattern.">>
<<dialog "Seryk" "face" "No pressure, Little Bird. You know how quickly my treatment worked last time. But if you'd rather try to recover on your own, that's fine too.">>
<<choiceBox "Medical Decision" "Try to resist again" "LustDungeonSerykLioraResistanceSuccess" "LustDungeonSerykLioraResistanceSuccess=resist" "Accept his assistance again" "LustDungeonSerykLioraManaAssistAccept" "LustDungeonSerykLioraManaAssistAccept=accept">>
<<else>>
<<narrative "This is becoming routine now. When my mana runs low, I find myself looking for Seryk's help almost automatically.">>
<<dialog "Seryk" "face" "My Little Bird needs help again? You don't look surprised anymore when I offer.">>
<<narrative "His words hit close to the truth. I'm not shocked anymore. The treatment has proven effective, and part of me already anticipates it.">>
<<dialog "Liora" "facesadshortpink" "I'm not becoming dependent on this, am I? It's still just medical necessity.">>
<<dialog "Seryk" "face" "Of course it's medical, Little Bird. But there's nothing wrong with accepting effective treatment when you need it.">>
<<choiceBox "Medical Decision" "Try to resist the dependency" "LustDungeonSerykLioraResistanceSuccess" "LustDungeonSerykLioraResistanceSuccess=resist" "Accept the assistance" "LustDungeonSerykLioraManaAssistAccept" "LustDungeonSerykLioraManaAssistAccept=accept">>
<</if>>
</div>
<</nobr>>
<<pov "liora" "intimate.mp3">><<nobr>>
<<if not $serykLioraManaAssistCount>>
<<set $serykLioraManaAssistCount = 0>>
<</if>>
<<set $serykLioraManaAssistCount += 1>>
<div class="passage-container liora">
<<narrative "💧 Intimate Body Fluid Treatment 💧">>
<<narrative "Medical Assistance">>
<center><img src="images/liora/faceembarrassedshortpink.webp" style="max-width: 200px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "Whether through conscious choice or failed resistance, I find myself accepting Seryk's intimate assistance once again. The shame burns in my cheeks as I position myself to receive his body fluids, but my desperate need for mana recovery overrides my dignity.">>
<<dialog "Seryk" "face" "Don't worry, Little Bird. I know this seems strange, but it's just medicine. Let me help you recover properly.">>
<<narrative "I tilt my head back and open my mouth, feeling the familiar mixture of shame and anticipation. Seryk positions himself carefully above me, his caring expression focused on helping me recover, not exploiting my vulnerability.">>
<<narrative "Phase 1: Initial Contact">>
<center><img src="images/liora/blightwood/saliva1.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "The first warm drop of his saliva hits my tongue, and my body responds immediately. That familiar bitter-then-sweet taste floods my senses - the unique properties of his saliva that makes it so effective for magical restoration.">>
<<narrative "Despite knowing it's medicine, the intimacy of the act is overwhelming. Having someone's saliva directly dripped into my mouth feels incredibly personal and vulnerable. My breathing becomes shallow as more drops follow, each one carrying that distinctive taste that my body is beginning to recognize and crave.">>
<<dialog "Seryk" "face" "That's good, Little Bird. I can see your color returning already. Try to relax and let your body absorb it properly.">>
<<narrative "Each swallow sends both magical energy and confusing sensations through my system. My body is definitely responding to the treatment, but there are other effects too - a warm tingling that spreads from my stomach outward, making me feel strangely aroused despite the medical nature of what we're doing.">>
<<quickFetishRoll "Liora" "SalivaFetish" "Seryk" 0.4>>
<<if _fetishSuccess>>
<<dialog "Liora" "facewet" "The taste... it's so much more intense than I expected. My body is responding in ways that feel... strange but not unpleasant.">>
<<narrative "I can't deny that my body is reacting powerfully to this intimate treatment. There's an undeniable arousal building alongside the magical restoration, making me feel conflicted about the experience. My nipples are becoming hard, and I can feel warmth building between my legs.">>
<<changeLust "Liora" 8>>
<<changeFetish "Liora" "SalivaFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 2>>
<<else>>
<<dialog "Liora" "faceembarrassedshortpink" "This is so embarrassing... I know it's medicine, but having your saliva in my mouth feels so... intimate.">>
<<narrative "I force myself to focus on the medical necessity, trying to ignore the more confusing aspects of this treatment. Still, I can't completely suppress my body's growing familiarity with the process, or the way my pulse quickens with each drop.">>
<<changeLust "Liora" 5>>
<<changeFetish "Liora" "SalivaFetish" 0.1>>
<<changeAttraction "Liora" "Seryk" 1>>
<</if>>
<div style="background: rgba(90,70,110,0.9); border: 1px solid rgba(170,150,190,0.4); border-radius: 8px; padding: 20px; margin: 20px 0;"><p style="color: #DDA0DD; font-weight: bold; text-align: center; margin-bottom: 15px;">--- Phase 2: Deeper Administration ---</p><center><img src="images/liora/blightwood/saliva2.webp" style="width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*For the second phase, Seryk moves closer, positioning himself so he can deliver a more substantial amount. The intimacy increases dramatically as he leans over me, his face now only inches from mine. I can feel the heat radiating from his body as he concentrates on the treatment.*</p><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I can feel his breath on my face, smell his masculine scent mixed with the subtle sweat that seem to make my head spin. Every sense is heightened as he continues the treatment, making the experience incredibly intense and deeply personal.*</p><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/seryk/face.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-seryk">This next dose will be more concentrated, Little Bird. It might feel intense, but it's necessary for full recovery. Trust me.</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*A larger amount of his saliva flows into my mouth this time - warm and thick. I have to swallow more frequently to keep up with the flow, the taste becoming more pronounced and somehow more addictive with each gulp.*</p><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*The effects are immediate and powerful. Magical energy surges through me, but so does a confusing mix of other sensations. My body is responding in ways that go far beyond simple medical treatment - there's an undeniable sexual tension building.*</p><<if _fetishSuccess>><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/liora/facewet.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-liora">Oh my... this feels so much more intense! My whole body is tingling. Is this normal for the treatment?</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I can feel warmth and arousal building throughout my body. This intimate exchange is affecting me in ways I didn't expect, creating confusion between medical necessity and growing desire. My breathing becomes more labored, and I can feel myself getting wet.*</p><<changeLust "Liora" 5>><<changeAttraction "Liora" "Seryk" 1>><<else>><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/liora/faceembarrassedshortpink.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-liora">This is working amazingly well, but being this close while you... it's very overwhelming.</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*I try to focus on the medical benefits while managing the overwhelming intimacy of the situation. Still, I can't deny that my body is responding positively to both the treatment and Seryk's caring presence.*</p><</if>></div>
<div style="background: rgba(100,80,120,0.9); border: 1px solid rgba(180,160,200,0.4); border-radius: 8px; padding: 20px; margin: 20px 0;"><p style="color: #FF69B4; font-weight: bold; text-align: center; margin-bottom: 15px;">--- Phase 3: Complete Treatment ---</p><center><img src="images/liora/blightwood/saliva3.webp" style="width: 500px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*For the final phase, Seryk positions himself even closer for maximum effectiveness. This level of intimacy is almost overwhelming - his presence surrounds me completely as he prepares to deliver the final, most concentrated dose. I can feel the heat from his body, see the genuine care in his eyes.*</p><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*His caring expression never wavers, focused entirely on ensuring my complete recovery. Even in this incredibly intimate position, he maintains his professional demeanor while providing the most effective treatment possible. Yet there's an undeniable tension between us now.*</p><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/seryk/face.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-seryk">This final dose will complete your recovery, Little Bird. I'll give you a whole lot for treatment at once. Just breathe and let it work through your system.</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*The final administration is the most intense yet. A steady, generous flow of his saliva fills my mouth, requiring continuous swallowing. Each gulp sends powerful waves of both magical restoration and overwhelming sensations through my entire body. The taste is now familiar, almost comforting.*</p><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*My mana reserves are completely restored, but the side effects are undeniable. The intimate nature of this treatment has awakened responses in my body that go far beyond simple medical necessity. I'm breathing heavily, my body flushed and aroused from the prolonged intimate contact.*</p><<if _fetishSuccess>><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/liora/facewet.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-liora">I can't believe how incredible this feels... my whole body is responding so intensely. This treatment is affecting me in ways I never expected.</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*By the treatment's conclusion, I'm breathing heavily, my entire body flushed with both restored energy and intense arousal. I can't deny that this intimate exchange has affected me deeply. My underwear is completely soaked, and I'm struggling to control the overwhelming sensations.*</p><<changeLust "Liora" 8>><<changeFetish "Liora" "SalivaFetish" 0.2>><<changeAttraction "Liora" "Seryk" 2>><<else>><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/liora/faceembarrassedshortpink.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-liora">The treatment is incredibly effective... I feel completely restored. Thank you for helping me, even though this was so embarrassing.</span></div><div style="clear: left;"></div></div><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*As the treatment concludes, I'm left feeling both grateful and confused. My mana is fully restored, but the intimate nature of the experience has left me with complicated feelings and undeniable arousal.*</p><</if>><p style="color: white; line-height: 1.6; margin: 20px 0; font-style: italic;">*As we prepare to rejoin the others, I feel the familiar mixture of restored energy and complex emotions. Seryk's treatment is undeniably effective, but the growing intimacy of these exchanges is something I'm still trying to understand. The taste of his saliva lingers on my tongue, and I find myself already anticipating the next time I might need his... assistance.*</p><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/seryk/face.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;"><span class="dialog-seryk">Perfect recovery, Little Bird. Your color looks much better now. Are you feeling ready to continue?</span></div><div style="clear: left;"></div></div><div class="speaker-block" style="margin-bottom: 20px;"><img src="images/liora/facesmile.webp" style="width: 90px; height: 90px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 15px 10px 0; clear: left;"><div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 8px; padding: 15px; margin-left: 110px;">
<span class="dialog-liora">Yes, I feel completely restored. Thank you for your help, Seryk.</span></div><div style="clear: left;"></div></div></div><<set $liora_combatStats.currentStamina = Math.min($liora_combatStats.currentStamina + 40, $liora_combatStats.maxStamina || 80)>><<changeLust "Seryk" 3>><<changeAffection "Liora" "Seryk" 2>><<changeAffection "Seryk" "Liora" 3>><<changeAttraction "Seryk" "Liora" 1>><<if $serykxliorantr === true>><<set $serykxliorantr = "stage1">><</if>><div style="background: rgba(144,238,144,0.2); border: 1px solid rgba(144,238,144,0.5); border-radius: 8px; padding: 15px; margin: 15px 0; text-align: center;"><p style="color: #90EE90; font-size: 0.9em; margin: 0;">💧 Liora recovers 40 MP from Seryk's treatment 💧</p></div></div>
<<continueBox "LustDungeonRestAreaContinue" "Return to the rest area" "">>
<<changeFace $currentLioraFace>><<statSummary>>
<</nobr>><<nobr>>
<<set _currentAttraction = $liora_SerykAttraction || 0>>
<<set _currentLust = $liora_Lust || 0>>
<<set _currentSalivaFetish = $liora_SalivaFetish || 0>>
<<set _baseThreshold = 25>>
<<set _attractionPenalty = Math.floor(_currentAttraction / 10) * 5>>
<<set _lustPenalty = Math.floor(_currentLust / 20) * 5>>
<<set _salivaFetishPenalty = Math.floor(_currentSalivaFetish)>>
<<set _finalThreshold = _baseThreshold + _attractionPenalty + _lustPenalty + _salivaFetishPenalty>>
<<set _resistanceRoll = random(1, 100)>>
<<set _resistanceSuccess = _resistanceRoll >= _finalThreshold>>
<div class="passage-container liora">
<<narrative "Resistance Attempt">>
<<narrative "I try to resist Seryk's offer, attempting to recover my mana naturally through rest and meditation.">>
<<if _resistanceSuccess>>
<<narrative "Success! I manage to resist the temptation and recover my mana through natural means.">>
<<continueBox "LustDungeonRestAreaContinue" "Return to the rest area" "">>
<<else>>
<<narrative "I fail to resist. Despite my best efforts, I find myself accepting Seryk's assistance.">>
<<continueBox "LustDungeonSerykLioraManaAssistAccept" "Accept the mana assistance" "">>
<</if>>
</div>
<</nobr>>
<<pov "liora" "intimate.mp3">><<script>>window.AudioSystem.playBGM('intimate.mp3');<</script>><<set $currentFace = $currentRylanFace>>
<<nobr>>
<div class="secret-transition-container" style="background: linear-gradient(45deg, rgba(75, 0, 130, 0.95), rgba(139, 0, 139, 0.95), rgba(75, 0, 130, 0.95)); min-height: 100vh; padding: 40px; border-radius: 15px; border: 2px solid rgba(255,255,255,0.2); position: relative; overflow: hidden;"><div class="floating-particles" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none;"><div style="position: absolute; width: 4px; height: 4px; background: rgba(255,255,255,0.6); border-radius: 50%; animation: float 8s infinite ease-in-out; top: 20%; left: 10%;"></div><div style="position: absolute; width: 3px; height: 3px; background: rgba(255,255,255,0.4); border-radius: 50%; animation: float 6s infinite ease-in-out 2s; top: 60%; left: 80%;"></div><div style="position: absolute; width: 5px; height: 5px; background: rgba(255,255,255,0.5); border-radius: 50%; animation: float 10s infinite ease-in-out 4s; top: 80%; left: 30%;"></div></div><div class="transition-content" style="position: relative; z-index: 2; text-align: center;"><div class="fade-text-1" style="opacity: 0; animation: fadeInOut 4s ease-in-out;"><p style="color: #FFB6C1; font-size: 1.6em; font-weight: bold; margin-bottom: 30px; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">As you rest...</p><p style="color: white; font-size: 1.2em; line-height: 1.8; margin-bottom: 40px; font-style: italic;">*You focus on recovering your strength, unaware of what's happening nearby...*</p></div><div class="fade-text-2" style="opacity: 0; animation: fadeInOut 4s ease-in-out 3s;"><p style="color: #DDA0DD; font-size: 1.4em; font-weight: bold; margin-bottom: 30px; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">In the shadows...</p><p style="color: white; font-size: 1.2em; line-height: 1.8; margin-bottom: 40px; font-style: italic;">*Seryk notices Liora's exhausted state and approaches her quietly...*</p></div><div class="fade-text-3" style="opacity: 0; animation: fadeInOut 4s ease-in-out 6s;"><p style="color: #FF69B4; font-size: 1.4em; font-weight: bold; margin-bottom: 30px; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Behind your back...</p><p style="color: white; font-size: 1.2em; line-height: 1.8; margin-bottom: 40px; font-style: italic;">*Something intimate is about to happen without your knowledge...*</p></div><div class="continue-button" style="opacity: 0; animation: fadeIn 2s ease-in-out 8s forwards;"><div style="background: rgba(45,45,50,0.9); border: 2px solid rgba(255,20,147,0.6); border-radius: 10px; padding: 15px; margin: 20px auto; width: 500px;">[[Continue →|LustDungeonSerykLioraManaAssist]]</div></div></div></div>
<style>
@keyframes fadeInOut {
0% { opacity: 0; transform: translateY(20px); }
20% { opacity: 1; transform: translateY(0); }
80% { opacity: 1; transform: translateY(0); }
100% { opacity: 0; transform: translateY(-20px); }
}
@keyframes fadeIn {
0% { opacity: 0; transform: scale(0.9); }
100% { opacity: 1; transform: scale(1); }
}
@keyframes float {
0%, 100% { transform: translateY(0px) rotate(0deg); opacity: 0.5; }
50% { transform: translateY(-20px) rotate(180deg); opacity: 1; }
}
</style>
<<timed 10s>><<goto "LustDungeonSerykLioraManaAssist">><</timed>>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<<narrative "⚔️ Combat Encounter ⚔️">>
<center><img src="images/enemies/blackslimes.webp" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "A group of blighted slimes emerges from the corrupted undergrowth, their bodies pulsing with toxic energy. Battle is inevitable!">>
<<set _battleRoll = random(1, 100)>>
<<set _partyPower = (($rylan_combatStats.physicalPower || 10) + ($serin_combatStats.agility || 12) + ($liora_combatStats.willpower || 12) + ($mariel_combatStats.technique || 10) + ($seryk_combatStats.physicalPower || 16) + ($nimeria_combatStats.perception || 14) + ($thalor_combatStats.physicalPower || 18)) / 7>>
<<battleRollDisplay _battleRoll 50 _partyPower>>
<div id="battleResults" style="display: none;">
<<if _battleRoll >= 80>>
<<applyBattleDamage 0.5>>
<<set _goldGained = random(10, 30)>>
<<set _crystalsGained = random(1, 3)>>
<<set $gold += _goldGained>>
<<set $crystals += _crystalsGained>>
<<set _allMembers = ["rylan", "liora", "serin", "mariel", "seryk", "nimeria", "thalor"]>>
<<for _i = 0; _i < _allMembers.length; _i++>>
<<set _member = _allMembers[_i]>>
<<set _randomStat = either(["physicalPower", "agility", "willpower", "technique", "perception", "focus", "vitality"])>>
<<trackCombatStat _member _randomStat 1>>
<</for>>
<<narrative "🎯 Perfect Execution! 🎯">>
<<narrative "Your coordinated assault overwhelms the slimes before they can mount an effective defense!">>
<<narrative "Gained: _goldGained Gold, _crystalsGained Crystals">>
<<narrative "Everyone gains +1 to a random combat stat!">>
<<elseif _battleRoll >= 40>>
<<applyBattleDamage 1.0>>
<<set _goldGained = random(10, 30)>>
<<set _crystalsGained = random(1, 3)>>
<<set $gold += _goldGained>>
<<set $crystals += _crystalsGained>>
<<set _allMembers = ["rylan", "liora", "serin", "mariel", "seryk", "nimeria", "thalor"]>>
<<for _i = 0; _i < _allMembers.length; _i++>>
<<set _member = _allMembers[_i]>>
<<set _randomStat = either(["physicalPower", "agility", "willpower", "technique", "perception", "focus", "vitality"])>>
<<trackCombatStat _member _randomStat 1>>
<</for>>
<<narrative "✅ Victory! ✅">>
<<narrative "After a fierce battle, you emerge victorious over the corrupted slimes.">>
<<narrative "Gained: _goldGained Gold, _crystalsGained Crystals">>
<<narrative "Everyone gains +1 to a random combat stat!">>
<<else>>
<<applyBattleDamage 1.5>>
<<set _goldGained = random(10, 30)>>
<<set _crystalsGained = random(1, 3)>>
<<set $gold += _goldGained>>
<<set $crystals += _crystalsGained>>
<<set _allMembers = ["rylan", "liora", "serin", "mariel", "seryk", "nimeria", "thalor"]>>
<<for _i = 0; _i < _allMembers.length; _i++>>
<<set _member = _allMembers[_i]>>
<<set _randomStat = either(["physicalPower", "agility", "willpower", "technique", "perception", "focus", "vitality"])>>
<<trackCombatStat _member _randomStat 1>>
<</for>>
<<narrative "⚠️ Hard-Fought Victory ⚠️">>
<<narrative "The battle was brutal and costly, but you managed to overcome the slimes.">>
<<narrative "Gained: _goldGained Gold, _crystalsGained Crystals">>
<<narrative "Everyone gains +1 to a random combat stat!">>
<</if>>
</div>
<<continueBox "LustDungeonContinue" "Continue Exploring" "">>
</div>
<</nobr>>
<<timed 1s>><<run $("#battleResults").show()>><</timed>>
<<pov "rylan" "lustdungeon.mp3">><<script>>window.AudioSystem.playBGM('lustdungeon.mp3');<</script>>
<<set $currentFace = $currentRylanFace>>
<<nobr>>
<<dungeonEffectCheck>>
<<if not $dungeonProgress>>
<<set $dungeonProgress = 1>>
<</if>>
<<set $dungeonProgress += 1>>
<<narrative "The dungeon's lustful atmosphere continues to affect everyone, slowly building arousal with each step deeper into its depths.">>
<<changeLust "Rylan" 3>>
<<changeLust "Liora" 3>>
<<changeLust "Serin" 3>>
<<changeLust "Mariel" 3>>
<<changeLust "Seryk" 3>>
<<changeLust "Nimeria" 3>>
<<changeLust "Thalor" 3>>
<<if $serykxliorantr === true || $serykxliorantr === "stage1">>
<<set $liora_combatStats.currentStamina = Math.min($liora_combatStats.currentStamina + 2, $liora_combatStats.maxStamina)>>
<<else>>
<<set $liora_combatStats.currentStamina = Math.min($liora_combatStats.currentStamina + 5, $liora_combatStats.maxStamina)>>
<</if>>
<<if not $mariel_combatStats>>
<<set $mariel_combatStats = { maxHealth: 100, currentHealth: 100, maxStamina: 100, currentStamina: 100, physicalPower: 8, agility: 7, willpower: 13, technique: 10, perception: 11 }>>
<</if>>
<<if not $partyMaxHP>>
<<set $partyMaxHP = ($rylan_combatStats.maxHealth || 100) + ($liora_combatStats.maxHealth || 80) + ($serin_combatStats.maxHealth || 90) + ($mariel_combatStats.maxHealth || 100) + ($seryk_combatStats.maxHealth || 150) + ($nimeria_combatStats.maxHealth || 120)>>
<</if>>
<<if not $partyCurrentHP>>
<<set $partyCurrentHP = ($rylan_combatStats.currentHealth || 100) + ($liora_combatStats.currentHealth || 80) + ($serin_combatStats.currentHealth || 90) + ($mariel_combatStats.currentHealth || 100) + ($seryk_combatStats.currentHealth || 150) + ($nimeria_combatStats.currentHealth || 120)>>
<</if>>
<<autoHealCheck>>
<<set _lioraCurrentSP = $liora_combatStats.currentStamina || 0>>
<<set _lioraMaxSP = $liora_combatStats.maxStamina || 80>>
<<set _hpPercentage = Math.round(($partyCurrentHP / $partyMaxHP) * 100)>>
<<set _spPercentage = Math.round((_lioraCurrentSP / _lioraMaxSP) * 100)>>
<<set _hpColor = (_hpPercentage >= 75) ? "#32CD32" : (_hpPercentage >= 50) ? "#FFD700" : (_hpPercentage >= 25) ? "#FFA500" : "#FF4500">>
<<set _spColor = (_spPercentage >= 75) ? "#87CEEB" : (_spPercentage >= 50) ? "#4169E1" : (_spPercentage >= 25) ? "#0000FF" : "#8A2BE2">>
<<if $dungeonProgress >= $dungeonMaxAreas>>
<div class="completion-redirect" style="background: linear-gradient(to bottom, rgba(75, 0, 130, 0.85), rgba(25, 25, 112, 0.9)); min-height: 300px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3); text-align: center;">
<h2 style="color: white; margin-bottom: 20px;">🎉 Exploration Complete! 🎉</h2>
<p style="color: white; line-height: 1.6; margin-bottom: 20px;">You have successfully explored the entire $dungeonName region!</p>
[[Complete the exploration|LustDungeonComplete]]
</div>
<<elseif $dungeonProgress % 4 === 0>>
<<continueBox "LustDungeonRestArea" "Take a rest" "">>
<<else>>
<div class="dungeon-exploration-container" style="background: url('images/landscapes/lustdungeonleftright.webp'); background-size: cover; background-position: center; min-height: 600px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3); position: relative;">
<div class="dungeon-overlay" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(75, 0, 130, 0.3); border-radius: 10px;"></div>
<div style="position: relative; z-index: 2;">
<div class="dungeon-header" style="background: rgba(45,45,50,0.95); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">$dungeonName Exploration</p>
<<set _dungeonImageName = $dungeonName.toLowerCase()>>
<center><img @src="'images/landscapes/lustdungeonleftright.webp'" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<div style="display: flex; justify-content: space-between; align-items: center;">
<p style="color: white; font-size: 1.1em; margin: 0;">Progress: $dungeonProgress / $dungeonMaxAreas</p>
<p style="color: <<print _hpColor>>; font-size: 1.1em; margin: 0; font-weight: bold;">Party HP: $partyCurrentHP / $partyMaxHP</p>
<p style="color: <<print _spColor>>; font-size: 1.1em; margin: 0; font-weight: bold;">Liora MP: _lioraCurrentSP / _lioraMaxSP</p>
</div>
</div>
<div class="card-selection" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin-bottom: 25px;">
<p style="color: white; line-height: 1.6; margin-bottom: 20px; text-align: center; font-style: italic;">*You continue deeper into the dungeon. The path ahead splits once again, offering new choices and challenges.*</p>
<<generateLustDungeonCards>>
</div>
</div>
</div>
<</if>>
<<changeFace $currentRylanFace>>
<</nobr>><<script>>window.AudioSystem.playBGM('lustdungeon.mp3');<</script>>
<<set $currentFace = $currentRylanFace>>
<<nobr>>
<div class="crystal-encounter-container" style="background: url('images/landscapes/lustdungeonleftright.webp'); background-size: cover; background-position: center; min-height: 600px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3); position: relative;">
<div class="crystal-overlay" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(135, 206, 235, 0.85); border-radius: 10px;"></div>
<div style="position: relative; z-index: 2;">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">💎 Crystal Extraction 💎</p>
</div>
<img src="images/items/crystals.webp" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);">
<div class="crystal-description" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin: 25px 0;">
<p style="color: white; line-height: 1.6; margin-bottom: 20px; text-align: center; font-style: italic;">*You find corrupted magical crystals pulsing with unstable energy. Careful magical extraction is needed to harvest them safely.*</p>
</div>
<<set _crystalRoll = random(1, 100)>>
<<set _partyMagic = (($rylan_combatStats.willpower || 9) + ($serin_combatStats.willpower || 8) + ($liora_combatStats.willpower || 12) + ($mariel_combatStats.willpower || 13) + ($seryk_combatStats.willpower || 14) + ($nimeria_combatStats.willpower || 15) + ($thalor_combatStats.willpower || 12)) / 7>>
<<crystalRollDisplay _crystalRoll 50 _partyMagic>>
<div id="crystalResults" style="display: none;">
<<if _crystalRoll >= 80>>
<<set _crystalsGained = 3>>
<<set $crystals += _crystalsGained>>
<div class="crystal-result perfect" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(135,206,235,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;">
<p style="color: #87CEEB; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">🎯 Perfect Extraction! 🎯</p>
<p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*Your masterful magical control purifies the corrupted crystals, revealing their true potential!*</p>
<p style="color: #87CEEB; text-align: center; font-size: 1.1em; margin: 5px 0;">Gained: _crystalsGained Magic Crystals</p>
</div>
<<elseif _crystalRoll >= 40>>
<<set _crystalsGained = 2>>
<<set $crystals += _crystalsGained>>
<div class="crystal-result standard" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(135,206,235,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;">
<p style="color: #87CEEB; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">✅ Successful Harvest! ✅</p>
<p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*You carefully stabilize the crystals and extract their magical essence.*</p>
<p style="color: #87CEEB; text-align: center; font-size: 1.1em; margin: 5px 0;">Gained: _crystalsGained Magic Crystals</p>
</div>
<<else>>
<<set _crystalsGained = 1>>
<<set $crystals += _crystalsGained>>
<div class="crystal-result difficult" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(255,165,0,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;">
<p style="color: #FFA500; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">⚠️ Partial Harvest ⚠️</p>
<p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*The crystals resist your magic and several shatter, but you salvage what you can.*</p>
<p style="color: #87CEEB; text-align: center; font-size: 1.1em; margin: 5px 0;">Gained: _crystalsGained Magic Crystals</p>
</div>
<</if>>
</div>
<div style="text-align: center; margin: 30px 0;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.95), rgba(35, 35, 40, 0.98)); border: 3px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 25px; min-width: 280px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); position: relative; overflow: hidden; display: inline-block;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #32CD32, #228B22, #006400, #228B22);"></div>
<h4 style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Continue Exploring</h4>
<div style="display: flex; gap: 15px; justify-content: center; flex-wrap: wrap;">
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 8px; padding: 12px; display: inline-block; min-width: 150px;">[[Continue|LustDungeonContinue]]</div>
</div>
</div>
</div>
</div>
</div>
<<timed 1s>><<run $("#crystalResults").show()>><</timed>>
<<changeFace $currentRylanFace>>
<<statSummary>>
<</nobr>><<nobr>>
<<set _eventType = Math.random() < 0.5 ? "lustdungeon" : "fetish">>
<<if _eventType === "lustdungeon">>
<<if not $lustdungeonEventsSeen>>
<<set $lustdungeonEventsSeen = []>>
<</if>>
<<if $lustdungeonEventsSeen.length >= 5>>
<<set $lustdungeonEventsSeen = []>>
<</if>>
<<set _eventWeights = []>>
<<for _i = 1; _i <= 6; _i++>>
<<if $lustdungeonEventsSeen.includes(_i)>>
<<set _eventWeights.push({event: _i, weight: 1})>>
<<else>>
<<set _eventWeights.push({event: _i, weight: 50})>>
<</if>>
<</for>>
<<set _totalWeight = 0>>
<<for _i = 0; _i < _eventWeights.length; _i++>>
<<set _totalWeight += _eventWeights[_i].weight>>
<</for>>
<<set _randomValue = random(1, _totalWeight)>>
<<set _runningTotal = 0>>
<<set _selectedEvent = 1>>
<<for _i = 0; _i < _eventWeights.length; _i++>>
<<set _runningTotal += _eventWeights[_i].weight>>
<<if _randomValue <= _runningTotal>>
<<set _selectedEvent = _eventWeights[_i].event>>
<<break>>
<</if>>
<</for>>
<<set $lustdungeonEventsSeen.pushUnique(_selectedEvent)>>
<<if _selectedEvent === 1>>
<<goto "LustDungeonEvent1">>
<<elseif _selectedEvent === 2>>
<<goto "LustDungeonEvent2">>
<<elseif _selectedEvent === 3>>
<<goto "LustDungeonEvent3">>
<<elseif _selectedEvent === 4>>
<<goto "LustDungeonEvent4">>
<<elseif _selectedEvent === 5 && $RylanSoraAttrraction >= 1>>>
<<goto "LustDungeonEventSora6">>
<<else>>
<<goto "LustDungeonEvent5">>
<</if>>
<<else>>
<<lustDungeonDynamicFetishEvent>>
<</if>>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<<set $currentFace = $currentRylanFace>>
<<if not $dungeonProgress>>
<<set $dungeonProgress = 1>>
<<set $dungeonName = "Lust Dungeon">>
<<set $dungeonEffect = "trapDamage">>
<</if>>
<<if $dungeonProgress > 1>>
<<if $serykxliorantr>>
<<set $liora_combatStats.currentStamina = Math.min($liora_combatStats.currentStamina + 2, $liora_combatStats.maxStamina)>>
<<else>>
<<set $liora_combatStats.currentStamina = Math.min($liora_combatStats.currentStamina + 5, $liora_combatStats.maxStamina)>>
<</if>>
<</if>>
<<if not $rylan_combatStats>>
<<set $rylan_combatStats = { maxHealth: 100, currentHealth: 100, maxStamina: 100, currentStamina: 100, physicalPower: 10, agility: 8, willpower: 9, technique: 8, perception: 7 }>>
<</if>>
<<if not $liora_combatStats>>
<<set $liora_combatStats = { maxHealth: 80, currentHealth: 80, maxStamina: 80, currentStamina: 80, physicalPower: 7, agility: 7, willpower: 12, technique: 8, perception: 9 }>>
<</if>>
<<if not $serin_combatStats>>
<<set $serin_combatStats = { maxHealth: 90, currentHealth: 90, maxStamina: 90, currentStamina: 90, physicalPower: 9, agility: 12, willpower: 8, technique: 9, perception: 8 }>>
<</if>>
<<if not $mariel_combatStats>>
<<set $mariel_combatStats = { maxHealth: 100, currentHealth: 100, maxStamina: 100, currentStamina: 100, physicalPower: 8, agility: 7, willpower: 13, technique: 10, perception: 11 }>>
<</if>>
<<if not $seryk_combatStats>>
<<set $seryk_combatStats = { maxHealth: 150, currentHealth: 150, maxStamina: 150, currentStamina: 150, physicalPower: 16, agility: 10, willpower: 14, technique: 11, perception: 10 }>>
<</if>>
<<if not $nimeria_combatStats>>
<<set $nimeria_combatStats = { maxHealth: 120, currentHealth: 120, maxStamina: 120, currentStamina: 120, physicalPower: 8, agility: 11, willpower: 15, technique: 10, perception: 14 }>>
<</if>>
<<if not $thalor_combatStats>>
<<set $thalor_combatStats = { maxHealth: 180, currentHealth: 180, maxStamina: 180, currentStamina: 180, physicalPower: 18, agility: 12, willpower: 12, technique: 13, perception: 11 }>>
<</if>>
<<set $partyMaxHP = ($rylan_combatStats.maxHealth || 100) + ($liora_combatStats.maxHealth || 80) + ($serin_combatStats.maxHealth || 90) + ($mariel_combatStats.maxHealth || 100) + ($seryk_combatStats.maxHealth || 150) + ($nimeria_combatStats.maxHealth || 120) + ($thalor_combatStats.maxHealth || 180)>>
<<set $partyCurrentHP = ($rylan_combatStats.currentHealth || 100) + ($liora_combatStats.currentHealth || 80) + ($serin_combatStats.currentHealth || 90) + ($mariel_combatStats.currentHealth || 100) + ($seryk_combatStats.currentHealth || 150) + ($nimeria_combatStats.currentHealth || 120) + ($thalor_combatStats.currentHealth || 180)>>
<<dungeonEffectCheck>>
<<autoHealCheck>>
<<narrative "The dungeon's lustful atmosphere affects everyone, slowly building arousal with each step deeper into its depths.">>
<<changeLust "Rylan" 3>>
<<changeLust "Liora" 3>>
<<changeLust "Serin" 3>>
<<changeLust "Mariel" 3>>
<<changeLust "Seryk" 3>>
<<changeLust "Nimeria" 3>>
<<changeLust "Thalor" 3>>
<<set _lioraCurrentSP = $liora_combatStats.currentStamina || 0>>
<<set _lioraMaxSP = $liora_combatStats.maxStamina || 80>>
<<set _hpPercentage = Math.round(($partyCurrentHP / $partyMaxHP) * 100)>>
<<set _spPercentage = Math.round((_lioraCurrentSP / _lioraMaxSP) * 100)>>
<<set _hpColor = (_hpPercentage >= 75) ? "#32CD32" : (_hpPercentage >= 50) ? "#FFD700" : (_hpPercentage >= 25) ? "#FFA500" : "#FF4500">>
<<set _spColor = (_spPercentage >= 75) ? "#87CEEB" : (_spPercentage >= 50) ? "#4169E1" : (_spPercentage >= 25) ? "#0000FF" : "#8A2BE2">>
<div class="dungeon-exploration-container" style="background: url('images/landscapes/blightwood.webp'); background-size: cover; background-position: center; min-height: 600px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3); position: relative;">
<div class="dungeon-overlay" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(75, 0, 130, 0.3); border-radius: 10px;"></div>
<div style="position: relative; z-index: 2;">
<div class="dungeon-header" style="background: rgba(45,45,50,0.95); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">$dungeonName Exploration</p>
<<set _dungeonImageName = $dungeonName.toLowerCase()>>
<center><img @src="'images/landscapes/lustdungeonleftright.webp'" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3); margin: 15px 0;"></center>
<div style="display: flex; justify-content: space-between; align-items: center;">
<p style="color: white; font-size: 1.1em; margin: 0;">Progress: $dungeonProgress / $dungeonMaxAreas</p>
<p style="color: <<print _hpColor>>; font-size: 1.1em; margin: 0; font-weight: bold;">Party HP: $partyCurrentHP / $partyMaxHP</p>
<p style="color: <<print _spColor>>; font-size: 1.1em; margin: 0; font-weight: bold;">Liora MP: _lioraCurrentSP / _lioraMaxSP</p>
</div>
</div>
<div class="card-selection" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin-bottom: 25px;">
<p style="color: white; line-height: 1.6; margin-bottom: 20px; text-align: center; font-style: italic;">*You come to a junction in the dungeon. Three paths diverge before you, each offering different opportunities and dangers.*</p>
<<generateLustDungeonCards>>
</div>
</div>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<script>>window.AudioSystem.playBGM('lustdungeon.mp3');<</script>>
<<set $currentFace = $currentRylanFace>>
<<nobr>>
<div class="treasure-encounter-container" style="background: url('images/landscapes/lustdungeonleftright.webp'); background-size: cover; background-position: center; min-height: 600px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3); position: relative;">
<div class="treasure-overlay" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(255, 215, 0, 0.85); border-radius: 10px;"></div>
<div style="position: relative; z-index: 2;">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">💰 Treasure Discovery 💰</p>
</div>
<img src="images/items/goldchest.webp" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);">
<div class="treasure-description" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin: 25px 0;">
<p style="color: white; line-height: 1.6; margin-bottom: 20px; text-align: center; font-style: italic;">*You discover an ancient treasure chest hidden beneath twisted roots. It requires careful teamwork to unlock safely without triggering any traps.*</p>
</div>
<<set _treasureRoll = random(1, 100)>>
<<set _partySkill = (($rylan_combatStats.technique || 8) + ($serin_combatStats.agility || 12) + ($liora_combatStats.perception || 9) + ($mariel_combatStats.technique || 10) + ($seryk_combatStats.technique || 11) + ($nimeria_combatStats.perception || 14) + ($thalor_combatStats.technique || 13)) / 7>>
<<treasureRollDisplay _treasureRoll 50 _partySkill>>
<div id="treasureResults" style="display: none;">
<<if _treasureRoll >= 80>>
<<set _goldGained = random(25, 50)>>
<<set $gold += _goldGained>>
<div class="treasure-result perfect" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(255,215,0,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;">
<p style="color: #FFD700; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">🎯 Perfect Discovery! 🎯</p>
<p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*Your skilled approach disables all traps and reveals a hidden compartment with bonus treasure!*</p>
<p style="color: #FFD700; text-align: center; font-size: 1.1em; margin: 5px 0;">Gained: _goldGained Gold</p>
</div>
<<elseif _treasureRoll >= 40>>
<<set _goldGained = random(15, 30)>>
<<set $gold += _goldGained>>
<div class="treasure-result standard" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(255,215,0,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;">
<p style="color: #FFD700; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">✅ Successful Find! ✅</p>
<p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*You carefully open the chest and retrieve its valuable contents.*</p>
<p style="color: #FFD700; text-align: center; font-size: 1.1em; margin: 5px 0;">Gained: _goldGained Gold</p>
</div>
<<else>>
<<set _goldGained = random(5, 15)>>
<<set $gold += _goldGained>>
<div class="treasure-result difficult" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(255,165,0,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;">
<p style="color: #FFA500; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">⚠️ Partial Success ⚠️</p>
<p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*You trigger a minor trap but still manage to salvage some treasure.*</p>
<p style="color: #FFD700; text-align: center; font-size: 1.1em; margin: 5px 0;">Gained: _goldGained Gold</p>
</div>
<</if>>
</div>
<div style="text-align: center; margin: 30px 0;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.95), rgba(35, 35, 40, 0.98)); border: 3px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 25px; min-width: 280px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); position: relative; overflow: hidden; display: inline-block;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #32CD32, #228B22, #006400, #228B22);"></div>
<h4 style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Continue Exploring</h4>
<div style="display: flex; gap: 15px; justify-content: center; flex-wrap: wrap;">
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 8px; padding: 12px; display: inline-block; min-width: 150px;">[[Continue|LustDungeonContinue]]</div>
</div>
</div>
</div>
</div>
</div>
<<timed 1s>><<run $("#treasureResults").show()>><</timed>>
<<changeFace $currentRylanFace>>
<<statSummary>>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<<narrative "✨ Training Opportunity ✨">>
<center><img src="images/landscapes/ancientgrounds.webp" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<<narrative "You discover ancient training grounds hidden within the dungeon depths. The party can focus and learn from this place of power.">>
<<set _trainingRoll = random(1, 100)>>
<<set _partyFocus = (($rylan_combatStats.willpower || 9) + ($serin_combatStats.willpower || 8) + ($liora_combatStats.willpower || 12) + ($mariel_combatStats.willpower || 13) + ($seryk_combatStats.willpower || 14) + ($nimeria_combatStats.willpower || 15) + ($thalor_combatStats.willpower || 12)) / 7>>
<<trainingRollDisplay _trainingRoll 50 _partyFocus>>
<div id="trainingResults" style="display: none;">
<<if _trainingRoll >= 80>>
<<narrative "🎯 Perfect Learning! 🎯">>
<<narrative "Your focused training session unlocks hidden potential in all party members!">>
<<narrative "All party members gain +2 to a random combat stat">>
<<set _allMembers = ["rylan", "liora", "serin", "mariel", "seryk", "nimeria", "thalor"]>>
<<for _i = 0; _i < _allMembers.length; _i++>>
<<set _member = _allMembers[_i]>>
<<set _randomStat = either(["physicalPower", "agility", "willpower", "technique", "perception", "focus", "vitality"])>>
<<trackCombatStat _member _randomStat 2>>
<</for>>
<<elseif _trainingRoll >= 40>>
<<narrative "✅ Good Progress! ✅">>
<<narrative "The training session yields solid results for everyone involved.">>
<<narrative "All party members gain +1 to a random combat stat">>
<<set _allMembers = ["rylan", "liora", "serin", "mariel", "seryk", "nimeria", "thalor"]>>
<<for _i = 0; _i < _allMembers.length; _i++>>
<<set _member = _allMembers[_i]>>
<<set _randomStat = either(["physicalPower", "agility", "willpower", "technique", "perception", "focus", "vitality"])>>
<<trackCombatStat _member _randomStat 1>>
<</for>>
<<else>>
<<narrative "⚠️ Slow Learning ⚠️">>
<<narrative "The corrupted atmosphere makes concentration difficult, but some learning still occurs.">>
<<narrative "All party members gain small stat improvements">>
<<set _allMembers = ["rylan", "liora", "serin", "mariel", "seryk", "nimeria", "thalor"]>>
<<for _i = 0; _i < _allMembers.length; _i++>>
<<set _member = _allMembers[_i]>>
<<set _randomStat = either(["physicalPower", "agility", "willpower", "technique", "perception", "focus", "vitality"])>>
<<trackCombatStat _member _randomStat 0.5>>
<</for>>
<</if>>
</div>
<<continueBox "LustDungeonContinue" "Continue Exploring" "">>
</div>
<</nobr>>
<<timed 1s>><<run $("#trainingResults").show()>><</timed>>
<<pov "rylan" "lustdungeon.mp3">><<script>>window.AudioSystem.playBGM('lustdungeon.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentRylanFace>>
<<if not $dungeonProgress>>
<<set $dungeonEffect = "trapDamage">>
<<set $gold = $gold || 0>>
<<set $crystals = $crystals || 0>>
<<narrative "As you enter the Lust Dungeon, the air itself seems to pulse with a strange, intoxicating energy that slowly begins to affect everyone's senses.">>
<<changeLust "Rylan" 3>>
<<changeLust "Liora" 3>>
<<changeLust "Serin" 3>>
<<changeLust "Mariel" 3>>
<<changeLust "Seryk" 3>>
<<changeLust "Nimeria" 3>>
<<changeLust "Thalor" 3>>
<div class="dungeon-setup-container" style="background: linear-gradient(to bottom, rgba(75, 0, 130, 0.85), rgba(25, 25, 112, 0.9)); min-height: 500px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3);">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">🏰 Entering the Lust Dungeon 🏰</p>
<p style="color: white; font-size: 1.1em;">Choose Your Path</p>
</div>
<center><img src="images/landscapes/lustdungeonleftright.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<div class="path-selection" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin: 25px 0;">
<p style="color: white; line-height: 1.6; margin-bottom: 20px; text-align: center; font-style: italic;">*As we approach the entrance of the Lust Dungeon, the dangerous atmosphere becomes immediately apparent. The air shimmers with a mysterious energy, and the walls look ancient and foreboding.*</p>
<p style="color: white; line-height: 1.6; margin-bottom: 20px; text-align: center;">Choose your exploration route:</p>
<div style="display: flex; gap: 20px; margin: 30px 0; justify-content: center; flex-wrap: wrap;">
<div class="path-option" style="background: rgba(255,255,255,0.1); border: 2px solid rgba(100,200,100,0.5); border-radius: 12px; padding: 20px; text-align: center; flex: 1; min-width: 200px; max-width: 250px;">
<h3 style="color: #90EE90; margin-bottom: 15px;">🚶 Safe Path</h3>
<p style="color: white; font-size: 0.9em; margin: 0; line-height: 1.4;">Take the shortest, safest route through the dungeon. Fewer encounters but less risk.</p>
<p style="color: #90EE90; font-size: 0.8em; margin: 10px 0; font-style: italic;">8 Areas - Lower Rewards</p>
<<link "Choose Safe Path">>
<<set $dungeonDifficulty = "easy">>
<<set $dungeonMaxAreas = 8>>
<<goto "LustDungeonExploration">>
<</link>>
</div>
<div class="path-option" style="background: rgba(255,255,255,0.1); border: 2px solid rgba(255,215,0,0.5); border-radius: 12px; padding: 20px; text-align: center; flex: 1; min-width: 200px; max-width: 250px;">
<h3 style="color: #FFD700; margin-bottom: 15px;">⚖️ Balanced Path</h3>
<p style="color: white; font-size: 0.9em; margin: 0; line-height: 1.4;">Take the standard exploration route. Moderate risk and moderate rewards.</p>
<p style="color: #FFD700; font-size: 0.8em; margin: 10px 0; font-style: italic;">12 Areas - Standard Rewards</p>
<<link "Choose Balanced Path">>
<<set $dungeonDifficulty = "normal">>
<<set $dungeonMaxAreas = 12>>
<<goto "LustDungeonExploration">>
<</link>>
</div>
<div class="path-option" style="background: rgba(255,255,255,0.1); border: 2px solid rgba(255,69,0,0.5); border-radius: 12px; padding: 20px; text-align: center; flex: 1; min-width: 200px; max-width: 250px;">
<h3 style="color: #FF4500; margin-bottom: 15px;">⚔️ Thorough Path</h3>
<p style="color: white; font-size: 0.9em; margin: 0; line-height: 1.4;">Explore deeper into the dungeon. High risk but maximum rewards and exploration.</p>
<p style="color: #FF4500; font-size: 0.8em; margin: 10px 0; font-style: italic;">16 Areas - Maximum Rewards</p>
<<link "Choose Thorough Path">>
<<set $dungeonDifficulty = "hard">>
<<set $dungeonMaxAreas = 16>>
<<goto "LustDungeonExploration">>
<</link>>
</div>
</div>
</div>
</div>
<<else>>
<<goto "LustDungeonExploration">>
<</if>>
<</nobr>><<script>>window.AudioSystem.playBGM('lustdungeon.mp3');<</script>>
<<set $currentFace = $currentRylanFace>>
<<nobr>>
<div class="mystery-encounter-container" style="background: url('images/landscapes/lustdungeonleftright.webp'); background-size: cover; background-position: center; min-height: 600px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3); position: relative;">
<div class="mystery-overlay" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(218, 112, 214, 0.85); border-radius: 10px;"></div>
<div style="position: relative; z-index: 2;">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">🔮 Mana Resonance 🔮</p>
</div>
<img src="images/landscapes/mysticalcircle.webp" style="max-width: 300px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);">
<div class="mystery-description" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin: 25px 0;">
<p style="color: white; line-height: 1.6; margin-bottom: 20px; text-align: center; font-style: italic;">*You sense powerful mana resonating from an ancient source within the corrupted forest. Understanding and channeling this magical energy requires focus and careful attunement.*</p>
</div>
<<set _mysteryRoll = random(1, 100)>>
<<set _partyWisdom = (($rylan_combatStats.willpower || 9) + ($serin_combatStats.perception || 8) + ($liora_combatStats.willpower || 12) + ($mariel_combatStats.willpower || 13) + ($seryk_combatStats.willpower || 14) + ($nimeria_combatStats.perception || 14) + ($thalor_combatStats.willpower || 12)) / 7>>
<<mysteryRollDisplay _mysteryRoll 50 _partyWisdom>>
<div id="mysteryResults" style="display: none;">
<<if _mysteryRoll >= 80>>
<<set _goldGained = random(15, 25)>>
<<set _crystalsGained = random(2, 4)>>
<<set $gold += _goldGained>>
<<set $crystals += _crystalsGained>>
<div class="mystery-result perfect" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(218,112,214,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;">
<p style="color: #DA70D6; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">🎯 Enlightening Discovery! 🎯</p>
<p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*Your deep understanding unlocks the mystery's full potential, revealing hidden treasures and magical secrets!*</p>
<p style="color: #FFD700; text-align: center; font-size: 1.1em; margin: 5px 0;">Gained: _goldGained Gold & _crystalsGained Crystals</p>
</div>
<<elseif _mysteryRoll >= 40>>
<<set _reward = either("gold", "crystals", "experience")>>
<<if _reward === "gold">>
<<set _goldGained = random(10, 20)>>
<<set $gold += _goldGained>>
<div class="mystery-result standard" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(218,112,214,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;">
<p style="color: #DA70D6; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">✅ Interesting Find! ✅</p>
<p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*Your investigation reveals hidden knowledge that leads you to a cache of valuable resources.*</p>
<p style="color: #FFD700; text-align: center; font-size: 1.1em; margin: 5px 0;">Gained: _goldGained Gold</p>
</div>
<<elseif _reward === "crystals">>
<<set _crystalsGained = random(2, 4)>>
<<set $crystals += _crystalsGained>>
<div class="mystery-result standard" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(218,112,214,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;">
<p style="color: #DA70D6; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">✅ Magical Discovery! ✅</p>
<p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*Your understanding of the phenomenon allows you to harvest its magical essence.*</p>
<p style="color: #87CEEB; text-align: center; font-size: 1.1em; margin: 5px 0;">Gained: _crystalsGained Magic Crystals</p>
</div>
<<else>>
<div class="mystery-result standard" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(218,112,214,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;">
<p style="color: #DA70D6; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">✅ Mystical Enhancement! ✅</p>
<p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*The mystical energy enhances Liora's magical capacity, expanding her healing potential.*</p>
<p style="color: #87CEEB; text-align: center; font-size: 1.1em; margin: 5px 0;">Liora gains +10 Max SP</p>
</div>
<<set $liora_combatStats.maxStamina += 10>>
<<set $liora_combatStats.currentStamina += 10>>
<</if>>
<<else>>
<div class="mystery-result difficult" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(255,165,0,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;">
<p style="color: #FFA500; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">⚠️ Weak Resonance ⚠️</p>
<p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*The mana resonance is difficult to attune to, but Liora manages to absorb a small amount of magical energy.*</p>
<p style="color: #87CEEB; text-align: center; font-size: 1.1em; margin: 5px 0;">Liora gains +2 Max SP</p>
</div>
<<set $liora_combatStats.maxStamina += 2>>
<<set $liora_combatStats.currentStamina += 2>>
<</if>>
</div>
<div style="text-align: center; margin: 30px 0;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.95), rgba(35, 35, 40, 0.98)); border: 3px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 25px; min-width: 280px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); position: relative; overflow: hidden; display: inline-block;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #32CD32, #228B22, #006400, #228B22);"></div>
<h4 style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Continue Exploring</h4>
<div style="display: flex; gap: 15px; justify-content: center; flex-wrap: wrap;">
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 8px; padding: 12px; display: inline-block; min-width: 150px;">[[Continue|LustDungeonContinue]]</div>
</div>
</div>
</div>
</div>
</div>
<<timed 1s>><<run $("#mysteryResults").show()>><</timed>>
<<changeFace $currentRylanFace>>
<<statSummary>>
<</nobr>><<script>>window.AudioSystem.playBGM('lustdungeon.mp3');<</script>>
<<set $currentFace = $currentRylanFace>>
<<nobr>>
<div class="random-encounter-container" style="background: url('images/landscapes/lustdungeonleftright.webp'); background-size: cover; background-position: center; min-height: 600px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3); position: relative;">
<div class="random-overlay" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(255, 20, 147, 0.85); border-radius: 10px;"></div>
<div style="position: relative; z-index: 2;">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">🎲 Fate's Choice 🎲</p>
<p style="color: white; font-size: 1.1em;">The Unknown Path</p>
</div>
<div class="random-description" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin: 25px 0;">
<p style="color: white; line-height: 1.6; margin: 20px 0; text-align: center; font-style: italic;">*You step into a swirling mist that obscures the path ahead. Strange energies twist around you as fate itself seems to guide your steps. What lies beyond remains completely unknown...*</p>
<div class="fate-spinner" style="text-align: center; margin: 30px 0;">
<div style="font-size: 4em; animation: spin 2s linear infinite; display: inline-block;">🎲</div>
<p style="color: #FF1493; font-size: 1.2em; margin: 15px 0; font-weight: bold;">Fate is deciding your encounter...</p>
</div>
</div>
<<set _randomOutcome = either(["event", "battle", "item", "gold", "crystal", "mystery"])>>
<div id="randomResults" style="display: none;">
<<if _randomOutcome === "event">>
<div class="random-result" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(255,215,0,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;">
<p style="color: #FFD700; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">🎭 Fate Brings an Event! 🎭</p>
<p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*The mists clear to reveal an unexpected encounter awaiting you!*</p>
[[Continue|LustDungeonEventCard]]
</div>
<<elseif _randomOutcome === "battle">>
<div class="random-result" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(255,69,0,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;">
<p style="color: #FF6347; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">⚔️ Fate Brings Battle! ⚔️</p>
<p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*The mists part to reveal enemies ready for combat!*</p>
[[Continue|LustDungeonBattleCard]]
</div>
<<elseif _randomOutcome === "item">>
<div class="random-result" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(147,112,219,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;">
<p style="color: #9370DB; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">✨ Fate Brings Training! ✨</p>
<p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*The mists reveal ancient knowledge waiting to be learned!*</p>
[[Continue|LustDungeonItemCard]]
</div>
<<elseif _randomOutcome === "gold">>
<div class="random-result" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(255,215,0,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;">
<p style="color: #FFD700; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">💰 Fate Brings Treasure! 💰</p>
<p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*The mists clear to show gleaming treasures hidden nearby!*</p>
[[Continue|LustDungeonGoldCard]]
</div>
<<elseif _randomOutcome === "crystal">>
<div class="random-result" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(135,206,235,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;">
<p style="color: #87CEEB; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">💎 Fate Brings Crystals! 💎</p>
<p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*The mists reveal magical crystals pulsing with energy!*</p>
[[Continue|LustDungeonCrystalCard]]
</div>
<<elseif _randomOutcome === "mystery">>
<div class="random-result" style="background: rgba(0,0,0,0.8); border: 2px solid rgba(218,112,214,0.8); border-radius: 8px; padding: 20px; margin: 20px 0; text-align: center;">
<p style="color: #DA70D6; text-align: center; font-size: 1.2em; margin: 15px 0; font-weight: bold;">❓ Fate Brings Mystery! ❓</p>
<p style="color: white; line-height: 1.6; margin-bottom: 15px; text-align: center;">*The mists swirl thicker, revealing an even deeper mystery!*</p>
[[Continue|LustDungeonMysteryCard]]
</div>
<</if>>
</div>
</div>
</div>
<<timed 1.5s>><<run $("#randomResults").show()>><</timed>>
<<changeFace $currentRylanFace>>
<</nobr>><<script>>window.AudioSystem.playBGM('sensualmassage.mp3');<</script>>
<<nobr>>
<<set $currentFace = $currentRylanFace>>
<div class="rest-area-container" style="background: linear-gradient(to bottom, rgba(25, 25, 112, 0.85), rgba(72, 61, 139, 0.9)); min-height: 500px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3);">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">🏕️ Rest Area 🏕️</p>
<p style="color: white; font-size: 1.1em;">A Safe Haven in the Dungeon</p>
</div>
<div class="rest-description" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin-bottom: 25px;">
<center><img src="images/landscapes/lustdungeonbedroom.webp" style="max-width: 400px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<p style="color: white; line-height: 1.6; margin: 20px 0; text-align: center; font-style: italic;">*You find a small clearing where the traps seem less intense. Ancient stones form a protective circle, creating a safe space to rest and recover.*</p>
<<lustDungeonRestAreaEvents>>
<<if not _eventTriggered>>
<<set $partyCurrentHP = Math.min($partyCurrentHP + Math.round($partyMaxHP * 0.2), $partyMaxHP)>>
<<if not $serykxliorantr>>
<<set $liora_combatStats.currentStamina = Math.min($liora_combatStats.currentStamina + 20, $liora_combatStats.maxStamina || 100)>>
<p style="color: #98FB98; text-align: center; font-size: 1.0em; margin: 15px 0;">Everyone feels refreshed. Liora recovers 20 SP.</p>
<<else>>
<p style="color: #FFB6C1; text-align: center; font-size: 1.0em; margin: 15px 0;">Everyone feels refreshed. Liora seems distracted.</p>
<</if>>
<p style="color: #32CD32; text-align: center; font-size: 1.0em; margin: 15px 0;">🌿 The protective energy heals the party for 20% HP 🌿</p>
<p style="color: white; line-height: 1.6; margin: 20px 0; text-align: center; font-style: italic;">*Everyone takes a moment to rest and recover their strength. The protective stones seem to cleanse the worst effects of the traps.*</p>
<</if>>
</div>
</div>
<<if not _eventTriggered>>
<div style="text-align: center; margin: 30px 0;">
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.95), rgba(35, 35, 40, 0.98)); border: 3px solid rgba(100, 100, 100, 0.8); border-radius: 15px; padding: 25px; min-width: 280px; box-shadow: 0 8px 25px rgba(0,0,0,0.4); position: relative; overflow: hidden; display: inline-block;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #32CD32, #228B22, #006400, #228B22);"></div>
<h4 style="color: #E6E6FA; margin: 0 0 20px 0; font-size: 1.4em; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">Continue Exploring</h4>
<div style="display: flex; gap: 15px; justify-content: center; flex-wrap: wrap;">
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 8px; padding: 12px; display: inline-block; min-width: 150px;">[[Continue|LustDungeonContinue]]</div>
</div>
</div>
</div>
<</if>>
<</nobr>><<nobr>>
<div class="passage-container rylan">
<<narrative "After resting and recovering your strength, the party is ready to continue the exploration.">>
<<if not $serykxliorantr && $liora_combatStats.currentStamina>>
<<set $liora_combatStats.currentStamina = Math.min($liora_combatStats.currentStamina + 5, $liora_combatStats.maxStamina || 100)>>
<</if>>
<<set $partyCurrentHP = Math.min($partyCurrentHP + Math.round($partyMaxHP * 0.2), $partyMaxHP)>>
<<narrative "Party recovers 20% HP">>
<<if not $serykxliorantr>>
<<narrative "Liora recovers 5 MP">>
<<else>>
<<narrative "Liora seems distracted and doesn't recover MP">>
<</if>>
<<continueBox "LustDungeonContinue" "Continue Exploring" "">>
</div>
<</nobr>>
<<pov "rylan" "lustdungeon.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "You sense something is about to happen. Your instincts are telling you to act quickly!">>
<!-- Mini-Game Container -->
<div id="ntrMiniGame" style="text-align: center; margin: 40px 0; padding: 30px; background: linear-gradient(135deg, rgba(139, 0, 139, 0.95), rgba(75, 0, 130, 0.98)); border: 3px solid rgba(255, 0, 255, 0.6); border-radius: 25px; box-shadow: 0 10px 30px rgba(0,0,0,0.5);">
<h2 style="color: #FFD700; margin: 0 0 20px 0; font-size: 2.2em; text-shadow: 3px 3px 10px rgba(0,0,0,0.8);">⚡ Quick Reaction Challenge ⚡</h2>
<p style="color: #E6E6FA; font-size: 1.3em; margin: 0 0 30px 0; text-shadow: 2px 2px 6px rgba(0,0,0,0.6);">Click as fast as you can when the button appears!</p>
<!-- Difficulty Indicator -->
<div id="difficultyIndicator" style="margin: 20px 0; padding: 15px; background: rgba(0,0,0,0.3); border-radius: 10px; border: 2px solid rgba(255,255,255,0.2);">
<div id="difficultyText" style="color: #FFE4B5; font-size: 1.1em; margin-bottom: 10px; text-shadow: 2px 2px 6px rgba(0,0,0,0.6);"></div>
<div id="attractionInfo" style="color: #DDA0DD; font-size: 0.9em; text-shadow: 2px 2px 6px rgba(0,0,0,0.6);"></div>
<div id="corruptionInfo" style="color: #FFB6C1; font-size: 0.9em; text-shadow: 2px 2px 6px rgba(0,0,0,0.6);"></div>
</div>
<div id="gameArea" style="position: relative; height: 150px; margin: 30px 0;">
<button id="reactionButton" style="display: none; position: absolute; width: 100px; height: 100px; border-radius: 50%; background: linear-gradient(145deg, #FF6B6B, #FF8E8E); border: 3px solid #FFD700; color: white; font-size: 1.1em; font-weight: bold; cursor: pointer; box-shadow: 0 8px 16px rgba(0,0,0,0.3); transition: all 0.1s ease;" onclick="window.NTRMiniGame.clickButton()">CLICK!</button>
</div>
<div id="gameStatus" style="color: #FFE4B5; font-size: 1.1em; margin: 20px 0; text-shadow: 2px 2px 6px rgba(0,0,0,0.6);">Get ready...</div>
<div id="gameResults" style="display: none; margin-top: 20px;">
<div id="successMessage" style="display: none; color: #90EE90; font-size: 1.4em; font-weight: bold; text-shadow: 2px 2px 6px rgba(0,0,0,0.6);">✅ Success! You prevented the situation!</div>
<div id="failureMessage" style="display: none; color: #FFB6C1; font-size: 1.4em; font-weight: bold; text-shadow: 2px 2px 6px rgba(0,0,0,0.6);">❌ Too late! The situation unfolds...</div>
</div>
</div>
<</nobr>>
<script>
window.NTRMiniGame = {
startTime: 0,
buttonAppearTime: 0,
reactionTime: 0,
gameStarted: false,
clickCount: 0,
maxClicks: 0,
timeLimit: 0,
buttonSize: 100,
difficulty: 1,
startGame: function() {
this.gameStarted = true;
this.startTime = Date.now();
this.clickCount = 0;
// Calculate difficulty based on attraction and corruption
this.calculateDifficulty();
// Show difficulty information
this.showDifficultyInfo();
// Random delay between 0.5-1.5 seconds
const delay = Math.random() * 1000 + 500;
setTimeout(() => {
if (this.gameStarted) {
this.showButton();
}
}, delay);
document.getElementById('gameStatus').textContent = `Click ${this.maxClicks} times when the button appears!`;
},
calculateDifficulty: function() {
// Get attraction values from the NTR event data
console.log('Mini-game currentNTREvent:', window.currentNTREvent);
const ntrEvent = window.currentNTREvent || {};
const target = ntrEvent.target || 'liora';
const bull = ntrEvent.bull || 'seryk';
console.log('Mini-game using target:', target, 'bull:', bull);
// Get attraction values using SugarCube's State object
const state = window.State || window.SugarCube.State;
console.log('Mini-game State object:', state);
// Debug: Check what variables exist
// Ensure proper capitalization: target lowercase, bull uppercase
const lowercaseTarget = target.toLowerCase();
const uppercaseBull = bull.charAt(0).toUpperCase() + bull.slice(1).toLowerCase();
const targetBullVar = `${lowercaseTarget}_${uppercaseBull}Attraction`;
const targetRylanVar = `${lowercaseTarget}_RylanAttraction`;
const targetCorruptionVar = `${lowercaseTarget}_corruption`;
const bullCorruptionVar = `${uppercaseBull}_corruption`;
console.log('Mini-game variable names:', {
targetBullVar, targetRylanVar, targetCorruptionVar, bullCorruptionVar
});
const targetAttraction = (state && state.variables) ? state.variables[targetBullVar] || 0 : 0;
const rylanAttraction = (state && state.variables) ? state.variables[targetRylanVar] || 0 : 0;
// Get corruption values using existing variables
const targetCorruption = (state && state.variables) ? state.variables[targetCorruptionVar] || 0 : 0;
const bullCorruption = (state && state.variables) ? state.variables[bullCorruptionVar] || 0 : 0;
console.log('Mini-game variable values:', {
[targetBullVar]: targetAttraction,
[targetRylanVar]: rylanAttraction,
[targetCorruptionVar]: targetCorruption,
[bullCorruptionVar]: bullCorruption
});
// Debug: List all variables that contain "Attraction" or "corruption"
if (state && state.variables) {
const allVars = Object.keys(state.variables);
const attractionVars = allVars.filter(v => v.toLowerCase().includes('attraction'));
const corruptionVars = allVars.filter(v => v.toLowerCase().includes('corruption'));
console.log('All attraction variables:', attractionVars);
console.log('All corruption variables:', corruptionVars);
}
console.log('Mini-game values:', {
target, bull, targetAttraction, rylanAttraction, targetCorruption, bullCorruption
});
// Calculate attraction difference
const attractionDifference = Math.max(0, targetAttraction - rylanAttraction);
// Store values for display (rounded to 1 decimal)
this.target = target;
this.bull = bull;
this.targetAttraction = Math.round(targetAttraction * 10) / 10;
this.rylanAttraction = Math.round(rylanAttraction * 10) / 10;
this.attractionDifference = Math.round(attractionDifference * 10) / 10;
this.targetCorruption = Math.round(targetCorruption * 10) / 10;
this.bullCorruption = Math.round(bullCorruption * 10) / 10;
// Base difficulty settings
const baseClicks = 3;
const baseTimeLimit = 2500;
const baseButtonSize = 100;
// Difficulty scaling based on attraction difference
if (attractionDifference <= 10) {
this.difficulty = 1;
this.maxClicks = baseClicks;
this.timeLimit = baseTimeLimit;
this.buttonSize = baseButtonSize;
} else if (attractionDifference <= 25) {
this.difficulty = 2;
this.maxClicks = baseClicks + 1;
this.timeLimit = baseTimeLimit - 200;
this.buttonSize = baseButtonSize - 10;
} else if (attractionDifference <= 40) {
this.difficulty = 3;
this.maxClicks = baseClicks + 2;
this.timeLimit = baseTimeLimit - 400;
this.buttonSize = baseButtonSize - 20;
} else {
this.difficulty = 4;
this.maxClicks = baseClicks + 3;
this.timeLimit = baseTimeLimit - 600;
this.buttonSize = baseButtonSize - 30;
}
// Apply corruption bonuses using existing variables
const corruptionBonus = (targetCorruption + bullCorruption) / 20;
if (corruptionBonus > 0) {
this.maxClicks += Math.floor(corruptionBonus);
this.timeLimit -= Math.floor(corruptionBonus * 100);
this.buttonSize -= Math.floor(corruptionBonus * 5);
}
// Ensure minimum values
this.maxClicks = Math.max(3, this.maxClicks);
this.timeLimit = Math.max(800, this.timeLimit);
this.buttonSize = Math.max(60, this.buttonSize);
},
showDifficultyInfo: function() {
const difficultyText = document.getElementById('difficultyText');
const attractionInfo = document.getElementById('attractionInfo');
const corruptionInfo = document.getElementById('corruptionInfo');
const difficultyNames = ['Easy', 'Normal', 'Hard', 'Expert'];
const difficultyColors = ['#90EE90', '#FFD700', '#FF8C00', '#FF4500'];
difficultyText.innerHTML = `Difficulty: <span style="color: ${difficultyColors[this.difficulty - 1]};">${difficultyNames[this.difficulty - 1]}</span> (${this.maxClicks} clicks, ${this.timeLimit}ms)`;
const humanName = (SugarCube.State && SugarCube.State.variables) ? (SugarCube.State.variables.humanName || 'Rylan') : 'Rylan';
attractionInfo.innerHTML = `Attraction to ${this.bull}: ${this.targetAttraction} | Attraction to ${humanName}: ${this.rylanAttraction} | Difference: ${this.attractionDifference}`;
corruptionInfo.innerHTML = `Corruption: ${this.target} (${this.targetCorruption}) + ${this.bull} (${this.bullCorruption}) = ${this.targetCorruption + this.bullCorruption}`;
},
showButton: function() {
this.buttonAppearTime = Date.now();
const button = document.getElementById('reactionButton');
const gameArea = document.getElementById('gameArea');
// Update button size based on difficulty
button.style.width = this.buttonSize + 'px';
button.style.height = this.buttonSize + 'px';
// Random position within game area
const maxX = gameArea.offsetWidth - this.buttonSize;
const maxY = gameArea.offsetHeight - this.buttonSize;
const x = Math.random() * maxX;
const y = Math.random() * maxY;
button.style.left = x + 'px';
button.style.top = y + 'px';
button.style.display = 'block';
document.getElementById('gameStatus').textContent = `Click ${this.maxClicks - this.clickCount} more times!`;
// Auto-fail after time limit
setTimeout(() => {
if (this.gameStarted) {
this.endGame(false);
}
}, this.timeLimit);
},
clickButton: function() {
if (!this.gameStarted) return;
this.clickCount++;
if (this.clickCount >= this.maxClicks) {
this.reactionTime = Date.now();
this.endGame(true);
} else {
// Move button to new random position
const button = document.getElementById('reactionButton');
const gameArea = document.getElementById('gameArea');
const maxX = gameArea.offsetWidth - this.buttonSize;
const maxY = gameArea.offsetHeight - this.buttonSize;
const x = Math.random() * maxX;
const y = Math.random() * maxY;
button.style.left = x + 'px';
button.style.top = y + 'px';
document.getElementById('gameStatus').textContent = `Click ${this.maxClicks - this.clickCount} more times!`;
}
},
endGame: function(success) {
this.gameStarted = false;
document.getElementById('reactionButton').style.display = 'none';
const resultsDiv = document.getElementById('gameResults');
const successDiv = document.getElementById('successMessage');
const failureDiv = document.getElementById('failureMessage');
resultsDiv.style.display = 'block';
if (success) {
successDiv.style.display = 'block';
failureDiv.style.display = 'none';
const reactionTime = this.reactionTime - this.buttonAppearTime;
document.getElementById('gameStatus').textContent = `Reaction time: ${reactionTime}ms (Difficulty: ${this.difficulty})`;
setTimeout(() => {
SugarCube.Engine.play('NTRAvoidanceSuccess');
}, 1500);
} else {
successDiv.style.display = 'none';
failureDiv.style.display = 'block';
document.getElementById('gameStatus').textContent = `Too slow! (Difficulty: ${this.difficulty})`;
setTimeout(() => {
// Check which NTR scene was seen before to determine next progression
// Use the EventScheduler counter variable, not the individual scene counter
// The EventScheduler increments the counter before routing to mini-game, so we need to check the current value
const ntrCount = (SugarCube.State && SugarCube.State.variables) ? (SugarCube.State.variables.serykLioraManaReplenishmentCount || 0) : 0;
console.log('NTRMiniGame Debug - Counter value:', ntrCount);
console.log('NTRMiniGame Debug - All counter variables:', SugarCube.State && SugarCube.State.variables ? Object.keys(SugarCube.State.variables).filter(k => k.includes('serykLioraManaReplenishment')) : 'No State');
console.log('NTRMiniGame Debug - State object exists:', !!SugarCube.State);
console.log('NTRMiniGame Debug - State.variables exists:', !!(SugarCube.State && SugarCube.State.variables));
// Use the same logic as EventScheduler: check the OLD count value (before increment)
// EventScheduler increments counter but checks the old value for routing
if (ntrCount === 1) {
// Count was 0, now 1, so this is the first time
SugarCube.Engine.play('SerykLioraManaReplenishmentLicking');
} else if (ntrCount === 2) {
// Count was 1, now 2, so this is the second time
SugarCube.Engine.play('SerykLioraManaReplenishmentNTRRoutine2');
} else if (ntrCount >= 3) {
// Count was 2+, now 3+, so this is the third+ time
SugarCube.Engine.play('SerykLioraManaReplenishmentNTRRoutine3');
} else {
// Fallback for count = 0 (shouldn't happen but just in case)
SugarCube.Engine.play('SerykLioraManaReplenishmentLicking');
}
}, 1500);
}
}
};
// Start the game after a short delay
setTimeout(() => {
window.NTRMiniGame.startGame();
}, 800);
</script>
<<pov "rylan" "defaultch7.mp3">><<nobr>>
<div class="passage-container liora">
<<narrative "You hesitate for a moment, and by the time you reach the training grounds, you find Seryk and Liora in an intimate position.">>
<<dialog "Liora" "facewet" "Seryk... your mana," "she says breathlessly" "I can feel it flowing through your sweat. It's so... intoxicating.">>
<<dialog "Seryk" "faceconfident" "Little Bird," "he says gently" "You're doing so well. Just a little more, and my mana will be fully restored.">>
<<dialog "Liora" "facewet" "I... I never knew it could feel like this," "she moans softly" "The mana energy is so pure, so powerful.">>
<<dialog "Seryk" "faceconfident" "You're a natural at this," "he says with approval" "Your technique is perfect.">>
<<narrative "You watch as Liora continues to lick the sweat from Seryk's chest, her eyes closed in ecstasy. The intimate mana replenishment session has clearly become something more than just healing.">>
<<run State.variables.serykLioraManaReplenishmentNTRTriggered = true>>
<<run State.variables.serykLioraManaReplenishmentCount = (State.variables.serykLioraManaReplenishmentCount || 0) + 1>>
<<run State.variables.serykLioraManaReplenishmentLastTriggered = State.variables.gameDay>>
<<continueBox "SerykLioraManaReplenishmentLicking" "Continue" "The intimate session continues...">>
</div>
<</nobr>>
<<pov "rylan" "defaultch7.mp3">><<nobr>>
<div class="passage-container rylan">
<<narrative "You quickly step forward and call out to Liora as she walks down the hallway.">>
<<dialog "Rylan" "face" "Liora!" "you call out as you approach" "Wait up!">>
<<dialog "Liora" "faceembarrassedshortpink" "Oh! $humanName," "she says, startled" "I was just... I was just going to...">>
<<dialog "Rylan" "face" "I was hoping we could spend some time together," "you say warmly" "Maybe go for a walk or do something fun? I've been wanting to talk with you.">>
<<dialog "Liora" "facehappyshortpink" "Oh! That sounds wonderful," "she says with a bright smile" "I'd love to spend time with you, $humanName.">>
<<narrative "You successfully caught Liora's attention and redirected her from whatever she was planning. She seems genuinely happy to spend time with you instead.">>
<<changeAffection "Liora" "Rylan" 2>>
<<changeAttraction "Liora" "Rylan" 1>>
<<changeAffection "Rylan" "Liora" 1.5>>
<<changeAttraction "Rylan" "Liora" 1>>
<<run State.variables.serykLioraManaReplenishmentAvoided = true>>
<<run State.variables.serykLioraManaReplenishmentAvoidCount = (State.variables.serykLioraManaReplenishmentAvoidCount || 0) + 1>>
<<if $timeOfDay === "morning" or $timeOfDay === "noon" or $timeOfDay === "afternoon">>
<<continueBox "MorningActivityChoices" "Continue" "The day continues normally...">>
<<else>>
<<continueBox "NightActivityChoices" "Continue" "The day continues normally...">>
<</if>>
</div>
<</nobr>>
<<pov "rylan" "defaultch7.mp3">><<stopLoopingAndPlay "sounds/hsounds/cum.mp3">>
<<nobr>>
<div class="passage-container liora">
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0;">The Climax</h2>
</div>
<<narrative "I can see it building in him, can feel the tension reaching its breaking point. His body tenses, his strokes become frantic, and then... I know what's coming, but it still takes my breath away every time.">>
<<dialog "Seryk" "facewet" "Liora... I'm... I'm..." "his voice is barely a whisper, his body trembling with the effort to hold back">>
<<narrative "And then it happens. With a deep, guttural moan, Seryk's body convulses. His hand stops moving, and I watch in fascination as cum erupts from his tip in a tremendous, forceful stream. Even though I've witnessed this before, the sheer intensity still shocks me.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/cum1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="The Climax"></center>
<<narrative "The amount is... incredible. It's not just a normal orgasm - it's like a fountain, shooting out with such force that it reaches nearly a meter wide. The cum splatters across the floor, the wooden boards, creating a massive mess. It's everywhere, coating the ground in thick, white streams.">>
<<narrative "I'm still amazed by the sheer volume, but I'm not as shocked as I was the first time. I've seen this incredible display before, but it never fails to leave me in awe. The way it covers the entire floor, the force of it, the sheer amount... I can't help but be fascinated by it.">>
<<quickRoll "Cum Fascination" "Liora" 70 2 "SmellFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SmellFetish" 0.5>>
<<changeAttraction "Liora" "Seryk" 0.3>>
<<narrative "I can't stop staring at the mess on the floor. Even though I've seen this before, the way it glistens, the way it's so thick and creamy, the way it covers everything - it's still mesmerizing.">>
<</if>>
<<narrative "Seryk's breathing is ragged, his body still trembling from the intensity of his climax. He looks down at the floor, at the mess covering the wooden boards, and I can see the realization dawning on his face.">>
<<dialog "Seryk" "faceembarrassed" "Oh... oh gods..." "his voice is barely a whisper, filled with shock and embarrassment">>
<<narrative "After a moment, Seryk slowly relaxes, his movements careful as he tries not to step in the mess. He looks around the room, his face a picture of embarrassment and concern.">>
<<dialog "Seryk" "faceembarrassed" "Liora, I... I'm so sorry. This is... this is completely inappropriate. I never should have..." "he trails off, shaking his head">>
<<dialog "Seryk" "faceembarrassed" "I'm so sorry for putting you in this position again.">>
<<dialog "Liora" "faceembarrassedshortpink" "It's... it's okay," "I whisper, my voice still trembling" "I was the one who asked for your help. Thank you, Seryk.">>
<<narrative "Seryk looks around at the mess on the training grounds floor, clearly embarrassed but not as panicked as before.">>
<<narrative "He sits down on one of the training benches, keeping a respectful distance from me, his face still flushed with embarrassment.">>
<<dialog "Seryk" "faceworried" "Liora... are you alright now? I mean, after... everything?">>
<<dialog "Liora" "faceembarrassedshortpink" "Yes, I am... I can feel my mana circuits are fully restored. Thank you for helping me again.">>
<<narrative "I can feel the energy coursing through my body, the way my mana circuits are tingling with renewed power. The sweat method worked even better than before, and I can feel myself getting stronger with each passing moment.">>
<<dialog "Liora" "faceembarrassedshortpink" "I should... I should go now. Thank you for everything, Seryk.">>
<<dialog "Seryk" "faceembarrassed" "Of course, Liora. I'm always here to help you.">>
<<narrative "As I prepare to leave, I can't help but think about what just happened. The way Seryk looked at me, the way his body responded to my touch, the way he climaxed with such intensity - it's all so overwhelming. I know this is wrong, that I should feel ashamed, but instead I feel... conflicted.">>
<<if $timeOfDay === "morning" or $timeOfDay === "noon" or $timeOfDay === "afternoon">>
<<continueBox "MorningActivityChoices" "Continue" "The session ends, but something has changed...">>
<<else>>
<<continueBox "NightActivityChoices" "Continue" "The session ends, but something has changed...">>
<</if>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<changeFetish "Liora" "SmellFetish" 0.4>>
<<changeFetish "Liora" "MuscleFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.4>>
<<changeAttraction "Seryk" "Liora" 0.3>>
<<changeAffection "Seryk" "Liora" 0.2>>
<<changeAffection "Liora" "Seryk" 0.3>>
<<quickSexTrack "orgasm" "Liora" "Seryk" 1>>
</div>
<</nobr>>
<<pov "liora" "intimatech5a.mp3">><<stopLoopingAndPlay "sounds/hsounds/cum.mp3">>
<<nobr>>
<div class="passage-container liora">
<<narrative "I can see it building in him, can feel the tension reaching its breaking point. His body tenses, his strokes become frantic, and then... I know what's coming, but it still takes my breath away every time.">>
<<dialog "Seryk" "facewet" "Liora... I'm... I'm..." "his voice is barely a whisper, his body trembling with the effort to hold back">>
<<narrative "And then it happens. With a deep, guttural moan, Seryk's body convulses. His hand stops moving, and I watch in fascination as cum erupts from his tip in a tremendous, forceful stream. Even though I've witnessed this before, the sheer intensity still shocks me.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/cum1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="The Climax"></center>
<<dialog "Seryk" "facewet" "LIORA! LIORA! LIORA!" "he roars, his voice echoing through the training grounds as his body spasms with each powerful jet">>
<<narrative "The amount is... incredible. It's not just a normal orgasm - it's like a fountain, shooting out with such force that it reaches nearly a meter wide. The cum splatters across the floor, the wooden boards, creating a massive mess. It's everywhere, coating the ground in thick, white streams.">>
<<narrative "I'm still amazed by the sheer volume, but I'm not as shocked as I was the first time. I've seen this incredible display before, but it never fails to leave me in awe. The way it covers the entire floor, the force of it, the sheer amount... I can't help but be fascinated by it.">>
<<quickRoll "Cum Fascination" "Liora" 65 1 "SmellFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SmellFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "I can't stop staring at the mess on the floor. Even though I've seen this before, the way it glistens, the way it's so thick and creamy, the way it covers everything - it's still mesmerizing.">>
<</if>>
<<narrative "As I watch the spectacle, I can feel something building inside me too. The sight of him climaxing so powerfully, the way he calls my name with such desperation, the musky scent filling the air... it's all too much. My body responds without my permission.">>
<<quickRoll "Unconscious Arousal" "Liora" 60 1 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.15>>
<<narrative "I can feel the warmth spreading through my body, a tingling sensation that starts in my core and radiates outward. My nipples harden against my clothes, and I can feel myself getting wetter with each passing moment. I shouldn't be enjoying this, shouldn't be getting aroused by his climax, but I am.">>
<<narrative "The sight of his massive orgasm, the way his cum splatters everywhere, the raw power of his release... it's overwhelming. I can feel my own body responding, building toward something. The musky scent of his arousal mixed with the sharp tang of his release fills my nostrils, and I can't help but breathe it in deeply.">>
<<quickRoll "Sight and Smell Trigger" "Liora" 55 2 "SmellFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SmellFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "I can feel it building inside me, a pressure that's been growing. The sight of his climax, the smell of his cum, the way he calls my name... it's all too much. My body tenses, my breathing becomes shallow, and then... I feel it. A wave of pleasure crashes through me, making me gasp and tremble.">>
<<dialog "Liora" "facewet" "Oh... oh no..." "I whisper, my voice barely audible as my body convulses with unexpected pleasure">>
<<narrative "I can't believe it. I'm... I'm climaxing too. Just from watching him, just from smelling him. The pleasure is intense, overwhelming, and I can't stop it. My body shakes with each wave, and I have to bite my lip to keep from moaning out loud.">>
<<narrative "The orgasm is different from anything I've ever felt before. It's not just physical pleasure - it's mixed with shame, with guilt, with something dark and forbidden that makes it even more intense.">>
<<narrative "As the waves of pleasure subside, I'm left trembling, my body still sensitive and tingling. I can't believe what just happened. I came from watching him masturbate, from smelling his cum. This is so wrong, so sinful, but...">>
<</if>>
<</if>>
<<narrative "Seryk's breathing is ragged, his body still trembling from the intensity of his climax. He looks down at the floor, at the mess covering the wooden boards, and I can see the realization dawning on his face.">>
<<dialog "Seryk" "faceembarrassed" "Oh... oh gods..." "his voice is barely a whisper, filled with shock and embarrassment">>
<<narrative "After a moment, Seryk slowly relaxes, his movements careful as he tries not to step in the mess. He looks around the room, his face a picture of embarrassment and concern.">>
<<dialog "Seryk" "faceembarrassed" "Liora, I... I'm so sorry. This is... this is completely inappropriate. I never should have..." "he trails off, shaking his head">>
<<dialog "Seryk" "faceembarrassed" "I'm so sorry for putting you in this position again.">>
<<dialog "Liora" "faceembarrassedshortpink" "It's... it's okay," "I whisper, my voice still trembling" "I was the one who asked for your help. Thank you, Seryk.">>
<<narrative "Seryk looks around at the mess on the training grounds floor, clearly embarrassed but not as panicked as before.">>
<<narrative "He sits down on one of the training benches, keeping a respectful distance from me, his face still flushed with embarrassment.">>
<<dialog "Seryk" "faceworried" "Liora... are you alright now? I mean, after... everything?">>
<<dialog "Liora" "faceembarrassedshortpink" "Yes, I am... I can feel my mana circuits are fully restored. Thank you for helping me again.">>
<<narrative "I can feel the energy coursing through my body, the way my mana circuits are tingling with renewed power. The sweat method worked even better than before, and I can feel myself getting stronger with each passing moment.">>
<<narrative "We sit in silence for a moment, both of us trying to process what just happened. The air is thick with tension, and I can feel my heart racing in my chest.">>
<<dialog "Liora" "faceworriedshortpink" "Seryk... this is getting... it's becoming too much. You're getting... scary.">>
<<dialog "Seryk" "faceworried" "I... I know. I'm sorry, Liora. I didn't mean to... I just..." "he trails off, looking down at his hands">>
<<dialog "Seryk" "faceembarrassed" "It's getting harder for me to... to finish, the more often we do this. I tried to be more... assertive, to make it work better for you.">>
<<dialog "Liora" "faceworriedshortpink" "I understand, but... it's just so intense. The way you... the way you call my name, the way you look at me..." "I whisper, my voice trembling">>
<<dialog "Seryk" "faceembarrassed" "I know, and I'm sorry. But... maybe there's a way we could make this easier?">>
<<dialog "Liora" "faceworriedshortpink" "What do you mean?">>
<<dialog "Seryk" "faceembarrassed" "Well... maybe you could help me out a bit next time? Not touching, of course. But maybe just... showing some skin? Something to help me get there faster, so it's not so intense?">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I can't touch you!">>
<<dialog "Seryk" "faceembarrassed" "No, no! No touching at all. I would never ask that. But maybe just... lifting your shirt a bit? Or letting me see your legs? Something small that might help me finish quicker, so it's not so overwhelming for you.">>
<<narrative "I can feel my cheeks burning with embarrassment. The thought of showing him more of myself is terrifying, but... maybe it would make these sessions less intense? Less scary?">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I don't know. That's... that's a lot to ask.">>
<<dialog "Seryk" "faceembarrassed" "I understand. I'm not asking you to decide now. Just... think about it? If it would make these sessions easier for you, less intense, then maybe it's worth considering.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I'll think about it.">>
<<dialog "Seryk" "faceembarrassed" "Thank you, Liora. I really do want to help you, and if there's a way to make this less... overwhelming for you, I want to find it.">>
<<narrative "As I prepare to leave, I can't help but think about what he suggested. The idea of showing him more of myself is terrifying, but maybe it would make these sessions less intense? Less scary? I don't know what to think anymore.">>
<<if $timeOfDay === "morning" or $timeOfDay === "noon" or $timeOfDay === "afternoon">>
<<continueBox "MorningActivityChoices" "Continue" "The session ends, but something has changed...">>
<<else>>
<<continueBox "NightActivityChoices" "Continue" "The session ends, but something has changed...">>
<</if>>
<<changeFetish "Liora" "SubmissionFetish" 0.2>>
<<changeFetish "Liora" "SmellFetish" 0.3>>
<<changeFetish "Liora" "MuscleFetish" 0.2>>
<<changeAttraction "Liora" "Seryk" 0.3>>
<<changeAttraction "Seryk" "Liora" 0.2>>
<<changeAffection "Seryk" "Liora" 0.1>>
<<changeAffection "Liora" "Seryk" 0.2>>
<<quickSexTrack "orgasm" "Liora" "Seryk" 1>>
<<quickSexTrack "orgasm" "Seryk" "Liora" 1>>
</div>
<</nobr>>
<<pov "liora" "intimatech5a.mp3">><<stopLoopingSounds>>
<<run window.AudioSystem.playSFX('hsounds/liora/orgasm.mp3')>>
<<run setTimeout(function() {
window.AudioSystem.playSFX('hsounds/cum.mp3');
}, 3000)>>
<<nobr>>
<div class="passage-container liora">
<<narrative "Seryk's strokes become frantic, desperate. His breathing grows heavy and ragged as he stares at my panties with wild eyes.">>
<<dialog "Seryk" "facewet" "I'm... I'm going to... I can't hold it anymore!">>
<<narrative "With a deep, guttural moan, Seryk's body tenses and he explodes with pleasure. Thick streams of cum shoot out, covering his chest and stomach. The sight is so intense, so raw, that I can't help but feel my own arousal building to a peak.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/cum1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk Climaxing"></center>
<<narrative "Watching him climax so intensely while staring at me sends waves of pleasure through my own body. I can feel my own orgasm building, the wetness between my legs becoming unbearable.">>
<<thought "Liora" "facewet" "Oh no... I'm... I'm going to... I can't stop it...">>
<<narrative "My body shudders as my own orgasm crashes over me. I bite my lip to suppress the moan that wants to escape, but I can't stop the trembling that wracks my body.">>
<center><img src="images/liora/chapter5/serykntr/panties/lioraclimax.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Climaxing"></center>
<<narrative "As the waves of pleasure subside, reality crashes back down on me.">>
<<thought "Liora" "faceembarrassedshortpink" "Oh no... what did I just do? I... I came while watching him... while showing him my body... and the way I talked... this isn't like me at all...">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I don't know what came over me... I'm so sorry...">>
<<narrative "Tears begin to well up in my eyes as the full weight of what just happened hits me. I feel so lost, so confused about my own actions.">>
<<dialog "Liora" "facesadshortpink" "I... I don't understand... I was so... so different... I don't know who that was...">>
<<dialog "Seryk" "face" "Little Bird... it's okay. Don't cry.">>
<<narrative "Seryk's voice is gentle, understanding. He reaches out to comfort me, but stops himself, respecting my space.">>
<<dialog "Seryk" "face" "What happened was just for this moment. It doesn't change who you are. You're still the same sweet Liora I know.">>
<<dialog "Liora" "facesadshortpink" "But... but I was so... so commanding... so... I don't even know the word...">>
<<dialog "Seryk" "face" "It's normal, Little Bird. Sometimes people discover new sides of themselves. It doesn't make you any less of who you are.">>
<<narrative "His words are soothing, but I still feel confused and ashamed. I pull my skirt down, putting my pantyhose back on, trying to hide what I've done.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I think I should go... I need to... I need to think about this...">>
<<dialog "Seryk" "face" "Of course, Little Bird. Take all the time you need. And remember - you helped me when I needed it most. Thank you.">>
<<narrative "I nod, still feeling overwhelmed by everything that happened. I gather myself and head toward the door, my mind racing with questions about who I really am.">>
<<if $timeOfDay === "morning" or $timeOfDay === "noon" or $timeOfDay === "afternoon">>
<<continueBox "MorningActivityChoices" "Continue" "The session ends, but something has changed...">>
<<else>>
<<continueBox "NightActivityChoices" "Continue" "The session ends, but something has changed...">>
<</if>>
<<changeFetish "Liora" "SubmissionFetish" 0.1>>
<<changeFetish "Liora" "SmellFetish" 0.2>>
<<changeFetish "Liora" "MuscleFetish" 0.1>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<changeAttraction "Seryk" "Liora" 0.1>>
<<changeAffection "Seryk" "Liora" 0.1>>
<<changeAffection "Liora" "Seryk" 0.1>>
<<quickSexTrack "orgasm" "Liora" "Seryk" 1>>
<<quickSexTrack "orgasm" "Seryk" "Liora" 1>>
</div>
<</nobr>>
<<pov "liora" "intimatech5a.mp3">><<nobr>>
<<playLoopingSounds "sounds/hsounds/blowjob.mp3" 1>>
<<run State.variables.serykLioraManaReplenishmentNTRTriggered = true>>
<<run State.variables.serykLioraManaReplenishmentCount = (State.variables.serykLioraManaReplenishmentCount || 0) + 1>>
<<run State.variables.serykLioraManaReplenishmentLastTriggered = State.variables.gameDay>>
<div class="passage-container liora">
<<narrative "I find myself standing outside the training grounds again, my heart pounding with anticipation and shame. The familiar ache in my mana circuits has returned, and I know exactly what I need. This isn't the first time I've come here seeking Seryk's help, and I can feel my body already responding to the memory of our previous encounters.">>
<<dialog "Liora" "faceembarrassedshortpink" "Seryk? Are you there?" "I call out softly, my voice barely above a whisper, but there's a hint of familiarity in my tone">>
<<narrative "The door opens almost immediately, as if he was waiting for me. Seryk's face lights up when he sees me, and I can see the knowing look in his eyes - he's been expecting this visit. There's something comfortable about this routine now, though it still makes my cheeks burn with embarrassment.">>
<<dialog "Seryk" "face" "Liora! Come in, please." "He steps aside, his muscular frame filling the doorway, a gentle smile on his face">>
<<narrative "I enter the training grounds, and the familiar scent of his masculine presence washes over me. It's overwhelming, but I'm not as shocked as I was the first time. My body already knows what to expect, and I can feel myself responding to his nearness with practiced anticipation.">>
<center><img src="images/liora/chapter5/serykntr/saliva1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Saliva"></center>
<<dialog "Seryk" "facewet" "Open your mouth, Little Bird," "he says softly, letting his saliva drip into my waiting mouth" "This will help restore your mana circuits.">>
<<dialog "Liora" "faceembarrassedshortpink" "Mmm..." "I moan softly, swallowing his saliva with practiced ease">>
<<narrative "I continue to drink from Seryk's mouth, my eyes closed in bliss. The mana restoration feels so good, so addictive. My body remembers this sensation, craves it even more than before. I know this is wrong, that I have $humanName, but I can't stop myself from returning here time and time again.">>
<<dialog "Seryk" "facewet" "Now taste my sweat," "he says, pulling me closer to his chest" "The mana concentration is higher here.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I shouldn't," "I whisper, but my tongue is already tracing along his sweaty skin" "This feels so wrong, but I need this mana...">>
<center><img src="images/liora/chapter5/serykntr/sweat1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Licking Seryk's Chest"></center>
<<narrative "My resistance is weaker than before, and I'm clearly more comfortable with this now. I'm still conflicted, torn between my loyalty to $humanName and my growing need for Seryk's mana, but my tongue moves across his chest with practiced ease. This routine has become familiar, almost natural, and I can feel myself getting more skilled with each visit.">>
<<quickRoll "Sweat Addiction" "Liora" 75 3 "SmellFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SmellFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "The moment my tongue touches his skin, I'm overwhelmed by the taste. It's so much stronger than before, so much more potent. The salty, musky flavor fills my mouth, and I can feel my mana circuits tingling with renewed energy. But it's not just the mana restoration - there's something deeply sexual about this act, something that makes my body crave more.">>
<</if>>
<<dialog "Seryk" "facewet" "Mmm..." "Seryk lets out a soft moan, his body tensing beneath my touch">>
<<narrative "I can see the way he's responding to my touch, the way his muscles tense and flex. His breathing becomes more rapid, and I can feel the heat radiating from his skin. The way he looks at me, the hunger in his eyes, makes me feel things I shouldn't be feeling.">>
<center><img src="images/liora/chapter5/serykntr/face/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Aroused Expression"></center>
<<quickRoll "Power and Control" "Liora" 75 3 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "I can feel the power I have over him, the way he responds to my every touch. It's exhilarating, the way I can make him moan, the way I can make his body tremble with pleasure. I know this is wrong, that I should stop, but I can't. I want more, need more.">>
<</if>>
<<narrative "I continue licking, working my way across his chest and upper abs. Each lick sends waves of pleasure through my body, and I can feel myself becoming more and more aroused. The way his muscles tense beneath my touch, the way his body responds to my ministrations - it's all so addictive.">>
<center><img src="images/liora/chapter5/serykntr/sweat2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Continuing to Lick"></center>
<<dialog "Seryk" "facewet" "Liora... this is... this is incredible," "he moans, his voice thick with desire" "Are you feeling better?">>
<<dialog "Liora" "faceembarrassedshortpink" "Yes," "I whisper, my voice breathless with arousal" "Much better. But I need more... please, let me continue.">>
<<narrative "I can see the way his boxers are straining against his growing arousal, and I can't help but wonder about what's hidden beneath. The thought makes me feel things I shouldn't be feeling, but I can't help myself. I want to see more, want to taste more.">>
<center><img src="images/liora/chapter5/serykntr/boxers/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Growing Arousal"></center>
<<quickRoll "Growing Desire" "Liora" 75 3 "MuscleFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "MuscleFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "I can see the way he's looking at me, the hunger in his eyes, the way his body is responding to my touch. There's something primal in his gaze, something that makes me feel both vulnerable and incredibly aroused. I know I shouldn't be enjoying this, but I am.">>
<</if>>
<<narrative "I continue my exploration, my tongue now tracing from his chest down to his abs. I can feel the heat radiating from his skin, and I can see the way his erection is straining against his boxers.">>
<center><img src="images/liora/chapter5/serykntr/boxers/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Growing Arousal"></center>
<<dialog "Seryk" "facewet" "Liora... I can't... I can't hold back anymore," "he moans, his voice barely controlled" "Please... let me masturbate in front of you again.">>
<<quickRoll "Shameless Acceptance" "Liora" 70 2 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.3>>
<<narrative "I can't believe I'm agreeing to this, but I can't help myself. The way he's looking at me, the way his body is responding to my touch, the way he's asking me so desperately - it's all so compelling. I know this is wrong, that I should say no, but I can't. I want to see him, want to watch him pleasure himself. I want to be a part of this moment, even if it's just as a spectator.">>
<</if>>
<<dialog "Liora" "faceembarrassedshortpink" "Yes," "I whisper, my voice trembling with arousal and shame" "Please, Seryk.">>
<<narrative "I can see the relief in his eyes, the way his body relaxes slightly. He knows I'm giving in, and I can see the hunger building in his expression. I know I shouldn't be here, shouldn't be doing this, but I can't resist the pull of my addiction.">>
<<continueBox "SerykLioraManaReplenishmentMasturbation" "Watch him pleasure himself" "">>
<<changeAttraction "Liora" "Seryk" 1.5>>
<<changeAttraction "Seryk" "Liora" 1.2>>
<<changeAffection "Liora" "Seryk" 2>>
<<changeAffection "Seryk" "Liora" 1.5>>
</div>
<</nobr>>
<<pov "liora" "intimatech5a.mp3">><<playLoopingSounds "sounds/hsounds/seryk/moansoft.mp3" "sounds/hsounds/handjob.mp3" 1>>
<<nobr>>
<div class="passage-container liora">
<div style="text-align: center; margin-bottom: 30px;">
<h2 style="color: #E6E6FA; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); margin: 0;">The Forbidden Spectacle</h2>
</div>
<<narrative "I step back slightly, giving him space as he pulls down his boxers. His massive erection springs free, and I can't help but stare in awe and fascination. Even though I've seen it before, it's still so impressive, so intimidating and arousing. My body remembers the sight, and I can feel myself getting wetter just from the anticipation.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Massive Erection"></center>
<<quickRoll "Size Fascination" "Liora" 70 2 "MuscleFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "MuscleFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "I can't stop staring at it. The way it throbs with life, the way it's so much bigger than anything I've ever seen, it's overwhelming and strangely arousing. I know I shouldn't be looking, shouldn't be thinking about it, but I can't help myself. The way his hand barely fits around it, the way it strains against his grip, makes me feel things I've never felt before.">>
<</if>>
<<dialog "Seryk" "facewet" "Liora... look at what you do to me," "he moans, his voice thick with desire">>
<<narrative "I can see the way he's looking at me, the hunger in his eyes, the way his body is responding to my presence. There's something primal in his gaze, something that makes me feel both vulnerable and incredibly aroused. I know I shouldn't be enjoying this, but I am.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk Masturbating"></center>
<<quickRoll "Voyeuristic Arousal" "Liora" 70 3 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "I can hear the wet sounds, the way his hand moves up and down his shaft. It's so intimate, so private, and I can't help but feel aroused by it.">>
<</if>>
<<dialog "Seryk" "facewet" "Liora... I can't stop thinking about you," "he moans, his voice barely controlled">>
<<narrative "I can feel my own body responding to his words, to the sounds he's making. My heart is racing, my breathing becoming shallow. I shouldn't be feeling this way, shouldn't be getting aroused by this, but I am. The way he says my name, the way he moans, the way he looks at me with such hunger - it's all so overwhelming.">>
<center><img src="images/liora/chapter5/serykntr/face/9.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming Aroused"></center>
<<quickRoll "Unconscious Arousal" "Liora" 70 3 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "I can feel warmth spreading through my body, a tingling sensation that starts in my core and radiates outward. I shouldn't be enjoying this, shouldn't be getting wet from watching him, but I am. The way he strokes himself, the way he moans my name, the way his body tenses with each stroke - it's all so mesmerizing.">>
<</if>>
<<narrative "I steal another glance, unable to resist. His breathing is getting harder and harder, his strokes more desperate. I can see the way his muscles flex with each movement, the way his body tenses as he gets closer to climax.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk Getting Closer"></center>
<<dialog "Seryk" "facewet" "Liora... look at me," "his voice has changed, become more demanding, more dominant" "Look me in the eyes.">>
<<narrative "I look up at his face, and what I see there makes my breath catch. His eyes are filled with hunger. He looks like he's about to devour me, like he wants to consume me whole.">>
<center><img src="images/liora/chapter5/serykntr/face/10.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Hungry Gaze"></center>
<<dialog "Seryk" "facewet" "Don't look away, Liora," "he commands, his voice deep and authoritative" "Watch me. Watch what you do to me.">>
<<quickRoll "Dominant Command" "Liora" 70 2 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "His command sends shivers down my spine. There's something in his voice, something authoritative and dominant that makes me want to obey. I shouldn't be responding to this, shouldn't be getting aroused by his commands, but I am.">>
<</if>>
<<narrative "I can't look away, can't disobey his command. His eyes hold mine captive, and I can see the raw desire burning within them. He's getting closer to climax, I can tell. His strokes are becoming more frantic, more desperate. The way he looks at me while he pleasures himself, the way he moans my name, the way his body responds to my presence - it's all so intimate, so personal.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk Getting Closer"></center>
<<dialog "Seryk" "facewet" "Now look at it, Liora," "he growls, his voice thick with desire" "Look at how hard you make me.">>
<<narrative "I look down, unable to resist his command. His erection is massive, throbbing with each stroke. I can see precum dripping from the tip, glistening in the dim light. It looks... I shouldn't be thinking about his cum, shouldn't be wanting to taste it, but I am.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Precum Dripping"></center>
<<quickRoll "Cum Fascination" "Liora" 70 3 "SmellFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SmellFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "I can't stop staring at the precum dripping from his tip. It's so beautiful, so tempting. I shouldn't be thinking about it, shouldn't be wanting to taste it, but I am.">>
<</if>>
<<narrative "I'm watching Seryk masturbate, getting aroused by it, thinking about tasting his cum. This is wrong, so wrong. I have $humanName, I love him. But right now, with Seryk's massive erection in front of me, with his precum dripping, I can't think straight.">>
<center><img src="images/liora/chapter5/serykntr/face/10.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora's Internal Conflict"></center>
<<dialog "Seryk" "facewet" "Liora... I'm so close," "his voice is barely a whisper now, his strokes becoming more frantic" "I'm going to cum for you.">>
<<narrative "I can see he's about to climax, can feel the tension building in the room. His breathing is ragged, his strokes desperate. I should look away, should leave, but I can't. I'm too aroused, too curious. I want to see him finish, want to see what happens next.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/6.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk About to Climax"></center>
<<quickRoll "Final Corruption" "Liora" 70 2 "SubmissionFetish" 5>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.5>>
<<changeAttraction "Liora" "Seryk" 0.3>>
<<narrative "I can feel myself getting wetter and wetter, my body responding to his impending climax. I shouldn't be enjoying this, shouldn't be getting aroused by watching him masturbate, but I am. The way he strokes himself, the way he moans my name, the way he looks at me with such hunger - it's all so irresistible. I want him to finish, want to see what happens next.">>
<</if>>
<<narrative "I'm watching him masturbate, getting aroused by it. This is so wrong, so sinful, but I can't help myself. I want to see him finish, want to see what his climax looks like.">>
<<dialog "Seryk" "facewet" "Liora... I'm going to..." "his voice trails off as his body tenses, his strokes becoming frantic">>
<<narrative "I can see it coming. His body is tensing, his strokes becoming more desperate. I'm completely captivated, unable to look away. I want to see this...">>
<center><img src="images/liora/chapter5/serykntr/masturbate/7.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="The Climax Approaches"></center>
<<continueBox "SerykLioraManaReplenishmentClimax" "Watch him climax" "">>
<<changeAttraction "Liora" "Seryk" 1.5>>
<<changeAttraction "Seryk" "Liora" 5>>
</div>
<</nobr>>
<<pov "liora" "intimatech5a.mp3">><<playLoopingSounds "sounds/hsounds/seryk/moansoft.mp3" "sounds/hsounds/handjob.mp3" 1>>
<<nobr>>
<div class="passage-container liora">
<<narrative "He slides his boxers down with deliberate slowness, letting them pool around his ankles. His cock springs free, already half-hard and twitching with anticipation. Even though I've witnessed this before, the sheer size still takes my breath away. My body remembers this sight, and I can feel the familiar heat pooling between my legs.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Massive Erection"></center>
<<quickRoll "Size Fascination" "Liora" 65 1 "MuscleFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "MuscleFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.15>>
<<narrative "I can't tear my eyes away from his massive erection. The way it pulses with each heartbeat, the way it's so much thicker than my wrist, it's both terrifying and intoxicating. The way his hand barely wraps around it, the way it strains against his grip, makes me wonder about things I've never dared to imagine.">>
<</if>>
<<dialog "Seryk" "facewet" "There she is," "he purrs, his voice low and seductive" "My little bird. Look how you've made me ache.">>
<<narrative "His words send a shiver down my spine. There's something different in his tone tonight - more possessive, more knowing. He's not just asking me to watch; he's claiming me with his gaze, making me feel like I belong to him in this moment.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk Masturbating"></center>
<<quickRoll "Voyeuristic Arousal" "Liora" 65 2 "SubmissionFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.2>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "The slick sounds of his hand working his shaft fill the air, each stroke sending waves of arousal through my body. I can hear the wetness, the way his precum makes everything slick and glistening. The rhythm is hypnotic, and I find myself unconsciously matching my breathing to his strokes.">>
<</if>>
<<dialog "Seryk" "facewet" "Do you know what I dream about, Little Bird?" "he asks, his voice husky with desire" "I dream about your lips wrapped around me, about your tongue exploring every inch.">>
<<narrative "His words paint vivid pictures in my mind, images that make my cheeks burn and my core clench with need. I shouldn't be imagining such things, shouldn't be getting wet from his fantasies, but I am.">>
<center><img src="images/liora/chapter5/serykntr/face/9.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming Aroused"></center>
<<quickRoll "Unconscious Arousal" "Liora" 65 2 "SubmissionFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.2>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "I can feel the warmth spreading through my body, a tingling sensation that starts in my core and radiates outward. My nipples harden against my clothes, and I can feel myself getting wetter with each passing moment. I shouldn't be enjoying this, shouldn't be getting aroused by his words, but I am.">>
<</if>>
<<narrative "I watch as his breathing becomes more labored, his strokes more urgent. His muscles flex with each movement, and I can see the way his body tenses as he gets closer to climax.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk Getting Closer"></center>
<<dialog "Seryk" "facewet" "Look at me, Liora," "he commands, his voice taking on a deeper, more authoritative tone" "Look into my eyes and tell me you don't want this.">>
<<narrative "I look up at his face, and what I see there makes my breath catch. His eyes are filled with raw hunger, a primal need that makes me feel both vulnerable and incredibly aroused. I can't look away, can't disobey his command. His eyes hold mine captive, and I can see the raw desire burning within them.">>
<center><img src="images/liora/chapter5/serykntr/face/10.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Hungry Gaze"></center>
<<quickRoll "Dominant Command" "Liora" 65 1 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.15>>
<<narrative "His command sends shivers down my spine. There's something in his voice, something authoritative and dominant that makes me want to obey.">>
<</if>>
<<dialog "Seryk" "facewet" "I can see it in your eyes," "he growls, his voice thick with desire" "You want to taste me, don't you? You want to feel me in your mouth, feel me pulse against your tongue.">>
<<narrative "I look down. His erection is massive, throbbing with each stroke. I can see precum dripping from the tip, glistening in the dim light. It looks... I shouldn't be thinking about his cum, shouldn't be wanting to taste it, but I am.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Precum Dripping"></center>
<<quickRoll "Cum Fascination" "Liora" 65 2 "SmellFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SmellFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.15>>
<<narrative "I shouldn't be thinking about it, shouldn't be wanting to taste it, but I am. The way it glistens, the way it's so thick and creamy...">>
<</if>>
<<narrative "This is wrong, so wrong. I have $humanName, I love him. But right now, with Seryk's massive erection in front of me, with his precum dripping, I can't think straight.">>
<center><img src="images/liora/chapter5/serykntr/face/10.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora's Internal Conflict"></center>
<<dialog "Seryk" "facewet" "I'm so close, Liora," "his voice is barely a whisper now, his strokes becoming more frantic" "I'm going to cum for you. I'm going to show you what you do to me.">>
<<narrative "I can see he's about to climax, can feel the tension building in the room. His breathing is ragged, his strokes desperate. I should look away, should leave, but I can't. I'm too aroused, too curious.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/6.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk About to Climax"></center>
<<quickRoll "Final Corruption" "Liora" 65 1 "SubmissionFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "I can feel myself getting wetter and wetter, my body responding to his impending climax. I shouldn't be enjoying this, shouldn't be getting aroused by watching him masturbate, but I am.">>
<</if>>
<<narrative "I'm watching him masturbate, getting aroused by it. This is so wrong, so sinful, but I can't help myself. I want to see him finish, want to see what his climax looks like. The way he strokes himself, the way he moans my name, the way he looks at me with such hunger - it's all so irresistible.">>
<<dialog "Seryk" "facewet" "Liora... I'm going to..." "his voice trails off as his body tenses, his strokes becoming frantic" "I'm going to cum for you! I'm going to show you how much I want you!">>
<<narrative "I can see it coming. His body is tensing, his strokes becoming more desperate.">>
<center><img src="images/liora/chapter5/serykntr/masturbate/7.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="The Climax Approaches"></center>
<<continueBox "SerykLioraManaReplenishmentClimaxRoutine2" "Watch him climax" "">>
<<changeAttraction "Liora" "Seryk" 1.0>>
<<changeAttraction "Seryk" "Liora" 3>>
</div>
<</nobr>>
<<pov "liora" "intimatech5a.mp3">><<playLoopingSounds "sounds/hsounds/seryk/moansoft.mp3" "sounds/hsounds/handjob.mp3" 1>>
<<nobr>>
<div class="passage-container liora">
<<narrative "Seryk begins to stroke himself, but this time there's something different about his movements. They're slower, more deliberate, less frantic than before. He looks at me with a mixture of desire and something else - frustration, maybe?">>
<<dialog "Seryk" "faceworried" "Little Bird... I'm having trouble getting there," "he admits, his voice tinged with embarrassment" "The more we do this, the harder it gets for me to... finish.">>
<<narrative "I can see what he means. His strokes are more measured, his breathing more controlled. It's like he's trying to force something that isn't coming naturally anymore. The sight is both concerning and strangely arousing - seeing him struggle, seeing him need something more.">>
<<dialog "Liora" "faceworriedshortpink" "What... what do you mean?">>
<<dialog "Seryk" "faceembarrassed" "I need more stimulation. Just watching you isn't enough anymore. I need... I need you to help me out a bit.">>
<<narrative "My heart skips a beat. Help him out? What does he mean? I can't touch him, I won't touch him. But the way he's looking at me, the desperation in his eyes... it's making me feel things I shouldn't.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I can't touch you, Seryk. I won't.">>
<<dialog "Seryk" "faceembarrassed" "No, no! I'm not asking you to touch me. But maybe... maybe you could show me a bit more? Just a little skin? Something to help me get there faster?">>
<<narrative "Show him more? The thought makes my cheeks burn with embarrassment. But I can see how much he's struggling, how much he needs this. And after everything he's done for me... maybe I owe him this much?">>
<<dialog "Liora" "faceembarrassedshortpink" "What... what do you want me to show?">>
<<dialog "Seryk" "faceembarrassed" "Maybe... maybe you could raise your arms? Let me see your armpits? Just for a moment, just to help me get there faster.">>
<<narrative "My armpits? The thought is so embarrassing, so intimate. But I can see the hope in his eyes, the way he's looking at me with such need. After everything he's done for me, after all the times he's helped me... maybe I can do this one small thing?">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I suppose... just for a moment...">>
<<narrative "I slowly raise my arms above my head, feeling incredibly exposed and vulnerable. The fabric of my shirt stretches tight across my chest, and I can feel the cool air against my armpits. It's such a small thing, but it feels so intimate, so personal.">>
<center><img src="images/liora/dungeon/armpitfetish/7.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Showing Her Armpits"></center>
<<quickRoll "Exhibitionism Trigger" "Liora" 60 2 "ExhibitionismFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "ExhibitionismFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.15>>
<<narrative "I can feel the heat spreading through my body as I hold this pose. The way he's looking at me, the way his eyes are fixed on my exposed armpits... it's making me feel things I shouldn't. I can feel myself getting wetter, more aroused by his gaze.">>
<</if>>
<<dialog "Seryk" "facewet" "Oh gods... Liora..." "he moans, his voice filled with appreciation" "You're so beautiful. So perfect.">>
<<narrative "I can see the effect my pose is having on him. His strokes become more urgent, more desperate. The way he's looking at me, the way he's moaning my name... it's making me feel incredibly aroused. I shouldn't be enjoying this, shouldn't be getting wet from showing him my armpits, but I am.">>
<<quickRoll "Voyeuristic Arousal" "Liora" 65 2 "SubmissionFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.2>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "I can feel the warmth spreading through my body, a tingling sensation that starts in my core and radiates outward. The way he's looking at me, the way he's stroking himself while watching me...">>
<</if>>
<<dialog "Seryk" "facewet" "Little Bird... could you... could you show me a bit more? Just a little more skin? Something else to help me get there?">>
<<narrative "More? He wants me to show him more? The thought is terrifying and exciting at the same time. I can see how much this is helping him, how much more aroused he's becoming. But what else can I show him? What else would help him finish faster?">>
<<dialog "Liora" "faceembarrassedshortpink" "What... what else do you want to see?">>
<<narrative "I can feel my heart racing as I consider his request. What would $humanName like? Would he prefer my panties or my feet? I know he's always been gentle with me, always respected my boundaries, but... what if he had to choose? What if he could only see one part of me?">>
<<narrative "The thought of $humanName seeing me like this fills me with guilt, but I can't deny that showing Seryk more of myself is making me feel things I shouldn't.">>
<<choiceBox "What to show Seryk?" "Show my feet" "SerykLioraManaReplenishmentShowFeet" "SerykLioraManaReplenishmentShowFeet=true" "Show my panties" "SerykLioraManaReplenishmentShowPanties" "SerykLioraManaReplenishmentShowPanties=true">>
<<changeAttraction "Liora" "Seryk" 0.5>>
<<changeAttraction "Seryk" "Liora" 0.4>>
</div>
<</nobr>>
<<pov "liora" "intimatech5a.mp3">><<nobr>>
<div class="passage-container liora">
<<narrative "You're walking through the hallway when you notice Liora heading toward the training grounds. She looks distracted, almost lost in thought, and doesn't notice you watching her.">>
<<dialog "Liora" "faceworriedshortpink" "I need to find Seryk," "she mutters to herself">>
<<thought "Rylan" "face" "Something feels off about this.">>
<<continueBox "NTRMiniGame" "Call out to her" "Your instincts tell you to stop her...">>
</div>
<</nobr>>
<<pov "rylan" "defaultch7.mp3">><<nobr>>
<div class="passage-container liora">
<<run State.variables.serykLioraManaReplenishmentNTRTriggered = true>>
<<run State.variables.serykLioraManaReplenishmentCount = (State.variables.serykLioraManaReplenishmentCount || 0) + 1>>
<<run State.variables.serykLioraManaReplenishmentLastTriggered = State.variables.gameDay>>
<<narrative "I find myself at the training grounds again, the familiar routine already beginning. My mana circuits ache with the familiar need, and I know exactly what's coming. This has become almost second nature now, though the shame still burns in my chest.">>
<<dialog "Liora" "faceembarrassedshortpink" "Seryk?" "I call out softly, my voice carrying the weight of our established routine">>
<<narrative "The door opens immediately - he's been waiting. Seryk's face lights up with that familiar knowing look, and I can see he's already prepared for our session. There's something comfortable about this now, though it still makes my cheeks burn.">>
<<dialog "Seryk" "face" "Liora! Come in." "He steps aside with a gentle smile, his muscular frame filling the doorway">>
<<narrative "I enter the training grounds, and the familiar scent washes over me. My body responds with practiced anticipation, already knowing what to expect from our established routine.">>
<<dialog "Seryk" "facewet" "Open your mouth, Little Bird," "he says softly, letting his saliva drip into my waiting mouth" "This will help restore your mana circuits.">>
<center><img src="images/liora/chapter5/serykntr/saliva1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Seryk's Saliva"></center>
<<dialog "Liora" "faceembarrassedshortpink" "Mmm..." "I moan softly, swallowing his saliva with practiced ease">>
<<narrative "I continue drinking from Seryk's mouth, my eyes closed in bliss. The mana restoration feels so good, so addictive. My body remembers this sensation perfectly now, craves it more than ever. I know this is wrong, that I have $humanName, but I can't stop myself from returning here.">>
<<dialog "Seryk" "facewet" "Now taste my sweat," "he says, pulling me closer to his chest" "The mana concentration is higher here.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I shouldn't," "I whisper, but my tongue is already tracing along his sweaty skin" "This feels so wrong, but I need this mana...">>
<center><img src="images/liora/chapter5/serykntr/sweat1b.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Licking Seryk's Chest"></center>
<<narrative "My resistance is weaker now, and I'm clearly more comfortable with this routine. I'm still conflicted, torn between my loyalty to $humanName and my growing need for Seryk's mana, but my tongue moves across his chest with practiced ease. This has become familiar, almost natural.">>
<<quickRoll "Sweat Addiction" "Liora" 70 2 "SmellFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SmellFetish" 0.2>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "The moment my tongue touches his skin, I'm overwhelmed by the familiar taste. It's so much stronger than before, so much more potent. The salty, musky flavor fills my mouth, and I can feel my mana circuits tingling with renewed energy.">>
<</if>>
<<dialog "Seryk" "facewet" "Mmm..." "Seryk lets out a soft moan, his body tensing beneath my touch">>
<<narrative "I can see the way he's responding to my touch, the way his muscles tense and flex. His breathing becomes more rapid, and I can feel the heat radiating from his skin. The way he looks at me, the hunger in his eyes, makes me feel things I shouldn't be feeling.">>
<center><img src="images/liora/chapter5/serykntr/sweat2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Continuing to Lick"></center>
<<quickRoll "Power and Control" "Liora" 70 2 "SubmissionFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.2>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "I can feel the power I have over him, the way he responds to my every touch. It's exhilarating, the way I can make him moan, the way I can make his body tremble with pleasure.">>
<</if>>
<<narrative "I continue licking, working my way across his chest and upper abs. Each lick sends waves of pleasure through my body, and I can feel myself becoming more and more aroused. The way his muscles tense beneath my touch, the way his body responds to my ministrations - it's all so addictive.">>
<<dialog "Seryk" "facewet" "Liora... this is incredible," "he moans, his voice thick with desire" "Are you feeling better?">>
<<dialog "Liora" "faceembarrassedshortpink" "Yes," "I whisper, my voice breathless with arousal" "Much better.">>
<<narrative "I can see the way his boxers are straining against his growing arousal again.">>
<<dialog "Seryk" "facewet" "Liora... I can't hold back anymore," "he moans, his voice barely controlled" "Please... let me masturbate in front of you again.">>
<<quickRoll "Shameless Acceptance" "Liora" 65 1 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<narrative "I can't believe I'm agreeing to this, but I can't help myself. The way he's looking at me, the way his body is responding to my touch, the way he's asking me so desperately - it's all so compelling.">>
<</if>>
<<dialog "Liora" "faceembarrassedshortpink" "Yes," "I whisper, my voice trembling with arousal and shame" "Please, Seryk.">>
<<narrative "I can see the relief in his eyes, the way his body relaxes slightly. He knows I'm giving in, and I can see the hunger building in his expression.">>
<<continueBox "SerykLioraManaReplenishmentMasturbationRoutine2" "Watch him pleasure himself" "">>
<<changeAttraction "Liora" "Seryk" 1.0>>
<<changeAttraction "Seryk" "Liora" 0.8>>
<<changeAffection "Liora" "Seryk" 1.5>>
<<changeAffection "Seryk" "Liora" 1.0>>
</div>
<</nobr>>
<<pov "liora" "intimatech5a.mp3">><<nobr>>
<div class="passage-container liora">
<<run State.variables.serykLioraManaReplenishmentNTRTriggered = true>>
<<run State.variables.serykLioraManaReplenishmentCount = (State.variables.serykLioraManaReplenishmentCount || 0) + 1>>
<<run State.variables.serykLioraManaReplenishmentLastTriggered = State.variables.gameDay>>
<<narrative "I find myself back in the training grounds with Seryk, and this time there's no hesitation. We both know what we're here for, and the routine has become almost comfortable. I kneel down in front of him, my heart racing with excitement and shame as I begin to lick the sweat from his chest.">>
<center><video src="images/liora/chapter5/serykntr/sweat.mp4" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Licking Seryk's Chest" autoplay muted loop></video></center>
<<dialog "Seryk" "facewet" "That's it, Little Bird," "he moans softly, his voice filled with satisfaction" "You're getting so good at this. So eager.">>
<<narrative "His words send a shiver down my spine. He's right - I am getting good at this. Too good. The way I know exactly where to lick, the way I can make him moan, the way I crave the taste of his sweat... it's becoming second nature to me.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I need your help," "I whisper between licks" "My mana circuits are still weak.">>
<<dialog "Seryk" "facewet" "Of course, Little Bird. I'll always help you," "he says, his hand gently stroking my hair" "But maybe this time... maybe you could help me too?">>
<<narrative "I look up at him, confused. Help him? What does he mean? But before I can ask, he's already pulling down his boxers, his erection springing free.">>
<<continueBox "SerykLioraManaReplenishmentMasturbationRoutine3" "Watch him pleasure himself" "">>
<<changeAttraction "Liora" "Seryk" 0.5>>
<<changeAttraction "Seryk" "Liora" 0.4>>
<<changeAffection "Liora" "Seryk" 1.0>>
<<changeAffection "Seryk" "Liora" 0.5>>
</div>
<</nobr>>
<<pov "liora" "intimatech5a.mp3">><<nobr>>
<div class="passage-container liora">
<<set $serykLioraFootfetish = true>>
<<if not $lioraAssertiveness>>
<<set $lioraAssertiveness = 1>>
<<else>>
<<if not $SerykLioraManaReplenishmentShowSeen>>
<<set $lioraAssertiveness += 1>>
<</if>>
<</if>>
<<playLoopingSounds "sounds/hsounds/seryk/moansoft.mp3" "sounds/hsounds/handjob.mp3" 1>>
<<thought "Liora" "faceembarrassedshortpink" "My feet? This is so embarrassing, so intimate. But I can see the hope in his eyes, how desperately he needs this. After everything he's done for me... maybe I can do this?">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I suppose... just for a moment...">>
<<narrative "I slowly lower my arms and sit down on the training bench, feeling incredibly exposed and vulnerable. My heart races as I reach down to remove my shoes and pantyhose. The cool air against my bare feet makes me shiver, and I can feel his gaze following my every movement.">>
<center><img src="images/liora/chapter5/serykntr/feet/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora's Bare Feet"></center>
<<quickRoll "Feet Exhibitionism" "Liora" 60 2 "FeetFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "FeetFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.15>>
<<thought "Liora" "facewet" "Exposing my bare feet like this... his eyes are devouring every inch. I shouldn't be enjoying this attention, but I am.">>
<</if>>
<<dialog "Seryk" "facewet" "Oh gods... Liora... your feet are so beautiful," "he moans, his voice filled with appreciation" "So soft, so perfect. I can't stop looking at them.">>
<center><img src="images/liora/chapter5/serykntr/feet/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Holding Up Her Feet"></center>
<<narrative "I can see the effect my bare feet are having on him. His breathing becomes heavier, more labored. His eyes devour every inch of my exposed skin, and his moans grow louder with each passing moment.">>
<<quickRoll "Foot Arousal" "Liora" 65 2 "SubmissionFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.2>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "I can feel the warmth spreading through my body, a tingling sensation that starts in my core and radiates outward.">>
<</if>>
<<dialog "Seryk" "facewet" "Little Bird... could you... could you hold them up a bit? Let me see them better?">>
<<thought "Liora" "faceembarrassedshortpink" "Hold them up? The request makes my cheeks burn with embarrassment. But I can see how much this is helping him, how much more aroused he's becoming. After everything he's done for me... maybe I can do this?">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I suppose... just a little...">>
<<narrative "I slowly lift my feet up, holding them in the air. The position feels so vulnerable, so exposed. I can feel his eyes devouring every inch of my bare feet, and his intense stare makes me feel things I shouldn't.">>
<center><img src="images/liora/chapter5/serykntr/feet/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Holding Up Her Feet"></center>
<<quickRoll "Vulnerable Position" "Liora" 65 2 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.15>>
<<thought "Liora" "facewet" "This vulnerable position... I feel so exposed, so helpless. Why does it make me feel this way?">>
<</if>>
<<dialog "Seryk" "facewet" "Oh gods... Liora... they're so perfect," "he moans, his voice thick with desire" "So delicate....">>
<<narrative "I can see the effect my lifted feet are having on him. His strokes quicken, becoming more intense. His eyes never leave my feet, and his moans grow louder with each passing moment.">>
<center><img src="images/liora/chapter5/serykntr/feet/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Holding Up Her Feet"></center>
<<quickRoll "Unconscious Arousal" "Liora" 65 2 "SubmissionFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.2>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<thought "Liora" "facewet" "His intense gaze, his desperate strokes while watching me...">>
<</if>>
<<dialog "Seryk" "facewet" "Little Bird... I'm getting so close... just a little more... could you wiggle your toes for me? Just a little?">>
<<thought "Liora" "faceembarrassedshortpink" "Wiggle my toes? I can see how close he is, how much this is helping him. After everything he's done for me... maybe I can do this one small thing?">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I suppose... just a little...">>
<<narrative "I slowly wiggle my toes, feeling incredibly exposed.">>
<center><img src="images/liora/chapter5/serykntr/feet/pinch1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Wiggling Her Toes"></center>
<<quickRoll "Toe Movement" "Liora" 65 2 "FeetFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "FeetFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.15>>
<<thought "Liora" "facewet" "I can feel the heat spreading through my body as I wiggle my toes.">>
<</if>>
<<dialog "Seryk" "facewet" "Oh gods... Liora... that's so beautiful," "he moans, his voice filled with appreciation" "The way they move, the way they curl... I can't stop watching.">>
<<narrative "I can see the effect my toe movements are having on him. His rhythm becomes more erratic, more desperate.">>
<<dialog "Seryk" "facewet" "Little Bird... I need a little more... maybe you could help me? Guide me a bit?">>
<<thought "Liora" "faceembarrassedshortpink" "Help him? Guide him? What does he mean? I don't know how to help him with this. I'm just showing him my feet, what else can I do?">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I don't know how... what do you mean?">>
<<dialog "Seryk" "facewet" "Maybe... maybe you could tell me what you're thinking? What you're feeling? Just... talk to me while I look at your beautiful feet?">>
<<thought "Liora" "faceembarrassedshortpink" "Talk to him? Tell him what I'm thinking? The thought is so embarrassing. But I can see how much this is helping him...">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I suppose... what should I say?">>
<<dialog "Seryk" "facewet" "Just... just tell me what you're thinking. Maybe... maybe something like 'look at my feet' or 'aren't they beautiful'? Just... whatever comes to mind.">>
<<thought "Liora" "faceembarrassedshortpink" "Tell him to look at my feet? Tell him they're beautiful? The thought is so embarrassing, so intimate. But I can see how much this is helping him, how much more aroused he's becoming. After everything he's done for me... maybe I can do this?">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I suppose... look at my feet... they're... they're beautiful...">>
<<narrative "The words feel so strange coming out of my mouth. But I can see the effect they're having on Seryk. His strokes become faster.">>
<center><img src="images/liora/chapter5/serykntr/feet/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming More Assertive"></center>
<<quickRoll "First Assertive Words" "Liora" 65 2 "DominanceFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "DominanceFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.15>>
<<thought "Liora" "facewet" "Speaking these words... commanding him to look at me. I feel powerful. This isn't like me at all.">>
<</if>>
<<dialog "Seryk" "facewet" "Oh gods... Liora... yes... yes... tell me more...">>
<<thought "Liora" "facewet" "Tell him more?">>
<<dialog "Liora" "faceembarrassedshortpink" "Look at my feet... they're so soft... so perfect...">>
<<narrative "The words feel more natural now, more confident. I can see the effect they're having on Seryk. His pace accelerates.">>
<<dialog "Seryk" "facewet" "Oh gods... Liora... yes... yes... more... tell me more...">>
<<thought "Liora" "facewet" "More? He wants me to tell him more?">>
<<dialog "Liora" "faceembarrassedshortpink" "Look at my toes... they're so delicate...">>
<center><img src="images/liora/chapter5/serykntr/feet/pinch2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming More Assertive"></center>
<<quickRoll "Growing Confidence" "Liora" 60 2 "DominanceFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "DominanceFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.15>>
<<thought "Liora" "facehappyshortpink" "This is actually... kind of fun. I never knew I could make someone so happy just by showing my feet.">>
<</if>>
<center><div style="background: linear-gradient(145deg, rgba(0, 0, 0, 0.9), rgba(20, 20, 20, 0.95)); border-radius: 50%; padding: 20px; margin: 20px 0; display: inline-block; animation: pulse 2s ease-in-out infinite;"><img src="images/liora/tattoo/facesin.webp" style="width: 300px; max-width: 100%; height: auto; border-radius: 50%; display: block;" alt="Serin's dark side"></div></center>
<style>
@keyframes pulse {
0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 20, 147, 0.7); }
50% { transform: scale(1.05); box-shadow: 0 0 20px 10px rgba(255, 20, 147, 0.3); }
100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 20, 147, 0.7); }
}
</style>
<<dialog "Liora" "facehappyshortpink" "You really like them, don't you? My feet?">>
<<narrative "I can't help but smile as I see how much this is affecting him. There's something thrilling about having this kind of power over someone so strong.">>
<center><img src="images/liora/chapter5/serykntr/feet/a1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming More Assertive"></center>
<<dialog "Seryk" "facewet" "Yes... yes, Little Bird... they're amazing... I can't stop looking...">>
<<thought "Liora" "facehappyshortpink" "He's so big and strong, but I'm making him like this just by showing my feet. It's... it's exciting.">>
<<dialog "Liora" "facesmile" "Well... maybe I could show you a bit more? If you promise to keep looking?">>
<center><img src="images/liora/chapter5/serykntr/feet/a2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming More Assertive"></center>
<<quickRoll "Friendly Assertiveness" "Liora" 55 2 "DominanceFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "DominanceFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<changeLust "Liora" 3>>
<<thought "Liora" "facewet" "Making him promise to keep looking... I feel so powerful. This strong man is completely under my spell.">>
<</if>>
<<dialog "Seryk" "facewet" "I promise! I'll keep looking! Please show me more!">>
<<narrative "His desperate promise sends a tingle through my body. I'm starting to understand why this feels so good.">>
<<dialog "Liora" "facesmirk" "Tell me what you're thinking, Seryk. What do you want to do to my feet?">>
<center><img src="images/liora/chapter5/serykntr/feet/d1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming More Assertive"></center>
<<dialog "Seryk" "facewet" "I... I want to kiss them... worship them... they're so perfect...">>
<<thought "Liora" "facewet" "He wants to kiss my feet... this huge man wants to worship me. The thought makes my heart race and I can feel a warmth growing between my legs.">>
<<dialog "Liora" "facesmirk" "Stroke yourself faster while you look at them. Show me how much you want me.">>
<<quickRoll "Teasing Control" "Liora" 55 2 "DominanceFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "DominanceFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<changeLust "Liora" 3>>
<<thought "Liora" "facewet" "Making him stroke faster... I'm just a small girl, but I'm controlling this strong man. I can feel myself getting wetter.">>
<</if>>
<<dialog "Seryk" "facewet" "Yes! Yes! I'll stroke faster! Please don't stop!">>
<<narrative "His desperate obedience sends tingles through my body. I can feel the power I have over him, and it's making me so aroused. I can feel the wetness between my legs growing.">>
<center><img src="images/liora/chapter5/serykntr/feet/d2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming More Assertive"></center>
<<dialog "Liora" "facesmirk" "Do you imagine kissing them? Smelling them? Sucking on my toes?">>
<<dialog "Seryk" "facewet" "Yes! I imagine kissing every inch! I want to taste them so badly!">>
<<thought "Liora" "facewet" "He wants to taste my feet... this muscular demon is fantasizing about worshiping me. The thought makes me so wet.">>
<<dialog "Liora" "facesmirk" "But they don't belong to you, do they? They belong to $humanName.">>
<<dialog "Seryk" "facewet" "I know... I know they're his... but please... let me just look... let me just imagine...">>
<center><img src="images/liora/chapter5/serykntr/feet/d3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming More Assertive"></center>
<<quickRoll "Power Play" "Liora" 50 2 "DominanceFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "DominanceFetish" 0.5>>
<<changeAttraction "Liora" "Seryk" 0.25>>
<<changeLust "Liora" 4>>
<<thought "Liora" "facewet" "Reminding him they belong to $humanName... I'm teasing him with what he can't have. I'm so aroused I can barely think straight.">>
<</if>>
<<dialog "Liora" "facesmirk" "Poor Seryk... so desperate for something you can never have. Stroke yourself harder. Show me how frustrated you are.">>
<<dialog "Seryk" "facewet" "I am! I'm so frustrated! Please! Just a little more!">>
<<narrative "His desperation is so arousing. I can feel my panties getting soaked as I watch him stroke himself. I never knew I could feel this powerful, this desired.">>
<center><img src="images/liora/chapter5/serykntr/feet/d5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming More Assertive"></center>
<<dialog "Liora" "facesmirk" "Tell me how much you need to finish. Tell me how desperate you are.">>
<<dialog "Seryk" "facewet" "I need it so badly! I'm so desperate! Please let me finish!">>
<<thought "Liora" "facewet" "He's begging me... this huge, strong man is completely at my mercy. I can feel my arousal building to an almost unbearable level. I want to touch myself too.">>
<<dialog "Liora" "facesmirk" "Very well... you may finish for me. But remember - my feet belong to $humanName.">>
<center><img src="images/liora/chapter5/serykntr/feet/do.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming More Assertive"></center>
<<continueBox "SerykLioraManaReplenishmentClimaxRoutine3" "Watch him climax" "">>
<<changeAttraction "Liora" "Seryk" 0.3>>
<<changeAttraction "Seryk" "Liora" 1>>
<<changeFetish "Seryk" "FeetFetish" 3>>
<<changeFetish "Liora" "FeetFetish" 0.2>>
<<changeFetish "Liora" "DominanceFetish" 1>>
<<changeFetish "Liora" "ExhibitionismFetish" 1>>
<<changeFetish "Seryk" "SubmissionFetish" 3>>
</div>
<</nobr>>
<<pov "liora" "intimatech5a.mp3">><<nobr>>
<div class="passage-container liora">
<<set $serykLioraPantiesFetish = true>>
<<if not $lioraAssertiveness>>
<<set $lioraAssertiveness = 1>>
<<else>>
<<if not $SerykLioraManaReplenishmentShowSeen>>
<<set $lioraAssertiveness += 1>>
<</if>>
<</if>>
<<playLoopingSounds "sounds/hsounds/seryk/moansoft.mp3" "sounds/hsounds/handjob.mp3" 1>>
<<thought "Liora" "faceembarrassedshortpink" "My panties? This is so embarrassing, so intimate. But I can see the hope in his eyes, how desperately he needs this. After everything he's done for me... maybe I can do this?">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I suppose... just for a moment...">>
<<narrative "I slowly sit down on the training bench and spread my legs slightly, feeling incredibly exposed and vulnerable. My heart races as I reach down to remove my pantyhose, revealing my pink cotton panties underneath. The cool air against my now-exposed thighs makes me shiver, and I can feel his gaze following my every movement.">>
<center><img src="images/liora/chapter5/serykntr/panties/1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora's Panties"></center>
<<quickRoll "Panties Exhibitionism" "Liora" 60 2 "ExhibitionismFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "ExhibitionismFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.15>>
<<thought "Liora" "facewet" "Exposing my panties like this... his eyes are devouring every inch. I shouldn't be enjoying this attention, but I am.">>
<</if>>
<<dialog "Seryk" "facewet" "Oh gods... Liora... your panties are so beautiful," "he moans, his voice filled with appreciation">>
<center><img src="images/liora/chapter5/serykntr/panties/2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Spreading Her Legs"></center>
<<narrative "I can see the effect my exposed panties are having on him. His breathing becomes heavier, more labored. His eyes devour every inch of my exposed underwear, and his moans grow louder with each passing moment.">>
<<quickRoll "Panties Arousal" "Liora" 65 2 "SubmissionFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.2>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<narrative "I can feel the warmth spreading through my body, a tingling sensation that starts in my core and radiates outward.">>
<</if>>
<<dialog "Seryk" "facewet" "Little Bird... could you... could you spread your legs a bit more? Let me see them better?">>
<<thought "Liora" "faceembarrassedshortpink" "Spread my legs more? The request makes my cheeks burn with embarrassment.">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I suppose... just a little...">>
<<narrative "I slowly spread my legs wider, feeling incredibly exposed and vulnerable. I can feel his eyes devouring every inch of my panties, and his intense stare makes me feel things I shouldn't.">>
<center><img src="images/liora/chapter5/serykntr/panties/3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Spreading Her Legs Wider"></center>
<<quickRoll "Vulnerable Position" "Liora" 65 2 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.15>>
<<thought "Liora" "facewet" "This vulnerable position... I feel so exposed, so helpless. Why does it make me feel this way?">>
<</if>>
<<dialog "Seryk" "facewet" "Oh gods... Liora... they're so perfect," "he moans, his voice thick with desire">>
<<narrative "I can see the effect my spread legs are having on him. His strokes quicken, becoming more intense. His eyes never leave my panties, and his moans grow louder with each passing moment.">>
<center><img src="images/liora/chapter5/serykntr/panties/4.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Looking Away Shyly"></center>
<<quickRoll "Shy Exhibitionism" "Liora" 65 2 "ExhibitionismFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "ExhibitionismFetish" 0.2>>
<<changeAttraction "Liora" "Seryk" 0.1>>
<<thought "Liora" "facewet" "His intense gaze, his desperate strokes while watching me... I can't look at him, it's too embarrassing.">>
<</if>>
<<dialog "Seryk" "facewet" "Little Bird... please... please look at me. I want to see your beautiful face while I look at your panties.">>
<<thought "Liora" "faceembarrassedshortpink" "Look at him? While he's looking at my panties? I can see how close he is, how much this is helping him. After everything he's done for me... maybe I can do this one small thing?">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I suppose... just for a moment...">>
<<narrative "I slowly turn my head to look at him, feeling incredibly exposed and vulnerable. The way he's looking at me while staring at my panties...">>
<center><img src="images/liora/chapter5/serykntr/panties/5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Looking at Seryk"></center>
<<quickRoll "Eye Contact" "Liora" 65 2 "SubmissionFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "SubmissionFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.15>>
<<thought "Liora" "facewet" "Looking into his eyes while he stares at my panties... I can feel the heat spreading through my body.">>
<</if>>
<<dialog "Seryk" "facewet" "Oh gods... Liora... you're so sexy," "he moans, his voice filled with appreciation" "The way you look at me while showing me your panties... and your panties are getting...">>
<<narrative "He suddenly stops mid-sentence, as if catching himself before saying something he shouldn't. I can see the effect my eye contact is having on him. His rhythm becomes more erratic, more desperate.">>
<<dialog "Seryk" "facewet" "Little Bird... I need a little more... maybe you could help me? Guide me a bit?">>
<<thought "Liora" "faceembarrassedshortpink" "Help him? Guide him? What does he mean? I don't know how to help him with this. I'm already showing him my panties, what else can I do?">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I don't know how... what do you mean?">>
<<dialog "Seryk" "facewet" "Maybe... maybe you could tell me what you're thinking? What you're feeling? Just... talk to me while I look at your beautiful panties?">>
<<thought "Liora" "faceembarrassedshortpink" "Talk to him? Tell him what I'm thinking? The thought is so embarrassing. But I can see how much this is helping him...">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I suppose... what should I say?">>
<<dialog "Seryk" "facewet" "Just... just tell me what you're thinking. Maybe... maybe something like 'look at my panties' or 'aren't they beautiful'? Just... whatever comes to mind.">>
<<thought "Liora" "faceembarrassedshortpink" "Tell him to look at my panties? Tell him they're beautiful? The thought is so embarrassing, so intimate. But I can see how much this is helping him, how much more aroused he's becoming. After everything he's done for me... maybe I can do this?">>
<<dialog "Liora" "faceembarrassedshortpink" "I... I suppose... look at my panties... they're... they're beautiful...">>
<<narrative "The words feel so strange coming out of my mouth. But I can see the effect they're having on Seryk. His strokes become faster.">>
<center><img src="images/liora/chapter5/serykntr/panties/6.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming More Assertive"></center>
<<quickRoll "First Assertive Words" "Liora" 65 2 "DominanceFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "DominanceFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.15>>
<<thought "Liora" "facewet" "Speaking these words... commanding him to look at me. I feel powerful. This isn't like me at all.">>
<</if>>
<<dialog "Seryk" "facewet" "Oh gods... Liora... yes... yes... tell me more...">>
<<thought "Liora" "facewet" "Tell him more?">>
<<dialog "Liora" "faceembarrassedshortpink" "Look at my panties... they're so beautiful...">>
<<narrative "The words feel more natural now, more confident. I can see the effect they're having on Seryk. His pace accelerates.">>
<<dialog "Seryk" "facewet" "Oh gods... Liora... yes... yes... more... tell me more...">>
<<thought "Liora" "facewet" "More? He wants me to tell him more?">>
<<dialog "Liora" "faceembarrassedshortpink" "Look at how they hug my body... they're so delicate...">>
<center><img src="images/liora/chapter5/serykntr/panties/7.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming More Assertive"></center>
<<quickRoll "Growing Confidence" "Liora" 60 2 "DominanceFetish" 2>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "DominanceFetish" 0.3>>
<<changeAttraction "Liora" "Seryk" 0.15>>
<<thought "Liora" "facehappyshortpink" "This is actually... kind of fun. I never knew I could make someone so happy just by showing my panties.">>
<</if>>
<center><div style="background: linear-gradient(145deg, rgba(0, 0, 0, 0.9), rgba(20, 20, 20, 0.95)); border-radius: 50%; padding: 20px; margin: 20px 0; display: inline-block; animation: pulse 2s ease-in-out infinite;"><img src="images/liora/tattoo/facesin.webp" style="width: 300px; max-width: 100%; height: auto; border-radius: 50%; display: block;" alt="Serin's dark side"></div></center>
<style>
@keyframes pulse {
0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 20, 147, 0.7); }
50% { transform: scale(1.05); box-shadow: 0 0 20px 10px rgba(255, 20, 147, 0.3); }
100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 20, 147, 0.7); }
}
</style>
<<dialog "Liora" "facehappyshortpink" "You really like them, don't you? My panties?">>
<<narrative "I can't help but smile as I see how much this is affecting him. There's something thrilling about having this kind of power over someone so strong.">>
<center><img src="images/liora/chapter5/serykntr/panties/a1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming More Assertive"></center>
<<dialog "Seryk" "facewet" "Yes... yes, Little Bird... they're amazing... I can't stop looking...">>
<<thought "Liora" "facehappyshortpink" "He's so big and strong, but I'm making him like this just by showing my panties. It's... it's exciting.">>
<<dialog "Liora" "facesmile" "Well... maybe I could show you a bit more? If you promise to keep looking?">>
<center><img src="images/liora/chapter5/serykntr/panties/a2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming More Assertive"></center>
<<quickRoll "Friendly Assertiveness" "Liora" 55 2 "DominanceFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "DominanceFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<changeLust "Liora" 3>>
<<thought "Liora" "facewet" "Making him promise to keep looking... I feel so powerful. This strong man is completely under my spell.">>
<</if>>
<<dialog "Seryk" "facewet" "I promise! I'll keep looking! Please show me more!">>
<<narrative "His desperate promise sends a tingle through my body. I'm starting to understand why this feels so good.">>
<<dialog "Liora" "facesmirk" "Tell me what you're thinking, Seryk. What do you want to do to my panties?">>
<center><img src="images/liora/chapter5/serykntr/panties/d1.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming More Assertive"></center>
<<dialog "Seryk" "facewet" "I... I want to touch them... smell them... taste them...">>
<<thought "Liora" "facewet" "He wants to touch my panties... smell them... taste them... this huge man wants to worship them. The thought makes my heart race and I can feel a warmth growing between my legs.">>
<<dialog "Liora" "facesmirk" "Stroke yourself faster while you look at them. Show me how much you want me.">>
<<quickRoll "Teasing Control" "Liora" 55 2 "DominanceFetish" 3>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "DominanceFetish" 0.4>>
<<changeAttraction "Liora" "Seryk" 0.2>>
<<changeLust "Liora" 3>>
<<thought "Liora" "facewet" "Making him stroke faster... I'm just a small girl, but I'm controlling this strong man. I can feel myself getting wetter.">>
<</if>>
<<dialog "Seryk" "facewet" "Yes! Yes! I'll stroke faster! Please don't stop!">>
<<narrative "His desperate obedience sends tingles through my body. I can feel the power I have over him, and it's making me so aroused. I can feel the wetness between my legs growing.">>
<center><img src="images/liora/chapter5/serykntr/panties/d2.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming More Assertive"></center>
<<dialog "Liora" "facesmirk" "Do you imagine touching them? Feeling how soft they are? Rubbing them against your face?">>
<<dialog "Seryk" "facewet" "Yes! I imagine touching every inch! I want to feel them so badly!">>
<<thought "Liora" "facewet" "He wants to feel my panties... this muscular demon is fantasizing about touching them. The thought makes me so wet.">>
<<dialog "Liora" "facesmirk" "But they don't belong to you, do they? They belong to $humanName.">>
<<dialog "Seryk" "facewet" "I know... I know they're his... but please... let me just look... let me just imagine...">>
<center><img src="images/liora/chapter5/serykntr/panties/d3.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming More Assertive"></center>
<<quickRoll "Power Play" "Liora" 50 2 "DominanceFetish" 4>>
<<if not _tempRollSuccess>>
<<changeFetish "Liora" "DominanceFetish" 0.5>>
<<changeAttraction "Liora" "Seryk" 0.25>>
<<changeLust "Liora" 4>>
<<thought "Liora" "facewet" "Reminding him they belong to $humanName... I'm teasing him with what he can't have. I'm so aroused I can barely think straight.">>
<</if>>
<<dialog "Liora" "facesmirk" "Poor Seryk... so desperate for something you can never have. Stroke yourself harder. Show me how frustrated you are.">>
<<dialog "Seryk" "facewet" "I am! I'm so frustrated! Please! Just a little more!">>
<<narrative "His desperation is so arousing. I can feel my panties getting soaked as I watch him stroke himself. I never knew I could feel this powerful, this desired.">>
<center><img src="images/liora/chapter5/serykntr/panties/d5.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming More Assertive"></center>
<<dialog "Liora" "facesmirk" "Tell me how much you need to finish. Tell me how desperate you are.">>
<<dialog "Seryk" "facewet" "I need it so badly! I'm so desperate! Please let me finish!">>
<<thought "Liora" "facewet" "He's begging me... this huge, strong man is completely at my mercy. I can feel my arousal building to an almost unbearable level. I want to touch myself too.">>
<<dialog "Liora" "facesmirk" "Very well... you may finish for me. But remember - my panties belong to $humanName.">>
<center><img src="images/liora/chapter5/serykntr/panties/do.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; display: block;" alt="Liora Becoming More Assertive"></center>
<<continueBox "SerykLioraManaReplenishmentClimaxRoutine3" "Watch him climax" "">>
<<changeAttraction "Liora" "Seryk" 0.3>>
<<changeAttraction "Seryk" "Liora" 1>>
<<changeFetish "Seryk" "ExhibitionismFetish" 3>>
<<changeFetish "Liora" "ExhibitionismFetish" 0.2>>
<<changeFetish "Liora" "DominanceFetish" 1>>
<<changeFetish "Liora" "SubmissionFetish" 0.5>>
<<changeFetish "Seryk" "SubmissionFetish" 3>>
</div>
<</nobr>>
<<pov "liora" "intimatech5a.mp3">><<nobr>>
<<if !$rylan_combatStats>>
<<set $rylan_combatStats = { maxHealth: 100, currentHealth: 100, maxStamina: 100, currentStamina: 100, physicalPower: 10, agility: 8, willpower: 6, technique: 7, perception: 6 }>>
<</if>>
<<if !$serin_combatStats>>
<<set $serin_combatStats = { maxHealth: 90, currentHealth: 90, maxStamina: 120, currentStamina: 120, physicalPower: 11, agility: 12, willpower: 7, technique: 9, perception: 8 }>>
<</if>>
<<if !$liora_combatStats>>
<<set $liora_combatStats = { maxHealth: 80, currentHealth: 80, maxStamina: 80, currentStamina: 80, physicalPower: 7, agility: 7, willpower: 12, technique: 8, perception: 9 }>>
<</if>>
<<if !$nimeria_combatStats>>
<<set $nimeria_combatStats = { maxHealth: 70, currentHealth: 70, maxStamina: 90, currentStamina: 90, physicalPower: 5, agility: 9, willpower: 15, technique: 12, perception: 14 }>>
<</if>>
<<if !$seryk_combatStats>>
<<set $seryk_combatStats = { maxHealth: 120, currentHealth: 120, maxStamina: 100, currentStamina: 100, physicalPower: 35, agility: 25, willpower: 28, technique: 21, perception: 27 }>>
<</if>>
<<if !$thalor_combatStats>>
<<set $thalor_combatStats = { maxHealth: 110, currentHealth: 110, maxStamina: 90, currentStamina: 90, physicalPower: 80, agility: 70, willpower: 30, technique: 48, perception: 38 }>>
<</if>>
<<if !$mariel_combatStats>>
<<set $mariel_combatStats = { maxHealth: 85, currentHealth: 85, maxStamina: 95, currentStamina: 95, physicalPower: 28, agility: 25, willpower: 84, technique: 60, perception: 55 }>>
<</if>>
<<if $rylan_combatStats.physicalPower < 10>><<set $rylan_combatStats.physicalPower = 10>><</if>>
<<if $rylan_combatStats.agility < 8>><<set $rylan_combatStats.agility = 8>><</if>>
<<if $rylan_combatStats.willpower < 6>><<set $rylan_combatStats.willpower = 6>><</if>>
<<if $rylan_combatStats.technique < 7>><<set $rylan_combatStats.technique = 7>><</if>>
<<if $rylan_combatStats.perception < 30>><<set $rylan_combatStats.perception = 30>><</if>>
<<if $rylan_combatStats.focus < 30>><<set $rylan_combatStats.focus = 30>><</if>>
<<if $rylan_combatStats.vitality < 30>><<set $rylan_combatStats.vitality = 30>><</if>>
<<if $serin_combatStats.physicalPower < 11>><<set $serin_combatStats.physicalPower = 11>><</if>>
<<if $serin_combatStats.agility < 12>><<set $serin_combatStats.agility = 12>><</if>>
<<if $serin_combatStats.willpower < 7>><<set $serin_combatStats.willpower = 7>><</if>>
<<if $serin_combatStats.technique < 9>><<set $serin_combatStats.technique = 9>><</if>>
<<if $serin_combatStats.perception < 30>><<set $serin_combatStats.perception = 30>><</if>>
<<if $serin_combatStats.focus < 30>><<set $serin_combatStats.focus = 30>><</if>>
<<if $serin_combatStats.vitality < 30>><<set $serin_combatStats.vitality = 30>><</if>>
<<if $liora_combatStats.physicalPower < 7>><<set $liora_combatStats.physicalPower = 7>><</if>>
<<if $liora_combatStats.agility < 7>><<set $liora_combatStats.agility = 7>><</if>>
<<if $liora_combatStats.willpower < 12>><<set $liora_combatStats.willpower = 12>><</if>>
<<if $liora_combatStats.technique < 8>><<set $liora_combatStats.technique = 8>><</if>>
<<if $liora_combatStats.perception < 30>><<set $liora_combatStats.perception = 30>><</if>>
<<if $liora_combatStats.focus < 30>><<set $liora_combatStats.focus = 30>><</if>>
<<if $liora_combatStats.vitality < 30>><<set $liora_combatStats.vitality = 30>><</if>>
<<if $nimeria_combatStats.physicalPower < 5>><<set $nimeria_combatStats.physicalPower = 5>><</if>>
<<if $nimeria_combatStats.agility < 9>><<set $nimeria_combatStats.agility = 9>><</if>>
<<if $nimeria_combatStats.willpower < 15>><<set $nimeria_combatStats.willpower = 15>><</if>>
<<if $nimeria_combatStats.technique < 12>><<set $nimeria_combatStats.technique = 12>><</if>>
<<if $nimeria_combatStats.perception < 80>><<set $nimeria_combatStats.perception = 80>><</if>>
<<if $nimeria_combatStats.focus < 40>><<set $nimeria_combatStats.focus = 40>><</if>>
<<if $nimeria_combatStats.vitality < 30>><<set $nimeria_combatStats.vitality = 30>><</if>>
<<if $seryk_combatStats.physicalPower < 35>><<set $seryk_combatStats.physicalPower = 35>><</if>>
<<if $seryk_combatStats.agility < 25>><<set $seryk_combatStats.agility = 25>><</if>>
<<if $seryk_combatStats.willpower < 28>><<set $seryk_combatStats.willpower = 28>><</if>>
<<if $seryk_combatStats.technique < 21>><<set $seryk_combatStats.technique = 21>><</if>>
<<if $seryk_combatStats.perception < 30>><<set $seryk_combatStats.perception = 30>><</if>>
<<if $seryk_combatStats.focus < 30>><<set $seryk_combatStats.focus = 30>><</if>>
<<if $seryk_combatStats.vitality < 30>><<set $seryk_combatStats.vitality = 30>><</if>>
<<if $thalor_combatStats.physicalPower < 80>><<set $thalor_combatStats.physicalPower = 80>><</if>>
<<if $thalor_combatStats.agility < 70>><<set $thalor_combatStats.agility = 70>><</if>>
<<if $thalor_combatStats.willpower < 30>><<set $thalor_combatStats.willpower = 30>><</if>>
<<if $thalor_combatStats.technique < 48>><<set $thalor_combatStats.technique = 48>><</if>>
<<if $thalor_combatStats.perception < 30>><<set $thalor_combatStats.perception = 30>><</if>>
<<if $thalor_combatStats.focus < 30>><<set $thalor_combatStats.focus = 30>><</if>>
<<if $thalor_combatStats.vitality < 40>><<set $thalor_combatStats.vitality = 40>><</if>>
<<if $mariel_combatStats.physicalPower < 28>><<set $mariel_combatStats.physicalPower = 28>><</if>>
<<if $mariel_combatStats.agility < 25>><<set $mariel_combatStats.agility = 25>><</if>>
<<if $mariel_combatStats.willpower < 84>><<set $mariel_combatStats.willpower = 84>><</if>>
<<if $mariel_combatStats.technique < 60>><<set $mariel_combatStats.technique = 60>><</if>>
<<if $mariel_combatStats.perception < 30>><<set $mariel_combatStats.perception = 30>><</if>>
<<if $mariel_combatStats.focus < 35>><<set $mariel_combatStats.focus = 35>><</if>>
<<if $mariel_combatStats.vitality < 30>><<set $mariel_combatStats.vitality = 30>><</if>>
<div class="party-menu">
<div class="menu-header">
<h2>Party Status</h2>
<div class="gold-display">⚜ <<print $gold || 0>> Gold</div>
<div class="menu-nav">
[[⟨ Return|previous()]]
</div>
</div>
<div class="party-grid">
<div class="character-card">
<div class="character-header">
<div class="character-portrait">
<img src="images/chibi-models/rylan.webp" alt="<<print $humanName>>">
</div>
<div class="character-name"><<print $humanName>></div>
</div>
<div class="stat-bars">
<div class="stat-bar hp-bar">
<div class="bar-label">HP</div>
<div class="bar-background">
<div class="bar-fill" style="width: <<print ($rylan_combatStats.currentHealth / $rylan_combatStats.maxHealth * 100)>>%"></div>
</div>
<div class="bar-text"><<print Math.floor($rylan_combatStats.currentHealth)>>/<<print $rylan_combatStats.maxHealth>></div>
</div>
<div class="stat-bar sp-bar">
<div class="bar-label">SP</div>
<div class="bar-background">
<div class="bar-fill" style="width: <<print ($rylan_combatStats.currentStamina / $rylan_combatStats.maxStamina * 100)>>%"></div>
</div>
<div class="bar-text"><<print Math.floor($rylan_combatStats.currentStamina)>>/<<print $rylan_combatStats.maxStamina>></div>
</div>
</div>
<div class="battle-stats">
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #FF6B6B;">PWR:</span>
<span class="stat-value" style="color: #FF6B6B;"><<print ($rylan_combatStats.physicalPower || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #FFD93D;">AGI:</span>
<span class="stat-value" style="color: #FFD93D;"><<print ($rylan_combatStats.agility || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #5DADE2;">TEC:</span>
<span class="stat-value" style="color: #5DADE2;"><<print ($rylan_combatStats.technique || 0).toFixed(1)>></span>
</div>
</div>
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #6BCF7F;">WIL:</span>
<span class="stat-value" style="color: #6BCF7F;"><<print ($rylan_combatStats.willpower || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #9B59B6;">PER:</span>
<span class="stat-value" style="color: #9B59B6;"><<print ($rylan_combatStats.perception || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #00CED1;">FOC:</span>
<span class="stat-value" style="color: #00CED1;"><<print ($rylan_combatStats.focus || 0).toFixed(1)>></span>
</div>
</div>
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #FF69B4;">VIT:</span>
<span class="stat-value" style="color: #FF69B4;"><<print ($rylan_combatStats.vitality || 0).toFixed(1)>></span>
</div>
</div>
</div>
</div>
<div class="character-card">
<div class="character-header">
<div class="character-portrait">
<img src="images/chibi-models/serin.webp" alt="Serin">
</div>
<div class="character-name">Serin</div>
</div>
<div class="stat-bars">
<div class="stat-bar hp-bar">
<div class="bar-label">HP</div>
<div class="bar-background">
<div class="bar-fill" style="width: <<print ($serin_combatStats.currentHealth / $serin_combatStats.maxHealth * 100)>>%"></div>
</div>
<div class="bar-text"><<print Math.floor($serin_combatStats.currentHealth)>>/<<print $serin_combatStats.maxHealth>></div>
</div>
<div class="stat-bar sp-bar">
<div class="bar-label">SP</div>
<div class="bar-background">
<div class="bar-fill" style="width: <<print ($serin_combatStats.currentStamina / $serin_combatStats.maxStamina * 100)>>%"></div>
</div>
<div class="bar-text"><<print Math.floor($serin_combatStats.currentStamina)>>/<<print $serin_combatStats.maxStamina>></div>
</div>
</div>
<div class="battle-stats">
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #FF6B6B;">PWR:</span>
<span class="stat-value" style="color: #FF6B6B;"><<print ($serin_combatStats.physicalPower || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #FFD93D;">AGI:</span>
<span class="stat-value" style="color: #FFD93D;"><<print ($serin_combatStats.agility || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #5DADE2;">TEC:</span>
<span class="stat-value" style="color: #5DADE2;"><<print ($serin_combatStats.technique || 0).toFixed(1)>></span>
</div>
</div>
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #6BCF7F;">WIL:</span>
<span class="stat-value" style="color: #6BCF7F;"><<print ($serin_combatStats.willpower || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #9B59B6;">PER:</span>
<span class="stat-value" style="color: #9B59B6;"><<print ($serin_combatStats.perception || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #00CED1;">FOC:</span>
<span class="stat-value" style="color: #00CED1;"><<print ($serin_combatStats.focus || 0).toFixed(1)>></span>
</div>
</div>
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #FF69B4;">VIT:</span>
<span class="stat-value" style="color: #FF69B4;"><<print ($serin_combatStats.vitality || 0).toFixed(1)>></span>
</div>
</div>
</div>
</div>
<div class="character-card">
<div class="character-header">
<div class="character-portrait">
<img src="images/chibi-models/liora.webp" alt="Liora">
</div>
<div class="character-name">Liora</div>
</div>
<div class="stat-bars">
<div class="stat-bar hp-bar">
<div class="bar-label">HP</div>
<div class="bar-background">
<div class="bar-fill" style="width: <<print ($liora_combatStats.currentHealth / $liora_combatStats.maxHealth * 100)>>%"></div>
</div>
<div class="bar-text"><<print Math.floor($liora_combatStats.currentHealth)>>/<<print $liora_combatStats.maxHealth>></div>
</div>
<div class="stat-bar sp-bar">
<div class="bar-label">SP</div>
<div class="bar-background">
<div class="bar-fill" style="width: <<print ($liora_combatStats.currentStamina / $liora_combatStats.maxStamina * 100)>>%"></div>
</div>
<div class="bar-text"><<print Math.floor($liora_combatStats.currentStamina)>>/<<print $liora_combatStats.maxStamina>></div>
</div>
</div>
<div class="battle-stats">
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #FF6B6B;">PWR:</span>
<span class="stat-value" style="color: #FF6B6B;"><<print ($liora_combatStats.physicalPower || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #FFD93D;">AGI:</span>
<span class="stat-value" style="color: #FFD93D;"><<print ($liora_combatStats.agility || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #5DADE2;">TEC:</span>
<span class="stat-value" style="color: #5DADE2;"><<print ($liora_combatStats.technique || 0).toFixed(1)>></span>
</div>
</div>
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #6BCF7F;">WIL:</span>
<span class="stat-value" style="color: #6BCF7F;"><<print ($liora_combatStats.willpower || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #9B59B6;">PER:</span>
<span class="stat-value" style="color: #9B59B6;"><<print ($liora_combatStats.perception || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #00CED1;">FOC:</span>
<span class="stat-value" style="color: #00CED1;"><<print ($liora_combatStats.focus || 0).toFixed(1)>></span>
</div>
</div>
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #FF69B4;">VIT:</span>
<span class="stat-value" style="color: #FF69B4;"><<print ($liora_combatStats.vitality || 0).toFixed(1)>></span>
</div>
</div>
</div>
</div>
<div class="character-card">
<div class="character-header">
<div class="character-portrait">
<img src="images/chibi-models/nimeria.webp" alt="Nimeria">
</div>
<div class="character-name">Nimeria</div>
</div>
<div class="stat-bars">
<div class="stat-bar hp-bar">
<div class="bar-label">HP</div>
<div class="bar-background">
<div class="bar-fill" style="width: <<print ($nimeria_combatStats.currentHealth / $nimeria_combatStats.maxHealth * 100)>>%"></div>
</div>
<div class="bar-text"><<print Math.floor($nimeria_combatStats.currentHealth)>>/<<print $nimeria_combatStats.maxHealth>></div>
</div>
<div class="stat-bar sp-bar">
<div class="bar-label">SP</div>
<div class="bar-background">
<div class="bar-fill" style="width: <<print ($nimeria_combatStats.currentStamina / $nimeria_combatStats.maxStamina * 100)>>%"></div>
</div>
<div class="bar-text"><<print Math.floor($nimeria_combatStats.currentStamina)>>/<<print $nimeria_combatStats.maxStamina>></div>
</div>
</div>
<div class="battle-stats">
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #FF6B6B;">PWR:</span>
<span class="stat-value" style="color: #FF6B6B;"><<print ($nimeria_combatStats.physicalPower || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #FFD93D;">AGI:</span>
<span class="stat-value" style="color: #FFD93D;"><<print ($nimeria_combatStats.agility || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #5DADE2;">TEC:</span>
<span class="stat-value" style="color: #5DADE2;"><<print ($nimeria_combatStats.technique || 0).toFixed(1)>></span>
</div>
</div>
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #6BCF7F;">WIL:</span>
<span class="stat-value" style="color: #6BCF7F;"><<print ($nimeria_combatStats.willpower || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #9B59B6;">PER:</span>
<span class="stat-value" style="color: #9B59B6;"><<print ($nimeria_combatStats.perception || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #00CED1;">FOC:</span>
<span class="stat-value" style="color: #00CED1;"><<print ($nimeria_combatStats.focus || 0).toFixed(1)>></span>
</div>
</div>
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #FF69B4;">VIT:</span>
<span class="stat-value" style="color: #FF69B4;"><<print ($nimeria_combatStats.vitality || 0).toFixed(1)>></span>
</div>
</div>
</div>
</div>
<div class="character-card">
<div class="character-header">
<div class="character-portrait">
<img src="images/chibi-models/seryk.webp" alt="Seryk">
</div>
<div class="character-name">Seryk</div>
</div>
<div class="stat-bars">
<div class="stat-bar hp-bar">
<div class="bar-label">HP</div>
<div class="bar-background">
<div class="bar-fill" style="width: <<print ($seryk_combatStats.currentHealth / $seryk_combatStats.maxHealth * 100)>>%"></div>
</div>
<div class="bar-text"><<print Math.floor($seryk_combatStats.currentHealth)>>/<<print $seryk_combatStats.maxHealth>></div>
</div>
<div class="stat-bar sp-bar">
<div class="bar-label">SP</div>
<div class="bar-background">
<div class="bar-fill" style="width: <<print ($seryk_combatStats.currentStamina / $seryk_combatStats.maxStamina * 100)>>%"></div>
</div>
<div class="bar-text"><<print Math.floor($seryk_combatStats.currentStamina)>>/<<print $seryk_combatStats.maxStamina>></div>
</div>
</div>
<div class="battle-stats">
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #FF6B6B;">PWR:</span>
<span class="stat-value" style="color: #FF6B6B;"><<print ($seryk_combatStats.physicalPower || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #FFD93D;">AGI:</span>
<span class="stat-value" style="color: #FFD93D;"><<print ($seryk_combatStats.agility || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #5DADE2;">TEC:</span>
<span class="stat-value" style="color: #5DADE2;"><<print ($seryk_combatStats.technique || 0).toFixed(1)>></span>
</div>
</div>
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #6BCF7F;">WIL:</span>
<span class="stat-value" style="color: #6BCF7F;"><<print ($seryk_combatStats.willpower || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #9B59B6;">PER:</span>
<span class="stat-value" style="color: #9B59B6;"><<print ($seryk_combatStats.perception || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #00CED1;">FOC:</span>
<span class="stat-value" style="color: #00CED1;"><<print ($seryk_combatStats.focus || 0).toFixed(1)>></span>
</div>
</div>
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #FF69B4;">VIT:</span>
<span class="stat-value" style="color: #FF69B4;"><<print ($seryk_combatStats.vitality || 0).toFixed(1)>></span>
</div>
</div>
</div>
</div>
<div class="character-card">
<div class="character-header">
<div class="character-portrait">
<img src="images/chibi-models/thalor.webp" alt="Thalor">
</div>
<div class="character-name">Thalor</div>
</div>
<div class="stat-bars">
<div class="stat-bar hp-bar">
<div class="bar-label">HP</div>
<div class="bar-background">
<div class="bar-fill" style="width: <<print ($thalor_combatStats.currentHealth / $thalor_combatStats.maxHealth * 100)>>%"></div>
</div>
<div class="bar-text"><<print Math.floor($thalor_combatStats.currentHealth)>>/<<print $thalor_combatStats.maxHealth>></div>
</div>
<div class="stat-bar sp-bar">
<div class="bar-label">SP</div>
<div class="bar-background">
<div class="bar-fill" style="width: <<print ($thalor_combatStats.currentStamina / $thalor_combatStats.maxStamina * 100)>>%"></div>
</div>
<div class="bar-text"><<print Math.floor($thalor_combatStats.currentStamina)>>/<<print $thalor_combatStats.maxStamina>></div>
</div>
</div>
<div class="battle-stats">
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #FF6B6B;">PWR:</span>
<span class="stat-value" style="color: #FF6B6B;"><<print ($thalor_combatStats.physicalPower || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #FFD93D;">AGI:</span>
<span class="stat-value" style="color: #FFD93D;"><<print ($thalor_combatStats.agility || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #5DADE2;">TEC:</span>
<span class="stat-value" style="color: #5DADE2;"><<print ($thalor_combatStats.technique || 0).toFixed(1)>></span>
</div>
</div>
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #6BCF7F;">WIL:</span>
<span class="stat-value" style="color: #6BCF7F;"><<print ($thalor_combatStats.willpower || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #9B59B6;">PER:</span>
<span class="stat-value" style="color: #9B59B6;"><<print ($thalor_combatStats.perception || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #00CED1;">FOC:</span>
<span class="stat-value" style="color: #00CED1;"><<print ($thalor_combatStats.focus || 0).toFixed(1)>></span>
</div>
</div>
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #FF69B4;">VIT:</span>
<span class="stat-value" style="color: #FF69B4;"><<print ($thalor_combatStats.vitality || 0).toFixed(1)>></span>
</div>
</div>
</div>
</div>
<div class="character-card">
<div class="character-header">
<div class="character-portrait">
<img src="images/chibi-models/mariel.webp" alt="Mariel">
</div>
<div class="character-name">Mariel</div>
</div>
<div class="stat-bars">
<div class="stat-bar hp-bar">
<div class="bar-label">HP</div>
<div class="bar-background">
<div class="bar-fill" style="width: <<print ($mariel_combatStats.currentHealth / $mariel_combatStats.maxHealth * 100)>>%"></div>
</div>
<div class="bar-text"><<print Math.floor($mariel_combatStats.currentHealth)>>/<<print $mariel_combatStats.maxHealth>></div>
</div>
<div class="stat-bar sp-bar">
<div class="bar-label">SP</div>
<div class="bar-background">
<div class="bar-fill" style="width: <<print ($mariel_combatStats.currentStamina / $mariel_combatStats.maxStamina * 100)>>%"></div>
</div>
<div class="bar-text"><<print Math.floor($mariel_combatStats.currentStamina)>>/<<print $mariel_combatStats.maxStamina>></div>
</div>
</div>
<div class="battle-stats">
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #FF6B6B;">PWR:</span>
<span class="stat-value" style="color: #FF6B6B;"><<print ($mariel_combatStats.physicalPower || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #FFD93D;">AGI:</span>
<span class="stat-value" style="color: #FFD93D;"><<print ($mariel_combatStats.agility || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #5DADE2;">TEC:</span>
<span class="stat-value" style="color: #5DADE2;"><<print ($mariel_combatStats.technique || 0).toFixed(1)>></span>
</div>
</div>
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #6BCF7F;">WIL:</span>
<span class="stat-value" style="color: #6BCF7F;"><<print ($mariel_combatStats.willpower || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #9B59B6;">PER:</span>
<span class="stat-value" style="color: #9B59B6;"><<print ($mariel_combatStats.perception || 0).toFixed(1)>></span>
<span class="stat-label" style="color: #00CED1;">FOC:</span>
<span class="stat-value" style="color: #00CED1;"><<print ($mariel_combatStats.focus || 0).toFixed(1)>></span>
</div>
</div>
<div class="stat-row">
<div class="stat-pair">
<span class="stat-label" style="color: #FF69B4;">VIT:</span>
<span class="stat-value" style="color: #FF69B4;"><<print ($mariel_combatStats.vitality || 0).toFixed(1)>></span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="PartyMenu-return">
<<link "⟨ Return">>
<<run Engine.backward()>>
<</link>>
</div>
<</nobr>>
<style>
.party-menu {
width: 90%;
max-width: 1200px;
margin: 0 auto;
padding: 20px;
background: rgba(0, 0, 0, 0.8);
border-radius: 10px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
color: white;
}
.menu-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.menu-header h2 {
margin: 0;
color: #fff;
}
.gold-display {
background: rgba(255, 215, 0, 0.2);
padding: 5px 15px;
border-radius: 4px;
color: #ffd700;
font-weight: bold;
margin: 0 10px;
border: 1px solid rgba(255, 215, 0, 0.3);
text-shadow: 0 0 3px rgba(255, 215, 0, 0.5);
}
.menu-nav a {
color: #fff;
text-decoration: none;
padding: 5px 10px;
border-radius: 5px;
background: rgba(255, 255, 255, 0.1);
}
.party-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
gap: 20px;
margin-top: 20px;
}
.character-card {
background: rgba(30, 30, 30, 0.9);
border-radius: 8px;
padding: 20px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
width: 360px;
margin: 0 auto;
}
.character-header {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 15px;
}
.character-portrait {
width: 64px;
height: 64px;
border-radius: 50%;
overflow: hidden;
border: 2px solid rgba(255, 255, 255, 0.3);
background: rgba(0, 0, 0, 0.2);
display: flex;
align-items: center;
justify-content: center;
}
.character-portrait img {
width: 100%;
height: 100%;
object-fit: cover;
}
.character-name {
font-size: 1.2em;
font-weight: bold;
color: #ff4081;
background: rgba(0, 0, 0, 0.5);
padding: 4px 12px;
border-radius: 4px;
position: absolute;
top: -10px;
left: 10px;
}
.stat-bars {
margin: 15px 0;
}
.stat-bar {
margin: 8px 0;
display: flex;
align-items: center;
gap: 10px;
}
.bar-label {
width: 30px;
font-weight: bold;
}
.bar-background {
flex-grow: 1;
height: 12px;
background: rgba(0, 0, 0, 0.3);
border-radius: 6px;
overflow: hidden;
}
.hp-bar .bar-fill {
background: linear-gradient(to right, #ff4081, #ff80ab);
}
.sp-bar .bar-fill {
background: linear-gradient(to right, #2196f3, #64b5f6);
}
.bar-fill {
height: 100%;
transition: width 0.3s ease;
}
.bar-text {
min-width: 110px;
text-align: right;
}
.battle-stats {
display: flex;
flex-direction: column;
gap: 10px;
margin-top: 15px;
padding: 10px;
background: rgba(0, 0, 0, 0.2);
border-radius: 4px;
}
.stat-row {
display: flex;
justify-content: space-between;
align-items: center;
}
.stat-pair {
display: flex;
gap: 15px;
justify-content: space-between;
flex: 1;
flex-wrap: wrap;
}
.stat-label {
color: #aaa;
font-size: 0.9em;
min-width: 40px;
}
.stat-value {
font-weight: bold;
color: white;
min-width: 30px;
text-align: right;
}
.menu-nav {
background: rgba(0, 0, 0, 0.5);
padding: 5px 15px;
border-radius: 4px;
}
</style><<nobr>>
<!-- Macro to set daily reward amounts -->
<<widget "setDailyRewards">>
<<set $dungeonGoldGeneration = $args[0]>>
<<set $dungeonCrystalGeneration = $args[1]>>
<<set $dungeonEnergyGeneration = $args[2] || 0>>
<<run
// Get prisoner love from dungeon stats
const dungeonStats = window.DungeonManagement ? window.DungeonManagement.calculateStats() : {};
State.temporary.dungeonPrisonerLoveGeneration = dungeonStats.prisonerLove || 0;
>>
<<set $goldIncrease = $args[0]>>
<<set $manaIncrease = $args[1]>>
<<trackOther "Daily" "Gold" $args[0]>>
<<trackOther "Daily" "Crystals" $args[1]>>
<<trackOther "Daily" "Energy" $args[2] || 0>>
<<trackOther "Daily" "PrisonerLove" State.temporary.dungeonPrisonerLoveGeneration>>
<</widget>>
<!-- Macro to give daily rewards -->
<<widget "giveDailyRewards">>
<<run
// Recalculate dungeon stats to get fresh generation values (including population bonuses)
// This updates State.variables.dungeonGoldGeneration, dungeonCrystalGeneration, dungeonEnergyGeneration
const dungeonStats = window.DungeonManagement ? window.DungeonManagement.calculateStats() : {};
// Get prisoner love from stats (not stored in State.variables)
State.temporary.dungeonPrisonerLoveGeneration = dungeonStats.prisonerLove || 0;
>>
<<set _totalGold = ($dungeonGoldGeneration || 0) + ($goldIncrease || 0)>>
<<set _totalCrystals = ($dungeonCrystalGeneration || 0) + ($manaIncrease || 0)>>
<<set _totalEnergy = ($dungeonEnergyGeneration || 0) + ($energyIncrease || 0)>>
<<set _totalPrisonerLove = (State.temporary.dungeonPrisonerLoveGeneration || 0)>>
<<if not $gold>><<set $gold = 0>><</if>>
<<set $gold += _totalGold>>
<<trackOther "Daily Gold" "Reward:" _totalGold>>
<<if not $crystals>><<set $crystals = 0>><</if>>
<<set $crystals += _totalCrystals>>
<<trackOther "Daily Crystals" "Reward:" _totalCrystals>>
<<if not $dungeonEnergy>><<set $dungeonEnergy = 0>><</if>>
<<set $dungeonEnergy += _totalEnergy>>
<<trackOther "Daily Energy" "Reward:" _totalEnergy>>
<<if _totalPrisonerLove > 0>>
<<run (function() {
if (State.variables.dungeonPrisoners && State.variables.dungeonPrisoners.length > 0) {
State.variables.dungeonPrisoners.forEach(function(prisoner) {
if (!prisoner.recruited) {
prisoner.love = (prisoner.love || 0) + _totalPrisonerLove;
}
});
}
})()>>
<<trackOther "Daily Prisoner Love" "Reward:" _totalPrisonerLove>>
<</if>>
<</widget>>
<!-- Macro to display daily rewards (for UI) -->
<<widget "displayDailyRewards">>
<div style="margin: 30px 0; background: linear-gradient(135deg, rgba(255, 215, 0, 0.15), rgba(255, 165, 0, 0.2)); border: 3px solid rgba(255, 215, 0, 0.6); border-radius: 20px; padding: 25px; box-shadow: 0 8px 25px rgba(255, 215, 0, 0.3); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #FFD700, #FFA500, #FF8C00);"></div>
<div style="text-align: center; margin-bottom: 20px;">
<h2 style="color: #FFD700; margin: 0 0 10px 0; font-size: 2.2em; text-shadow: 2px 2px 8px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">🏰 Daily Dungeon Rewards 🏰</h2>
<p style="color: #E6E6FA; font-style: italic; margin: 0; font-size: 1.1em; text-shadow: 1px 1px 4px rgba(0,0,0,0.6);">Your courage in the trials has earned you these daily gifts</p>
</div>
<div style="display: flex; justify-content: center; gap: 30px; flex-wrap: wrap; margin: 20px 0;">
<<run
// Recalculate dungeon stats to get fresh generation values for display
// This updates State.variables.dungeonGoldGeneration, dungeonCrystalGeneration, dungeonEnergyGeneration
const dungeonStats = window.DungeonManagement ? window.DungeonManagement.calculateStats() : {};
// Get prisoner love from stats (not stored in State.variables)
State.temporary.dungeonPrisonerLoveGeneration = dungeonStats.prisonerLove || 0;
>>
<!-- Gold Rewards -->
<<set _displayGold = ($dungeonGoldGeneration || 0) + ($goldIncrease || 0)>>
<<if _displayGold !== 0>>
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.2), rgba(255, 165, 0, 0.3)); border: 2px solid rgba(255, 215, 0, 0.7); border-radius: 15px; padding: 20px; min-width: 180px; text-align: center; box-shadow: 0 4px 15px rgba(255, 215, 0, 0.4);">
<div style="font-size: 3em; margin-bottom: 10px;">💰</div>
<h3 style="color: #FFD700; margin: 0 0 10px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Gold Coins</h3>
<div style="font-size: 2.5em; color: #FFD700; font-weight: bold; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);"><<if _displayGold >= 0>>+<</if>>_displayGold</div>
<p style="color: #E6E6FA; margin: 10px 0 0 0; font-size: 0.9em; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Daily income for your adventures</p>
</div>
<</if>>
<!-- Mana Crystals -->
<<set _displayCrystals = ($dungeonCrystalGeneration || 0) + ($manaIncrease || 0)>>
<<if _displayCrystals !== 0>>
<div style="background: linear-gradient(145deg, rgba(138, 43, 226, 0.2), rgba(75, 0, 130, 0.3)); border: 2px solid rgba(138, 43, 226, 0.7); border-radius: 15px; padding: 20px; min-width: 180px; text-align: center; box-shadow: 0 4px 15px rgba(138, 43, 226, 0.4);">
<div style="font-size: 3em; margin-bottom: 10px;">💎</div>
<h3 style="color: #DDA0DD; margin: 0 0 10px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Mana Crystals</h3>
<div style="font-size: 2.5em; color: #DDA0DD; font-weight: bold; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);"><<if _displayCrystals >= 0>>+<</if>>_displayCrystals</div>
<p style="color: #E6E6FA; margin: 10px 0 0 0; font-size: 0.9em; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Enhance your magical abilities</p>
</div>
<</if>>
<!-- Energy -->
<<set _displayEnergy = ($dungeonEnergyGeneration || 0) + ($energyIncrease || 0)>>
<<if _displayEnergy !== 0>>
<div style="background: linear-gradient(145deg, rgba(0, 255, 127, 0.2), rgba(0, 200, 100, 0.3)); border: 2px solid rgba(0, 255, 127, 0.7); border-radius: 15px; padding: 20px; min-width: 180px; text-align: center; box-shadow: 0 4px 15px rgba(0, 255, 127, 0.4);">
<div style="font-size: 3em; margin-bottom: 10px;">⚡</div>
<h3 style="color: #00FF7F; margin: 0 0 10px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Energy</h3>
<div style="font-size: 2.5em; color: #00FF7F; font-weight: bold; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);"><<if _displayEnergy >= 0>>+<</if>>_displayEnergy</div>
<p style="color: #E6E6FA; margin: 10px 0 0 0; font-size: 0.9em; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Power your daily activities</p>
</div>
<</if>>
<!-- Prisoner Love -->
<<set _displayPrisonerLove = (State.temporary.dungeonPrisonerLoveGeneration || 0)>>
<<if _displayPrisonerLove !== 0>>
<div style="background: linear-gradient(145deg, rgba(255, 105, 180, 0.2), rgba(255, 20, 147, 0.3)); border: 2px solid rgba(255, 105, 180, 0.7); border-radius: 15px; padding: 20px; min-width: 180px; text-align: center; box-shadow: 0 4px 15px rgba(255, 105, 180, 0.4);">
<div style="font-size: 3em; margin-bottom: 10px;">💕</div>
<h3 style="color: #FF69B4; margin: 0 0 10px 0; font-size: 1.8em; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">Prisoner Love</h3>
<div style="font-size: 2.5em; color: #FF69B4; font-weight: bold; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">+_displayPrisonerLove</div>
<p style="color: #E6E6FA; margin: 10px 0 0 0; font-size: 0.9em; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Increase all prisoners' love</p>
</div>
<</if>>
</div>
<div style="text-align: center; margin-top: 15px;">
<p style="color: #E6E6FA; font-style: italic; margin: 0; font-size: 0.95em; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">✨ Rewards will increase as you progress through more trials ✨</p>
</div>
</div>
<</widget>>
<</nobr>><<nobr>>
<<script>>window.AudioSystem.playBGM('nimeria.mp3'); if (window.SoulSystem) { if (window.SoulSystem.normalizeBlessingDescriptionsForAllCharacters) { window.SoulSystem.normalizeBlessingDescriptionsForAllCharacters(); } if (window.SoulSystem.normalizeCorruptionDescriptionsForAllCharacters) { window.SoulSystem.normalizeCorruptionDescriptionsForAllCharacters(); } }<</script>><<set $currentFace = $currentNimeriaFace>><<if not $soulForgeUnlocked>><div class="forge-locked-container"> <div class="locked-message"> <h2>🔒 Soul Forge Locked</h2> <p>The Soul Forge has not yet been established. Complete the laboratory setup in Chapter 3 to unlock this feature.</p>
<div class="nav-button"> <a href="javascript:void(0)" onclick="SugarCube.Engine.backward()">⬅ Go Back</a></div>
</div></div> <<else>> <div class="soulforge-container"> <div class="forge-header"> <div class="forge-title-section"> <div class="forge-icon">🔮</div> <h1 class="forge-title">SOUL FORGE</h1> <p class="forge-subtitle">Reshape the essence of destiny</p></div> <div class="forge-resources"> <div class="gold-display"> <span class="gold-icon">💰</span> <span class="gold-amount"><<print $gold || 0>> Gold</span></div> <div class="weight-controls"> <button class="weight-button" onclick="SoulForge.openWeightEditor()"> <span class="weight-icon">⚖️</span> <span class="weight-text">Fetish Weights</span></button></div></div></div> <div class="forge-content"> <div class="character-forge-grid"> <<set _characters = ["rylan", "liora", "serin", "seryk", "nimeria", "mariel"]>> <<for _char range _characters>> <<set _charName = _char.charAt(0).toUpperCase() + _char.slice(1)>> <<set _effects = State.variables[_char + '_soulEffects'] || []>> <<set _blessing = State.variables[_char + '_soulBlessing'] || 0>> <<set _corruption = State.variables[_char + '_soulCorruption'] || 0>> <<if _char === "mariel" && $characterStages && $characterStages.mariel >= 2>> <<set _imagePath = "images/mariel/stage2/face.webp">> <<else>> <<set _imagePath = "images/" + _char + "/face.webp">> <</if>> <div class="character-forge-card <<if _char === 'seryk' || _char === 'nimeria'>>demon-type<<else>>human-type<</if>>"> <div class="character-forge-header"> <div class="character-portrait-section"> <img @src="_imagePath" class="forge-portrait" @alt="_charName"> <div class="soul-aura-forge <<print _char>>-aura-forge"></div></div> <div class="character-info-section"> <h3 class="character-forge-name"><<if _char === "rylan">><<print $humanName>><<else>><<print _charName>><</if>></h3> <div class="soul-stats-forge"> <div class="blessing-stat-forge">✨ <<print _blessing>></div> <div class="corruption-stat-forge">🌑 <<print _corruption>></div></div></div></div> <div class="effects-forge-section"> <<if _effects.length > 0>> <div class="effects-grid"> <<for _effect range _effects>> <div class="soulforge-effect-item soulforge-<<print _effect.type>>-effect"> <div class="soulforge-effect-info"> <div class="soulforge-effect-header"> <span class="soulforge-effect-icon"><<if _effect.type === "blessing">>✨<<else>>🌑<</if>></span> <span class="soulforge-effect-name"><<print _effect.name>><<if _effect.level && _effect.level > 1>> <span class="soulforge-effect-level">Lv.<<print _effect.level>></span><</if>></span></div> <div class="soulforge-effect-description"><<print _effect.effect>></div></div> <div class="soulforge-effect-actions"> <button class="soulforge-reroll-button" @data-character="_char" @data-index="_effects.indexOf(_effect)" onclick="SoulForge.rerollEffect(this.dataset.character, parseInt(this.dataset.index))"> <span class="soulforge-action-icon">🎲</span> <span class="soulforge-action-text">Reroll</span> <span class="soulforge-action-cost">10G</span></button> <button class="soulforge-remove-button" @data-character="_char" @data-index="_effects.indexOf(_effect)" onclick="SoulForge.removeEffect(this.dataset.character, parseInt(this.dataset.index))"> <span class="soulforge-action-icon">❌</span> <span class="soulforge-action-text">Remove</span> <span class="soulforge-action-cost">50G</span></button></div></div> <</for>></div> <<else>> <div class="no-effects-forge"> <div class="no-effects-icon">🌟</div> <p>Pure soul - no effects to modify</p></div> <</if>></div></div> <</for>></div> </div> <div class="forge-navigation"> <div class="nav-buttons-forge"> <button class="back-button" onclick="SugarCube.Engine.backward()"> <span class="nav-icon">⬅</span> <span class="nav-text">Go Back</span></button> </div></div></div><</if>>
<</nobr>>
<script>
window.SoulForge = {
canRerollEffect: function(character, effectIndex) {
const effects = SugarCube.State.variables[character + '_soulEffects'] || [];
if (effectIndex < 0 || effectIndex >= effects.length) {
return false;
}
const currentEffect = effects[effectIndex];
const effectType = currentEffect.type;
const currentLevel = currentEffect.level || 1;
// Get available effects for this character and type
let availableEffects = [];
if (effectType === "blessing") {
availableEffects = [
{ name: 'Pure Heart', effect: 'Affection gains +20%', type: 'relationship', mechanic: 'affectionBonus' },
{ name: 'Noble Soul', effect: 'Attraction gains +20%', type: 'relationship', mechanic: 'attractionBonus' },
{ name: 'Faithful Spirit', effect: 'Affection gains +20%', type: 'relationship', mechanic: 'affectionBonus' },
{ name: 'Strong Will', effect: 'All fetish gains +20%', type: 'fetish', mechanic: 'fetishGainPercent' },
{ name: 'Pure Mind', effect: 'Feet fetish gains +20%', type: 'fetish', mechanic: 'FeetFetishPercent' },
{ name: 'Sacred Body', effect: 'Smell fetish gains +20%', type: 'fetish', mechanic: 'SmellFetishPercent' },
{ name: 'Divine Focus', effect: 'Submission fetish gains +20%', type: 'fetish', mechanic: 'SubmissionFetishPercent' },
{ name: 'Modest Soul', effect: 'Exhibitionism fetish gains +20%', type: 'fetish', mechanic: 'ExhibitionismFetishPercent' },
{ name: 'Innocent Heart', effect: 'Voyeurism fetish gains +20%', type: 'fetish', mechanic: 'VoyeurismFetishPercent' },
{ name: 'Gentle Spirit', effect: 'Masochism fetish gains +20%', type: 'fetish', mechanic: 'MasochismFetishPercent' },
{ name: 'Compassionate Nature', effect: 'Sadism fetish gains +20%', type: 'fetish', mechanic: 'SadismFetishPercent' },
{ name: 'Free Will', effect: 'Bondage fetish gains +20%', type: 'fetish', mechanic: 'BondageFetishPercent' },
{ name: 'Independent Mind', effect: 'Dominance fetish gains +20%', type: 'fetish', mechanic: 'DominanceFetishPercent' }
];
} else {
const isHuman = ['rylan', 'liora', 'serin'].includes(character.toLowerCase());
const isDemon = ['seryk', 'nimeria'].includes(character.toLowerCase());
if (isHuman) {
availableEffects = [
{ name: 'Lustful Thoughts', effect: 'Lust gains +0.1', type: 'sexual', mechanic: 'lustFlatBonus' },
{ name: 'Wandering Eyes', effect: 'Attraction gains +0.1', type: 'relationship', mechanic: 'attractionFlatBonus' },
{ name: 'Needy Heart', effect: 'Affection gains +0.1', type: 'relationship', mechanic: 'affectionFlatBonus' },
{ name: 'Corrupted Desires', effect: 'All fetish gains +0.1', type: 'fetish', mechanic: 'fetishGainBonus' },
{ name: 'Submissive Urges', effect: 'Submission fetish gains +0.1', type: 'fetish', mechanic: 'SubmissionFetishBonus' },
{ name: 'Voyeuristic Tendencies', effect: 'Voyeurism fetish gains +0.1', type: 'fetish', mechanic: 'VoyeurismFetishBonus' },
{ name: 'Masochistic Streak', effect: 'Masochism fetish gains +0.1', type: 'fetish', mechanic: 'MasochismFetishBonus' },
{ name: 'Curious Mind', effect: 'Feet fetish gains +0.1', type: 'fetish', mechanic: 'FeetFetishBonus' },
{ name: 'Sensitive Body', effect: 'Smell fetish gains +0.1', type: 'fetish', mechanic: 'SmellFetishBonus' },
{ name: 'Depraved Thoughts', effect: 'Armpit fetish gains +0.1', type: 'fetish', mechanic: 'ArmpitFetishBonus' },
{ name: 'Breast Fixation', effect: 'Breast fetish gains +0.1', type: 'fetish', mechanic: 'BreastFetishBonus' },
{ name: 'Ass Obsession', effect: 'Ass fetish gains +0.1', type: 'fetish', mechanic: 'AssFetishBonus' },
{ name: 'Dominant Leaning', effect: 'Dominance fetish gains +0.1', type: 'fetish', mechanic: 'DominanceFetishBonus' },
{ name: 'Saliva Interest', effect: 'Saliva fetish gains +0.1', type: 'fetish', mechanic: 'SalivaFetishBonus' },
{ name: 'Exhibitionist Urges', effect: 'Exhibitionism fetish gains +0.1', type: 'fetish', mechanic: 'ExhibitionismFetishBonus' }
];
} else if (isDemon) {
availableEffects = [
{ name: 'Seductive Presence', effect: 'Others gain +8% more lust around you', type: 'influence', mechanic: 'lustInfluenceBonus' },
{ name: 'Dominant Aura', effect: 'Others gain +8% more attraction to you', type: 'influence', mechanic: 'attractionInfluenceBonus' },
{ name: 'Corrupting Touch', effect: 'Others gain +0.03 more fetish when you trigger it', type: 'influence', mechanic: 'fetishInfluenceBonus' },
{ name: 'Demonic Lust', effect: 'Lust gains +4%', type: 'sexual', mechanic: 'lustGainBonus' },
{ name: 'Charismatic Aura', effect: 'Attraction gains +5%', type: 'relationship', mechanic: 'attractionBonus' },
{ name: 'Dominant Nature', effect: 'Dominance fetish gains +0.05', type: 'fetish', mechanic: 'DominanceFetishBonus' },
{ name: 'Sadistic Pleasure', effect: 'Sadism fetish gains +0.03', type: 'fetish', mechanic: 'SadismFetishBonus' },
{ name: 'Muscle Pride', effect: 'Muscle fetish gains +0.03', type: 'fetish', mechanic: 'MuscleFetishBonus' },
{ name: 'Intoxicating Scent', effect: 'Smell fetish gains +0.03', type: 'fetish', mechanic: 'SmellFetishBonus' },
{ name: 'Foot Dominance', effect: 'Feet fetish gains +0.03', type: 'fetish', mechanic: 'FeetFetishBonus' },
{ name: 'Bondage Master', effect: 'Bondage fetish gains +0.03', type: 'fetish', mechanic: 'BondageFetishBonus' },
{ name: 'Exhibitionist Pride', effect: 'Exhibitionism fetish gains +0.03', type: 'fetish', mechanic: 'ExhibitionismFetishBonus' }
];
} else {
availableEffects = [
{ name: 'Lustful Thoughts', effect: 'Lust gains +0.1', type: 'sexual', mechanic: 'lustFlatBonus' },
{ name: 'Corrupted Desires', effect: 'All fetish gains +0.1', type: 'fetish', mechanic: 'fetishGainBonus' },
{ name: 'Wandering Eyes', effect: 'Attraction gains +0.1', type: 'relationship', mechanic: 'attractionFlatBonus' },
{ name: 'Needy Heart', effect: 'Affection gains +0.1', type: 'relationship', mechanic: 'affectionFlatBonus' }
];
}
}
// Filter out effects that already exist (excluding the current one)
const tempEffects = [...effects];
tempEffects.splice(effectIndex, 1);
const existingEffectNames = tempEffects.map(effect => effect.name);
let uniqueEffects = availableEffects.filter(effect => !existingEffectNames.includes(effect.name));
// ALWAYS exclude the current effect (not just at max level)
uniqueEffects = uniqueEffects.filter(effect => effect.name !== currentEffect.name);
return uniqueEffects.length > 0;
},
rerollEffect: function(character, effectIndex) {
// Check if reroll is possible
if (!this.canRerollEffect(character, effectIndex)) {
this.showMessage("Cannot reroll: Effect at max level and all other effects already present!", "error");
return;
}
const gold = SugarCube.State.variables.gold || 0;
const cost = 10;
if (gold < cost) {
this.showMessage("Not enough gold! Need " + cost + " gold to reroll.", "error");
return;
}
const effects = SugarCube.State.variables[character + '_soulEffects'] || [];
if (effectIndex < 0 || effectIndex >= effects.length) {
this.showMessage("Invalid effect selected.", "error");
return;
}
const oldEffect = effects[effectIndex];
const effectType = oldEffect.type;
const originalLevel = oldEffect.level || 1; // Preserve the original level
const oldEffectName = oldEffect.name; // Store the name of the effect being replaced
// Deduct gold
SugarCube.State.variables.gold -= cost;
// Get available effects lists without applying them
let availableEffects = [];
if (effectType === "blessing") {
availableEffects = [
// Relationship Effects
{ name: 'Pure Heart', effect: 'Affection gains +20%', type: 'relationship', mechanic: 'affectionBonus' },
{ name: 'Noble Soul', effect: 'Attraction gains +20%', type: 'relationship', mechanic: 'attractionBonus' },
{ name: 'Faithful Spirit', effect: 'Affection gains +2%', type: 'relationship', mechanic: 'affectionBonus' },
// General Fetish Development (percentage)
{ name: 'Strong Will', effect: 'All fetish gains +2%', type: 'fetish', mechanic: 'fetishGainPercent' },
// Specific Fetish Development (percentage)
{ name: 'Pure Mind', effect: 'Feet fetish gains +2%', type: 'fetish', mechanic: 'FeetFetishPercent' },
{ name: 'Sacred Body', effect: 'Smell fetish gains +2%', type: 'fetish', mechanic: 'SmellFetishPercent' },
{ name: 'Divine Focus', effect: 'Submission fetish gains +2%', type: 'fetish', mechanic: 'SubmissionFetishPercent' },
{ name: 'Modest Soul', effect: 'Exhibitionism fetish gains +2%', type: 'fetish', mechanic: 'ExhibitionismFetishPercent' },
{ name: 'Innocent Heart', effect: 'Voyeurism fetish gains +2%', type: 'fetish', mechanic: 'VoyeurismFetishPercent' },
{ name: 'Gentle Spirit', effect: 'Masochism fetish gains +2%', type: 'fetish', mechanic: 'MasochismFetishPercent' },
{ name: 'Compassionate Nature', effect: 'Sadism fetish gains +2%', type: 'fetish', mechanic: 'SadismFetishPercent' },
{ name: 'Free Will', effect: 'Bondage fetish gains +2%', type: 'fetish', mechanic: 'BondageFetishPercent' },
{ name: 'Independent Mind', effect: 'Dominance fetish gains +2%', type: 'fetish', mechanic: 'DominanceFetishPercent' }
];
} else {
const isHuman = ['rylan', 'liora', 'serin'].includes(character.toLowerCase());
const isDemon = ['seryk', 'nimeria'].includes(character.toLowerCase());
if (isHuman) {
availableEffects = [
// Lust and Attraction Effects
{ name: 'Lustful Thoughts', effect: 'Lust gains +0.1', type: 'sexual', mechanic: 'lustFlatBonus' },
{ name: 'Wandering Eyes', effect: 'Attraction gains +0.1', type: 'relationship', mechanic: 'attractionFlatBonus' },
{ name: 'Needy Heart', effect: 'Affection gains +0.1', type: 'relationship', mechanic: 'affectionFlatBonus' },
// General Fetish Development
{ name: 'Corrupted Desires', effect: 'All fetish gains +0.1', type: 'fetish', mechanic: 'fetishGainBonus' },
// Submissive Fetishes
{ name: 'Submissive Urges', effect: 'Submission fetish gains +0.1', type: 'fetish', mechanic: 'SubmissionFetishBonus' },
{ name: 'Voyeuristic Tendencies', effect: 'Voyeurism fetish gains +0.1', type: 'fetish', mechanic: 'VoyeurismFetishBonus' },
{ name: 'Masochistic Streak', effect: 'Masochism fetish gains +0.1', type: 'fetish', mechanic: 'MasochismFetishBonus' },
// Body Part Fetishes
{ name: 'Curious Mind', effect: 'Feet fetish gains +0.1', type: 'fetish', mechanic: 'FeetFetishBonus' },
{ name: 'Sensitive Body', effect: 'Smell fetish gains +0.1', type: 'fetish', mechanic: 'SmellFetishBonus' },
{ name: 'Depraved Thoughts', effect: 'Armpit fetish gains +0.1', type: 'fetish', mechanic: 'ArmpitFetishBonus' },
{ name: 'Breast Fixation', effect: 'Breast fetish gains +0.1', type: 'fetish', mechanic: 'BreastFetishBonus' },
{ name: 'Ass Obsession', effect: 'Ass fetish gains +0.1', type: 'fetish', mechanic: 'AssFetishBonus' },
{ name: 'Dominant Leaning', effect: 'Dominance fetish gains +0.1', type: 'fetish', mechanic: 'DominanceFetishBonus' },
{ name: 'Saliva Interest', effect: 'Saliva fetish gains +0.1', type: 'fetish', mechanic: 'SalivaFetishBonus' },
{ name: 'Exhibitionist Urges', effect: 'Exhibitionism fetish gains +0.1', type: 'fetish', mechanic: 'ExhibitionismFetishBonus' }
];
} else if (isDemon) {
availableEffects = [
// Influence on Others' Stats
{ name: 'Seductive Presence', effect: 'Others gain +8% more lust around you', type: 'influence', mechanic: 'lustInfluenceBonus' },
{ name: 'Dominant Aura', effect: 'Others gain +8% more attraction to you', type: 'influence', mechanic: 'attractionInfluenceBonus' },
{ name: 'Corrupting Touch', effect: 'Others gain +0.03 more fetish when you trigger it', type: 'influence', mechanic: 'fetishInfluenceBonus' },
// Own Stats
{ name: 'Demonic Lust', effect: 'Lust gains +4%', type: 'sexual', mechanic: 'lustGainBonus' },
{ name: 'Charismatic Aura', effect: 'Attraction gains +5%', type: 'relationship', mechanic: 'attractionBonus' },
// Dominant Fetish Development
{ name: 'Dominant Nature', effect: 'Dominance fetish gains +0.05', type: 'fetish', mechanic: 'DominanceFetishBonus' },
{ name: 'Sadistic Pleasure', effect: 'Sadism fetish gains +0.03', type: 'fetish', mechanic: 'SadismFetishBonus' },
// Physical Fetishes
{ name: 'Muscle Pride', effect: 'Muscle fetish gains +0.03', type: 'fetish', mechanic: 'MuscleFetishBonus' },
{ name: 'Intoxicating Scent', effect: 'Smell fetish gains +0.03', type: 'fetish', mechanic: 'SmellFetishBonus' },
{ name: 'Foot Dominance', effect: 'Feet fetish gains +0.03', type: 'fetish', mechanic: 'FeetFetishBonus' },
// Control Fetishes
{ name: 'Bondage Master', effect: 'Bondage fetish gains +0.03', type: 'fetish', mechanic: 'BondageFetishBonus' },
{ name: 'Exhibitionist Pride', effect: 'Exhibitionism fetish gains +0.03', type: 'fetish', mechanic: 'ExhibitionismFetishBonus' }
];
} else {
availableEffects = [
{ name: 'Lustful Thoughts', effect: 'Lust gains +0.1', type: 'sexual', mechanic: 'lustFlatBonus' },
{ name: 'Corrupted Desires', effect: 'All fetish gains +0.1', type: 'fetish', mechanic: 'fetishGainBonus' },
{ name: 'Wandering Eyes', effect: 'Attraction gains +0.1', type: 'relationship', mechanic: 'attractionFlatBonus' },
{ name: 'Needy Heart', effect: 'Affection gains +0.1', type: 'relationship', mechanic: 'affectionFlatBonus' }
];
}
}
// Filter out effects that already exist (excluding the one being replaced)
const tempEffects = [...effects];
tempEffects.splice(effectIndex, 1); // Remove the effect we're replacing
const existingEffectNames = tempEffects.map(effect => effect.name);
let uniqueEffects = availableEffects.filter(effect => !existingEffectNames.includes(effect.name));
// ALWAYS prevent rerolling into the same effect (not just at max level)
const currentEffectName = oldEffect.name;
uniqueEffects = uniqueEffects.filter(effect => effect.name !== currentEffectName);
if (uniqueEffects.length === 0) {
this.showMessage("No new effects available! All other effects are already present or have 0 weight.", "error");
// Refund the gold since reroll failed
SugarCube.State.variables.gold += cost;
return;
}
// Use weighted selection for ALL effects (both corruption and blessing)
let newEffect = this.selectWeightedEffect(character, uniqueEffects);
// Check if a valid effect was selected (weights might all be 0)
if (!newEffect) {
this.showMessage("Cannot reroll: All available effects have 0 weight!", "error");
// Refund the gold since reroll failed
SugarCube.State.variables.gold += cost;
return;
}
// Remove the old effect (now safe since we preserved the array)
effects.splice(effectIndex, 1);
// Add the new effect at the original position with preserved level and scaled values
effects.splice(effectIndex, 0, {
type: effectType,
name: newEffect.name,
effect: newEffect.effect,
category: newEffect.type,
mechanic: newEffect.mechanic,
level: originalLevel // Use the preserved level instead of hardcoded 1
});
// Update the previous state with the changes so they persist when going back
this.updatePreviousStateWithChanges();
this.showMessage("Reforged '" + oldEffect.name + "' into '" + newEffect.name + "'!", "success");
SugarCube.Engine.show();
},
removeEffect: function(character, effectIndex) {
const gold = SugarCube.State.variables.gold || 0;
const cost = 50;
if (gold < cost) {
this.showMessage("Not enough gold! Need " + cost + " gold to remove.", "error");
return;
}
const effects = SugarCube.State.variables[character + '_soulEffects'] || [];
if (effectIndex < 0 || effectIndex >= effects.length) {
this.showMessage("Invalid effect selected.", "error");
return;
}
const removedEffect = effects[effectIndex];
// Deduct gold
SugarCube.State.variables.gold -= cost;
// Remove the effect
effects.splice(effectIndex, 1);
// Decrease soul blessing/corruption count
if (removedEffect.type === "blessing") {
SugarCube.State.variables[character + '_soulBlessing'] = Math.max(0, (SugarCube.State.variables[character + '_soulBlessing'] || 0) - 1);
} else {
SugarCube.State.variables[character + '_soulCorruption'] = Math.max(0, (SugarCube.State.variables[character + '_soulCorruption'] || 0) - 1);
}
// Update the previous state with the changes so they persist when going back
this.updatePreviousStateWithChanges();
this.showMessage("Purified '" + removedEffect.name + "' from " + character + "'s soul!", "success");
SugarCube.Engine.show();
},
showMessage: function(text, type) {
const messageDiv = document.createElement('div');
messageDiv.className = 'forge-message ' + type;
messageDiv.textContent = text;
messageDiv.style.cssText = `
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: ${type === 'error' ? 'rgba(220, 20, 60, 0.9)' : 'rgba(0, 150, 0, 0.9)'};
color: white;
padding: 20px 30px;
border-radius: 10px;
font-size: 1.2em;
font-weight: bold;
z-index: 10000;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
border: 2px solid ${type === 'error' ? '#ff6b6b' : '#00ff88'};
`;
document.body.appendChild(messageDiv);
setTimeout(() => {
if (messageDiv.parentNode) {
messageDiv.parentNode.removeChild(messageDiv);
}
}, 3000);
},
// Fetish weight editor functions
openWeightEditor: function() {
const characters = ['rylan', 'liora', 'serin', 'seryk', 'nimeria', 'mariel'];
const fetishTypes = [
'FeetFetish', 'SmellFetish', 'ArmpitFetish', 'SalivaFetish', 'BreastFetish',
'AssFetish', 'ThighFetish', 'SubmissionFetish', 'DominanceFetish', 'ExhibitionismFetish',
'VoyeurismFetish', 'BondageFetish', 'MasochismFetish', 'SadismFetish', 'MuscleFetish',
'LustGain', 'AffectionGain', 'AttractionGain', 'GeneralFetishGain'
];
let modalHTML = `
<div id="weight-modal" class="weight-modal">
<div class="weight-modal-content">
<div class="weight-modal-header">
<h2>⚖️ Fetish Weight Editor</h2>
<p>Control the probability of different fetish soul effects appearing for each character.</p>
<button class="close-weight-modal" onclick="SoulForge.closeWeightEditor()">✕</button>
</div>
<div class="weight-character-tabs">
`;
// Character tabs
characters.forEach((char, index) => {
const charName = char === 'rylan' ? (SugarCube.State.variables.humanName || 'Rylan') : char.charAt(0).toUpperCase() + char.slice(1);
modalHTML += `<button class="weight-tab ${index === 0 ? 'active' : ''}" onclick="SoulForge.switchWeightTab('${char}')">${charName}</button>`;
});
modalHTML += `</div><div class="weight-content">`;
// Character weight panels
characters.forEach((char, index) => {
modalHTML += `<div id="weight-panel-${char}" class="weight-panel ${index === 0 ? 'active' : ''}">`;
modalHTML += `<h3>${char === 'rylan' ? (SugarCube.State.variables.humanName || 'Rylan') : char.charAt(0).toUpperCase() + char.slice(1)} - Fetish Weights</h3>`;
modalHTML += `<div class="weight-grid">`;
fetishTypes.forEach(fetish => {
const currentWeight = this.getFetishWeight(char, fetish);
const displayName = fetish.replace('Fetish', '').replace(/([A-Z])/g, ' $1').trim();
modalHTML += `
<div class="weight-item">
<label class="weight-label">${displayName}:</label>
<input type="range" min="0" max="5" step="0.5" value="${currentWeight}"
class="weight-slider"
oninput="SoulForge.updateWeight('${char}', '${fetish}', this.value)"
onchange="SoulForge.updateWeight('${char}', '${fetish}', this.value)">
<span class="weight-value" id="weight-${char}-${fetish}">${currentWeight}x</span>
</div>
`;
});
modalHTML += `</div>`;
modalHTML += `<div class="weight-controls-panel">`;
modalHTML += `<button class="weight-reset-button" onclick="SoulForge.resetWeights('${char}')">Reset to Default</button>`;
modalHTML += `<button class="weight-random-button" onclick="SoulForge.randomizeWeights('${char}')">Randomize</button>`;
modalHTML += `</div>`;
modalHTML += `</div>`;
});
modalHTML += `</div></div></div>`;
// Remove existing modal if present
const existingModal = document.getElementById('weight-modal');
if (existingModal) {
existingModal.remove();
}
// Add modal to page
document.body.insertAdjacentHTML('beforeend', modalHTML);
// Add modal styles
if (!document.getElementById('weight-modal-styles')) {
const styles = document.createElement('style');
styles.id = 'weight-modal-styles';
styles.textContent = this.getWeightModalCSS();
document.head.appendChild(styles);
}
},
closeWeightEditor: function() {
const modal = document.getElementById('weight-modal');
if (modal) {
modal.remove();
}
},
switchWeightTab: function(character) {
// Remove active class from all tabs and panels
document.querySelectorAll('.weight-tab').forEach(tab => tab.classList.remove('active'));
document.querySelectorAll('.weight-panel').forEach(panel => panel.classList.remove('active'));
// Add active class to selected tab and panel
document.querySelector(`[onclick="SoulForge.switchWeightTab('${character}')"]`).classList.add('active');
document.getElementById(`weight-panel-${character}`).classList.add('active');
},
getFetishWeight: function(character, fetishType) {
if (!SugarCube.State.variables.fetishWeights) {
SugarCube.State.variables.fetishWeights = {};
}
if (!SugarCube.State.variables.fetishWeights[character]) {
SugarCube.State.variables.fetishWeights[character] = {};
}
// Use hasOwnProperty to distinguish between undefined and 0
if (SugarCube.State.variables.fetishWeights[character].hasOwnProperty(fetishType)) {
return SugarCube.State.variables.fetishWeights[character][fetishType];
}
return 1.0; // Default only when property doesn't exist
},
updateWeight: function(character, fetishType, value) {
if (!SugarCube.State.variables.fetishWeights) {
SugarCube.State.variables.fetishWeights = {};
}
if (!SugarCube.State.variables.fetishWeights[character]) {
SugarCube.State.variables.fetishWeights[character] = {};
}
SugarCube.State.variables.fetishWeights[character][fetishType] = parseFloat(value);
// Update the current history state to include the weight changes
SugarCube.State.setVar('fetishWeights', SugarCube.State.variables.fetishWeights);
// Also update the previous history states so backward navigation preserves changes
this.updateHistoryStates();
// Update display
const valueSpan = document.getElementById(`weight-${character}-${fetishType}`);
if (valueSpan) {
valueSpan.textContent = value + 'x';
}
},
resetWeights: function(character) {
if (!SugarCube.State.variables.fetishWeights) {
SugarCube.State.variables.fetishWeights = {};
}
SugarCube.State.variables.fetishWeights[character] = {};
// Update the current history state to include the weight changes
SugarCube.State.setVar('fetishWeights', SugarCube.State.variables.fetishWeights);
// Also update the previous history states so backward navigation preserves changes
this.updateHistoryStates();
// Reset all sliders and values for this character
document.querySelectorAll(`#weight-panel-${character} .weight-slider`).forEach(slider => {
slider.value = 1.0;
const fetishType = slider.getAttribute('onchange').match(/'([^']*)',\s*this.value/)[1];
const valueSpan = document.getElementById(`weight-${character}-${fetishType}`);
if (valueSpan) {
valueSpan.textContent = '1.0x';
}
});
this.showMessage(`Reset ${character}'s fetish weights to default.`, "success");
},
randomizeWeights: function(character) {
document.querySelectorAll(`#weight-panel-${character} .weight-slider`).forEach(slider => {
const randomValue = (Math.random() * 5).toFixed(1);
slider.value = randomValue;
const fetishType = slider.getAttribute('onchange').match(/'([^']*)',\s*this.value/)[1];
this.updateWeight(character, fetishType, randomValue);
});
// Update the current history state to include the weight changes
SugarCube.State.setVar('fetishWeights', SugarCube.State.variables.fetishWeights);
// Also update the previous history states so backward navigation preserves changes
this.updateHistoryStates();
this.showMessage(`Randomized ${character}'s fetish weights.`, "success");
},
selectWeightedEffect: function(character, effects) {
// Create weighted array based on fetish weights
const weightedEffects = [];
// Debug information
console.log(`=== Weight Selection Debug for ${character} ===`);
effects.forEach(effect => {
// Map effect mechanic to weight category
const weightCategory = this.getWeightCategory(effect.mechanic);
// Get weight for this category
const weight = this.getFetishWeight(character, weightCategory);
// Add effect multiple times based on weight (weight * 10 for granularity)
// Allow 0 weight to actually mean 0 repetitions
const repeatCount = Math.round(weight * 10);
console.log(`Effect: "${effect.name}" | Mechanic: "${effect.mechanic}" | Category: "${weightCategory}" | Weight: ${weight} | Repeats: ${repeatCount}`);
if (repeatCount > 0) {
for (let i = 0; i < repeatCount; i++) {
weightedEffects.push(effect);
}
}
});
console.log(`Total weighted effects pool size: ${weightedEffects.length}`);
// Select random effect from weighted array
if (weightedEffects.length === 0) {
console.log("No weighted effects available - all weights are 0. Cannot reroll.");
return null; // Return null to indicate no valid effect available
}
const selectedEffect = weightedEffects[Math.floor(Math.random() * weightedEffects.length)];
console.log(`Selected effect: "${selectedEffect.name}"`);
console.log("=== End Weight Debug ===");
return selectedEffect;
},
getWeightCategory: function(mechanic) {
// Map effect mechanics to weight categories
const mechanicToCategory = {
// Fetish-specific bonuses and resistances
'FeetFetishBonus': 'FeetFetish', 'FeetFetishResistance': 'FeetFetish', 'FeetFetishPercent': 'FeetFetish',
'SmellFetishBonus': 'SmellFetish', 'SmellFetishResistance': 'SmellFetish', 'SmellFetishPercent': 'SmellFetish',
'ArmpitFetishBonus': 'ArmpitFetish', 'ArmpitFetishResistance': 'ArmpitFetish', 'ArmpitFetishPercent': 'ArmpitFetish',
'SalivaFetishBonus': 'SalivaFetish', 'SalivaFetishResistance': 'SalivaFetish', 'SalivaFetishPercent': 'SalivaFetish',
'BreastFetishBonus': 'BreastFetish', 'BreastFetishResistance': 'BreastFetish', 'BreastFetishPercent': 'BreastFetish',
'AssFetishBonus': 'AssFetish', 'AssFetishResistance': 'AssFetish', 'AssFetishPercent': 'AssFetish',
'ThighFetishBonus': 'ThighFetish', 'ThighFetishResistance': 'ThighFetish', 'ThighFetishPercent': 'ThighFetish',
'SubmissionFetishBonus': 'SubmissionFetish', 'SubmissionFetishResistance': 'SubmissionFetish', 'SubmissionFetishPercent': 'SubmissionFetish',
'DominanceFetishBonus': 'DominanceFetish', 'DominanceFetishResistance': 'DominanceFetish', 'DominanceFetishPercent': 'DominanceFetish',
'ExhibitionismFetishBonus': 'ExhibitionismFetish', 'ExhibitionismFetishResistance': 'ExhibitionismFetish', 'ExhibitionismFetishPercent': 'ExhibitionismFetish',
'VoyeurismFetishBonus': 'VoyeurismFetish', 'VoyeurismFetishResistance': 'VoyeurismFetish', 'VoyeurismFetishPercent': 'VoyeurismFetish',
'BondageFetishBonus': 'BondageFetish', 'BondageFetishResistance': 'BondageFetish', 'BondageFetishPercent': 'BondageFetish',
'MasochismFetishBonus': 'MasochismFetish', 'MasochismFetishResistance': 'MasochismFetish', 'MasochismFetishPercent': 'MasochismFetish',
'SadismFetishBonus': 'SadismFetish', 'SadismFetishResistance': 'SadismFetish', 'SadismFetishPercent': 'SadismFetish',
'MuscleFetishBonus': 'MuscleFetish', 'MuscleFetishResistance': 'MuscleFetish', 'MuscleFetishPercent': 'MuscleFetish',
// General stat bonuses
'lustGainBonus': 'LustGain',
'lustResistance': 'LustGain',
'lustFlatBonus': 'LustGain',
'affectionBonus': 'AffectionGain',
'attractionBonus': 'AttractionGain',
'affectionFlatBonus': 'AffectionGain',
'attractionFlatBonus': 'AttractionGain',
'fetishGainBonus': 'GeneralFetishGain',
'fetishResistance': 'GeneralFetishGain',
'fetishGainPercent': 'GeneralFetishGain',
// Influence bonuses (demon effects)
'lustInfluenceBonus': 'LustGain',
'attractionInfluenceBonus': 'AttractionGain',
'fetishInfluenceBonus': 'GeneralFetishGain'
};
// Return mapped category or default to general category
return mechanicToCategory[mechanic] || 'GeneralFetishGain';
},
updateHistoryStates: function() {
// Update all history states to include current fetish weights
// This ensures that backward navigation preserves the weight changes
if (SugarCube.State.variables.fetishWeights && SugarCube.State.history) {
try {
// Update the current fetish weights in all history states
const currentWeights = SugarCube.State.variables.fetishWeights;
// Update each state in the history
for (let i = 0; i < SugarCube.State.length; i++) {
const historyState = SugarCube.State.index(i);
if (historyState && historyState.variables) {
historyState.variables.fetishWeights = JSON.parse(JSON.stringify(currentWeights));
}
}
} catch (e) {
// If direct history modification fails, fall back to normal state setting
console.warn('Could not update history states directly:', e);
}
}
},
updatePreviousStateWithChanges: function() {
// Update the previous state with current soul effects so changes persist when going back
if (SugarCube.State.history && SugarCube.State.length > 1) {
try {
const characters = ['rylan', 'liora', 'serin', 'seryk', 'nimeria', 'mariel'];
// Get the previous state (where the user will go back to)
const previousStateIndex = SugarCube.State.length - 2;
const previousState = SugarCube.State.index(previousStateIndex);
if (previousState && previousState.variables) {
// Update soul effects, blessing counts, and corruption counts in the previous state
characters.forEach(char => {
const effectsVar = char + '_soulEffects';
const blessingVar = char + '_soulBlessing';
const corruptionVar = char + '_soulCorruption';
// Copy current values to previous state
if (SugarCube.State.variables[effectsVar]) {
previousState.variables[effectsVar] = JSON.parse(JSON.stringify(SugarCube.State.variables[effectsVar]));
}
if (SugarCube.State.variables[blessingVar] !== undefined) {
previousState.variables[blessingVar] = SugarCube.State.variables[blessingVar];
}
if (SugarCube.State.variables[corruptionVar] !== undefined) {
previousState.variables[corruptionVar] = SugarCube.State.variables[corruptionVar];
}
});
// Also update gold since it's spent in Soul Forge
if (SugarCube.State.variables.gold !== undefined) {
previousState.variables.gold = SugarCube.State.variables.gold;
}
// Reset the Soul Forge flag in the previous state so it doesn't interfere with future gameplay
previousState.variables.soulForgeActive = false;
}
} catch (e) {
console.warn('Could not update previous state with changes:', e);
}
}
},
getWeightModalCSS: function() {
return `
.weight-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.8);
z-index: 10000;
display: flex;
align-items: center;
justify-content: center;
}
.weight-modal-content {
background: linear-gradient(145deg, rgba(25, 25, 50, 0.95), rgba(35, 35, 60, 0.95));
border-radius: 15px;
border: 2px solid rgba(138, 43, 226, 0.5);
width: 90%;
max-width: 800px;
max-height: 90%;
overflow-y: auto;
color: #e0e0e0;
}
.weight-modal-header {
padding: 20px;
border-bottom: 1px solid rgba(138, 43, 226, 0.3);
position: relative;
}
.weight-modal-header h2 {
margin: 0 0 10px 0;
color: #ba55d3;
}
.close-weight-modal {
position: absolute;
top: 20px;
right: 20px;
background: none;
border: none;
color: #e0e0e0;
font-size: 1.5em;
cursor: pointer;
padding: 5px;
border-radius: 50%;
width: 35px;
height: 35px;
display: flex;
align-items: center;
justify-content: center;
}
.close-weight-modal:hover {
background: rgba(220, 20, 60, 0.3);
}
.weight-character-tabs {
display: flex;
padding: 0 20px;
gap: 5px;
border-bottom: 1px solid rgba(138, 43, 226, 0.3);
}
.weight-tab {
background: rgba(40, 40, 80, 0.6);
border: none;
color: #e0e0e0;
padding: 12px 20px;
cursor: pointer;
border-radius: 8px 8px 0 0;
transition: background 0.2s ease;
}
.weight-tab.active {
background: rgba(138, 43, 226, 0.4);
color: #ba55d3;
}
.weight-tab:hover {
background: rgba(138, 43, 226, 0.3);
}
.weight-content {
padding: 20px;
}
.weight-panel {
display: none;
}
.weight-panel.active {
display: block;
}
.weight-panel h3 {
color: #ba55d3;
margin-bottom: 20px;
}
.weight-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 15px;
margin-bottom: 20px;
}
.weight-item {
background: rgba(40, 40, 80, 0.4);
padding: 15px;
border-radius: 8px;
border: 1px solid rgba(138, 43, 226, 0.3);
display: flex;
flex-direction: column;
gap: 8px;
}
.weight-label {
font-weight: bold;
color: #dda0dd;
font-size: 0.9em;
}
.weight-slider {
width: 100%;
height: 6px;
border-radius: 3px;
background: rgba(100, 100, 100, 0.3);
outline: none;
-webkit-appearance: none;
}
.weight-slider::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 20px;
height: 20px;
border-radius: 50%;
background: #ba55d3;
cursor: pointer;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.weight-slider::-moz-range-thumb {
width: 20px;
height: 20px;
border-radius: 50%;
background: #ba55d3;
cursor: pointer;
border: none;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.weight-value {
text-align: center;
font-weight: bold;
color: #ffd700;
font-size: 0.9em;
}
.weight-controls-panel {
display: flex;
gap: 15px;
justify-content: center;
margin-top: 20px;
padding-top: 15px;
border-top: 1px solid rgba(138, 43, 226, 0.3);
}
.weight-reset-button, .weight-random-button {
background: linear-gradient(45deg, rgba(138, 43, 226, 0.3), rgba(147, 112, 219, 0.3));
border: 2px solid rgba(138, 43, 226, 0.5);
border-radius: 10px;
padding: 10px 20px;
color: #dda0dd;
cursor: pointer;
font-weight: bold;
transition: background 0.2s ease;
}
.weight-reset-button:hover, .weight-random-button:hover {
background: linear-gradient(45deg, rgba(138, 43, 226, 0.5), rgba(147, 112, 219, 0.5));
}
`;
}
};
</script>
<style>
.forge-locked-container {
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
color: #e0e0e0;
}
.locked-message {
text-align: center;
background: rgba(255, 255, 255, 0.05);
border-radius: 15px;
padding: 40px;
border: 2px solid rgba(220, 20, 60, 0.3);
}
.soulforge-container {
min-height: 100vh;
background: radial-gradient(ellipse at center, rgba(138, 43, 226, 0.2) 0%, rgba(75, 0, 130, 0.3) 35%, rgba(0, 0, 0, 0.9) 100%);
padding: 20px;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
color: #e0e0e0;
position: relative;
overflow-x: hidden;
}
.forge-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 30px;
background: rgba(25, 25, 50, 0.8);
border-radius: 15px;
padding: 25px;
border: 2px solid rgba(138, 43, 226, 0.4);
backdrop-filter: blur(10px);
}
.forge-title-section {
display: flex;
align-items: center;
gap: 20px;
}
.forge-icon {
font-size: 3em;
text-shadow: 0 0 20px rgba(138, 43, 226, 0.8);
}
.forge-title {
font-size: 2.5em;
margin: 0;
background: linear-gradient(45deg, #9370db, #dda0dd, #ba55d3);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-shadow: 0 0 20px rgba(147, 112, 219, 0.5);
}
.forge-subtitle {
font-size: 1em;
opacity: 0.8;
font-style: italic;
color: #dda0dd;
margin: 0;
}
.forge-resources {
display: flex;
align-items: center;
gap: 20px;
}
.gold-display {
background: linear-gradient(45deg, rgba(255, 215, 0, 0.2), rgba(255, 215, 0, 0.1));
border: 2px solid rgba(255, 215, 0, 0.4);
border-radius: 20px;
padding: 12px 20px;
display: flex;
align-items: center;
gap: 10px;
box-shadow: 0 0 15px rgba(255, 215, 0, 0.2);
}
.gold-icon {
font-size: 1.5em;
text-shadow: 0 0 10px rgba(255, 215, 0, 0.6);
}
.gold-amount {
font-size: 1.2em;
font-weight: bold;
color: #ffd700;
}
.weight-controls {
display: flex;
align-items: center;
}
.weight-button {
background: linear-gradient(45deg, rgba(138, 43, 226, 0.3), rgba(147, 112, 219, 0.3));
border: 2px solid rgba(138, 43, 226, 0.5);
border-radius: 15px;
padding: 10px 18px;
color: #dda0dd;
cursor: pointer;
font-weight: bold;
transition: background 0.2s ease;
display: flex;
align-items: center;
gap: 8px;
font-size: 0.9em;
}
.weight-button:hover {
background: linear-gradient(45deg, rgba(138, 43, 226, 0.5), rgba(147, 112, 219, 0.5));
box-shadow: 0 0 15px rgba(138, 43, 226, 0.3);
}
.weight-icon {
font-size: 1.2em;
}
.weight-text {
font-size: 1em;
}
.forge-content {
max-width: 1400px;
margin: 0 auto;
position: relative;
z-index: 2;
}
.character-forge-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
gap: 25px;
margin-bottom: 30px;
}
.character-forge-card {
background: rgba(25, 25, 50, 0.8);
border-radius: 15px;
padding: 20px;
border: 2px solid transparent;
transition: border-color 0.2s ease;
}
.human-type {
border-color: rgba(100, 149, 237, 0.4);
}
.human-type:hover {
border-color: rgba(100, 149, 237, 0.6);
box-shadow: 0 5px 20px rgba(100, 149, 237, 0.2);
}
.demon-type {
border-color: rgba(220, 20, 60, 0.4);
}
.demon-type:hover {
border-color: rgba(220, 20, 60, 0.6);
box-shadow: 0 5px 20px rgba(220, 20, 60, 0.2);
}
.character-forge-header {
display: flex;
align-items: center;
gap: 15px;
margin-bottom: 20px;
padding-bottom: 15px;
border-bottom: 1px solid rgba(138, 43, 226, 0.3);
}
.character-portrait-section {
position: relative;
}
.forge-portrait {
width: 110px;
height: 110px;
border-radius: 50%;
border: 3px solid rgba(255, 255, 255, 0.2);
box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
}
.soul-aura-forge {
position: absolute;
top: -8px;
left: -8px;
right: -8px;
bottom: -8px;
border-radius: 50%;
z-index: -1;
opacity: 0.7;
}
.rylan-aura-forge { background: rgba(100, 149, 237, 0.3); }
.liora-aura-forge { background: rgba(255, 182, 193, 0.3); }
.serin-aura-forge { background: rgba(255, 69, 0, 0.3); }
.seryk-aura-forge { background: rgba(138, 43, 226, 0.3); }
.nimeria-aura-forge { background: rgba(221, 160, 221, 0.3); }
.mariel-aura-forge { background: rgba(255, 215, 0, 0.3); }
.character-info-section {
flex: 1;
}
.character-forge-name {
font-size: 1.4em;
margin: 0 0 8px 0;
color: #fff;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}
.soul-stats-forge {
display: flex;
gap: 10px;
}
.blessing-stat-forge, .corruption-stat-forge {
padding: 6px 12px;
border-radius: 12px;
font-weight: bold;
font-size: 0.9em;
}
.blessing-stat-forge {
background: linear-gradient(45deg, rgba(255, 215, 0, 0.2), rgba(255, 215, 0, 0.1));
border: 1px solid rgba(255, 215, 0, 0.4);
color: #ffd700;
}
.corruption-stat-forge {
background: linear-gradient(45deg, rgba(220, 20, 60, 0.2), rgba(220, 20, 60, 0.1));
border: 1px solid rgba(220, 20, 60, 0.4);
color: #ff6b6b;
}
.effects-forge-section {
min-height: 200px;
}
.effects-grid {
display: grid;
gap: 15px;
}
.soulforge-effect-item {
background: rgba(40, 40, 80, 0.6);
border-radius: 12px;
padding: 15px;
border: 1px solid;
transition: border-color 0.2s ease;
display: flex;
justify-content: space-between;
align-items: center;
gap: 15px;
}
.soulforge-blessing-effect {
border-color: rgba(255, 215, 0, 0.4);
background: linear-gradient(135deg, rgba(255, 215, 0, 0.05), rgba(255, 215, 0, 0.02));
}
.soulforge-blessing-effect:hover {
border-color: rgba(255, 215, 0, 0.6);
}
.soulforge-corruption-effect {
border-color: rgba(220, 20, 60, 0.4);
background: linear-gradient(135deg, rgba(220, 20, 60, 0.05), rgba(220, 20, 60, 0.02));
}
.soulforge-corruption-effect:hover {
border-color: rgba(220, 20, 60, 0.6);
}
.soulforge-effect-info {
flex: 1;
}
.soulforge-effect-header {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 5px;
}
.soulforge-effect-icon {
font-size: 1.2em;
}
.soulforge-effect-name {
font-weight: bold;
color: #fff;
}
.soulforge-effect-level {
font-size: 0.8em;
padding: 2px 6px;
border-radius: 8px;
background: rgba(255, 255, 255, 0.2);
color: #fff;
}
.soulforge-effect-description {
font-size: 0.85em;
opacity: 0.8;
line-height: 1.3;
}
.soulforge-effect-actions {
display: flex;
gap: 8px;
flex-direction: column;
}
.soulforge-reroll-button, .soulforge-remove-button {
background: none;
border: 2px solid;
border-radius: 8px;
padding: 8px 12px;
color: white;
cursor: pointer;
font-size: 0.8em;
font-weight: bold;
transition: background 0.2s ease;
display: flex;
align-items: center;
gap: 5px;
min-width: 110px;
}
.soulforge-reroll-button {
border-color: rgba(255, 165, 0, 0.6);
color: #ffa500;
}
.soulforge-reroll-button:hover {
background: rgba(255, 165, 0, 0.2);
}
.soulforge-reroll-button-disabled {
background: none;
border: 2px solid rgba(100, 100, 100, 0.3);
border-radius: 8px;
padding: 8px 12px;
color: rgba(150, 150, 150, 0.6);
cursor: not-allowed;
font-size: 0.8em;
font-weight: bold;
display: flex;
align-items: center;
gap: 5px;
min-width: 110px;
opacity: 0.5;
}
.soulforge-remove-button {
border-color: rgba(220, 20, 60, 0.6);
color: #dc143c;
}
.soulforge-remove-button:hover {
background: rgba(220, 20, 60, 0.2);
}
.soulforge-action-icon {
font-size: 1em;
}
.soulforge-action-text {
font-size: 0.85em;
}
.soulforge-action-cost {
font-size: 0.75em;
opacity: 0.8;
}
.no-effects-forge {
text-align: center;
padding: 40px 20px;
opacity: 0.6;
font-style: italic;
}
.no-effects-icon {
font-size: 3em;
margin-bottom: 10px;
opacity: 0.5;
}
.forge-controls {
background: rgba(25, 25, 50, 0.6);
border-radius: 15px;
padding: 25px;
margin-bottom: 30px;
border: 1px solid rgba(138, 43, 226, 0.3);
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 25px;
}
.control-section h3, .cost-reference h4 {
color: #ba55d3;
margin-bottom: 15px;
text-shadow: 0 0 5px rgba(186, 85, 211, 0.5);
}
.control-buttons {
display: flex;
gap: 15px;
flex-wrap: wrap;
}
.refresh-button, .overview-button {
background: linear-gradient(45deg, rgba(138, 43, 226, 0.3), rgba(147, 112, 219, 0.3));
border: 2px solid rgba(138, 43, 226, 0.5);
border-radius: 10px;
padding: 12px 18px;
color: #dda0dd;
cursor: pointer;
font-weight: bold;
transition: background 0.2s ease;
display: flex;
align-items: center;
gap: 8px;
}
.refresh-button:hover, .overview-button:hover {
background: linear-gradient(45deg, rgba(138, 43, 226, 0.5), rgba(147, 112, 219, 0.5));
}
.control-icon {
font-size: 1.2em;
}
.cost-grid {
display: flex;
flex-direction: column;
gap: 10px;
}
.cost-item {
display: flex;
align-items: center;
gap: 10px;
padding: 8px;
background: rgba(40, 40, 80, 0.4);
border-radius: 8px;
}
.cost-icon {
font-size: 1.2em;
min-width: 25px;
text-align: center;
}
.forge-navigation {
text-align: center;
margin-top: 30px;
}
.nav-buttons-forge {
display: flex;
justify-content: center;
gap: 20px;
flex-wrap: wrap;
}
.back-button, .tutorial-button {
background: linear-gradient(45deg, rgba(100, 149, 237, 0.3), rgba(70, 130, 180, 0.3));
border: 2px solid rgba(100, 149, 237, 0.5);
border-radius: 20px;
padding: 12px 25px;
color: #87ceeb;
cursor: pointer;
font-weight: bold;
font-size: 1em;
transition: background 0.2s ease;
display: flex;
align-items: center;
gap: 10px;
}
.back-button:hover, .tutorial-button:hover {
background: linear-gradient(45deg, rgba(100, 149, 237, 0.5), rgba(70, 130, 180, 0.5));
}
.nav-icon {
font-size: 1.2em;
}
@media (max-width: 768px) {
.character-forge-grid {
grid-template-columns: 1fr;
}
.forge-header {
flex-direction: column;
gap: 20px;
text-align: center;
}
.forge-controls {
grid-template-columns: 1fr;
}
.control-buttons {
justify-content: center;
}
.nav-buttons-forge {
flex-direction: column;
align-items: center;
}
.effect-actions-forge {
flex-direction: row;
}
}
</style>
<<changeFace $currentNimeriaFace>><<nobr>>
<div class="soul-overview-container"> <div class="soul-header"> <div class="soul-title-glow"> <h1>🌟 SOUL SYSTEM OVERVIEW 🌟</h1> <p class="soul-subtitle">Divine Blessings & Dark Corruption</p> </div> </div> <div class="character-grid"> <div class="character-card human-card"> <div class="character-header"> <div class="character-portrait"> <img src="images/rylan/face.webp" alt="<<print $humanName>>" class="portrait-img"> <div class="soul-aura rylan-aura"></div> </div> <h3 class="character-name"><<print $humanName>></h3> <div class="soul-stats"> <span class="blessing-stat">✨ <<print $rylan_soulBlessing || 0>></span> <span class="corruption-stat">🌑 <<print $rylan_soulCorruption || 0>></span> </div> </div> <div class="soul-effects-container"> <<set _rylanEffects = $rylan_soulEffects || []>> <<if _rylanEffects.length > 0>> <<for _effect range _rylanEffects>> <div class="soul-effect-item <<print _effect.type>>"> <div class="effect-icon"><<if _effect.type === "blessing">>✨<<else>>🌑<</if>></div> <div class="effect-content"> <span class="effect-name"><<print _effect.name>><<if _effect.level && _effect.level > 1>> <span class="effect-level">Lv.<<print _effect.level>></span><</if>></span> <span class="effect-description"><<print _effect.effect>></span> </div> </div> <</for>> <<else>> <div class="no-effects">Pure soul - no effects yet</div> <</if>> </div> </div> <div class="character-card human-card"> <div class="character-header"> <div class="character-portrait"> <img src="images/liora/face.webp" alt="Liora" class="portrait-img"> <div class="soul-aura liora-aura"></div> </div> <h3 class="character-name">Liora</h3> <div class="soul-stats"> <span class="blessing-stat">✨ <<print $liora_soulBlessing || 0>></span> <span class="corruption-stat">🌑 <<print $liora_soulCorruption || 0>></span> </div> </div> <div class="soul-effects-container"> <<set _lioraEffects = $liora_soulEffects || []>> <<if _lioraEffects.length > 0>> <<for _effect range _lioraEffects>> <div class="soul-effect-item <<print _effect.type>>"> <div class="effect-icon"><<if _effect.type === "blessing">>✨<<else>>🌑<</if>></div> <div class="effect-content"> <span class="effect-name"><<print _effect.name>><<if _effect.level && _effect.level > 1>> <span class="effect-level">Lv.<<print _effect.level>></span><</if>></span> <span class="effect-description"><<print _effect.effect>></span> </div> </div> <</for>> <<else>> <div class="no-effects">Pure soul - no effects yet</div> <</if>> </div> </div> <div class="character-card human-card"> <div class="character-header"> <div class="character-portrait"> <img src="images/serin/face.webp" alt="Serin" class="portrait-img"> <div class="soul-aura serin-aura"></div> </div> <h3 class="character-name">Serin</h3> <div class="soul-stats"> <span class="blessing-stat">✨ <<print $serin_soulBlessing || 0>></span> <span class="corruption-stat">🌑 <<print $serin_soulCorruption || 0>></span> </div> </div> <div class="soul-effects-container"> <<set _serinEffects = $serin_soulEffects || []>> <<if _serinEffects.length > 0>> <<for _effect range _serinEffects>> <div class="soul-effect-item <<print _effect.type>>"> <div class="effect-icon"><<if _effect.type === "blessing">>✨<<else>>🌑<</if>></div> <div class="effect-content"> <span class="effect-name"><<print _effect.name>><<if _effect.level && _effect.level > 1>> <span class="effect-level">Lv.<<print _effect.level>></span><</if>></span> <span class="effect-description"><<print _effect.effect>></span> </div> </div> <</for>> <<else>> <div class="no-effects">Pure soul - no effects yet</div> <</if>> </div> </div> <div class="character-card demon-card"> <div class="character-header"> <div class="character-portrait"> <img src="images/seryk/face.webp" alt="Seryk" class="portrait-img"> <div class="soul-aura seryk-aura"></div> </div> <h3 class="character-name">Seryk</h3> <div class="soul-stats"> <span class="blessing-stat">✨ <<print $seryk_soulBlessing || 0>></span> <span class="corruption-stat">🌑 <<print $seryk_soulCorruption || 0>></span> </div> </div> <div class="soul-effects-container"> <<set _serykEffects = $seryk_soulEffects || []>> <<if _serykEffects.length > 0>> <<for _effect range _serykEffects>> <div class="soul-effect-item <<print _effect.type>>"> <div class="effect-icon"><<if _effect.type === "blessing">>✨<<else>>🌑<</if>></div> <div class="effect-content"> <span class="effect-name"><<print _effect.name>><<if _effect.level && _effect.level > 1>> <span class="effect-level">Lv.<<print _effect.level>></span><</if>></span> <span class="effect-description"><<print _effect.effect>></span> </div> </div> <</for>> <<else>> <div class="no-effects">Pure soul - no effects yet</div> <</if>> </div> </div> <div class="character-card demon-card"> <div class="character-header"> <div class="character-portrait"> <img src="images/nimeria/face.webp" alt="Nimeria" class="portrait-img"> <div class="soul-aura nimeria-aura"></div> </div> <h3 class="character-name">Nimeria</h3> <div class="soul-stats"> <span class="blessing-stat">✨ <<print $nimeria_soulBlessing || 0>></span> <span class="corruption-stat">🌑 <<print $nimeria_soulCorruption || 0>></span> </div> </div> <div class="soul-effects-container"> <<set _nimeriaEffects = $nimeria_soulEffects || []>> <<if _nimeriaEffects.length > 0>> <<for _effect range _nimeriaEffects>> <div class="soul-effect-item <<print _effect.type>>"> <div class="effect-icon"><<if _effect.type === "blessing">>✨<<else>>🌑<</if>></div> <div class="effect-content"> <span class="effect-name"><<print _effect.name>><<if _effect.level && _effect.level > 1>> <span class="effect-level">Lv.<<print _effect.level>></span><</if>></span> <span class="effect-description"><<print _effect.effect>></span> </div> </div> <</for>> <<else>> <div class="no-effects">Pure soul - no effects yet</div> <</if>> </div> </div> <div class="character-card human-card"> <div class="character-header"> <div class="character-portrait"> <img src="images/mariel/face.webp" alt="Mariel" class="portrait-img"> <div class="soul-aura mariel-aura"></div> </div> <h3 class="character-name">Mariel</h3> <div class="soul-stats"> <span class="blessing-stat">✨ <<print $mariel_soulBlessing || 0>></span> <span class="corruption-stat">🌑 <<print $mariel_soulCorruption || 0>></span> </div> </div> <div class="soul-effects-container"> <<set _marielEffects = $mariel_soulEffects || []>> <<if _marielEffects.length > 0>> <<for _effect range _marielEffects>> <div class="soul-effect-item <<print _effect.type>>"> <div class="effect-icon"><<if _effect.type === "blessing">>✨<<else>>🌑<</if>></div> <div class="effect-content"> <span class="effect-name"><<print _effect.name>><<if _effect.level && _effect.level > 1>> <span class="effect-level">Lv.<<print _effect.level>></span><</if>></span> <span class="effect-description"><<print _effect.effect>></span> </div> </div> <</for>> <<else>> <div class="no-effects">Pure soul - no effects yet</div> <</if>> </div> </div> </div> <div class="soul-legend"> <div class="legend-section"> <h4>🌟 Soul Path Types</h4> <div class="legend-items"> <div class="legend-item"> <span class="legend-icon blessing">✨</span> <span class="legend-text">Divine Blessing - Pure power through righteousness</span> </div> <div class="legend-item"> <span class="legend-icon corruption">🌑</span> <span class="legend-text">Dark Corruption - Twisted strength through desire</span> </div> </div> </div> <div class="legend-section"> <h4>👥 Character Types</h4> <div class="legend-items"> <div class="legend-item"> <span class="legend-icon human">👤</span> <span class="legend-text">Humans - Tend toward submissive corruption</span> </div> <div class="legend-item"> <span class="legend-icon demon">😈</span> <span class="legend-text">Demons - Tend toward dominant corruption</span> </div> </div> </div> </div> <div class="navigation-section"> <div class="nav-buttons"> <<if $soulForgeUnlocked>><a href="javascript:void(0)" onclick="SugarCube.Engine.play('SoulForge')" class="soul-forge-nav">🔮 Soul Forge</a><</if>> <a href="javascript:void(0)" onclick="SugarCube.Engine.backward()">⬅ Go Back</a> </div> </div> </div>
<</nobr>>
<style>
.soul-overview-container {
min-height: 100vh;
background: linear-gradient(135deg, #0a0a1a 0%, #1a1a2e 25%, #16213e 50%, #2a1810 75%, #1a0a0a 100%);
padding: 20px;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
color: #e0e0e0;
}
.soul-header {
text-align: center;
margin-bottom: 40px;
position: relative;
}
.soul-title-glow {
background: radial-gradient(circle, rgba(255, 215, 0, 0.1) 0%, rgba(139, 0, 0, 0.1) 50%, transparent 70%);
padding: 30px;
border-radius: 20px;
border: 2px solid transparent;
background-clip: padding-box;
position: relative;
}
.soul-title-glow::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(45deg, #ffd700, #ff6b6b, #4a9eff, #ffd700);
border-radius: 20px;
z-index: -1;
animation: borderGlow 3s ease-in-out infinite alternate;
}
@keyframes borderGlow {
0% { opacity: 0.5; transform: scale(1); }
100% { opacity: 0.8; transform: scale(1.02); }
}
.soul-title-glow h1 {
font-size: 2.5em;
margin: 0;
text-shadow: 0 0 20px rgba(255, 215, 0, 0.5), 0 0 40px rgba(139, 0, 0, 0.3);
background: linear-gradient(45deg, #ffd700, #ff6b6b);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.soul-subtitle {
font-size: 1.2em;
margin: 10px 0 0 0;
opacity: 0.8;
font-style: italic;
}
.character-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
gap: 25px;
margin-bottom: 40px;
}
.character-card {
background: rgba(255, 255, 255, 0.05);
border-radius: 15px;
padding: 20px;
border: 2px solid transparent;
position: relative;
overflow: hidden;
transition: all 0.3s ease;
backdrop-filter: blur(10px);
}
.character-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border-radius: 15px;
padding: 2px;
background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
-webkit-mask-composite: exclude;
z-index: -1;
}
.human-card {
border-left: 4px solid #4a9eff;
}
.demon-card {
border-left: 4px solid #ff6b6b;
}
.character-card:hover {
transform: translateY(-5px);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
.character-header {
display: flex;
align-items: center;
margin-bottom: 20px;
gap: 15px;
}
.character-portrait {
position: relative;
width: 110px;
height: 110px;
}
.portrait-img {
width: 110px;
height: 110px;
border-radius: 50%;
border: 3px solid rgba(255, 255, 255, 0.2);
object-fit: cover;
}
.soul-aura {
position: absolute;
top: -5px;
left: -5px;
right: -5px;
bottom: -5px;
border-radius: 50%;
z-index: -1;
animation: auraGlow 2s ease-in-out infinite alternate;
}
.rylan-aura { background: radial-gradient(circle, rgba(74, 158, 255, 0.3) 0%, transparent 70%); }
.liora-aura { background: radial-gradient(circle, rgba(255, 182, 193, 0.3) 0%, transparent 70%); }
.serin-aura { background: radial-gradient(circle, rgba(255, 69, 0, 0.3) 0%, transparent 70%); }
.seryk-aura { background: radial-gradient(circle, rgba(138, 43, 226, 0.3) 0%, transparent 70%); }
.nimeria-aura { background: radial-gradient(circle, rgba(221, 160, 221, 0.3) 0%, transparent 70%); }
.mariel-aura { background: radial-gradient(circle, rgba(255, 215, 0, 0.3) 0%, transparent 70%); }
@keyframes auraGlow {
0% { opacity: 0.5; transform: scale(1); }
100% { opacity: 0.8; transform: scale(1.1); }
}
.character-name {
font-size: 1.4em;
margin: 0;
color: #fff;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
flex-grow: 1;
}
.soul-stats {
display: flex;
flex-direction: column;
gap: 5px;
align-items: flex-end;
}
.blessing-stat, .corruption-stat {
padding: 5px 10px;
border-radius: 15px;
font-weight: bold;
font-size: 0.9em;
min-width: 40px;
text-align: center;
}
.blessing-stat {
background: linear-gradient(45deg, rgba(255, 215, 0, 0.2), rgba(255, 215, 0, 0.1));
border: 1px solid rgba(255, 215, 0, 0.3);
color: #ffd700;
text-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
}
.corruption-stat {
background: linear-gradient(45deg, rgba(139, 0, 0, 0.2), rgba(139, 0, 0, 0.1));
border: 1px solid rgba(139, 0, 0, 0.3);
color: #ff6b6b;
text-shadow: 0 0 10px rgba(255, 107, 107, 0.5);
}
.soul-effects-container {
max-height: 300px;
overflow-y: auto;
padding-right: 10px;
}
.soul-effects-container::-webkit-scrollbar {
width: 6px;
}
.soul-effects-container::-webkit-scrollbar-track {
background: rgba(255, 255, 255, 0.1);
border-radius: 3px;
}
.soul-effects-container::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, 0.3);
border-radius: 3px;
}
.soul-effect-item {
display: flex;
align-items: flex-start;
gap: 12px;
padding: 12px;
margin-bottom: 10px;
border-radius: 10px;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}
.soul-effect-item::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
transition: left 0.5s ease;
}
.soul-effect-item:hover::before {
left: 100%;
}
.soul-effect-item.blessing {
background: linear-gradient(135deg, rgba(255, 215, 0, 0.1), rgba(255, 215, 0, 0.05));
border-left: 3px solid #ffd700;
}
.soul-effect-item.corruption {
background: linear-gradient(135deg, rgba(139, 0, 0, 0.1), rgba(139, 0, 0, 0.05));
border-left: 3px solid #ff6b6b;
}
.effect-icon {
font-size: 1.2em;
min-width: 20px;
text-align: center;
margin-top: 2px;
}
.effect-content {
flex-grow: 1;
}
.effect-name {
display: block;
font-weight: bold;
font-size: 1em;
margin-bottom: 4px;
color: #fff;
}
.effect-level {
font-size: 0.8em;
padding: 2px 6px;
border-radius: 10px;
background: rgba(255, 255, 255, 0.2);
color: #fff;
margin-left: 5px;
}
.effect-description {
display: block;
font-size: 0.85em;
opacity: 0.8;
line-height: 1.3;
}
.no-effects {
text-align: center;
padding: 30px;
opacity: 0.6;
font-style: italic;
color: #ccc;
}
.soul-legend {
background: rgba(255, 255, 255, 0.05);
border-radius: 15px;
padding: 25px;
margin-bottom: 30px;
border: 1px solid rgba(255, 255, 255, 0.1);
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 30px;
}
.legend-section h4 {
margin: 0 0 15px 0;
color: #4a9eff;
font-size: 1.2em;
text-shadow: 0 0 10px rgba(74, 158, 255, 0.3);
}
.legend-items {
display: flex;
flex-direction: column;
gap: 10px;
}
.legend-item {
display: flex;
align-items: center;
gap: 12px;
padding: 8px;
border-radius: 8px;
background: rgba(255, 255, 255, 0.03);
transition: background 0.3s ease;
}
.legend-item:hover {
background: rgba(255, 255, 255, 0.08);
}
.legend-icon {
font-size: 1.2em;
min-width: 25px;
text-align: center;
}
.legend-icon.blessing { color: #ffd700; text-shadow: 0 0 10px rgba(255, 215, 0, 0.5); }
.legend-icon.corruption { color: #ff6b6b; text-shadow: 0 0 10px rgba(255, 107, 107, 0.5); }
.legend-icon.human { color: #4a9eff; text-shadow: 0 0 10px rgba(74, 158, 255, 0.5); }
.legend-icon.demon { color: #ff6b6b; text-shadow: 0 0 10px rgba(255, 107, 107, 0.5); }
.legend-text {
font-size: 0.9em;
opacity: 0.9;
}
.navigation-section {
text-align: center;
}
.nav-buttons {
display: flex;
justify-content: center;
gap: 20px;
flex-wrap: wrap;
}
.nav-buttons a {
padding: 12px 25px;
background: linear-gradient(45deg, rgba(74, 158, 255, 0.2), rgba(74, 158, 255, 0.1));
border: 2px solid rgba(74, 158, 255, 0.3);
border-radius: 25px;
color: #4a9eff;
text-decoration: none;
font-weight: bold;
transition: all 0.3s ease;
text-shadow: 0 0 10px rgba(74, 158, 255, 0.3);
}
.nav-buttons a:hover {
background: linear-gradient(45deg, rgba(74, 158, 255, 0.3), rgba(74, 158, 255, 0.2));
border-color: rgba(74, 158, 255, 0.5);
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(74, 158, 255, 0.2);
}
.soul-forge-nav {
background: linear-gradient(45deg, rgba(138, 43, 226, 0.2), rgba(147, 112, 219, 0.1)) !important;
border: 2px solid rgba(138, 43, 226, 0.3) !important;
color: #dda0dd !important;
text-shadow: 0 0 10px rgba(221, 160, 221, 0.3) !important;
}
.soul-forge-nav:hover {
background: linear-gradient(45deg, rgba(138, 43, 226, 0.3), rgba(147, 112, 219, 0.2)) !important;
border-color: rgba(138, 43, 226, 0.5) !important;
box-shadow: 0 5px 15px rgba(138, 43, 226, 0.2) !important;
}
@media (max-width: 768px) {
.character-grid {
grid-template-columns: 1fr;
}
.soul-legend {
grid-template-columns: 1fr;
}
.nav-buttons {
flex-direction: column;
align-items: center;
}
.soul-title-glow h1 {
font-size: 2em;
}
}
</style>
<<changeFace $currentRylanFace>><<nobr>>
<<if !$combatInitialized>> <<set $currentHealth = $currentHealth || 100>> <<set $combatInitialized = true>> <<set $turnCount = 0>> <</if>><<set $combatLog = ["Battle begins!"]>><<for _enemy range $currentEnemies>> <<set _stats = State.variables[_enemy.toLowerCase() + "_combatStats"]>> <<if _stats.currentHealth <= 0>> <<set _enemyId = "enemy-" + _enemy.toLowerCase()>> <<run $(document).ready(() => { const enemyEl = document.getElementById(_enemyId); if (enemyEl) enemyEl.classList.add('defeated'); })>> <</if>> <</for>> <<for _char range ["Rylan", "Serin", "Liora"]>> <<set _stats = State.variables[_char.toLowerCase() + "_combatStats"]>> <<if _stats.currentHealth <= 0>> <<set _charId = "char-" + _char.toLowerCase()>> <<run $(document).ready(() => { const charEl = document.getElementById(_charId); if (charEl) charEl.classList.add('defeated'); })>> <</if>> <</for>> <div class="combat-container" style="background: url('images/landscapes/forestofbeginning.webp') no-repeat center center; background-size: cover;"> <div class="enemy-section"> <<for _enemy range $currentEnemies>> <<set _baseEnemyName = _enemy.replace(/\d+$/, '')>> <<set _enemyId = "enemy-" + _enemy.toLowerCase()>> <div class="enemy-display" id="$_enemyId"> <div class="enemy-sprite"> <<set _enemyImage to "images/Enemies/" + _baseEnemyName.replace(/\d+/, '') + ".webp">> <img @src=_enemyImage class="chibi-model"> </div> <div class="name"><<print _enemy>></div> <<set _stats = State.variables[_enemy.toLowerCase() + "_combatStats"]>> <div class="stats-container"> <div class="stat-bar hp-bar"> <div class="bar-label">HP</div> <div class="bar-background"> <div class="bar-fill" style="width: <<print (_stats.currentHealth / _stats.maxHealth * 100)>>%"></div> </div> <div class="bar-text"><<print Math.floor(_stats.currentHealth)>>/<<print _stats.maxHealth>></div> </div> </div> </div> <</for>> </div> <div class="combat-log"> <div class="log-entry"><<print $combatLog[$combatLog.length - 1]>></div> </div> <div class="party-section"> <<for _char range ["Rylan", "Serin", "Liora"]>> <<set _charId = "char-" + _char.toLowerCase()>> <div class="character-display" id="$_charId"> <div class="character-sprite"> <<set _imagePath to "images/Chibi-models/" + _char + "back.webp">> <img @src=_imagePath class="chibi-model"> </div> <div class="name"><<if _char === "Rylan">><<print $humanName>><<else>><<print _char>><</if>></div> <<set _stats = State.variables[_char.toLowerCase() + "_combatStats"]>> <div class="stats-container"> <div class="stat-bar hp-bar"> <div class="bar-label">HP</div> <div class="bar-background"> <div class="bar-fill" style="width: <<print (_stats.currentHealth / _stats.maxHealth * 100)>>%"></div> </div> <div class="bar-text"><<print Math.floor(_stats.currentHealth)>>/<<print _stats.maxHealth>></div> </div> <div class="stat-bar sp-bar"> <div class="bar-label">SP</div> <div class="bar-background"> <div class="bar-fill" style="width: <<print (_stats.currentStamina / _stats.maxStamina * 100)>>%"></div> </div> <div class="bar-text"><<print Math.floor(_stats.currentStamina)>>/<<print _stats.maxStamina>></div></div> </div> </div> <</for>> </div> <div class="action-button"> <<script>> setTimeout(function() { Engine.play("CombatContinue"); }, 500); <</script>> </div> </div>
<</nobr>>
<style>
.combat-container {
display: flex;
flex-direction: column;
gap: 20px;
padding: 20px;
border-radius: 10px;
min-height: 600px;
position: relative;
}
.combat-container::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
border-radius: 10px;
z-index: 1;
}
.enemy-section, .party-section, .combat-log, .action-button {
position: relative;
z-index: 2;
}
.enemy-section, .party-section {
display: flex;
justify-content: space-around;
gap: 10px;
}
.enemy-display, .character-display {
background: rgba(0, 0, 0, 0.5);
padding: 10px;
border-radius: 5px;
width: 200px;
display: flex;
flex-direction: column;
align-items: center;
position: relative;
}
.enemy-sprite, .character-sprite {
width: 96px;
height: 96px;
margin-bottom: 10px;
}
.chibi-model {
width: 100%;
height: 100%;
image-rendering: pixelated;
object-fit: contain;
}
.name {
color: white;
font-weight: bold;
margin-bottom: 5px;
text-align: center;
}
.stats-container {
width: 100%;
display: flex;
flex-direction: column;
gap: 5px;
}
.stat-bar {
width: 100%;
display: flex;
align-items: center;
gap: 5px;
height: 20px;
}
.bar-label {
width: 35px;
color: white;
font-size: 12px;
text-align: right;
}
.bar-background {
flex-grow: 1;
height: 100%;
background: rgba(0, 0, 0, 0.3);
border-radius: 3px;
overflow: hidden;
position: relative;
}
.bar-text {
width: 60px;
color: white;
font-size: 12px;
text-align: left;
}
.hp-bar .bar-fill {
position: absolute;
top: 0;
left: 0;
height: 100%;
background: linear-gradient(90deg, #ff4444, #ff6b6b);
transition: width 0.1s ease;
}
.sp-bar .bar-fill {
position: absolute;
top: 0;
left: 0;
height: 100%;
background: linear-gradient(90deg, #4444ff, #6b6bff);
transition: width 0.1s ease;
}
.lust-bar .bar-fill {
position: absolute;
top: 0;
left: 0;
height: 100%;
background: linear-gradient(90deg, #ff44ff, #ff6bff);
transition: width 0.1s ease;
}
.combat-log {
background: rgba(0, 0, 0, 0.5);
padding: 10px;
border-radius: 5px;
color: white;
min-height: 100px;
max-height: 200px;
overflow-y: auto;
text-align: left;
font-size: 14px;
line-height: 1.4;
}
.log-entry {
margin: 4px 0;
padding: 2px 5px;
border-left: 3px solid transparent;
}
.log-entry:nth-child(odd) {
background: rgba(255, 255, 255, 0.1);
border-left-color: #4CAF50;
}
.log-entry:nth-child(even) {
border-left-color: #2196F3;
}
.log-entry:last-child {
border-left-color: #ff4444;
font-weight: bold;
}
.action-button {
text-align: center;
}
.action-button a {
display: inline-block;
padding: 10px 20px;
background: #4CAF50;
color: white;
text-decoration: none;
border-radius: 5px;
transition: background 0.3s;
}
.action-button a:hover {
background: #45a049;
}
.defeated {
opacity: 0.7;
background: rgba(255, 0, 0, 0.2) !important;
pointer-events: none;
}
.defeated .enemy-sprite img,
.defeated .character-sprite img {
filter: grayscale(100%) brightness(70%);
}
.defeated .stat-bar .bar-fill {
background: #660000 !important;
}
</style><<nobr>>
<<set $turnCount += 1>>
<<set _currentActor = null>>
<<set _currentTarget = null>>
<<set _action = "">>
<<set _damage = 0>>
<<set _isHealingAction = false>>
<<set _partyMembers = []>>
<<set _enemies = []>>
<<for _enemy range $currentEnemies>>
<<if State.variables[_enemy.toLowerCase() + "_combatStats"].currentHealth > 0>>
<<run _enemies.push({ name: _enemy, agility: State.variables[_enemy.toLowerCase() + "_combatStats"].agility })>>
<</if>>
<</for>>
<<for _char range ["Rylan", "Serin", "Liora"]>>
<<if State.variables[_char.toLowerCase() + "_combatStats"].currentHealth > 0>>
<<run _partyMembers.push({ name: _char, agility: State.variables[_char.toLowerCase() + "_combatStats"].agility })>>
<</if>>
<</for>>
<<if !_isHealingAction>>
<<set _partyTotalAgility = 0>>
<<set _enemyTotalAgility = 0>>
<<for _member range _partyMembers>>
<<set _partyTotalAgility += _member.agility>>
<</for>>
<<for _enemy range _enemies>>
<<set _enemyTotalAgility += _enemy.agility>>
<</for>>
<<set _isPartyTurn = random(0, _partyTotalAgility + _enemyTotalAgility) < _partyTotalAgility>>
<<if _isPartyTurn>>
<<if !$partyTurnIndex>>
<<set $partyTurnIndex = 0>>
<</if>>
<<set _availablePartyMembers = _partyMembers.filter(member => State.variables[member.name.toLowerCase() + "_combatStats"].currentHealth > 0)>>
<<if _availablePartyMembers.length > 0>>
<<set _currentActor = _availablePartyMembers[$partyTurnIndex % _availablePartyMembers.length].name>>
<<set $partyTurnIndex = ($partyTurnIndex + 1) % _availablePartyMembers.length>>
<</if>>
<<else>>
<<set _totalEnemyAgility = 0>>
<<for _enemy range _enemies>>
<<set _totalEnemyAgility += _enemy.agility>>
<</for>>
<<set _randomRoll = random(0, _totalEnemyAgility)>>
<<set _currentSum = 0>>
<<for _enemy range _enemies>>
<<set _currentSum += _enemy.agility>>
<<if _randomRoll <= _currentSum>>
<<set _currentActor = _enemy.name>>
<<break>>
<</if>>
<</for>>
<</if>>
<</if>>
<<if _currentActor && typeof _currentActor === "string">>
<<set _actorStats = State.variables[_currentActor.toLowerCase() + "_combatStats"]>>
<<if _currentActor === "Liora">>
<<set _needsHealing = false>>
<<set _anyoneBelow50 = false>>
<<for _char range ["Rylan", "Serin", "Liora"]>>
<<if State.variables[_char.toLowerCase() + "_combatStats"].currentHealth > 0>>
<<set _memberStats = State.variables[_char.toLowerCase() + "_combatStats"]>>
<<set _healthPercent = _memberStats.currentHealth / _memberStats.maxHealth>>
<<if _healthPercent < 0.5>>
<<set _anyoneBelow50 = true>>
<<set _needsHealing = true>>
<</if>>
<</if>>
<</for>>
<<if _anyoneBelow50 && _actorStats.currentStamina < 20>>
<<set $combatLog = ["Liora is out of mana! The party must escape!"]>>
<<set $combatState.escape = true>>
<<elseif _needsHealing && _actorStats.currentStamina >= 20>>
<<for _char range ["Rylan", "Serin", "Liora"]>>
<<if State.variables[_char.toLowerCase() + "_combatStats"].currentHealth > 0>>
<<set State.variables[_char.toLowerCase() + "_combatStats"].currentHealth = State.variables[_char.toLowerCase() + "_combatStats"].maxHealth>>
<</if>>
<</for>>
<<set _actorStats.currentStamina -= 20>>
<<set _action = "performs full party heal, restoring everyone to full health">>
<<set _damage = "Full">>
<<set _currentTarget = "Everyone">>
<<set _isHealingAction = true>>
<<set $combatLog = [(_currentActor === "Rylan" ? $humanName : _currentActor) + " " + _action + "!"]>>
<</if>>
<</if>>
<<if !_isHealingAction>>
<<if _isPartyTurn>>
<<set _validTargets = _enemies.map(e => e.name).sort()>>
<<else>>
<<set _validTargets = _partyMembers.map(p => p.name)>>
<</if>>
<<if _validTargets.length > 0>>
<<set _currentTarget = _validTargets[0]>>
<<if _currentTarget>>
<<if _currentActor === "Rylan" && _actorStats.currentStamina >= 25>>
<<set _damage = Math.floor(_actorStats.physicalPower * 1.8)>>
<<set _action = "uses Power Strike, dealing">>
<<set _actorStats.currentStamina -= 25>>
<<elseif _currentActor === "Serin" && _actorStats.currentStamina >= 20>>
<<set _damage = Math.floor(_actorStats.physicalPower * 1.5 + _actorStats.agility * 0.5)>>
<<set _action = "uses Quick Slash, dealing">>
<<set _actorStats.currentStamina -= 20>>
<<else>>
<<set _damage = Math.floor(_actorStats.physicalPower * 1.2)>>
<<set _action = "attacks, dealing">>
<<set _actorStats.currentStamina = Math.min(_actorStats.maxStamina, _actorStats.currentStamina + 5)>>
<</if>>
<</if>>
<<set _targetStats = State.variables[_currentTarget.toLowerCase() + "_combatStats"]>>
<<if _targetStats>>
<<set _targetStats.currentHealth = Math.max(0, _targetStats.currentHealth - _damage)>>
<<set $combatLog = [(_currentActor === "Rylan" ? $humanName : _currentActor) + " " + _action + " " + _damage + " damage to " + (_currentTarget === "Rylan" ? $humanName : _currentTarget) + "!"]>>
<</if>>
<</if>>
<</if>>
<<set _isEnemyActor = !["Rylan", "Serin", "Liora"].includes(_currentActor)>>
<<if _isEnemyActor>>
<<set _baseEnemyName = _currentActor.replace(/\d+$/, '')>>
<<set _imgTag = '<center><img src="images/Chibi-models/' + _baseEnemyName + 'attack.webp" alt="' + _currentActor + ' Attacking" width="200"></center>'>>
<<else>>
<<set _imgTag = '<center><img src="images/Chibi-models/' + _currentActor + 'attack.webp" alt="' + (_currentActor === "Rylan" ? $humanName : _currentActor) + ' Attacking" width="200"></center>'>>
<</if>>
<<print _imgTag>>
<<audio "attack" play>>
<<print $combatLog[$combatLog.length - 1]>>
<</if>>
<<set _allEnemiesDead = _enemies.filter(e => State.variables[e.name.toLowerCase() + "_combatStats"].currentHealth > 0).length === 0>>
<<set _allPlayersDead = _partyMembers.filter(p => State.variables[p.name.toLowerCase() + "_combatStats"].currentHealth > 0).length === 0>>
<<if $combatState && $combatState.escape>>
<<set $combatLog = ["The party escapes due to mana shortage!"]>>
<<goto "Escape">>
<<elseif _allEnemiesDead>>
<<set $combatLog = ["Victory! All enemies have been defeated!"]>>
<<goto "Victory">>
<<elseif _allPlayersDead>>
<<set $combatLog = ["Defeat... Your party has fallen..."]>>
<<goto "Defeat">>
<<else>>
<<timed 2.0s>><<goto "Combat">><</timed>>
<</if>>
<</nobr>><<nobr>>>
<div class="victory-screen"> <h2>Victory!</h2> <div class="rewards"> <div class="gold-reward"> <<set _goldReward = random(10, 30)>> <<set $gold += _goldReward>> 💰 Gold: <<print _goldReward>> </div> <<if $battleDrops && $battleDrops.length > 0>> <div class="stat-drops"> <h3>Items Found</h3> <<for _item range $battleDrops>> <div class="stat-drop-item"> <<print _item.name>> </div> <</for>> </div> <</if>> <div class="post-battle-healing"> <<set _lioraStats = State.variables["liora_combatStats"]>> <<set _healingPerformed = false>> <<set _anyoneNeedsHealing = false>> <<for _char range ["Rylan", "Serin", "Liora"]>> <<set _memberStats = State.variables[_char.toLowerCase() + "_combatStats"]>> <<if _memberStats && _memberStats.currentHealth > 0>> <<set _healthPercent = _memberStats.currentHealth / _memberStats.maxHealth>> <<if _healthPercent < 0.5>> <<set _anyoneNeedsHealing = true>> <</if>> <</if>> <</for>> <<if _anyoneNeedsHealing && _lioraStats && _lioraStats.currentStamina >= 20>> <<for _char range ["Rylan", "Serin", "Liora"]>> <<set _memberStats = State.variables[_char.toLowerCase() + "_combatStats"]>> <<if _memberStats && _memberStats.currentHealth > 0>> <<set _memberStats.currentHealth = _memberStats.maxHealth>> <</if>> <</for>> <<set _lioraStats.currentStamina -= 20>> <<set _healingPerformed = true>> <div class="healing-action"> <span class="dialog-liora">"I need to make sure everyone is fully healed..."</span> <br>Liora's hands glow with intense golden light as she performs a full party heal, restoring everyone to maximum HP! </div> <<elseif !_anyoneNeedsHealing>> <div class="no-healing"> <span class="dialog-liora">"Everyone looks fine. No one is seriously injured."</span> </div> <</if>> </div> <div class="stat-increases"> <h3>Combat Experience Gained</h3> <<for _char range ["Rylan", "Serin", "Liora"]>> <<set _charStats = State.variables[_char.toLowerCase() + "_combatStats"]>> <<if _charStats>> <<set _pwrIncrease = (random(10, 30) / 100)>> <<set _agiIncrease = (random(10, 30) / 100)>> <<set _willIncrease = (random(10, 30) / 100)>> <<set _techIncrease = (random(10, 30) / 100)>> <<set _percIncrease = (random(10, 30) / 100)>> <<set _hpIncrease = random(1, 3)>> <<set _spIncrease = random(1, 3)>> <<set _charStats.physicalPower += _pwrIncrease>> <<set _charStats.agility += _agiIncrease>> <<set _charStats.willpower += _willIncrease>> <<set _charStats.technique += _techIncrease>> <<set _charStats.perception += _percIncrease>> <<set _charStats.maxHealth += _hpIncrease>> <<set _charStats.maxStamina += _spIncrease>> <<trackCombatStat _char "physicalPower" _pwrIncrease>> <<trackCombatStat _char "agility" _agiIncrease>> <<trackCombatStat _char "willpower" _willIncrease>> <<trackCombatStat _char "technique" _techIncrease>> <<trackCombatStat _char "perception" _percIncrease>> <<trackOther _char "maxHealth" _hpIncrease>> <<trackOther _char "maxStamina" _spIncrease>> <div class="stat-increase-char"> <strong><<if _char === "Rylan">><<print $humanName>><<else>><<print _char>><</if>>:</strong> 💪+<<print _pwrIncrease.toFixed(1)>> 🏃+<<print _agiIncrease.toFixed(1)>> 🧠+<<print _willIncrease.toFixed(1)>> ⚔️+<<print _techIncrease.toFixed(1)>> 👁️ <<print _percIncrease.toFixed(1)>> ❤️ <<print _hpIncrease>> ⚡+<<print _spIncrease>> </div> <</if>> <</for>> </div> </div>
<<script>>$(document).trigger(':combatVictory');<</script>>
<<if State.variables.serykxliorantr && State.variables.liora_combatStats>>
<<set _lioraMana = State.variables.liora_combatStats.currentStamina>>
<<set _maxMana = State.variables.liora_combatStats.maxStamina>>
<<set _manaPercent = _lioraMana / _maxMana>>
<<if _manaPercent < 0.5>>
<<set $postBattleSerykAssistance = true>>
<</if>>
<</if>>
<<if $postBattleSerykAssistance>>
[[Continue|SerykManaAssistance]]
<<elseif $combatContext === "chapter1BlackSlimeQuest">>
[[Continue|SlimeVictory]]
<<else>>
[[Continue|ContinueAfterBattle]]
<</if>>
</div>
<</nobr>>
<style>
.victory-screen {
text-align: center;
padding: 20px;
}
.rewards {
margin: 20px 0;
font-size: 1.2em;
}
.gold-reward {
margin: 10px 0;
padding: 10px;
background: rgba(0, 0, 0, 0.2);
border-radius: 5px;
color: #ffd700;
text-shadow: 0 0 3px rgba(255, 215, 0, 0.5);
}
.stat-drops {
margin: 20px 0;
padding: 15px;
background: rgba(0, 0, 0, 0.3);
border-radius: 8px;
}
.stat-drops h3 {
color: #4CAF50;
margin-bottom: 10px;
}
.stat-drop-item {
margin: 8px 0;
padding: 8px;
background: rgba(255, 255, 255, 0.1);
border-radius: 5px;
color: #90CAF9;
text-shadow: 0 0 3px rgba(144, 202, 249, 0.5);
}
.stat-increases {
margin: 20px 0;
padding: 15px;
background: rgba(0, 0, 0, 0.3);
border-radius: 8px;
}
.stat-increases h3 {
color: #4CAF50;
margin-bottom: 10px;
}
.stat-increase-char {
margin: 8px 0;
padding: 8px;
background: rgba(76, 175, 80, 0.1);
border-radius: 5px;
color: #A5D6A7;
text-shadow: 0 0 3px rgba(165, 214, 167, 0.5);
font-family: monospace;
}
.post-battle-healing {
margin: 20px 0;
padding: 15px;
background: rgba(255, 215, 0, 0.1);
border-radius: 8px;
border: 1px solid rgba(255, 215, 0, 0.3);
}
.healing-action {
margin: 8px 0;
padding: 8px;
background: rgba(255, 215, 0, 0.2);
border-radius: 5px;
color: #FFE082;
text-shadow: 0 0 3px rgba(255, 224, 130, 0.5);
}
.no-healing {
margin: 8px 0;
padding: 8px;
color: #B0BEC5;
font-style: italic;
}
</style><<set _charStats = State.variables[$targetChar.toLowerCase() + "_stats"]>> <<if _charStats.statPoints > 0>> <<set _charStats[$statToIncrease]++>> <<set _charStats.statPoints-->> <</if>>
[[Back|Victory]]<div class="escape-screen">
<h2>Emergency Escape!</h2>
<div class="escape-description">
<span class="dialog-liora">"I... I don't have enough mana left to keep everyone safe!"</span> Liora gasps, her magical reserves completely depleted.
The party quickly retreats from the dangerous area, escaping before anyone gets seriously hurt. However, the expedition must be abandoned due to the mana shortage.
</div>
<div class="expedition-results">
<h3>Expedition Failed</h3>
<p>The party was forced to escape due to insufficient healing resources. No rewards were gained, but everyone survived.</p>
</div>
<<set $expeditionFailed = true>>
<<set $partyEscaped = true>>
[[Return to Village|Village]]
</div>
<style>
.escape-screen {
text-align: center;
padding: 20px;
background: rgba(255, 0, 0, 0.1);
border: 2px solid rgba(255, 0, 0, 0.3);
border-radius: 10px;
}
.escape-description {
margin: 20px 0;
padding: 15px;
background: rgba(0, 0, 0, 0.3);
border-radius: 8px;
font-style: italic;
}
.expedition-results {
margin: 20px 0;
padding: 15px;
background: rgba(255, 165, 0, 0.2);
border-radius: 8px;
border: 1px solid rgba(255, 165, 0, 0.4);
}
</style>Your party has been defeated...
[[Try Again->ForestHunt]]<<widget "getDungeonDefenseSystem">>
<<run
// Initialize Dungeon Defense System if not already loaded
if (!window.DungeonDefense) {
window.DungeonDefense = {
// Core defense data
wall: {
maxHP: 100,
currentHP: 100,
defense: 0
},
// Enemy troop definitions
troops: {
beastmen: {
name: "Beastmen Raiders",
maxLust: 50,
attack: 15,
image: "beastman",
prisonerType: "beastman",
maxRewardEnergy: 20,
maxRewardGold: 20,
maxRewardCrystals: 2,
maxRewardPrisoners: 1
},
sora: {
name: "Sora",
maxLust: 300,
attack: 30,
image: "sora",
prisonerType: "none",
maxRewardEnergy: 60,
maxRewardGold: 0,
maxRewardCrystals: 0,
maxRewardPrisoners: 0
}
},
// Current combat state
currentTroop: null,
currentTroopLust: 0,
combatRound: 0,
// Initialize defense system
init: function() {
if (!State.variables.dungeonWallHP) {
State.variables.dungeonWallHP = this.wall.maxHP;
}
if (!State.variables.dungeonWallMaxHP) {
State.variables.dungeonWallMaxHP = this.wall.maxHP;
}
if (!State.variables.dungeonDefense) {
State.variables.dungeonDefense = this.wall.defense;
}
if (!State.variables.dungeonLustEffect) {
State.variables.dungeonLustEffect = 5; // Base lust damage from dungeon
}
// Initialize enemy levels (start at 1)
if (!State.variables.enemyLevels) {
State.variables.enemyLevels = {
beastmen: 1,
sora: 1
};
}
},
// Get enemy level
getEnemyLevel: function(troopType) {
if (!State.variables.enemyLevels) {
State.variables.enemyLevels = {
beastmen: 1,
sora: 1
};
}
return State.variables.enemyLevels[troopType] || 1;
},
// Set enemy level
setEnemyLevel: function(troopType, level) {
if (!State.variables.enemyLevels) {
State.variables.enemyLevels = {
beastmen: 1,
sora: 1
};
}
State.variables.enemyLevels[troopType] = Math.max(1, Math.round(level));
},
// Increase enemy level (on victory)
increaseEnemyLevel: function(troopType) {
const currentLevel = this.getEnemyLevel(troopType);
this.setEnemyLevel(troopType, currentLevel + 1);
},
// Decrease enemy level (on defeat)
decreaseEnemyLevel: function(troopType, levelsLost = 3) {
const currentLevel = this.getEnemyLevel(troopType);
this.setEnemyLevel(troopType, currentLevel - levelsLost);
},
// Start a defense encounter with level-scaled stats
startDefense: function(troopType = "beastmen") {
const baseTroop = this.troops[troopType];
const enemyLevel = this.getEnemyLevel(troopType);
// Create level-scaled troop (scale stats and rewards, NOT prisoners)
this.currentTroop = {
name: baseTroop.name,
maxLust: Math.round(baseTroop.maxLust * enemyLevel),
attack: Math.round(baseTroop.attack * enemyLevel),
image: baseTroop.image,
prisonerType: baseTroop.prisonerType,
maxRewardEnergy: Math.round(baseTroop.maxRewardEnergy * enemyLevel),
maxRewardGold: Math.round((baseTroop.maxRewardGold || 0) * enemyLevel),
maxRewardCrystals: Math.round((baseTroop.maxRewardCrystals || 0) * enemyLevel),
maxRewardPrisoners: baseTroop.maxRewardPrisoners, // NOT scaled by level
level: enemyLevel
};
this.currentTroopLust = 0;
this.combatRound = 0;
// Reset wall HP if needed (for testing)
if (State.variables.dungeonWallHP <= 0) {
State.variables.dungeonWallHP = State.variables.dungeonWallMaxHP;
}
return this.currentTroop;
},
// Get total Eros (uses pre-calculated erosStat from calculateEros widget)
getTotalEros: function() {
return State.variables.erosStat || 0;
},
// Process one round of combat
processRound: function(playerAction = "attack") {
this.combatRound++;
// Enemy attacks wall
const enemyDamage = Math.max(1, this.currentTroop.attack - State.variables.dungeonDefense);
State.variables.dungeonWallHP = Math.max(0, State.variables.dungeonWallHP - enemyDamage);
// Player attacks enemy with lust damage
const lustDamage = State.variables.dungeonLustEffect + this.getTotalEros();
this.currentTroopLust = Math.min(this.currentTroop.maxLust, this.currentTroopLust + lustDamage);
// Check victory/defeat conditions
if (this.currentTroopLust >= this.currentTroop.maxLust) {
return "victory";
} else if (State.variables.dungeonWallHP <= 0) {
return "defeat";
} else {
return "continue";
}
},
// Calculate rewards based on wall HP
calculateRewards: function() {
const wallHPPercent = State.variables.dungeonWallHP / State.variables.dungeonWallMaxHP;
const energyReward = Math.round(this.currentTroop.maxRewardEnergy * wallHPPercent);
const goldReward = Math.round((this.currentTroop.maxRewardGold || 0) * wallHPPercent);
const crystalReward = Math.round((this.currentTroop.maxRewardCrystals || 0) * wallHPPercent);
// Chance-based prisoner system: each possible prisoner has a chance equal to wall HP percentage
let prisonerReward = 0;
if (this.currentTroop.maxRewardPrisoners > 0 && this.currentTroop.prisonerType !== "none") {
for (let i = 0; i < this.currentTroop.maxRewardPrisoners; i++) {
const prisonerRoll = Math.random() * 100;
if (prisonerRoll <= (wallHPPercent * 100)) {
prisonerReward += 1;
}
}
}
return {
energy: energyReward,
gold: goldReward,
crystals: crystalReward,
prisoners: prisonerReward,
prisonerType: this.currentTroop.prisonerType
};
},
// Generate random prisoners
generatePrisoners: function(count, type) {
const prisoners = [];
for (let i = 0; i < count; i++) {
prisoners.push({
type: type,
gender: Math.random() < 0.5 ? "male" : "female",
name: `${type.charAt(0).toUpperCase() + type.slice(1)} Prisoner ${i + 1}`
});
}
return prisoners;
},
// Add prisoners to dungeon
addPrisoners: function(prisoners) {
if (!State.variables.dungeonPrisoners) {
State.variables.dungeonPrisoners = [];
}
State.variables.dungeonPrisoners = State.variables.dungeonPrisoners.concat(prisoners);
}
};
// Initialize the system
window.DungeonDefense.init();
}
>>
<</widget>><<script>>window.AudioSystem.playBGM('forestofthebeginning.mp3');<</script>>
<div class="expedition-container">
<div class="expedition-header">
<h2><<print $currentExpedition.name>></h2>
<p><<print $currentExpedition.description>></p>
</div>
<div class="route-selection">
<h3>Choose Your Route:</h3>
<<for _routeKey, _route range $currentExpedition.routes>>
<div class="route-option">
<div class="route-info">
<h4><<print _route.name>></h4>
<div class="route-stats">
<span class="difficulty">Difficulty: <<print Math.round(_route.difficulty * 100)>>%</span>
<span class="movements">Movements: <<print _route.movements>></span>
<span class="poison">Poison Damage: <<print _route.poisonDamage>> per movement</span>
</div>
</div>
<div class="route-choice">
<<capture _routeKey>>
<<link "Choose Route">>
<<startExpedition $currentExpedition.id _routeKey>>
<<goto "ExpeditionEncounter">>
<</link>>
<</capture>>
</div>
</div>
<</for>>
</div>
<div class="party-status">
<h3>Combat Party:</h3>
<div class="party-grid">
<<for _char range ["Rylan", "Serin", "Seryk"]>>
<<if State.variables[_char.toLowerCase() + "_combatStats"]>>
<<set _stats = State.variables[_char.toLowerCase() + "_combatStats"]>>
<div class="party-member">
<div class="member-name"><<if _char === "Rylan">><<print $humanName>><<else>><<print _char>><</if>></div>
<div class="member-stats">
<div class="stat-bar">
<span>HP: <<print Math.floor(_stats.currentHealth)>>/<<print Math.floor(_stats.maxHealth)>></span>
<div class="bar"><div class="fill hp-fill" style="width: <<print (_stats.currentHealth / _stats.maxHealth * 100)>>%"></div></div>
</div>
<div class="stat-bar">
<span>SP: <<print Math.floor(_stats.currentStamina)>>/<<print Math.floor(_stats.maxStamina)>></span>
<div class="bar"><div class="fill sp-fill" style="width: <<print (_stats.currentStamina / _stats.maxStamina * 100)>>%"></div></div>
</div>
</div>
</div>
<</if>>
<</for>>
</div>
<div class="healer-status">
<h4>Healer Support:</h4>
<<if State.variables.liora_combatStats>>
<<set _lioraStats = State.variables.liora_combatStats>>
<div class="healer-info">
<div class="healer-name">Liora (Support)</div>
<div class="healer-mana">
<span>Mana: <<print Math.floor(_lioraStats.currentStamina)>>/<<print Math.floor(_lioraStats.maxStamina)>></span>
<div class="bar"><div class="fill mana-fill" style="width: <<print (_lioraStats.currentStamina / _lioraStats.maxStamina * 100)>>%"></div></div>
</div>
<div class="heal-options">
<span class="heal-cost">Heal (25 HP): 15 Mana</span>
<span class="revive-cost">Revive (30% HP): 30 Mana</span>
</div>
</div>
<</if>>
</div>
</div>
</div>
<style>
.expedition-container {
max-width: 800px;
margin: 0 auto;
padding: 20px;
background: rgba(0, 0, 0, 0.8);
border-radius: 10px;
color: white;
}
.expedition-header {
text-align: center;
margin-bottom: 30px;
}
.expedition-header h2 {
color: #4CAF50;
margin-bottom: 10px;
}
.route-selection {
margin-bottom: 30px;
}
.route-option {
display: flex;
justify-content: space-between;
align-items: center;
background: rgba(255, 255, 255, 0.1);
padding: 15px;
margin: 10px 0;
border-radius: 5px;
border-left: 4px solid #4CAF50;
}
.route-info h4 {
margin: 0 0 10px 0;
color: #4CAF50;
}
.route-stats {
display: flex;
gap: 15px;
font-size: 14px;
}
.route-stats span {
padding: 2px 8px;
background: rgba(0, 0, 0, 0.3);
border-radius: 3px;
}
.difficulty { border-left: 3px solid #ff4444; }
.movements { border-left: 3px solid #4444ff; }
.poison { border-left: 3px solid #aa44ff; }
.route-choice a {
padding: 10px 20px;
background: #4CAF50;
color: white;
text-decoration: none;
border-radius: 5px;
transition: background 0.3s;
}
.route-choice a:hover {
background: #45a049;
}
.party-status {
border-top: 2px solid #4CAF50;
padding-top: 20px;
}
.party-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
}
.party-member {
background: rgba(255, 255, 255, 0.1);
padding: 15px;
border-radius: 5px;
}
.member-name {
font-weight: bold;
margin-bottom: 10px;
color: #4CAF50;
}
.stat-bar {
margin: 5px 0;
}
.stat-bar span {
font-size: 12px;
display: block;
margin-bottom: 2px;
}
.bar {
width: 100%;
height: 8px;
background: rgba(0, 0, 0, 0.3);
border-radius: 4px;
overflow: hidden;
}
.fill {
height: 100%;
transition: width 0.3s ease;
}
.hp-fill { background: linear-gradient(90deg, #ff4444, #ff6b6b); }
.sp-fill { background: linear-gradient(90deg, #4444ff, #6b6bff); }
.mana-fill { background: linear-gradient(90deg, #44ff44, #6bff6b); }
.healer-status {
margin-top: 20px;
padding-top: 15px;
border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.healer-info {
background: rgba(255, 255, 255, 0.1);
padding: 10px;
border-radius: 5px;
}
.healer-name {
font-weight: bold;
color: #44ff44;
margin-bottom: 5px;
}
.healer-mana {
margin-bottom: 10px;
}
.heal-options {
display: flex;
gap: 15px;
font-size: 12px;
}
.heal-options span {
padding: 2px 6px;
background: rgba(0, 0, 0, 0.3);
border-radius: 3px;
}
</style><<script>>window.AudioSystem.playBGM('forestofthebeginning.mp3');<</script>>
<<generateEncounter>>
<<if $currentEncounter.type === "combat">>
<div class="encounter-container">
<div class="encounter-header">
<h2>Combat Encounter</h2>
<div class="encounter-info">
<span class="progress">Movement <<print $expeditionData.currentMovement + 1>> of <<print $expeditionData.totalMovements>></span>
<span class="encounters">Encounters Completed: <<print $expeditionData.encountersCompleted>></span>
</div>
</div>
<div class="enemy-display">
<<for _enemy range $currentEncounter.enemies>>
<div class="enemy-card">
<div class="enemy-sprite">
<<set _enemyImg = "images/enemies/" + _enemy.name + ".webp">>
<img @src=_enemyImg alt="Enemy" width="100">
</div>
<div class="enemy-info">
<h4><<print _enemy.name>></h4>
<div class="enemy-stats">
<div class="stat">HP: <<print Math.floor(_enemy.currentHealth)>>/<<print Math.floor(_enemy.maxHealth)>></div>
<div class="stat">PWR: <<print _enemy.physicalPower>> | AGI: <<print _enemy.agility>></div>
<div class="stat" style="font-size: 10px; color: #888;">Crit Chance: <<print (_enemy.agility / 10).toFixed(1)>>%</div>
</div>
</div>
</div>
<</for>>
</div>
<div class="combat-actions">
<h3>Choose your approach:</h3>
<div class="action-buttons">
<<link "Engage in Combat">>
<<initializeCombat $currentEncounter.enemies>>
<<goto "RoguelikeCombatUI">>
<</link>>
</div>
</div>
</div>
<<elseif $currentEncounter.type === "treasure">>
<div class="encounter-container">
<div class="encounter-header">
<h2>Treasure Chamber Reached!</h2>
<div class="encounter-info">
<span class="success">Expedition Complete!</span>
</div>
</div>
<div class="treasure-display">
<div class="treasure-chest">
<img src="images/items/treasure_chest.webp" alt="Treasure Chest" width="150">
</div>
<div class="treasure-info">
<h3>Congratulations!</h3>
<p>You've successfully navigated the dungeon and reached the treasure chamber!</p>
<div class="reward-preview">
<span class="gold-reward">Gold Reward: <<print $currentEncounter.goldReward>></span>
</div>
</div>
</div>
<div class="treasure-actions">
<<link "Claim Treasure & Return">>
<<completeExpedition true>>
<<goto "ExpeditionComplete">>
<</link>>
</div>
</div>
<<elseif $currentEncounter.type === "movement">>
<div class="encounter-container">
<div class="encounter-header">
<h2>Moving Through the Dungeon</h2>
<div class="encounter-info">
<span class="progress">Movement <<print $expeditionData.currentMovement + 1>> of <<print $expeditionData.totalMovements>></span>
<span class="poison-warning">Poison damage applied to party</span>
</div>
</div>
<div class="movement-display">
<p><<print $currentEncounter.message>></p>
<p>The toxic atmosphere of the dungeon saps your strength...</p>
<div class="poison-effects">
<h4>Poison Effects:</h4>
<div class="poison-damage">
Each party member loses <<print $expeditionData.routes[$expeditionData.currentRoute].poisonDamage>> HP
</div>
</div>
</div>
<div class="movement-actions">
<<link "Continue Forward">>
<<set ExpeditionSystem.checkPostBattleAssistance()>>
<<if $postBattleSerykAssistance>>
<<goto "SerykManaAssistance">>
<<else>>
<<advanceExpedition>>
<<if $hasNextMovement>>
<<goto "ExpeditionEncounter">>
<<else>>
<<goto "ExpeditionEncounter">>
<</if>>
<</if>>
<</link>>
</div>
</div>
<</if>>
<style>
.encounter-container {
max-width: 800px;
margin: 0 auto;
padding: 20px;
background: rgba(0, 0, 0, 0.8);
border-radius: 10px;
color: white;
}
.encounter-header {
text-align: center;
margin-bottom: 20px;
}
.encounter-header h2 {
color: #ff4444;
margin-bottom: 10px;
}
.encounter-info {
display: flex;
justify-content: center;
gap: 20px;
font-size: 14px;
}
.encounter-info span {
padding: 5px 10px;
background: rgba(255, 255, 255, 0.1);
border-radius: 5px;
}
.enemy-display {
display: flex;
justify-content: center;
gap: 20px;
margin: 30px 0;
flex-wrap: wrap;
}
.enemy-card {
background: rgba(255, 255, 255, 0.1);
padding: 15px;
border-radius: 10px;
text-align: center;
border: 2px solid #ff4444;
}
.enemy-sprite {
margin-bottom: 10px;
}
.enemy-info h4 {
color: #ff4444;
margin-bottom: 10px;
}
.enemy-stats {
display: flex;
flex-direction: column;
gap: 5px;
font-size: 12px;
}
.stat {
background: rgba(0, 0, 0, 0.3);
padding: 2px 8px;
border-radius: 3px;
}
.combat-actions {
text-align: center;
margin-top: 30px;
}
.action-buttons {
display: flex;
justify-content: center;
gap: 20px;
margin-top: 15px;
}
.action-buttons a {
padding: 12px 24px;
background: #4CAF50;
color: white;
text-decoration: none;
border-radius: 5px;
transition: background 0.3s;
}
.action-buttons a:hover {
background: #45a049;
}
</style><<script>>window.AudioSystem.playBGM('battle/2.mp3');<</script>>
<<set $currentActor = $combatState.currentActor>>
<div class="roguelike-combat">
<div class="combat-header">
<h2>Battle in Progress</h2>
<div class="turn-info">
<span>Turn: <<print $combatState.turn + 1>></span>
<span>Current Actor: <<if $currentActor === "Rylan">><<print $humanName>><<else>><<print $currentActor>><</if>></span>
</div>
</div>
<<if !$combatState.victory && !$combatState.defeat>>
<div class="combat-field-fullwidth">
<!-- Party Row with Attack Buttons -->
<div class="party-row">
<h4>Party:</h4>
<<for _char range $combatState.partyMembers>>
<<set _stats = State.variables[_char.toLowerCase() + "_combatStats"]>>
<<set _isCurrentActor = ($currentActor === _char)>>
<<if _isCurrentActor && $combatState.partyMembers.includes($currentActor)>>
<!-- Current actor can attack - make clickable -->
<<if $combatState.enemies && $combatState.enemies.length > 0>>
<<for _enemy range $combatState.enemies>>
<<if (_enemy.currentHealth || 0) > 0>>
<<capture _enemy _char _stats>>
<div class="char-card-wrapper">
<<link "">>
<<set $selectedTarget = _enemy.name>>
<<processPlayerAttack $currentActor $selectedTarget>>
<<goto "RoguelikeCombatUI">>
<</link>>
<div class="char-card active-attacker">
<<set _charImg = "images/Chibi-models/" + _char + ".webp">>
<img @src=_charImg width="24" class="char-icon">
<div class="char-details">
<div class="char-name"><<if _char === "Rylan">><<print $humanName>><<else>><<print _char>><</if>> 👉</div>
<div class="char-hp"><<print Math.floor(_stats.currentHealth)>>/<<print Math.floor(_stats.maxHealth)>></div>
<div class="char-bar"><div class="hp-fill" style="width: <<print (_stats.currentHealth / _stats.maxHealth * 100)>>%"></div></div>
<div class="char-stats">P:<<print _stats.physicalPower.toFixed(1)>> A:<<print _stats.agility.toFixed(1)>></div>
<div class="attack-target">→ Attack <<print _enemy.name>></div>
</div>
</div>
</div>
<</capture>>
<</if>>
<</for>>
<</if>>
<<else>>
<!-- Not current actor - display only -->
<div class="char-card">
<<set _charImg = "images/Chibi-models/" + _char + ".webp">>
<img @src=_charImg width="24" class="char-icon">
<div class="char-details">
<div class="char-name"><<if _char === "Rylan">><<print $humanName>><<else>><<print _char>><</if>><<if _isCurrentActor>> 👉<</if>></div>
<div class="char-hp"><<print Math.floor(_stats.currentHealth)>>/<<print Math.floor(_stats.maxHealth)>></div>
<div class="char-bar"><div class="hp-fill" style="width: <<print (_stats.currentHealth / _stats.maxHealth * 100)>>%"></div></div>
<div class="char-stats">P:<<print _stats.physicalPower.toFixed(1)>> A:<<print _stats.agility.toFixed(1)>> (<<print (_stats.agility / 10).toFixed(1)>>%)</div>
</div>
</div>
<</if>>
<</for>>
<!-- Liora Support -->
<<if State.variables.liora_combatStats>>
<<set _lioraStats = State.variables.liora_combatStats>>
<div class="char-card support">
<img src="images/chibi-models/liora.webp" width="24" class="char-icon">
<div class="char-details">
<div class="char-name">Liora (Healer)</div>
<div class="char-hp">Mana: <<print Math.floor(_lioraStats.currentStamina)>>/<<print Math.floor(_lioraStats.maxStamina)>></div>
<div class="char-bar"><div class="sp-fill" style="width: <<print (_lioraStats.currentStamina / _lioraStats.maxStamina * 100)>>%"></div></div>
<div class="char-stats">Full party heal if anyone ≤50% HP</div>
</div>
</div>
<</if>>
</div>
<!-- Enemy Row -->
<div class="enemy-row">
<h4>Enemies:</h4>
<<for _enemy range $combatState.enemies>>
<div class="enemy-card">
<<set _enemyImg = "images/enemies/" + _enemy.name + ".webp">>
<img @src=_enemyImg width="32" class="enemy-icon">
<div class="enemy-details">
<div class="enemy-name"><<print _enemy.name || "Unknown">><<if $currentActor === _enemy.name>> 👉<</if>></div>
<div class="enemy-hp"><<print Math.floor(_enemy.currentHealth || 0)>>/<<print Math.floor(_enemy.maxHealth || 0)>></div>
<div class="enemy-bar"><div class="hp-fill" style="width: <<print ((_enemy.currentHealth || 0) / (_enemy.maxHealth || 1) * 100)>>%"></div></div>
<div class="enemy-stats">P:<<print _enemy.physicalPower || 0>> A:<<print _enemy.agility || 0>> (<<print ((_enemy.agility || 0) / 10).toFixed(1)>>%)</div>
</div>
</div>
<</for>>
</div>
<!-- Enemy Turn Display -->
<<if !$combatState.partyMembers.includes($currentActor)>>
<div class="enemy-turn-compact">
<em><<print $currentActor>> is acting...</em>
<<timed 1s>>
<<processEnemyTurn>>
<<goto "RoguelikeCombatUI">>
<</timed>>
</div>
<</if>>
</div>
<div class="combat-log-compact">
<strong>Log:</strong>
<<if $combatLog && $combatLog.length > 0>>
<<print $combatLog[0]>>
<<else>>
Combat begins...
<</if>>
</div>
<</if>>
<<if $combatState.victory || $combatState.defeat>>
<div class="combat-result">
<<if $combatState.victory>>
<h3>Victory!</h3>
<<generateLoot>>
<<completeEncounter>>
<<if $generatedLoot>>
<div class="loot-found">
<h4>Loot Found: <<print $generatedLoot.name>></h4>
<p><<print $generatedLoot.effect>>: +<<print $generatedLoot.value>></p>
<div class="loot-assignment">
<<for _char range $combatState.partyMembers>>
<<capture _char>>
<<link `"Give to " + (_char === "Rylan" ? $humanName : _char)`>>
<<applyLoot $generatedLoot _char>>
<<advanceExpedition>>
<<if $hasNextMovement>>
<<generateEncounter>>
<<goto "ExpeditionEncounter">>
<<else>>
<<completeExpedition true>>
<<goto "ExpeditionComplete">>
<</if>>
<</link>>
<</capture>>
<</for>>
</div>
</div>
<<else>>
<div class="continue-expedition">
<<link "Continue Expedition">>
<<set _healingResult = ExpeditionSystem.performAutoHealing()>>
<<if $expeditionHealingMessage>>
<style>
.expedition-healing {
background: rgba(255, 215, 0, 0.1);
border: 1px solid rgba(255, 215, 0, 0.3);
border-radius: 8px;
padding: 15px;
margin: 15px 0;
text-align: center;
}
.expedition-healing .dialog-liora {
font-style: italic;
color: #FFB6C1;
}
</style>
<<print $expeditionHealingMessage>>
<<set $expeditionHealingMessage = null>>
<</if>>
<<set ExpeditionSystem.checkPostBattleAssistance()>>
<<if $postBattleSerykAssistance>>
<<goto "SerykManaAssistance">>
<<elseif _healingResult === 'escape'>>
<<goto "ExpeditionEscape">>
<<else>>
<<advanceExpedition>>
<<if $hasNextMovement>>
<<generateEncounter>>
<<goto "ExpeditionEncounter">>
<<else>>
<<completeExpedition true>>
<<goto "ExpeditionComplete">>
<</if>>
<</if>>
<</link>>
</div>
<</if>>
<<else>>
<h3>Defeat...</h3>
<<link "End Expedition">>
<<completeExpedition false>>
<<goto "ExpeditionComplete">>
<</link>>
<</if>>
</div>
<</if>>
</div>
<style>
.roguelike-combat {
width: 100%;
max-width: 100%;
margin: 0;
padding: 15px;
background: rgba(0, 0, 0, 0.9);
border-radius: 10px;
color: white;
}
.combat-header {
text-align: center;
margin-bottom: 15px;
}
.combat-header h2 {
color: #ff4444;
margin-bottom: 8px;
font-size: 1.5em;
}
.turn-info {
display: flex;
justify-content: center;
gap: 20px;
font-size: 12px;
}
.combat-field-fullwidth {
margin: 15px 0;
width: 100%;
}
.party-row {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-bottom: 15px;
padding: 10px;
background: rgba(0, 100, 0, 0.2);
border-radius: 8px;
align-items: center;
}
.party-row h4 {
margin: 0;
color: #4CAF50;
font-size: 14px;
margin-right: 10px;
}
.char-card {
display: flex;
align-items: center;
gap: 8px;
background: rgba(255, 255, 255, 0.1);
padding: 8px;
border-radius: 6px;
min-width: 180px;
}
.char-card.support {
background: rgba(135, 206, 235, 0.2);
}
.char-card.active-attacker {
background: rgba(255, 200, 0, 0.3);
border: 2px solid #ffcc00;
cursor: pointer;
transition: all 0.2s ease;
}
.char-card.active-attacker:hover {
background: rgba(255, 200, 0, 0.5);
transform: scale(1.02);
}
.attack-target {
color: #ffcc00;
font-weight: bold;
font-size: 10px;
margin-top: 2px;
}
.char-card-wrapper {
position: relative;
display: inline-block;
}
.char-card-wrapper a {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 10;
text-decoration: none;
display: block;
}
.char-icon {
flex-shrink: 0;
}
.char-details {
flex: 1;
font-size: 11px;
}
.char-name {
font-weight: bold;
margin-bottom: 2px;
font-size: 12px;
}
.char-hp {
margin-bottom: 2px;
color: #ccc;
}
.char-bar {
height: 4px;
background: rgba(255, 255, 255, 0.2);
border-radius: 2px;
margin-bottom: 2px;
}
.hp-fill {
height: 100%;
background: #4CAF50;
border-radius: 2px;
transition: width 0.3s ease;
}
.sp-fill {
height: 100%;
background: #2196F3;
border-radius: 2px;
transition: width 0.3s ease;
}
.char-stats {
color: #888;
font-size: 10px;
}
.enemy-row {
display: flex;
align-items: center;
gap: 10px;
padding: 10px;
background: rgba(100, 0, 0, 0.2);
border-radius: 8px;
margin-bottom: 10px;
}
.enemy-row h4 {
margin: 0;
color: #ff4444;
font-size: 14px;
}
.enemy-card {
display: flex;
align-items: center;
gap: 8px;
background: rgba(255, 255, 255, 0.1);
padding: 8px;
border-radius: 6px;
min-width: 150px;
}
.enemy-icon {
flex-shrink: 0;
}
.enemy-details {
flex: 1;
font-size: 11px;
}
.enemy-name {
font-weight: bold;
margin-bottom: 2px;
font-size: 12px;
color: #ffaaaa;
}
.enemy-hp {
margin-bottom: 2px;
color: #ccc;
}
.enemy-bar {
height: 4px;
background: rgba(255, 255, 255, 0.2);
border-radius: 2px;
margin-bottom: 2px;
}
.enemy-stats {
color: #888;
font-size: 10px;
}
.combat-log-compact {
background: rgba(255, 255, 255, 0.1);
padding: 8px 12px;
border-radius: 6px;
margin: 10px 0;
font-size: 12px;
color: #ddd;
}
.player-actions-compact {
background: rgba(0, 150, 0, 0.2);
padding: 10px;
border-radius: 6px;
margin: 10px 0;
text-align: center;
}
.target-buttons {
margin-top: 8px;
display: flex;
gap: 10px;
justify-content: center;
flex-wrap: wrap;
}
.target-buttons a {
background: rgba(255, 100, 100, 0.8);
color: white;
padding: 6px 12px;
border-radius: 4px;
text-decoration: none;
font-size: 12px;
transition: background 0.2s ease;
}
.target-buttons a:hover {
background: rgba(255, 100, 100, 1);
}
.enemy-turn-compact {
background: rgba(100, 100, 100, 0.2);
padding: 8px;
border-radius: 6px;
margin: 10px 0;
text-align: center;
font-size: 14px;
color: #ccc;
}
.turn-info span {
padding: 5px 10px;
background: rgba(255, 255, 255, 0.1);
border-radius: 5px;
}
.combat-field {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 30px;
margin: 30px 0;
}
.party-section h3 {
color: #4CAF50;
text-align: center;
}
.enemy-section h3 {
color: #ff4444;
text-align: center;
}
.combatant {
display: flex;
align-items: center;
gap: 15px;
background: rgba(255, 255, 255, 0.1);
padding: 10px;
margin: 10px 0;
border-radius: 5px;
}
.party-member {
border-left: 4px solid #4CAF50;
}
.support-member {
border-left: 4px solid #87CEEB;
background: rgba(135, 206, 235, 0.1);
}
.enemy {
border-left: 4px solid #ff4444;
}
.combatant-info {
flex-grow: 1;
}
.combatant-info h4 {
margin: 0 0 5px 0;
}
.hp-bar, .sp-bar {
margin: 3px 0;
}
.hp-bar span, .sp-bar span {
font-size: 12px;
display: block;
}
.bar {
width: 100%;
height: 6px;
background: rgba(0, 0, 0, 0.3);
border-radius: 3px;
overflow: hidden;
margin-top: 2px;
}
.fill {
height: 100%;
transition: width 0.3s ease;
}
.hp-fill { background: linear-gradient(90deg, #ff4444, #ff6b6b); }
.sp-fill { background: linear-gradient(90deg, #4444ff, #6b6bff); }
.combat-log {
background: rgba(0, 0, 0, 0.5);
padding: 15px;
border-radius: 5px;
margin: 20px 0;
}
.combat-log h4 {
margin: 0 0 10px 0;
color: #4CAF50;
}
.log-content {
max-height: 150px;
overflow-y: auto;
}
.log-entry {
margin: 2px 0;
padding: 2px 5px;
font-size: 14px;
border-left: 2px solid #4CAF50;
}
.player-actions {
text-align: center;
margin-top: 20px;
}
.target-selection {
display: flex;
flex-direction: column;
gap: 10px;
margin-top: 15px;
max-width: 400px;
margin-left: auto;
margin-right: auto;
}
.target-selection a {
padding: 12px 20px;
background: linear-gradient(45deg, #ff4444, #ff6b6b);
color: white;
text-decoration: none;
border-radius: 8px;
transition: all 0.3s ease;
text-align: center;
font-weight: bold;
border: 2px solid transparent;
}
.target-selection a:hover {
background: linear-gradient(45deg, #ff6b6b, #ff4444);
transform: translateY(-2px);
box-shadow: 0 4px 15px rgba(255, 68, 68, 0.4);
border-color: #ff8888;
}
.combat-result {
text-align: center;
margin-top: 20px;
padding: 20px;
background: rgba(255, 255, 255, 0.1);
border-radius: 5px;
}
.loot-found {
margin: 15px 0;
}
.loot-assignment {
display: flex;
justify-content: center;
gap: 10px;
margin-top: 10px;
}
.loot-assignment a {
padding: 8px 16px;
background: #4CAF50;
color: white;
text-decoration: none;
border-radius: 5px;
font-size: 14px;
}
.enemy-turn {
text-align: center;
font-style: italic;
color: #ffaa44;
}
</style><<script>>window.AudioSystem.playBGM('forestofthebeginning.mp3');<</script>>
<div class="expedition-complete">
<div class="complete-header">
<h1>🎉 Expedition Complete!</h1>
<div class="success-banner">
<span class="route-completed"><<print $lastExpeditionResults.route.charAt(0).toUpperCase() + $lastExpeditionResults.route.slice(1)>> Route Completed</span>
</div>
</div>
<div class="expedition-summary">
<h3>Expedition Summary:</h3>
<div class="summary-stats">
<div class="stat-item">
<span class="stat-label">Encounters Completed:</span>
<span class="stat-value"><<print $lastExpeditionResults.encountersCompleted>></span>
</div>
<div class="stat-item">
<span class="stat-label">Route Difficulty:</span>
<span class="stat-value"><<print Math.round($expeditionData.routes[$lastExpeditionResults.route].difficulty * 100)>>%</span>
</div>
<div class="stat-item gold-reward">
<span class="stat-label">Gold Earned:</span>
<span class="stat-value"><<print $lastExpeditionResults.rewards.gold>> Gold</span>
</div>
</div>
</div>
<div class="loot-summary">
<h3>Loot Collected:</h3>
<<if $lastExpeditionResults.lootCollected.length > 0>>
<div class="loot-grid">
<<for _lootEntry range $lastExpeditionResults.lootCollected>>
<div class="loot-item">
<div class="loot-name"><<print _lootEntry.item.name>></div>
<div class="loot-effect">+<<print _lootEntry.item.value>> <<print _lootEntry.item.effect>></div>
<div class="loot-target">Applied to: <<print _lootEntry.target>></div>
</div>
<</for>>
</div>
<<else>>
<p class="no-loot">No special loot found this expedition.</p>
<</if>>
</div>
<div class="party-status-final">
<h3>Final Party Status:</h3>
<div class="party-grid">
<<for _char range ["Rylan", "Serin", "Seryk"]>>
<<if State.variables[_char.toLowerCase() + "_combatStats"]>>
<<set _stats = State.variables[_char.toLowerCase() + "_combatStats"]>>
<div class="party-member">
<div class="member-name"><<if _char === "Rylan">><<print $humanName>><<else>><<print _char>><</if>></div>
<div class="member-stats">
<div class="stat-bar">
<span>HP: <<print Math.floor(_stats.currentHealth)>>/<<print Math.floor(_stats.maxHealth)>></span>
<div class="bar"><div class="fill hp-fill" style="width: <<print (_stats.currentHealth / _stats.maxHealth * 100)>>%"></div></div>
</div>
<div class="stat-bar">
<span>SP: <<print Math.floor(_stats.currentStamina)>>/<<print Math.floor(_stats.maxStamina)>></span>
<div class="bar"><div class="fill sp-fill" style="width: <<print (_stats.currentStamina / _stats.maxStamina * 100)>>%"></div></div>
</div>
</div>
</div>
<</if>>
<</for>>
<<if State.variables.liora_combatStats>>
<<set _lioraStats = State.variables.liora_combatStats>>
<div class="party-member healer">
<div class="member-name">Liora (Healer)</div>
<div class="member-stats">
<div class="stat-bar">
<span>Mana: <<print Math.floor(_lioraStats.currentStamina)>>/<<print Math.floor(_lioraStats.maxStamina)>></span>
<div class="bar"><div class="fill mana-fill" style="width: <<print (_lioraStats.currentStamina / _lioraStats.maxStamina * 100)>>%"></div></div>
</div>
</div>
</div>
<</if>>
</div>
</div>
<div class="completion-actions">
<<link "🏠 Return to Town">>
<<goto "TownSquare">>
<</link>>
<<link "🔄 Try Another Expedition">>
<<goto "TestExpeditionSetup">>
<</link>>
</div>
</div>
<style>
.expedition-complete {
max-width: 900px;
margin: 0 auto;
padding: 30px;
background: linear-gradient(135deg, rgba(76, 175, 80, 0.2), rgba(255, 193, 7, 0.2));
border-radius: 15px;
color: white;
border: 3px solid #4CAF50;
}
.complete-header {
text-align: center;
margin-bottom: 40px;
}
.complete-header h1 {
color: #4CAF50;
font-size: 3em;
margin-bottom: 15px;
text-shadow: 0 0 15px rgba(76, 175, 80, 0.6);
}
.success-banner {
background: linear-gradient(45deg, #4CAF50, #8BC34A);
padding: 10px 20px;
border-radius: 25px;
display: inline-block;
font-weight: bold;
box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);
}
.expedition-summary, .loot-summary, .party-status-final {
background: rgba(0, 0, 0, 0.4);
padding: 25px;
margin: 25px 0;
border-radius: 10px;
border-left: 5px solid #4CAF50;
}
.expedition-summary h3, .loot-summary h3, .party-status-final h3 {
color: #4CAF50;
margin-bottom: 20px;
font-size: 1.4em;
}
.summary-stats {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
}
.stat-item {
background: rgba(255, 255, 255, 0.1);
padding: 15px;
border-radius: 8px;
display: flex;
justify-content: space-between;
align-items: center;
}
.stat-item.gold-reward {
background: linear-gradient(45deg, rgba(255, 193, 7, 0.2), rgba(255, 152, 0, 0.2));
border-left: 4px solid #FFC107;
}
.stat-label {
font-weight: bold;
color: #E0E0E0;
}
.stat-value {
color: #4CAF50;
font-weight: bold;
font-size: 1.1em;
}
.gold-reward .stat-value {
color: #FFC107;
}
.loot-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 15px;
}
.loot-item {
background: rgba(255, 255, 255, 0.1);
padding: 15px;
border-radius: 8px;
border-left: 4px solid #2196F3;
}
.loot-name {
font-weight: bold;
color: #2196F3;
margin-bottom: 5px;
}
.loot-effect {
color: #4CAF50;
font-size: 0.9em;
margin-bottom: 3px;
}
.loot-target {
color: #E0E0E0;
font-size: 0.8em;
}
.no-loot {
text-align: center;
color: #999;
font-style: italic;
padding: 20px;
}
.party-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
}
.party-member {
background: rgba(255, 255, 255, 0.1);
padding: 15px;
border-radius: 8px;
}
.party-member.healer {
border-left: 4px solid #44ff44;
}
.member-name {
font-weight: bold;
margin-bottom: 10px;
color: #4CAF50;
}
.stat-bar {
margin: 8px 0;
}
.stat-bar span {
font-size: 12px;
display: block;
margin-bottom: 3px;
}
.bar {
width: 100%;
height: 8px;
background: rgba(0, 0, 0, 0.3);
border-radius: 4px;
overflow: hidden;
}
.fill {
height: 100%;
transition: width 0.3s ease;
}
.completion-actions {
text-align: center;
margin-top: 40px;
padding-top: 25px;
border-top: 2px solid rgba(76, 175, 80, 0.3);
}
.completion-actions a {
display: inline-block;
margin: 0 15px;
padding: 15px 30px;
font-size: 1.2em;
text-decoration: none;
border-radius: 8px;
transition: all 0.3s ease;
font-weight: bold;
}
.completion-actions a:first-child {
background: linear-gradient(45deg, #4CAF50, #45a049);
color: white;
box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);
}
.completion-actions a:first-child:hover {
background: linear-gradient(45deg, #45a049, #4CAF50);
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(76, 175, 80, 0.4);
}
.completion-actions a:last-child {
background: linear-gradient(45deg, #FF9800, #F57C00);
color: white;
box-shadow: 0 4px 15px rgba(255, 152, 0, 0.3);
}
.completion-actions a:last-child:hover {
background: linear-gradient(45deg, #F57C00, #FF9800);
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(255, 152, 0, 0.4);
}
</style>
<<statSummary>>
<<changeFace $currentRylanFace>><<script>>window.AudioSystem.playBGM('ntr1.mp3');<</script>>
<div class="mana-assistance-scene">
<div class="scene-header">
<h2>Critical Mana Shortage</h2>
<div class="urgency-warning">
<span class="warning-text">⚠️ Liora's mana is critically low!</span>
</div>
</div>
<div class="scene-description">
<p>As the party struggles through the poisonous dungeon, Liora's healing magic begins to falter. Her mana reserves are dangerously low, and the party's survival hangs in the balance.</p>
<div class="character-status">
<<if State.variables.liora_combatStats>>
<<set _lioraStats = State.variables.liora_combatStats>>
<div class="liora-status">
<div class="status-name">Liora's Condition:</div>
<div class="mana-critical">
<span>Mana: <<print Math.floor(_lioraStats.currentStamina)>>/<<print Math.floor(_lioraStats.maxStamina)>></span>
<div class="bar"><div class="fill mana-critical-fill" style="width: <<print (_lioraStats.currentStamina / _lioraStats.maxStamina * 100)>>%"></div></div>
</div>
<div class="status-effect">Exhausted from constant healing...</div>
</div>
<</if>>
</div>
<div class="dialogue-section">
<div class="liora-dialogue">
<span class="dialog-liora">"I... I can barely maintain my healing magic,"</span> Liora pants heavily, her hands trembling as she tries to channel another healing spell. <span class="dialog-liora">"My mana is almost completely drained..."</span>
</div>
<<if $humanName === "Rylan">>
<div class="rylan-dialogue">
<span class="dialog-rylan">"Liora, you need to rest! But we can't afford to stop here..."</span> <<print $humanName>> looks around the toxic environment with growing concern.
</div>
<</if>>
<div class="seryk-dialogue">
<span class="dialog-seryk">"The Little Bird,"</span> Seryk's deep voice cuts through the tension, his expression serious but with a hint of something else in his eyes. <span class="dialog-seryk">"There is... a way I can help restore your magical energy."</span>
</div>
<div class="liora-response">
<span class="dialog-liora">"What do you mean?"</span> Liora looks up at him with desperate, tired eyes.
</div>
<div class="seryk-explanation">
<<if $serykxliorantr === "stage1">>
<span class="dialog-seryk">"Remember the medicine I gave you before, Little Bird? The one that restored your magical energy so effectively?"</span> His gaze is intense but caring. <span class="dialog-seryk">"I can provide that same... treatment again."</span>
<<else>>
<span class="dialog-seryk">"My body fluids can replenish magical energy when... properly consumed. My saliva has special properties that could restore your mana significantly."</span> His gaze is intense, protective yet predatory.
<</if>>
</div>
<<if $serykxliorantr === "stage1">>
<div class="liora-recognition">
Liora's eyes widen with recognition, her cheeks flushing as she remembers the strange, sweet taste from before. <span class="dialog-liora">"That... that special medicine you gave me in the cave?"</span> Her voice is barely a whisper, filled with a mixture of embarrassment and... anticipation?
</div>
<<elseif State.variables.liora_SerykAttraction >= 30>>
<div class="liora-consideration">
Liora's cheeks flush slightly despite her exhaustion. She's grown more comfortable around Seryk lately, and the desperation of their situation makes his offer seem... reasonable.
</div>
<<else>>
<div class="liora-hesitation">
Liora's eyes widen in confusion and embarrassment. The suggestion seems strange and inappropriate, but their desperate situation leaves few alternatives.
</div>
<</if>>
</div>
</div>
<div class="choice-section">
<h3>Liora's Decision:</h3>
<div class="assistance-choices">
<<if State.variables.serykxliorantr>>
<<link "Accept Seryk's Assistance">>
<<serykManaAssistance>>
<<goto "ExpeditionManaRestored">>
<</link>>
<</if>>
<<link "Try to Continue Without Help">>
<<set $refusedAssistance = true>>
<<goto "ExpeditionManaRefused">>
<</link>>
</div>
</div>
</div>
<style>
.mana-assistance-scene {
max-width: 800px;
margin: 0 auto;
padding: 25px;
background: linear-gradient(135deg, rgba(139, 69, 19, 0.3), rgba(220, 20, 60, 0.2));
border-radius: 15px;
color: white;
border: 2px solid #DC143C;
}
.scene-header {
text-align: center;
margin-bottom: 25px;
}
.scene-header h2 {
color: #DC143C;
font-size: 2.2em;
margin-bottom: 10px;
text-shadow: 0 0 10px rgba(220, 20, 60, 0.5);
}
.urgency-warning {
background: linear-gradient(45deg, #FF4444, #FF6B6B);
padding: 8px 15px;
border-radius: 20px;
display: inline-block;
font-weight: bold;
box-shadow: 0 0 15px rgba(255, 68, 68, 0.4);
animation: pulse 2s infinite;
}
@keyframes pulse {
0% { opacity: 1; }
50% { opacity: 0.7; }
100% { opacity: 1; }
}
.scene-description {
background: rgba(0, 0, 0, 0.4);
padding: 20px;
border-radius: 10px;
margin-bottom: 20px;
}
.character-status {
margin: 20px 0;
padding: 15px;
background: rgba(220, 20, 60, 0.1);
border-radius: 8px;
border-left: 4px solid #DC143C;
}
.liora-status {
text-align: center;
}
.status-name {
font-weight: bold;
color: #DC143C;
margin-bottom: 10px;
}
.mana-critical {
margin: 10px 0;
}
.mana-critical span {
display: block;
margin-bottom: 5px;
font-weight: bold;
}
.bar {
width: 100%;
height: 12px;
background: rgba(0, 0, 0, 0.5);
border-radius: 6px;
overflow: hidden;
}
.mana-critical-fill {
height: 100%;
background: linear-gradient(90deg, #FF4444, #FF6B6B);
transition: width 0.3s ease;
}
.status-effect {
color: #FFB6C1;
font-style: italic;
font-size: 0.9em;
}
.dialogue-section {
margin: 25px 0;
}
.liora-dialogue, .rylan-dialogue, .seryk-dialogue, .liora-response, .seryk-explanation, .liora-consideration, .liora-hesitation {
margin: 15px 0;
padding: 12px;
border-radius: 8px;
line-height: 1.6;
}
.liora-dialogue, .liora-response {
background: rgba(255, 182, 193, 0.1);
border-left: 4px solid #FFB6C1;
}
.rylan-dialogue {
background: rgba(135, 206, 235, 0.1);
border-left: 4px solid #87CEEB;
}
.seryk-dialogue, .seryk-explanation {
background: rgba(139, 69, 19, 0.2);
border-left: 4px solid #8B4513;
}
.liora-consideration {
background: rgba(255, 20, 147, 0.1);
border-left: 4px solid #FF1493;
font-style: italic;
}
.liora-hesitation {
background: rgba(255, 165, 0, 0.1);
border-left: 4px solid #FFA500;
font-style: italic;
}
.liora-recognition {
background: rgba(255, 20, 147, 0.1);
border-left: 4px solid #FF1493;
font-style: italic;
}
.choice-section {
background: rgba(0, 0, 0, 0.5);
padding: 20px;
border-radius: 10px;
text-align: center;
}
.choice-section h3 {
color: #DC143C;
margin-bottom: 20px;
font-size: 1.3em;
}
.assistance-choices {
display: flex;
justify-content: center;
gap: 20px;
flex-wrap: wrap;
}
.assistance-choices a {
padding: 12px 25px;
border-radius: 8px;
text-decoration: none;
font-weight: bold;
transition: all 0.3s ease;
min-width: 80px;
}
.assistance-choices a:first-child {
background: linear-gradient(45deg, #DC143C, #B91C3C);
color: white;
box-shadow: 0 4px 15px rgba(220, 20, 60, 0.3);
}
.assistance-choices a:first-child:hover {
background: linear-gradient(45deg, #B91C3C, #DC143C);
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(220, 20, 60, 0.4);
}
.assistance-choices a:last-child {
background: linear-gradient(45deg, #666, #888);
color: white;
box-shadow: 0 4px 15px rgba(102, 102, 102, 0.3);
}
.assistance-choices a:last-child:hover {
background: linear-gradient(45deg, #888, #666);
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(102, 102, 102, 0.4);
}
</style><<script>>window.AudioSystem.playBGM('sensualmassage.mp3');<</script>>
<div class="mana-restored-scene">
<div class="scene-header">
<h2>Demonic Assistance</h2>
<div class="restoration-indicator">
<span class="success-text">✨ Mana Successfully Restored</span>
</div>
</div>
<div class="restoration-description">
<p>In the privacy of a small alcove away from the others, Seryk provides his "assistance" to restore Liora's magical energy...</p>
<div class="intimate-scene">
<<if State.variables.liora_SerykAttraction >= 50>>
<p>Liora no longer hesitates as much around Seryk. Her growing attraction to the demon makes the intimate act feel less foreign, more... natural.</p>
<<else>>
<p>Despite her embarrassment, Liora focuses on the necessity of the situation. Seryk's saliva proves remarkably effective at restoring her magical reserves.</p><</if>><div class="seryk-care">
<span class="dialog-seryk">"There, Little Bird. You should feel your strength returning now,"</span> Seryk says gently, his protective nature evident even in this intimate moment.</div>
<div class="liora-reaction">
<span class="dialog-liora">"The magical energy is returning... thank you for helping us,"</span> Liora says softly, still processing what just happened.
</div>
</div>
<div class="mana-restoration">
<<if State.variables.liora_combatStats>>
<<set _lioraStats = State.variables.liora_combatStats>>
<div class="restoration-status">
<div class="status-name">Liora's Restored Condition:</div>
<div class="mana-restored">
<span>Mana: <<print Math.floor(_lioraStats.currentStamina)>>/<<print Math.floor(_lioraStats.maxStamina)>></span>
<div class="bar"><div class="fill mana-restored-fill" style="width: <<print (_lioraStats.currentStamina / _lioraStats.maxStamina * 100)>>%"></div></div>
</div>
<div class="status-effect">Magically rejuvenated through Seryk's saliva</div>
</div>
<</if>>
</div>
<div class="relationship-changes">
<h4>Relationship Effects:</h4>
<div class="change-list">
<div class="change-item attraction">Liora → Seryk Attraction: +3</div>
<div class="change-item affection">Liora → Seryk Affection: +1</div>
<div class="change-item dependency">Seryk Dependency: +1</div>
</div>
</div>
</div>
<div class="continuation">
<<link "Continue the Expedition">>
<<checkPartyStatus>>
<<if $partyStatusResult === true>>
<<advanceExpedition>>
<<if $hasNextMovement>>
<<goto "ExpeditionEncounter">>
<<else>>
<<goto "ExpeditionEncounter">>
<</if>>
<<else>>
<<goto "ExpeditionFailed">>
<</if>>
<</link>>
</div>
</div>
<style>
.mana-restored-scene {
max-width: 800px;
margin: 0 auto;
padding: 25px;
background: linear-gradient(135deg, rgba(139, 69, 19, 0.2), rgba(255, 20, 147, 0.2));
border-radius: 15px;
color: white;
border: 2px solid #FF1493;
}
.scene-header {
text-align: center;
margin-bottom: 25px;
}
.scene-header h2 {
color: #FF1493;
font-size: 2.2em;
margin-bottom: 10px;
text-shadow: 0 0 10px rgba(255, 20, 147, 0.5);
}
.restoration-indicator {
background: linear-gradient(45deg, #FF1493, #FF69B4);
padding: 8px 15px;
border-radius: 20px;
display: inline-block;
font-weight: bold;
box-shadow: 0 0 15px rgba(255, 20, 147, 0.4);
}
.restoration-description {
background: rgba(0, 0, 0, 0.4);
padding: 20px;
border-radius: 10px;
margin-bottom: 20px;
}
.intimate-scene {
background: rgba(255, 20, 147, 0.1);
padding: 15px;
border-radius: 8px;
margin: 15px 0;
border-left: 4px solid #FF1493;
}
.seryk-care, .liora-reaction {
margin: 10px 0;
padding: 10px;
border-radius: 6px;
}
.seryk-care {
background: rgba(139, 69, 19, 0.2);
border-left: 3px solid #8B4513;
}
.liora-reaction {
background: rgba(255, 182, 193, 0.1);
border-left: 3px solid #FFB6C1;
}
.mana-restoration {
margin: 20px 0;
padding: 15px;
background: rgba(255, 20, 147, 0.1);
border-radius: 8px;
border-left: 4px solid #FF1493;
text-align: center;
}
.status-name {
font-weight: bold;
color: #FF1493;
margin-bottom: 10px;
}
.mana-restored {
margin: 10px 0;
}
.mana-restored span {
display: block;
margin-bottom: 5px;
font-weight: bold;
}
.mana-restored-fill {
height: 100%;
background: linear-gradient(90deg, #FF1493, #FF69B4);
transition: width 0.3s ease;
}
.status-effect {
color: #FF69B4;
font-style: italic;
font-size: 0.9em;
}
.relationship-changes {
background: rgba(0, 0, 0, 0.3);
padding: 15px;
border-radius: 8px;
margin: 20px 0;
}
.relationship-changes h4 {
color: #FF1493;
margin-bottom: 15px;
text-align: center;
}
.change-list {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 10px;
}
.change-item {
padding: 8px 12px;
border-radius: 6px;
text-align: center;
font-weight: bold;
}
.change-item.corruption {
background: rgba(139, 0, 139, 0.3);
border-left: 3px solid #8B008B;
}
.change-item.attraction {
background: rgba(255, 20, 147, 0.3);
border-left: 3px solid #FF1493;
}
.change-item.affection {
background: rgba(255, 105, 180, 0.3);
border-left: 3px solid #FF69B4;
}
.change-item.dependency {
background: rgba(139, 69, 19, 0.3);
border-left: 3px solid #8B4513;
}
.continuation {
text-align: center;
margin-top: 30px;
}
.continuation a {
padding: 15px 30px;
background: linear-gradient(45deg, #FF1493, #FF69B4);
color: white;
text-decoration: none;
border-radius: 8px;
font-weight: bold;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 20, 147, 0.3);
}
.continuation a:hover {
background: linear-gradient(45deg, #FF69B4, #FF1493);
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(255, 20, 147, 0.4);
}
</style><<script>>window.AudioSystem.playBGM('forestofthebeginning.mp3');<</script>>
<div class="mana-refused-scene">
<div class="scene-header">
<h2>Assistance Refused</h2>
<div class="failure-warning">
<span class="warning-text">⚠️ Expedition in Jeopardy</span>
</div>
</div>
<div class="refusal-description">
<div class="liora-refusal">
<span class="dialog-liora">"I... I can't. There has to be another way,"</span> Liora says, her face flushed with embarrassment and uncertainty.
</div>
<div class="seryk-understanding">
<span class="dialog-seryk">"I understand, Little Bird. But your mana reserves are critically low. The expedition may have to end here,"</span> Seryk says with genuine concern.
</div>
<div class="consequence-warning">
<p>Without Seryk's assistance, Liora's mana remains dangerously low. The party's survival depends entirely on her remaining magical energy.</p>
</div>
<div class="mana-status">
<<if State.variables.liora_combatStats>>
<<set _lioraStats = State.variables.liora_combatStats>>
<div class="critical-status">
<div class="status-name">Liora's Critical Condition:</div>
<div class="mana-critical">
<span>Mana: <<print Math.floor(_lioraStats.currentStamina)>>/<<print Math.floor(_lioraStats.maxStamina)>></span>
<div class="bar"><div class="fill mana-critical-fill" style="width: <<print (_lioraStats.currentStamina / _lioraStats.maxStamina * 100)>>%"></div></div>
</div>
<div class="status-effect">Still critically low on magical energy</div>
</div>
<</if>>
</div>
</div>
<div class="continuation-options">
<<if State.variables.liora_combatStats.currentStamina > 0>>
<<link "Continue Despite the Risk">>
<<checkPartyStatus>>
<<if $partyStatusResult === true>>
<<advanceExpedition>>
<<if $hasNextMovement>>
<<goto "ExpeditionEncounter">>
<<else>>
<<goto "ExpeditionEncounter">>
<</if>>
<<else>>
<<goto "ExpeditionFailed">>
<</if>>
<</link>>
<<else>>
<<link "Expedition Fails - Return to Town">>
<<completeExpedition false>>
<<goto "ExpeditionFailed">>
<</link>>
<</if>>
</div>
</div>
<style>
.mana-refused-scene {
max-width: 800px;
margin: 0 auto;
padding: 25px;
background: linear-gradient(135deg, rgba(105, 105, 105, 0.3), rgba(169, 169, 169, 0.2));
border-radius: 15px;
color: white;
border: 2px solid #A9A9A9;
}
.scene-header {
text-align: center;
margin-bottom: 25px;
}
.scene-header h2 {
color: #A9A9A9;
font-size: 2.2em;
margin-bottom: 10px;
}
.failure-warning {
background: linear-gradient(45deg, #FF4444, #FF6B6B);
padding: 8px 15px;
border-radius: 20px;
display: inline-block;
font-weight: bold;
box-shadow: 0 0 15px rgba(255, 68, 68, 0.4);
}
.refusal-description {
background: rgba(0, 0, 0, 0.4);
padding: 20px;
border-radius: 10px;
margin-bottom: 20px;
}
.liora-refusal, .seryk-understanding {
margin: 15px 0;
padding: 12px;
border-radius: 8px;
}
.liora-refusal {
background: rgba(255, 182, 193, 0.1);
border-left: 4px solid #FFB6C1;
}
.seryk-understanding {
background: rgba(139, 69, 19, 0.2);
border-left: 4px solid #8B4513;
}
.consequence-warning {
background: rgba(255, 68, 68, 0.1);
padding: 15px;
border-radius: 8px;
border-left: 4px solid #FF4444;
margin: 15px 0;
}
.mana-status {
margin: 20px 0;
padding: 15px;
background: rgba(169, 169, 169, 0.1);
border-radius: 8px;
border-left: 4px solid #A9A9A9;
text-align: center;
}
.critical-status .status-name {
font-weight: bold;
color: #A9A9A9;
margin-bottom: 10px;
}
.continuation-options {
text-align: center;
margin-top: 30px;
}
.continuation-options a {
padding: 15px 30px;
background: linear-gradient(45deg, #A9A9A9, #C0C0C0);
color: white;
text-decoration: none;
border-radius: 8px;
font-weight: bold;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(169, 169, 169, 0.3);
}
.continuation-options a:hover {
background: linear-gradient(45deg, #C0C0C0, #A9A9A9);
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(169, 169, 169, 0.4);
}
</style><<script>>window.AudioSystem.playBGM('default.mp3');<</script>>
<div class="expedition-escape">
<h2>Emergency Evacuation!</h2>
<div class="escape-scenario">
<div class="liora-condition">
<center><img src="images/liora/faceworried.webp" alt="Liora Exhausted" width="300"></center>
<span class="dialog-liora">"I... I can't... my mana is completely depleted..."</span> Liora staggers, her healing magic flickering weakly around her hands before disappearing entirely.
The party realizes the dire situation - with several members badly injured and Liora unable to provide healing, continuing the expedition would be suicide.
</div>
<div class="party-decision">
<span class="dialog-serin">"We need to get out of here, now!"</span> Serin quickly takes charge, her warrior instincts kicking in. <span class="dialog-serin">"Liora can't heal us, and we're all hurt. This expedition is over."</span>
<<if $humanName>>
<span class="dialog-rylan">"But we were so close to completing it..."</span> <<print $humanName>> protests, though he knows Serin is right.
<</if>>
<span class="dialog-seryk">"The Little Bird's safety comes first. We retreat."</span> Seryk's voice is firm, brooking no argument.
</div>
<div class="evacuation-process">
<h3>Emergency Evacuation</h3>
<p>The party quickly gathers their essential equipment and begins a hasty retreat from the dangerous area. With Liora's condition critical and no way to heal injuries, staying would risk everyone's lives.</p>
<div class="evacuation-results">
<h4>Expedition Results:</h4>
<ul>
<li>❌ Expedition Failed - Emergency Evacuation</li>
<li>💔 No rewards gained</li>
<li>⚠️ Party survived but learned a harsh lesson about mana management</li>
<li>📚 Experience gained in crisis management</li>
</ul>
</div>
</div>
<div class="lesson-learned">
<div class="important-realization">
<h4>Important Lesson:</h4>
<p><em>The party realizes the critical importance of Liora's mana reserves. Without sufficient healing magic, even the strongest warriors become vulnerable. Future expeditions will require better mana management and possibly backup healing items.</em></p>
</div>
</div>
<<set $expeditionFailed = true>>
<<set $partyEscaped = true>>
<<set $expeditionEscapeCount = ($expeditionEscapeCount || 0) + 1>>
<<for _char range ["Rylan", "Serin", "Seryk"]>>
<<set _charStats = State.variables[_char.toLowerCase() + "_combatStats"]>>
<<if _charStats>>
<<set _charStats.willpower += 0.2>>
<<trackCombatStat _char "willpower" 0.2>>
<</if>>
<</for>>
[[Return to Village|Village]]
</div>
<style>
.expedition-escape {
padding: 20px;
background: linear-gradient(135deg, rgba(255, 0, 0, 0.1), rgba(255, 165, 0, 0.1));
border-radius: 10px;
border: 2px solid rgba(255, 0, 0, 0.3);
}
.escape-scenario {
margin: 20px 0;
}
.liora-condition {
padding: 15px;
background: rgba(255, 0, 0, 0.2);
border-radius: 8px;
border-left: 4px solid #ff4444;
margin-bottom: 15px;
text-align: center;
}
.party-decision {
padding: 15px;
background: rgba(255, 165, 0, 0.2);
border-radius: 8px;
border-left: 4px solid #ffa500;
margin-bottom: 15px;
}
.evacuation-process {
margin: 20px 0;
padding: 15px;
background: rgba(0, 0, 0, 0.3);
border-radius: 8px;
}
.evacuation-results {
margin: 15px 0;
padding: 15px;
background: rgba(255, 255, 255, 0.1);
border-radius: 8px;
}
.evacuation-results ul {
list-style: none;
padding: 0;
}
.evacuation-results li {
margin: 8px 0;
padding: 5px;
background: rgba(0, 0, 0, 0.2);
border-radius: 4px;
}
.lesson-learned {
margin-top: 20px;
}
.important-realization {
padding: 15px;
background: rgba(0, 100, 255, 0.2);
border-radius: 8px;
border-left: 4px solid #0064ff;
}
.important-realization h4 {
color: #4CAF50;
margin-bottom: 10px;
}
.important-realization p {
font-style: italic;
line-height: 1.6;
}
</style><<script>>window.AudioSystem.playBGM('ntr1.mp3');<</script>>
<div class="seryk-assistance-scene">
<h2>A Quiet Moment</h2>
<<changeFace $currentLioraFace>>
<div class="scene-description">
<span class="dialog-liora">I feel so weak...</span> I think to myself as I lean against a nearby wall, my magical reserves completely drained. The familiar warmth of my healing magic feels like a distant memory.
<span class="dialog-liora">"I... I used too much mana..."</span> I whisper, pressing a trembling hand to my forehead. My vision blurs slightly from the exhaustion.
Seryk notices immediately, his face filled with genuine concern. He approaches me carefully, his voice soft and worried.
<span class="dialog-seryk">"Little Bird, you look terrible. You've been pushing yourself too hard."</span> His eyes are kind, filled with the same protective warmth I've grown to trust. <span class="dialog-seryk">"I... I might be able to help, but..."</span>
He glances around, making sure <<print $humanName>> and Serin are still resting nearby, then leans closer to speak quietly.
<span class="dialog-seryk">"My body fluids... they have restorative properties. It could help replenish your mana quickly."</span> His cheeks actually flush as he says this, clearly embarrassed. <span class="dialog-seryk">"I know it sounds strange, but I really want to help you. I... I care about you, Little Bird."</span>
</div>
<div class="choice-section">
<div class="liora-thoughts">
<span class="dialog-liora">He's... he's offering to help me in such an intimate way. I can see he's embarrassed too, but his concern for me is genuine. And I... I do need the mana. The others are counting on me...</span>
<span class="dialog-liora">But what would <<print $humanName>> and Serin think if they knew? This has to stay between us...</span>
</div>
<div class="assistance-options">
[[Accept his help quietly|SerykAssistanceAccept]]
[[Try to decline|SerykAssistanceRefuse]]
</div>
</div>
</div>
<style>
.seryk-assistance-scene {
padding: 20px;
background: linear-gradient(135deg, rgba(139, 69, 19, 0.1), rgba(75, 0, 130, 0.1));
border-radius: 10px;
border: 1px solid rgba(139, 69, 19, 0.3);
}
.scene-description {
margin: 20px 0;
padding: 15px;
background: rgba(0, 0, 0, 0.3);
border-radius: 8px;
line-height: 1.6;
}
.choice-section {
margin-top: 20px;
}
.liora-thoughts {
margin: 15px 0;
padding: 15px;
background: rgba(75, 0, 130, 0.2);
border-radius: 8px;
border-left: 4px solid rgba(75, 0, 130, 0.5);
}
.assistance-options {
margin-top: 20px;
text-align: center;
}
.assistance-options a {
display: inline-block;
margin: 10px;
padding: 15px 25px;
background: linear-gradient(135deg, #8B4513, #4B0082);
color: white;
text-decoration: none;
border-radius: 8px;
transition: all 0.3s ease;
border: 2px solid transparent;
}
.assistance-options a:hover {
border-color: rgba(255, 255, 255, 0.3);
transform: translateY(-2px);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}
</style><<script>>window.AudioSystem.playBGM('sensualmassage.mp3');<</script>>
<div class="acceptance-scene">
<h3>Accepting His Help</h3>
<div class="scene-content">
<<if $serykxliorantr === "stage1">>
I nod slowly, my cheeks burning with embarrassment but also... excitement? <span class="dialog-liora">"The same medicine as before? I... I remember how good it made me feel..."</span>
Seryk's expression is gentle and caring. He glances around to make sure we're alone, then carefully guides me to a secluded spot.
<span class="dialog-seryk">"Just like before, Little Bird. Close your eyes and open your mouth. Let me take care of you."</span> His voice is soft, reassuring, and I find myself obeying without hesitation.
<center><img src="images/liora/chapter2/ntr1/mouthopen.webp" alt="Liora's Trust" width="400"></center>
I close my eyes and part my lips, already anticipating that strange, sweet taste. When the first drop of his saliva lands on my tongue, I can't help but let out a soft sigh of relief.
<span class="dialog-liora">"Mmm... it tastes even better than I remembered..."</span> I whisper, swallowing eagerly. Each drop sends that familiar warm tingling through my body, but this time I'm not confused by it - I welcome it.
<span class="dialog-seryk">"That's it, Little Bird. You're getting used to it, aren't you?"</span> His voice carries a hint of satisfaction as he continues feeding me his saliva. <span class="dialog-seryk">"Your body is learning to crave what it needs."</span>
<span class="dialog-liora">He's right... I do crave it now. The taste, the warmth, the way it makes me feel so alive and energized. Why does his saliva affect me so strongly?</span>
When he's finished, I feel completely restored - not just my mana, but something deeper. <span class="dialog-liora">"Thank you, Seryk... I feel perfect now."</span>
<span class="dialog-seryk">"We'll tell the others you found medicinal herbs again. Our little secret."</span> He helps me fix my appearance, his touch lingering just a moment longer than necessary.
<span class="dialog-liora">"Our secret..."</span> I repeat, and the words send a thrill through me that I don't quite understand.<<else>>
I nod slowly, my cheeks burning with embarrassment but my need for mana overriding everything else. <span class="dialog-liora">"I... if it will really help... then please..."</span>
Seryk's expression is so gentle and caring. He glances around once more to make sure we're alone, then carefully guides me to a more secluded spot behind some rocks.
<span class="dialog-seryk">"I'll be as gentle as possible, Little Bird. Just trust me, okay?"</span> His voice is soft, reassuring. I can see he's nervous too, which somehow makes me feel better about this.
<center><img src="images/seryk/nightactivities/2/ntrmariel/hand.webp" alt="Seryk's Care" width="400"></center>
What follows is incredibly intimate. Seryk is so careful with me, so attentive to my comfort. His body fluids... they taste strange but not unpleasant, and almost immediately I feel a warm energy flowing through me.
<span class="dialog-liora">"Oh... I can feel my mana returning..."</span> I gasp softly, trying to keep my voice down. The sensation is incredible - like warm honey flowing through my veins, restoring not just my magical energy but making me feel more alive than I have in days.
<span class="dialog-seryk">"That's it, Little Bird. Let it work through your system."</span> His hand gently strokes my hair as I recover. <span class="dialog-seryk">"You're so important to everyone... I couldn't bear to see you suffering."</span>
<span class="dialog-liora">I... I feel amazing. But also... different somehow. Like part of him is now part of me...</span>
When we're finished, Seryk helps me straighten my clothes and hair. <span class="dialog-seryk">"We should tell the others you found some medicinal herbs to restore your mana. They don't need to know the details."</span>
<span class="dialog-liora">"Y-yes... that's a good idea..."</span> I manage to say, still feeling the warm afterglow of the restoration.<</if>></div>
<div class="aftermath">
<h4>Mana Fully Restored</h4>
<p><span class="dialog-liora">I feel completely refreshed! My mana is back to full strength, and I feel... closer to Seryk somehow.</span></p>
<<if $serykxliorantr === "stage1">>
<div class="stage-progress" style="background: linear-gradient(45deg, rgba(139, 69, 19, 0.3), rgba(75, 0, 130, 0.3)); border: 2px solid rgba(139, 69, 19, 0.6); border-radius: 8px; padding: 15px; margin: 20px 0; text-align: center;">
<p style="color: #8B4513; font-weight: bold; margin-bottom: 10px;">🔥 NTR Stage 1: Saliva Fascination 🔥</p>
<p style="color: #dda0dd; font-style: italic;">Liora's growing fascination with Seryk's saliva deepens...</p>
<div style="margin-top: 10px;">
<span style="color: #FF1493;">Attraction +3</span> |
<span style="color: #FFB6C1;">Affection +2</span> |
<span style="color: #DDA0DD;">Saliva Fetish +0.2</span></div></div><</if>></div>
<<set State.variables.liora_combatStats.currentStamina = State.variables.liora_combatStats.maxStamina>> <<if $serykxliorantr === "stage1">><<set $liora_SerykAttraction += 3>><<trackAttraction "Liora" "Seryk" 3>> <<set $liora_SerykAffection += 2>><<trackAffection "Liora" "Seryk" 2>> <<set $liora_SalivaFetish = ($liora_SalivaFetish || 0) + 0.2>><<trackFetish "Liora" "salivaFetish" 0.2>> <<set $liora_serykDependency = ($liora_serykDependency || 0) + 1>><<trackOther "Liora" "serykDependency" 1>> <<changeLust "Liora" 15>><<changeLust "Seryk" 20>> <<else>><<set $liora_SerykAttraction += 5>><<trackAttraction "Liora" "Seryk" 5>> <<set $liora_SerykAffection += 2>><<trackAffection "Liora" "Seryk" 2>> <<set $liora_serykDependency = ($liora_serykDependency || 0) + 2>><<trackOther "Liora" "serykDependency" 2>> <<changeLust "Liora" 25>><<changeLust "Seryk" 30>> <</if>> <<set $serykAssistanceCount = ($serykAssistanceCount || 0) + 1>>
<center>[[Return to the others|PostAssistanceContinue]]</center>
</div>
<style>
.acceptance-scene {
padding: 20px;
background: linear-gradient(135deg, rgba(75, 0, 130, 0.2), rgba(255, 20, 147, 0.1));
border-radius: 10px;
}
.scene-content {
margin: 20px 0;
padding: 15px;
background: rgba(0, 0, 0, 0.3);
border-radius: 8px;
line-height: 1.6;
}
.aftermath {
margin-top: 20px;
padding: 15px;
background: rgba(0, 255, 0, 0.1);
border-radius: 8px;
border: 1px solid rgba(0, 255, 0, 0.3);
text-align: center;
}
</style><div class="refusal-scene">
<h3>Trying to Decline</h3><div class="scene-content">
I shake my head, my cheeks burning with embarrassment. <span class="dialog-liora">"I... I can't... that's too intimate... maybe I can rest and recover naturally..."</span>
But Seryk's expression becomes more concerned, not angry or pushy - just genuinely worried about me. <span class="dialog-seryk">"Little Bird, look at yourself. You're barely standing."</span>
He's right. I can feel my legs trembling, and my vision keeps blurring. <span class="dialog-seryk">"I know it's embarrassing, but I really do care about you. The party needs you healthy, and... I need to know you're okay."</span>
<span class="dialog-liora">"But what if someone finds out? What if <<print $humanName>> or Serin..."</span>
<span class="dialog-seryk">"They won't. This will be our secret."</span> His voice is so gentle, so caring. <span class="dialog-seryk">"I promise I'll be respectful. I just... I can't bear to see you suffering when I can help."</span>
<span class="dialog-liora">He's not being pushy or demanding. He genuinely wants to help me, and... and I do need the mana. The others are counting on me to keep them healed...</span>
<span class="dialog-liora">"I... if you promise it stays between us... and if it will really help the party..."</span>
</div>
<div class="gentle-acceptance">
<p><em><span class="dialog-liora">His genuine concern for me and the party's safety makes me realize this might be the only way...</span></em></p>
</div>
[[Accept his help|SerykAssistanceAccept]]
</div>
<style>
.refusal-scene {
padding: 20px;
background: linear-gradient(135deg, rgba(255, 0, 0, 0.1), rgba(75, 0, 130, 0.1));
border-radius: 10px;
}
.scene-content {
margin: 20px 0;
padding: 15px;
background: rgba(0, 0, 0, 0.3);
border-radius: 8px;
line-height: 1.6;
}
.gentle-acceptance {
margin-top: 20px;
padding: 15px;
background: rgba(255, 165, 0, 0.2);
border-radius: 8px;
border-left: 4px solid rgba(255, 165, 0, 0.5);
font-style: italic;
text-align: center;
}
</style><<changeFace $currentLioraFace>>
<div class="post-assistance">
<h3>Returning to the Others</h3>
<div class="scene-content">
<span class="dialog-liora">I feel... incredible. My mana is completely restored, but there's something else... something warm and tingly still flowing through me.</span>
As we walk back to where <<print $humanName>> and Serin are waiting, Seryk gently reminds me: <span class="dialog-seryk">"Remember, you found some medicinal herbs that restored your mana. That's all they need to know."</span>
<span class="dialog-liora">"Y-yes... medicinal herbs..."</span> I nod, though I can still taste him on my lips. <span class="dialog-liora">Why does keeping this secret feel so... exciting?</span>
When we approach the others, <<print $humanName>> looks up with concern. <span class="dialog-rylan">"Liora! You look much better. Did you find something to help?"</span>
<span class="dialog-liora">"I... yes! I found some special herbs that restored my mana completely."</span> The lie comes surprisingly easily. <span class="dialog-liora">"Seryk helped me identify them."</span>
Serin stretches and grins. <span class="dialog-serin">"Great! Now we can keep going. I was getting bored just waiting around."</span>
<span class="dialog-liora">They have no idea what really happened. Only Seryk and I know... and somehow that makes me feel closer to him than ever.</span></div>
<div class="expedition-continue">
<h4>Ready to Continue</h4>
<p><span class="dialog-liora">My mana is fully restored and I feel stronger than ever. The expedition can continue!</span></p></div>
<<set $postBattleSerykAssistance = false>><<link "Continue the expedition">><<advanceExpedition>><<if $hasNextMovement>><<generateEncounter>><<goto "ExpeditionEncounter">><<else>><<completeExpedition true>><<goto "ExpeditionComplete">><</if>><</link>></div>
<style>
.post-assistance {
padding: 20px;
background: linear-gradient(135deg, rgba(0, 255, 0, 0.1), rgba(75, 0, 130, 0.1));
border-radius: 10px;
}
.scene-content {
margin: 20px 0;
padding: 15px;
background: rgba(0, 0, 0, 0.3);
border-radius: 8px;
line-height: 1.6;
}
.expedition-continue {
margin-top: 20px;
padding: 15px;
background: rgba(0, 255, 0, 0.1);
border-radius: 8px;
border: 1px solid rgba(0, 255, 0, 0.3);
text-align: center;
}
</style>
<<statSummary>>
<<changeFace $currentLioraFace>><<if !$currentCharacter>>
An error occurred. No character selected.
[[Return|previous()]]
<<else>>
<<set _char = $characterTalents[$currentCharacter]>>
<<if _char>>
<<if $talentType == "corruption">>
Your soul pulses with dark energy as you consider your path...
// Display passive stat gains
<div class="stat-changes">
Passive Stats Gained This Level:
• Strength +2
• Agility +2
• Willpower +2
• Endurance +2
• Mana Control +2
</div>
// Display corruption debuff if applicable
<<if _char.corruption.debuffs.length > 0>>
<div class="corruption-effects">
Latest Corruption Effect:
• <<print setup.getDebuffDescription(_char.corruption.debuffs[_char.corruption.debuffs.length - 1])>>
</div>
<</if>>
// Display available talents based on character
<<for _tier, _talents range _char.corruption.talents>>
<<if _char.corruption.level >= setup.getTierRequirement(_tier)>>
<div class="talent-tier">
<<for _talentName, _unlocked range _talents>>
<<if !_unlocked>>
[[<<print setup.getTalentName(_talentName)>>|SelectTalent][$selectedTalent = _talentName; $selectedTier = _tier]]
<<print setup.getTalentDescription(_talentName)>>
<</if>>
<</for>>
</div>
<</if>>
<</for>>
<<else>>
Divine light fills your soul as you consider your path...
// Display passive stat gains
<div class="stat-changes">
Passive Stats Gained This Level:
• Strength +2
• Agility +2
• Willpower +2
• Endurance +2
• Mana Control +2
</div>
// Display blessing buff if applicable
<<if _char.blessing.buffs.length > 0>>
<div class="blessing-effects">
Latest Blessing Effect:
• <<print setup.getBuffDescription(_char.blessing.buffs[_char.blessing.buffs.length - 1])>>
</div>
<</if>>
// Display available talents based on character
<<for _tier, _talents range _char.blessing.talents>>
<<if _char.blessing.level >= setup.getTierRequirement(_tier)>>
<div class="talent-tier">
<<for _talentName, _unlocked range _talents>>
<<if !_unlocked>>
[[<<print setup.getTalentName(_talentName)>>|SelectTalent][$selectedTalent = _talentName; $selectedTier = _tier]]
<<print setup.getTalentDescription(_talentName)>>
<</if>>
<</for>>
</div>
<</if>>
<</for>>
<</if>>
<<else>>
An error occurred. Character data not found.
[[Return|previous()]]
<</if>>
<</if>><<if $currentCharacter && $selectedTalent && $selectedTier>>
<<set _char = $characterTalents[$currentCharacter]>>
<<if _char>>
<<if $talentType == "corruption">>
<<set _char.corruption.talents[$selectedTier][$selectedTalent] = true>>
<<else>>
<<set _char.blessing.talents[$selectedTier][$selectedTalent] = true>>
<</if>>
Your soul resonates with new power as you master this ability.
[[Continue|previous()]]
<<else>>
An error occurred. Please try again.
[[Return|previous()]]
<</if>>
<<else>>
An error occurred. Please try again.
[[Return|previous()]]
<</if>><<script>>window.AudioSystem.playBGM('forestofthebeginning.mp3');<</script>>
<<script>>
// Create the expedition configuration
const expeditionConfig = {
id: "forestTest",
name: "Forest Training Expedition",
description: "A test expedition through the Forest of Beginning to try out the new rogue-lite combat system.",
routes: {
safe: {
name: 'Safe Path',
difficulty: 0.7,
movements: 8,
poisonDamage: 3
},
balanced: {
name: 'Standard Route',
difficulty: 1.0,
movements: 12,
poisonDamage: 5
},
risky: {
name: 'Dangerous Trail',
difficulty: 1.4,
movements: 16,
poisonDamage: 7
}
},
encounters: {
easy: ['Slime', 'Goblin'],
medium: ['Wolf', 'RedSlime'],
hard: ['BlackSlime', 'GoblinHorde'],
boss: ['SpecialSlime']
},
events: [
{ id: 'rest', name: 'Peaceful Grove', type: 'rest' },
{ id: 'corruption', name: 'Strange Mist', type: 'corruption' },
{ id: 'relationship', name: 'Campfire Chat', type: 'relationship' },
{ id: 'training', name: 'Combat Practice', type: 'training' }
],
loot: {
common: [
{ name: 'Health Potion', effect: 'heal', value: 25 },
{ name: 'Vitality Boost', effect: 'maxHealth', value: 8 },
{ name: 'Energy Bar', effect: 'heal', value: 15 }
],
rare: [
{ name: 'Power Gauntlets', effect: 'physicalPower', value: 1.8 },
{ name: 'Swift Boots', effect: 'agility', value: 1.5 },
{ name: 'Iron Plating', effect: 'maxHealth', value: 20 }
]
}
};
// Create the expedition using the system
window.ExpeditionSystem.currentExpedition = window.ExpeditionSystem.createExpedition(expeditionConfig);
State.variables.currentExpedition = window.ExpeditionSystem.currentExpedition;
<</script>>
<div class="test-expedition-intro">
<h1>🎮 Rogue-lite Combat System Test</h1>
<div class="system-info">
<h3>New Features:</h3>
<ul>
<li><strong>Route Selection:</strong> Choose between Safe, Balanced, or Risky paths</li>
<li><strong>Movement-Based:</strong> Navigate through poisonous dungeon chambers</li>
<li><strong>Poison System:</strong> Each movement damages the party, Liora can heal</li>
<li><strong>Permanent Loot:</strong> Equipment gains that persist after expedition</li>
<li><strong>Combat Party:</strong> Only Rylan, Serin, and Seryk fight - Liora heals</li>
<li><strong>Auto-Revival:</strong> Liora automatically revives fallen party members</li>
</ul>
</div>
<div class="combat-changes">
<h3>Combat Changes:</h3>
<ul>
<li><strong>Turn-Based:</strong> Agility determines turn order</li>
<li><strong>Action Types:</strong> Attack, Guard, Special, Assist</li>
<li><strong>Combo System:</strong> Build combos for enhanced effects</li>
<li><strong>Corruption Effects:</strong> High corruption can enhance combat abilities</li>
<li><strong>Lust Effects:</strong> High lust can cause distractions in battle</li>
</ul>
</div>
<div class="integration-notes">
<h3>Story Integration:</h3>
<ul>
<li>Combat victories provide small permanent stat gains (0.1-0.2)</li>
<li>Poison damage creates tension and resource management</li>
<li>Liora's healing role makes her essential for success</li>
<li>Permanent loot provides meaningful character progression</li>
<li>Big gold rewards for successful completion</li>
</ul>
</div>
<div class="start-test">
<<link "🚀 Start Test Expedition">>
<<goto "ExpeditionStart">>
<</link>>
<<link "📖 Return to Story">>
<<goto "TownSquare">>
<</link>>
</div>
</div>
<style>
.test-expedition-intro {
max-width: 900px;
margin: 0 auto;
padding: 30px;
background: linear-gradient(135deg, rgba(76, 175, 80, 0.1), rgba(33, 150, 243, 0.1));
border-radius: 15px;
color: white;
border: 2px solid #4CAF50;
}
.test-expedition-intro h1 {
text-align: center;
color: #4CAF50;
margin-bottom: 30px;
font-size: 2.5em;
text-shadow: 0 0 10px rgba(76, 175, 80, 0.5);
}
.system-info, .combat-changes, .integration-notes {
background: rgba(0, 0, 0, 0.3);
padding: 20px;
margin: 20px 0;
border-radius: 10px;
border-left: 4px solid #4CAF50;
}
.system-info h3, .combat-changes h3, .integration-notes h3 {
color: #4CAF50;
margin-bottom: 15px;
font-size: 1.3em;
}
.system-info ul, .combat-changes ul, .integration-notes ul {
list-style: none;
padding: 0;
}
.system-info li, .combat-changes li, .integration-notes li {
margin: 10px 0;
padding: 8px 15px;
background: rgba(255, 255, 255, 0.05);
border-radius: 5px;
border-left: 3px solid #2196F3;
}
.system-info li strong, .combat-changes li strong, .integration-notes li strong {
color: #4CAF50;
}
.start-test {
text-align: center;
margin-top: 40px;
padding-top: 20px;
border-top: 2px solid rgba(76, 175, 80, 0.3);
}
.start-test a {
display: inline-block;
margin: 0 15px;
padding: 15px 30px;
font-size: 1.2em;
text-decoration: none;
border-radius: 8px;
transition: all 0.3s ease;
font-weight: bold;
}
.start-test a:first-child {
background: linear-gradient(45deg, #4CAF50, #45a049);
color: white;
box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);
}
.start-test a:first-child:hover {
background: linear-gradient(45deg, #45a049, #4CAF50);
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(76, 175, 80, 0.4);
}
.start-test a:last-child {
background: linear-gradient(45deg, #2196F3, #1976D2);
color: white;
box-shadow: 0 4px 15px rgba(33, 150, 243, 0.3);
}
.start-test a:last-child:hover {
background: linear-gradient(45deg, #1976D2, #2196F3);
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(33, 150, 243, 0.4);
}
</style><<script>>window.AudioSystem.playBGM('default.mp3');<</script>>
<div class="event-encounter">
<div class="event-header">
<h2>🌳 Peaceful Grove</h2>
<p>Your party discovers a tranquil clearing with a small spring and soft grass.</p>
</div>
<div class="event-image">
<center><img src="images/landscapes/flowerbed.webp" alt="Peaceful Grove" width="400"></center>
</div>
<div class="event-description">
<p>The gentle sound of flowing water and chirping birds creates a serene atmosphere. This seems like the perfect place to rest and recover.</p>
</div>
<div class="event-choices">
<h3>What do you want to do?</h3>
<div class="choice-grid">
<<link "Take a Long Rest">>
<<set $expeditionData.partyFatigue = Math.max(0, $expeditionData.partyFatigue - 2)>>
<<for _char range ["Rylan", "Serin", "Liora"]>>
<<set _stats = State.variables[_char.toLowerCase() + "_combatStats"]>>
<<set _stats.currentHealth = Math.min(_stats.maxHealth, _stats.currentHealth + 30)>>
<<set _stats.currentStamina = Math.min(_stats.maxStamina, _stats.currentStamina + 40)>>
<</for>>
<<set $restChoice = "long">>
<<goto "ExpeditionEvent_rest_result">>
<</link>>
<<link "Quick Break">>
<<set $expeditionData.partyFatigue = Math.max(0, $expeditionData.partyFatigue - 1)>>
<<for _char range ["Rylan", "Serin", "Liora"]>>
<<set _stats = State.variables[_char.toLowerCase() + "_combatStats"]>>
<<set _stats.currentStamina = Math.min(_stats.maxStamina, _stats.currentStamina + 20)>>
<</for>>
<<set $restChoice = "quick">>
<<goto "ExpeditionEvent_rest_result">>
<</link>>
<<link "Practice Training">>
<<for _char range ["Rylan", "Serin", "Liora"]>>
<<if random(1, 100) <= 60>>
<<set _statChoices = ["physicalPower", "agility", "technique"]>>
<<set _stat = _statChoices[random(0, 2)]>>
<<changeCombatStat _char _stat 0.1>>
<</if>>
<</for>>
<<set $restChoice = "training">>
<<goto "ExpeditionEvent_rest_result">>
<</link>>
</div>
</div>
</div>
<style>
.event-encounter {
max-width: 700px;
margin: 0 auto;
padding: 20px;
background: rgba(0, 0, 0, 0.8);
border-radius: 10px;
color: white;
}
.event-header {
text-align: center;
margin-bottom: 20px;
}
.event-header h2 {
color: #4CAF50;
margin-bottom: 10px;
}
.event-image {
margin: 20px 0;
}
.event-description {
background: rgba(255, 255, 255, 0.1);
padding: 15px;
border-radius: 5px;
margin: 20px 0;
font-style: italic;
}
.event-choices h3 {
color: #4CAF50;
text-align: center;
margin-bottom: 15px;
}
.choice-grid {
display: grid;
gap: 15px;
}
.choice-grid a {
display: block;
padding: 15px;
background: linear-gradient(45deg, #4CAF50, #45a049);
color: white;
text-decoration: none;
border-radius: 8px;
text-align: center;
transition: all 0.3s ease;
font-weight: bold;
}
.choice-grid a:hover {
background: linear-gradient(45deg, #45a049, #4CAF50);
transform: translateY(-2px);
box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);
}
</style><div class="event-result">
<<if $restChoice === "long">>
<h3>🛌 Long Rest Complete</h3>
<p><span class="dialog-rylan">"That was exactly what we needed. I feel much better now."</span></p>
<p><span class="dialog-serin">"Nothing beats a good rest in nature. Ready for whatever comes next!"</span></p>
<p><span class="dialog-liora">"The spring water was so refreshing... I feel renewed."</span></p>
<div class="rest-benefits">
<h4>Benefits:</h4>
<ul>
<li>✨ Party Fatigue reduced by 2</li>
<li>💚 All party members healed 30 HP</li>
<li>💙 All party members recovered 40 SP</li>
</ul>
</div>
<<elseif $restChoice === "quick">>
<h3>⚡ Quick Break</h3>
<p><span class="dialog-rylan">"A short break, but it helped. Let's keep moving."</span></p>
<p><span class="dialog-serin">"Just enough to catch our breath. I'm ready to go!"</span></p>
<p><span class="dialog-liora">"I feel a bit better. Thank you for the rest."</span></p>
<div class="rest-benefits">
<h4>Benefits:</h4>
<ul>
<li>✨ Party Fatigue reduced by 1</li>
<li>💙 All party members recovered 20 SP</li>
</ul>
</div>
<<else>>
<h3>⚔️ Training Session</h3>
<p><span class="dialog-serin">"Good idea! Let's use this space to practice our techniques."</span></p>
<p><span class="dialog-rylan">"I can feel myself getting stronger through this training."</span></p>
<p><span class="dialog-liora">"Even I learned something new about combat positioning."</span></p>
<div class="rest-benefits">
<h4>Benefits:</h4>
<ul>
<li>⚔️ Chance for combat stat improvements</li>
<li>🎯 Enhanced technique and coordination</li>
</ul>
</div>
<</if>>
<div class="continue-expedition">
<<link "Continue the Expedition">>
<<nextEncounter>>
<<if $hasNextEncounter>>
<<goto "ExpeditionEncounter">>
<<else>>
<<completeExpedition true>>
<<goto "ExpeditionComplete">>
<</if>>
<</link>>
</div>
</div>
<style>
.event-result {
max-width: 600px;
margin: 0 auto;
padding: 20px;
background: rgba(0, 0, 0, 0.8);
border-radius: 10px;
color: white;
}
.event-result h3 {
color: #4CAF50;
text-align: center;
margin-bottom: 20px;
}
.event-result p {
margin: 10px 0;
padding: 8px;
background: rgba(255, 255, 255, 0.05);
border-radius: 5px;
}
.rest-benefits {
background: rgba(76, 175, 80, 0.1);
padding: 15px;
border-radius: 5px;
margin: 20px 0;
border-left: 4px solid #4CAF50;
}
.rest-benefits h4 {
color: #4CAF50;
margin-bottom: 10px;
}
.rest-benefits ul {
list-style: none;
padding: 0;
}
.rest-benefits li {
margin: 5px 0;
padding: 5px 10px;
background: rgba(255, 255, 255, 0.05);
border-radius: 3px;
}
.continue-expedition {
text-align: center;
margin-top: 30px;
}
.continue-expedition a {
padding: 12px 24px;
background: #4CAF50;
color: white;
text-decoration: none;
border-radius: 5px;
font-weight: bold;
transition: background 0.3s;
}
.continue-expedition a:hover {
background: #45a049;
}
</style><div class="sneak-success">
<h2>🤫 Successfully Avoided Combat!</h2>
<div class="sneak-description">
<p>Your party carefully navigates around the enemies, using stealth and cunning to avoid a potentially dangerous encounter.</p>
<p><span class="dialog-serin">"Nice work everyone. Sometimes the best fight is the one you don't have."</span></p>
<p><span class="dialog-rylan">"We saved our energy for when it really matters."</span></p>
<p><span class="dialog-liora">"I'm glad we didn't have to hurt anyone unnecessarily."</span></p>
</div>
<div class="sneak-benefits">
<h4>Benefits of Avoiding Combat:</h4>
<ul>
<li>✨ No additional fatigue gained</li>
<li>💙 Stamina preserved for future encounters</li>
<li>🎯 Slight agility improvement from stealth practice</li>
</ul>
<<for _char range ["Rylan", "Serin", "Liora"]>>
<<if random(1, 100) <= 40>>
<<changeCombatStat _char "agility" 0.1>>
<</if>>
<</for>>
</div>
<div class="continue-expedition">
<<link "Continue Forward">>
<<nextEncounter>>
<<if $hasNextEncounter>>
<<goto "ExpeditionEncounter">>
<<else>>
<<completeExpedition true>>
<<goto "ExpeditionComplete">>
<</if>>
<</link>>
</div>
</div>
<style>
.sneak-success {
max-width: 600px;
margin: 0 auto;
padding: 20px;
background: rgba(0, 0, 0, 0.8);
border-radius: 10px;
color: white;
}
.sneak-success h2 {
color: #4CAF50;
text-align: center;
margin-bottom: 20px;
}
.sneak-description {
background: rgba(255, 255, 255, 0.1);
padding: 15px;
border-radius: 5px;
margin: 20px 0;
}
.sneak-description p {
margin: 10px 0;
}
.sneak-benefits {
background: rgba(76, 175, 80, 0.1);
padding: 15px;
border-radius: 5px;
margin: 20px 0;
border-left: 4px solid #4CAF50;
}
.sneak-benefits h4 {
color: #4CAF50;
margin-bottom: 10px;
}
.sneak-benefits ul {
list-style: none;
padding: 0;
}
.sneak-benefits li {
margin: 5px 0;
padding: 5px 10px;
background: rgba(255, 255, 255, 0.05);
border-radius: 3px;
}
.continue-expedition {
text-align: center;
margin-top: 30px;
}
.continue-expedition a {
padding: 12px 24px;
background: #4CAF50;
color: white;
text-decoration: none;
border-radius: 5px;
font-weight: bold;
}
</style>
<<statSummary>>
<<changeFace $currentRylanFace>><<script>>
if (!State.variables.currentDungeonBattle.enemy) {
State.variables.currentDungeonBattle = {
enemy: { name: "Corrupted Guard", maxLust: 120, attack: 25, defense: 15 },
enemyLust: 0,
enemyMaxLust: 120,
round: 0,
dungeonStartHP: 0,
totalStartHP: 0
};
DungeonSystem.startBattle("chapter1", 0);
}
<</script>>
<<nobr>>
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); padding: 20px; margin: 20px 0; border-radius: 10px;">
<h2 style="color: #FFD700; text-align: center; margin-bottom: 20px;">⚔️ Dungeon Battle</h2>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px;">
<div style="background: rgba(60, 60, 65, 0.8); padding: 15px; border-radius: 8px; border: 1px solid rgba(100, 100, 100, 0.3);">
<h3 style="color: #FF6B6B; margin-bottom: 10px;">Enemy Status</h3>
<p><strong>Name:</strong> <<print State.variables.currentDungeonBattle.enemy.name>></p>
<p><strong>Lust:</strong> <<print State.variables.currentDungeonBattle.enemyLust>> / <<print State.variables.currentDungeonBattle.enemyMaxLust>></p>
<p><strong>Attack:</strong> <<print State.variables.currentDungeonBattle.enemy.attack>></p>
<p><strong>Defense:</strong> <<print State.variables.currentDungeonBattle.enemy.defense>></p>
</div>
<div style="background: rgba(60, 60, 65, 0.8); padding: 15px; border-radius: 8px; border: 1px solid rgba(100, 100, 100, 0.3);">
<h3 style="color: #4ECDC4; margin-bottom: 10px;">Dungeon Status</h3>
<p><strong>Health:</strong> <<print State.variables.dungeonStats.health>> / <<print State.variables.dungeonStats.maxHealth>></p>
<p><strong>Defense:</strong> <<print State.variables.dungeonStats.defense>></p>
<p><strong>Trap Level:</strong> <<print State.variables.dungeonStats.trapLevel>></p>
<p><strong>Round:</strong> <<print State.variables.currentDungeonBattle.round>></p>
</div>
</div>
<<if State.variables.currentDungeonBattle.round === 0>>
<div style="background: rgba(40, 40, 45, 0.9); padding: 20px; border-radius: 8px; text-align: center; margin-bottom: 20px;">
<h3 style="color: #FFD700; margin-bottom: 15px;">Battle Ready!</h3>
<p style="color: #E0E0E0; margin-bottom: 15px;">Your traps are set and your dungeon is prepared. The <<print State.variables.currentDungeonBattle.enemy.name>> approaches...</p>
<p style="color: #87CEEB;"><strong>Lust Damage per Round:</strong> <<print DungeonSystem.calculateLustDamage()>></p>
<p style="color: #FF6B6B;"><strong>Enemy Attack:</strong> <<print State.variables.currentDungeonBattle.enemy.attack>></p>
</div>
<div style="text-align: center;">
<<link "🎯 Begin Battle" "DungeonCombatRound">><<set $temp = "">><</link>>
</div>
<</if>>
<<if State.variables.currentDungeonBattle.round > 0>>
<div style="background: rgba(40, 40, 45, 0.9); padding: 20px; border-radius: 8px; margin-bottom: 20px;">
<h3 style="color: #FFD700; margin-bottom: 15px;">Round <<print State.variables.currentDungeonBattle.round>> Results</h3>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 15px;">
<div style="background: rgba(76, 175, 80, 0.2); padding: 15px; border-radius: 6px; border: 1px solid rgba(76, 175, 80, 0.4);">
<h4 style="color: #4CAF50; margin-bottom: 8px;">🎯 Your Traps</h4>
<p><strong>Lust Damage:</strong> +<<print DungeonSystem.calculateLustDamage()>></p>
<p><strong>Enemy Lust:</strong> <<print State.variables.currentDungeonBattle.enemyLust>> / <<print State.variables.currentDungeonBattle.enemyMaxLust>></p>
</div>
<div style="background: rgba(244, 67, 54, 0.2); padding: 15px; border-radius: 6px; border: 1px solid rgba(244, 67, 54, 0.4);">
<h4 style="color: #F44336; margin-bottom: 8px;">⚔️ Enemy Attack</h4>
<p><strong>Damage Dealt:</strong> -<<print Math.max(5, State.variables.currentDungeonBattle.enemy.attack - State.variables.dungeonStats.defense)>></p>
<p><strong>Dungeon Health:</strong> <<print State.variables.dungeonStats.health>></p>
</div>
</div>
<<if DungeonSystem.checkVictory() === "ongoing">>
<div style="text-align: center;">
<<link "⏭️ Next Round" "DungeonCombatRound">><<set $temp = "">><</link>>
</div>
<</if>>
</div>
<</if>>
<<if DungeonSystem.checkVictory() === "victory">>
<div style="background: linear-gradient(145deg, rgba(76, 175, 80, 0.2), rgba(76, 175, 80, 0.1)); padding: 20px; border-radius: 8px; border: 2px solid rgba(76, 175, 80, 0.6); margin-bottom: 20px;">
<h3 style="color: #4CAF50; text-align: center; margin-bottom: 15px;">🎉 VICTORY!</h3>
<p style="color: #E0E0E0; text-align: center; margin-bottom: 15px;">The <<print State.variables.currentDungeonBattle.enemy.name>> has been overwhelmed by lust!</p>
<div style="background: rgba(60, 60, 65, 0.8); padding: 15px; border-radius: 6px; margin-bottom: 15px;">
<h4 style="color: #FFD700; margin-bottom: 10px;">Victory Tier: <<print DungeonSystem.calculateVictoryTier()>></h4>
<p><strong>Dungeon Health Remaining:</strong> <<print State.variables.dungeonStats.health>> / <<print State.variables.currentDungeonBattle.totalStartHP>></p>
<p><strong>Health Percentage:</strong> <<print Math.round((State.variables.dungeonStats.health / State.variables.currentDungeonBattle.totalStartHP) * 100)>>%</p>
<p><strong>Rewards:</strong>
<<if DungeonSystem.calculateVictoryTier() === "overkill">>150% (Overkill Bonus)<<elseif DungeonSystem.calculateVictoryTier() === "normal">>100% (Normal)<<elseif DungeonSystem.calculateVictoryTier() === "barely">>50% (Barely Won)<<else>>0% (Defeat)<</if>>
</p>
</div>
<div style="text-align: center;">
<<link "🔒 Capture Prisoner" "PrisonerCapture">><<set $temp = "">><</link>>
<<link "🏰 Return to Dungeon" "DungeonCore">><<set $temp = "">><</link>>
</div>
</div>
<</if>>
<<if DungeonSystem.checkVictory() === "defeat">>
<div style="background: linear-gradient(145deg, rgba(244, 67, 54, 0.2), rgba(244, 67, 54, 0.1)); padding: 20px; border-radius: 8px; border: 2px solid rgba(244, 67, 54, 0.6); margin-bottom: 20px;">
<h3 style="color: #F44336; text-align: center; margin-bottom: 15px;">💀 DEFEAT!</h3>
<p style="color: #E0E0E0; text-align: center; margin-bottom: 15px;">Your dungeon has been destroyed! No rewards earned.</p>
<div style="text-align: center;">
<<link "🏰 Return to Dungeon" "DungeonCore">><<set $temp = "">><</link>>
</div>
</div>
<</if>>
</div>
<</nobr>>
<<script>>window.AudioSystem.playBGM('falseutopia.mp3');<</script>>
<<statSummary>><<nobr>>
<<set $roundResult = DungeonSystem.processRound()>>
<<set State.variables.currentDungeonBattle.enemyLust = $roundResult.enemyLust>>
<<set State.variables.dungeonStats.health = $roundResult.dungeonHealth>>
<div style="background: linear-gradient(135deg, rgba(25, 25, 35, 0.95), rgba(45, 45, 60, 0.9)); border: 3px solid rgba(255, 215, 0, 0.6); padding: 15px; margin: 15px 0; border-radius: 12px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);">
<h2 style="color: #FFD700; text-align: center; margin: 0 0 15px 0; font-size: 24px; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);">⚔️ Round <<print State.variables.currentDungeonBattle.round>></h2>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 15px;">
<div style="background: linear-gradient(145deg, rgba(76, 175, 80, 0.15), rgba(76, 175, 80, 0.05)); padding: 12px; border-radius: 8px; border: 2px solid rgba(76, 175, 80, 0.4);">
<h3 style="color: #4CAF50; margin: 0 0 8px 0; font-size: 18px; text-align: center;">🎯 Trap Activation</h3>
<p style="color: #E0E0E0; margin: 0 0 8px 0; font-size: 14px; text-align: center;">Your traps overwhelm <<print State.variables.currentDungeonBattle.enemy.name>> with lust!</p>
<div style="background: rgba(76, 175, 80, 0.3); padding: 10px; border-radius: 6px; text-align: center;">
<p style="font-size: 20px; color: #4CAF50; margin: 0; font-weight: bold;">+<<print $roundResult.lustDamage>> Lust</p>
<p style="color: #E0E0E0; margin: 5px 0 0 0; font-size: 14px;"><strong>Enemy Lust:</strong> <<print $roundResult.enemyLust>> / <<print State.variables.currentDungeonBattle.enemyMaxLust>></p>
</div>
</div>
<div style="background: linear-gradient(145deg, rgba(244, 67, 54, 0.15), rgba(244, 67, 54, 0.05)); padding: 12px; border-radius: 8px; border: 2px solid rgba(244, 67, 54, 0.4);">
<h3 style="color: #F44336; margin: 0 0 8px 0; font-size: 18px; text-align: center;">⚔️ Enemy Counterattack</h3>
<p style="color: #E0E0E0; margin: 0 0 8px 0; font-size: 14px; text-align: center;"><<print State.variables.currentDungeonBattle.enemy.name>> strikes back!</p>
<div style="background: rgba(244, 67, 54, 0.3); padding: 10px; border-radius: 6px; text-align: center;">
<p style="font-size: 20px; color: #F44336; margin: 0; font-weight: bold;">-<<print $roundResult.enemyDamage>> Health</p>
<p style="color: #E0E0E0; margin: 5px 0 0 0; font-size: 14px;"><strong>Dungeon:</strong> <<print $roundResult.dungeonHealth>> / <<print State.variables.currentDungeonBattle.totalStartHP>></p>
</div>
</div>
</div>
<<if $roundResult.enemyLust >= State.variables.currentDungeonBattle.enemyMaxLust>>
<div style="background: linear-gradient(145deg, rgba(76, 175, 80, 0.4), rgba(76, 175, 80, 0.2)); padding: 12px; border-radius: 8px; border: 2px solid rgba(76, 175, 80, 0.8); margin-bottom: 15px; text-align: center;">
<h4 style="color: #4CAF50; margin: 0; font-size: 18px;">🎉 Lust Overwhelmed!</h4>
<p style="color: #E0E0E0; margin: 5px 0 0 0;"><<print State.variables.currentDungeonBattle.enemy.name>> can't resist!</p>
</div>
<</if>>
<<if $roundResult.dungeonHealth <= 0>>
<div style="background: linear-gradient(145deg, rgba(244, 67, 54, 0.4), rgba(244, 67, 54, 0.2)); padding: 12px; border-radius: 8px; border: 2px solid rgba(244, 67, 54, 0.8); margin-bottom: 15px; text-align: center;">
<h4 style="color: #F44336; margin: 0; font-size: 18px;">💀 Dungeon Destroyed!</h4>
<p style="color: #E0E0E0; margin: 5px 0 0 0;">Your dungeon is gone!</p>
</div>
<</if>>
<div style="background: rgba(60, 60, 75, 0.9); padding: 12px; border-radius: 8px; border: 1px solid rgba(255, 215, 0, 0.3); margin-bottom: 15px;">
<h3 style="color: #87CEEB; margin: 0 0 10px 0; font-size: 16px; text-align: center;">Battle Status</h3>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 12px;">
<div style="text-align: center;">
<p style="margin: 5px 0; font-size: 14px;"><strong>Round:</strong> <<print State.variables.currentDungeonBattle.round>></p>
<p style="margin: 5px 0; font-size: 14px;"><strong>Lust:</strong> <<print Math.round(($roundResult.enemyLust / State.variables.currentDungeonBattle.enemyMaxLust) * 100)>>%</p>
<p style="margin: 5px 0; font-size: 14px;"><strong>Health:</strong> <<print Math.round(($roundResult.dungeonHealth / State.variables.currentDungeonBattle.totalStartHP) * 100)>>%</p>
</div>
<div style="text-align: center;">
<p style="margin: 5px 0; font-size: 14px;"><strong>Status:</strong></p>
<p style="margin: 5px 0; font-size: 16px; font-weight: bold;">
<<if DungeonSystem.checkVictory() === "victory">>🎉 VICTORY!<</if>>
<<if DungeonSystem.checkVictory() === "defeat">>💀 DEFEAT!<</if>>
<<if DungeonSystem.checkVictory() === "ongoing">>⚔️ Ongoing<</if>>
</p>
</div>
</div>
</div>
<div style="text-align: center;">
<<if DungeonSystem.checkVictory() === "ongoing">>
<<link "⏭️ Continue Battle" "DungeonCombatRound">><<set $temp = "">><</link>>
<</if>>
<<if DungeonSystem.checkVictory() === "victory">>
<<link "🎉 View Victory" "DungeonCombat">><<set $temp = "">><</link>>
<</if>>
<<if DungeonSystem.checkVictory() === "defeat">>
<<link "💀 View Defeat" "DungeonCombat">><<set $temp = "">><</link>>
<</if>>
<<link "🏰 Return to Battle" "DungeonCombat">><<set $temp = "">><</link>>
</div>
</div>
<</nobr>>
<<script>>window.AudioSystem.playBGM('nimeria.mp3');<</script>>
<<statSummary>><<script>>
if (!State.variables.dungeonStats) {
State.variables.dungeonStats = {
health: 100,
defense: 20,
attack: 15,
trapLevel: 1,
maxHealth: 100,
maxDefense: 20,
maxAttack: 15
};
}
if (!State.variables.dungeonEnemies) {
State.variables.dungeonEnemies = {
chapter1: [
{ name: "Corrupted Guard", maxLust: 120, attack: 25, defense: 15 },
{ name: "Fallen Priest", maxLust: 150, attack: 30, defense: 20 },
{ name: "Dark Knight", maxLust: 180, attack: 35, defense: 25 }
],
chapter2: [
{ name: "Corrupted Paladin", maxLust: 250, attack: 45, defense: 35 },
{ name: "Fallen Angel", maxLust: 300, attack: 50, defense: 40 },
{ name: "Demon Hunter", maxLust: 350, attack: 55, defense: 45 }
],
chapter3: [
{ name: "Corrupted Archangel", maxLust: 500, attack: 70, defense: 60 },
{ name: "Fallen Hero", maxLust: 600, attack: 75, defense: 65 },
{ name: "Dark Champion", maxLust: 700, attack: 80, defense: 70 }
],
chapter4: [
{ name: "Corrupted Deity", maxLust: 800, attack: 90, defense: 80 },
{ name: "Fallen God", maxLust: 1000, attack: 100, defense: 90 },
{ name: "Void Entity", maxLust: 1200, attack: 110, defense: 100 }
]
};
}
if (!State.variables.currentDungeonBattle) {
State.variables.currentDungeonBattle = {
enemy: null,
enemyLust: 0,
enemyMaxLust: 0,
round: 0,
dungeonStartHP: 0,
totalStartHP: 0
};
}
window.DungeonSystem = {
calculateTotalStats: function() {
let party = State.variables.characters;
let dungeon = State.variables.dungeonStats;
let totalHP = 0;
let totalDefense = 0;
let totalAttack = 0;
Object.keys(party).forEach(charName => {
if (party[charName] && party[charName].currentHealth) {
totalHP += party[charName].currentHealth;
totalDefense += party[charName].defense || 0;
totalAttack += party[charName].attack || 0;
}
});
return {
health: totalHP + dungeon.health,
defense: totalDefense + dungeon.defense,
attack: totalAttack + dungeon.attack,
maxHealth: totalHP + dungeon.maxHealth
};
},
calculateLustDamage: function() {
let dungeon = State.variables.dungeonStats;
let party = State.variables.characters;
let baseDamage = 10 + (dungeon.trapLevel * 5);
let experienceBonus = 0;
Object.keys(party).forEach(charName => {
if (party[charName] && party[charName].sexualExperience) {
experienceBonus += Math.floor(party[charName].sexualExperience / 10);
}
});
return baseDamage + experienceBonus;
},
startBattle: function(enemyType, enemyIndex) {
let enemies = State.variables.dungeonEnemies[enemyType];
let enemy = enemies[enemyIndex];
let totalStats = this.calculateTotalStats();
State.variables.currentDungeonBattle = {
enemy: enemy,
enemyLust: 0,
enemyMaxLust: enemy.maxLust,
round: 0,
dungeonStartHP: State.variables.dungeonStats.health,
totalStartHP: totalStats.health
};
State.variables.dungeonStats.health = totalStats.health;
},
processRound: function() {
let battle = State.variables.currentDungeonBattle;
let dungeon = State.variables.dungeonStats;
battle.round++;
let lustDamage = this.calculateLustDamage();
battle.enemyLust += lustDamage;
let enemyDamage = Math.max(5, battle.enemy.attack - dungeon.defense);
dungeon.health -= enemyDamage;
return {
lustDamage: lustDamage,
enemyDamage: enemyDamage,
enemyLust: battle.enemyLust,
dungeonHealth: dungeon.health,
round: battle.round
};
},
checkVictory: function() {
let battle = State.variables.currentDungeonBattle;
let dungeon = State.variables.dungeonStats;
if (battle.enemyLust >= battle.enemyMaxLust) {
return "victory";
} else if (dungeon.health <= 0) {
return "defeat";
}
return "ongoing";
},
calculateVictoryTier: function() {
let battle = State.variables.currentDungeonBattle;
let dungeon = State.variables.dungeonStats;
let healthPercentage = (dungeon.health / battle.totalStartHP) * 100;
if (healthPercentage > 80) return "overkill";
if (healthPercentage > 40) return "normal";
if (healthPercentage > 10) return "barely";
return "defeat";
}
};
<</script>>
<<nobr>>
<div style="background: linear-gradient(135deg, rgba(25, 25, 35, 0.95), rgba(45, 45, 60, 0.9)); border: 3px solid rgba(255, 215, 0, 0.6); padding: 15px; margin: 15px 0; border-radius: 12px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);">
<h2 style="color: #FFD700; text-align: center; margin: 0 0 15px 0; font-size: 28px; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);">🏰 Dungeon Management</h2>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 15px;">
<div style="background: linear-gradient(145deg, rgba(135, 206, 235, 0.15), rgba(135, 206, 235, 0.05)); padding: 12px; border-radius: 8px; border: 2px solid rgba(135, 206, 235, 0.4);">
<h3 style="color: #87CEEB; margin: 0 0 8px 0; font-size: 18px; text-align: center;">Dungeon Stats</h3>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 8px; font-size: 14px;">
<p style="margin: 3px 0; color: #E0E0E0;"><strong>Health:</strong> <<print State.variables.dungeonStats.health>>/<<print State.variables.dungeonStats.maxHealth>></p>
<p style="margin: 3px 0; color: #E0E0E0;"><strong>Defense:</strong> <<print State.variables.dungeonStats.defense>></p>
<p style="margin: 3px 0; color: #E0E0E0;"><strong>Attack:</strong> <<print State.variables.dungeonStats.attack>></p>
<p style="margin: 3px 0; color: #E0E0E0;"><strong>Trap:</strong> <<print State.variables.dungeonStats.trapLevel>></p>
</div>
</div>
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.15), rgba(255, 215, 0, 0.05)); padding: 12px; border-radius: 8px; border: 2px solid rgba(255, 215, 0, 0.4);">
<h3 style="color: #FFD700; margin: 0 0 8px 0; font-size: 18px; text-align: center;">Combined Stats</h3>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 8px; font-size: 14px;">
<p style="margin: 3px 0; color: #E0E0E0;"><strong>Total HP:</strong> <<print DungeonSystem.calculateTotalStats().health>></p>
<p style="margin: 3px 0; color: #E0E0E0;"><strong>Total Def:</strong> <<print DungeonSystem.calculateTotalStats().defense>></p>
<p style="margin: 3px 0; color: #E0E0E0;"><strong>Total Atk:</strong> <<print DungeonSystem.calculateTotalStats().attack>></p>
<p style="margin: 3px 0; color: #E0E0E0;"><strong>Lust/Round:</strong> <<print DungeonSystem.calculateLustDamage()>></p>
</div>
</div>
</div>
<div style="text-align: center;">
<<link "⚔️ Start Battle" "DungeonCombat">><<set $temp = "">><</link>>
<<link "🔧 Upgrades" "DungeonUpgrades">><<set $temp = "">><</link>>
<<link "🏛️ Prisoners" "PrisonerManagement">><<set $temp = "">><</link>>
</div>
</div> <<script>>window.AudioSystem.playBGM('nimeria.mp3');<</script>>
<</nobr>>
<<statSummary>><<script>>
if (!State.variables.dungeonStats) {
State.variables.dungeonStats = {
health: 100,
defense: 20,
attack: 15,
trapLevel: 1,
maxHealth: 100,
maxDefense: 20,
maxAttack: 15
};
}
if (!State.variables.dungeonResources) {
State.variables.dungeonResources = {
gold: 1000,
crystals: 100,
materials: 50
};
}
if (!State.variables.dungeonPrisons) {
State.variables.dungeonPrisons = {
basicCells: 3,
upgradedCells: 0,
luxuryCells: 0,
trainingCells: 0
};
}
window.DungeonUpgradeSystem = {
upgradeTrap: function() {
let cost = State.variables.dungeonStats.trapLevel * 100;
if (State.variables.dungeonResources.gold >= cost) {
State.variables.dungeonResources.gold -= cost;
State.variables.dungeonStats.trapLevel++;
return true;
}
return false;
},
upgradeHealth: function() {
let cost = Math.floor(State.variables.dungeonStats.maxHealth / 10) * 50;
if (State.variables.dungeonResources.gold >= cost) {
State.variables.dungeonResources.gold -= cost;
State.variables.dungeonStats.maxHealth += 50;
State.variables.dungeonStats.health += 50;
return true;
}
return false;
},
upgradeDefense: function() {
let cost = State.variables.dungeonStats.defense * 25;
if (State.variables.dungeonResources.gold >= cost) {
State.variables.dungeonResources.gold -= cost;
State.variables.dungeonStats.defense += 5;
State.variables.dungeonStats.maxDefense += 5;
return true;
}
return false;
},
upgradeAttack: function() {
let cost = State.variables.dungeonStats.attack * 20;
if (State.variables.dungeonResources.gold >= cost) {
State.variables.dungeonResources.gold -= cost;
State.variables.dungeonStats.attack += 3;
State.variables.dungeonStats.maxAttack += 3;
return true;
}
return false;
},
upgradeBasicCell: function() {
let cost = 200;
if (State.variables.dungeonResources.gold >= cost) {
State.variables.dungeonResources.gold -= cost;
State.variables.dungeonPrisons.basicCells++;
return true;
}
return false;
},
upgradeToUpgradedCell: function() {
let cost = 500;
if (State.variables.dungeonResources.gold >= cost && State.variables.dungeonPrisons.basicCells > 0) {
State.variables.dungeonResources.gold -= cost;
State.variables.dungeonPrisons.basicCells--;
State.variables.dungeonPrisons.upgradedCells++;
return true;
}
return false;
},
upgradeToLuxuryCell: function() {
let cost = 1000;
if (State.variables.dungeonResources.gold >= cost && State.variables.dungeonPrisons.upgradedCells > 0) {
State.variables.dungeonResources.gold -= cost;
State.variables.dungeonPrisons.upgradedCells--;
State.variables.dungeonPrisons.luxuryCells++;
return true;
}
return false;
},
upgradeToTrainingCell: function() {
let cost = 1500;
if (State.variables.dungeonResources.gold >= cost && State.variables.dungeonPrisons.luxuryCells > 0) {
State.variables.dungeonResources.gold -= cost;
State.variables.dungeonPrisons.luxuryCells--;
State.variables.dungeonPrisons.trainingCells++;
return true;
}
return false;
}
};
<</script>>
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); padding: 20px; margin: 20px 0; border-radius: 10px;">
<h2 style="color: #FFD700; text-align: center; margin-bottom: 20px;">🔧 Dungeon Upgrades</h2>
<div style="background: rgba(60, 60, 65, 0.8); padding: 15px; border-radius: 8px; border: 1px solid rgba(100, 100, 100, 0.3); margin-bottom: 20px;">
<h3 style="color: #87CEEB; margin-bottom: 10px;">💰 Available Resources</h3>
<div style="display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 15px;">
<div style="text-align: center;">
<p style="color: #FFD700; font-size: 18px;"><strong>Gold:</strong> <<print State.variables.dungeonResources.gold>></p>
</div>
<div style="text-align: center;">
<p style="color: #87CEEB; font-size: 18px;"><strong>Crystals:</strong> <<print State.variables.dungeonResources.crystals>></p>
</div>
<div style="text-align: center;">
<p style="color: #4CAF50; font-size: 18px;"><strong>Materials:</strong> <<print State.variables.dungeonResources.materials>></p>
</div>
</div>
</div>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px;">
<div style="background: rgba(40, 40, 45, 0.9); padding: 20px; border-radius: 8px;">
<h3 style="color: #FFD700; margin-bottom: 15px;">🎯 Trap & Combat Upgrades</h3>
<div style="background: rgba(76, 175, 80, 0.2); padding: 15px; border-radius: 6px; border: 1px solid rgba(76, 175, 80, 0.4); margin-bottom: 15px;">
<h4 style="color: #4CAF50; margin-bottom: 8px;">Trap Level <<print State.variables.dungeonStats.trapLevel>></h4>
<p style="color: #E0E0E0; margin-bottom: 10px;">Increases lust damage per round</p>
<p style="color: #FFD700;"><strong>Cost:</strong> <<print State.variables.dungeonStats.trapLevel * 100>> Gold</p>
<p style="color: #87CEEB;"><strong>Current Lust Damage:</strong> <<print 10 + (State.variables.dungeonStats.trapLevel * 5)>> per round</p>
<a href="DungeonUpgradeTrap" class="button" style="background: linear-gradient(145deg, #4CAF50, #45a049); color: white; padding: 8px 16px; text-decoration: none; border-radius: 4px; display: inline-block;">Upgrade</a>
</div>
<div style="background: rgba(33, 150, 243, 0.2); padding: 15px; border-radius: 6px; border: 1px solid rgba(33, 150, 243, 0.4); margin-bottom: 15px;">
<h4 style="color: #2196F3; margin-bottom: 8px;">Health <<print State.variables.dungeonStats.maxHealth>></h4>
<p style="color: #E0E0E0; margin-bottom: 10px;">Increases dungeon survivability</p>
<p style="color: #FFD700;"><strong>Cost:</strong> <<print Math.floor(State.variables.dungeonStats.maxHealth / 10) * 50>> Gold</p>
<a href="DungeonUpgradeHealth" class="button" style="background: linear-gradient(145deg, #2196F3, #1976D2); color: white; padding: 8px 16px; text-decoration: none; border-radius: 4px; display: inline-block;">Upgrade</a>
</div>
<div style="background: rgba(156, 39, 176, 0.2); padding: 15px; border-radius: 6px; border: 1px solid rgba(156, 39, 176, 0.4); margin-bottom: 15px;">
<h4 style="color: #9C27B0; margin-bottom: 8px;">Defense <<print State.variables.dungeonStats.defense>></h4>
<p style="color: #E0E0E0; margin-bottom: 10px;">Reduces enemy damage per round</p>
<p style="color: #FFD700;"><strong>Cost:</strong> <<print State.variables.dungeonStats.defense * 25>> Gold</p>
<a href="DungeonUpgradeDefense" class="button" style="background: linear-gradient(145deg, #9C27B0, #7B1FA2); color: white; padding: 8px 16px; text-decoration: none; border-radius: 4px; display: inline-block;">Upgrade</a>
</div>
<div style="background: rgba(255, 152, 0, 0.2); padding: 15px; border-radius: 6px; border: 1px solid rgba(255, 152, 0, 0.4); margin-bottom: 15px;">
<h4 style="color: #FF9800; margin-bottom: 8px;">Attack <<print State.variables.dungeonStats.attack>></h4>
<p style="color: #E0E0E0; margin-bottom: 10px;">Increases dungeon offensive power</p>
<p style="color: #FFD700;"><strong>Cost:</strong> <<print State.variables.dungeonStats.attack * 20>> Gold</p>
<a href="DungeonUpgradeAttack" class="button" style="background: linear-gradient(145deg, #FF9800, #F57C00); color: white; padding: 8px 16px; text-decoration: none; border-radius: 4px; display: inline-block;">Upgrade</a>
</div>
</div>
<div style="background: rgba(40, 40, 45, 0.9); padding: 20px; border-radius: 8px;">
<h3 style="color: #FFD700; margin-bottom: 15px;">🏛️ Prison Facility Upgrades</h3>
<div style="background: rgba(76, 175, 80, 0.2); padding: 15px; border-radius: 6px; border: 1px solid rgba(76, 175, 80, 0.4); margin-bottom: 15px;">
<h4 style="color: #4CAF50; margin-bottom: 8px;">Basic Cells: <<print State.variables.dungeonPrisons.basicCells>></h4>
<p style="color: #E0E0E0; margin-bottom: 10px;">Standard prison cells for basic prisoners</p>
<p style="color: #FFD700;"><strong>Cost:</strong> 200 Gold</p>
<a href="DungeonUpgradeBasicCell" class="button" style="background: linear-gradient(145deg, #4CAF50, #45a049); color: white; padding: 8px 16px; text-decoration: none; border-radius: 4px; display: inline-block;">Add Cell</a>
</div>
<div style="background: rgba(33, 150, 243, 0.2); padding: 15px; border-radius: 6px; border: 1px solid rgba(33, 150, 243, 0.4); margin-bottom: 15px;">
<h4 style="color: #2196F3; margin-bottom: 8px;">Upgraded Cells: <<print State.variables.dungeonPrisons.upgradedCells>></h4>
<p style="color: #E0E0E0; margin-bottom: 10px;">Better facilities for faster recruitment</p>
<p style="color: #FFD700;"><strong>Cost:</strong> 500 Gold (converts 1 basic cell)</p>
<a href="DungeonUpgradeToUpgraded" class="button" style="background: linear-gradient(145deg, #2196F3, #1976D2); color: white; padding: 8px 16px; text-decoration: none; border-radius: 4px; display: inline-block;">Upgrade</a>
</div>
<div style="background: rgba(156, 39, 176, 0.2); padding: 15px; border-radius: 6px; border: 1px solid rgba(156, 39, 176, 0.4); margin-bottom: 15px;">
<h4 style="color: #9C27B0; margin-bottom: 8px;">Luxury Cells: <<print State.variables.dungeonPrisons.luxuryCells>></h4>
<p style="color: #E0E0E0; margin-bottom: 10px;">Premium facilities for elite prisoners</p>
<p style="color: #FFD700;"><strong>Cost:</strong> 1000 Gold (converts 1 upgraded cell)</p>
<a href="DungeonUpgradeToLuxury" class="button" style="background: linear-gradient(145deg, #9C27B0, #7B1FA2); color: white; padding: 8px 16px; text-decoration: none; border-radius: 4px; display: inline-block;">Upgrade</a>
</div>
<div style="background: rgba(255, 152, 0, 0.2); padding: 15px; border-radius: 6px; border: 1px solid rgba(255, 152, 0, 0.4); margin-bottom: 15px;">
<h4 style="color: #FF9800; margin-bottom: 8px;">Training Cells: <<print State.variables.dungeonPrisons.trainingCells>></h4>
<p style="color: #E0E0E0; margin-bottom: 10px;">Specialized cells for dungeon defenders</p>
<p style="color: #FFD700;"><strong>Cost:</strong> 1500 Gold (converts 1 luxury cell)</p>
<a href="DungeonUpgradeToTraining" class="button" style="background: linear-gradient(145deg, #FF9800, #F57C00); color: white; padding: 8px 16px; text-decoration: none; border-radius: 4px; display: inline-block;">Upgrade</a>
</div>
</div>
</div>
<div style="text-align: center;">
<a href="DungeonCore" class="button" style="background: linear-gradient(145deg, #9E9E9E, #757575); color: white; padding: 12px 24px; text-decoration: none; border-radius: 6px; margin: 0 10px;">🏰 Return to Dungeon</a>
<a href="DungeonCombat" class="button" style="background: linear-gradient(145deg, #4CAF50, #45a049); color: white; padding: 12px 24px; text-decoration: none; border-radius: 6px; margin: 0 10px;">⚔️ Start Battle</a>
<a href="PrisonerManagement" class="button" style="background: linear-gradient(145deg, #FF9800, #F57C00); color: white; padding: 12px 24px; text-decoration: none; border-radius: 6px; margin: 0 10px;">🏛️ Manage Prisoners</a>
</div>
</div>
<<script>>window.AudioSystem.playBGM('falseutopia.mp3');<</script>>
<<statSummary>><<script>>
if (!State.variables.dungeonPrisoners) {
State.variables.dungeonPrisoners = [];
}
if (!State.variables.dungeonResources) {
State.variables.dungeonResources = {
gold: 100,
manaCrystals: 5,
labor: 0
};
}
if (!State.variables.dungeonPrison) {
State.variables.dungeonPrison = {
basicCells: 3,
upgradedCells: 1,
luxuryCells: 0,
trainingCells: 0
};
}
<</script>>
<div style="background: linear-gradient(135deg, rgba(25, 25, 35, 0.95), rgba(45, 45, 60, 0.9)); border: 3px solid rgba(255, 215, 0, 0.6); padding: 15px; margin: 15px 0; border-radius: 12px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);">
<h2 style="color: #FFD700; text-align: center; margin: 0 0 15px 0; font-size: 28px; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);">🔒 Prisoner Captured!</h2>
<div style="background: linear-gradient(145deg, rgba(76, 175, 80, 0.2), rgba(76, 175, 80, 0.1)); padding: 15px; border-radius: 8px; border: 2px solid rgba(76, 175, 80, 0.6); margin-bottom: 15px;">
<h3 style="color: #4CAF50; margin: 0 0 10px 0; font-size: 20px; text-align: center;">🎉 Victory Achieved!</h3>
<p style="color: #E0E0E0; margin: 0 0 10px 0; font-size: 16px; text-align: center;">You have successfully captured <<print State.variables.currentDungeonBattle.enemy.name>>!</p>
<p style="color: #FFD700; margin: 0; font-size: 14px; text-align: center; font-weight: bold;">Victory Tier: <<print DungeonSystem.calculateVictoryTier()>></p>
</div>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 15px;">
<div style="background: linear-gradient(145deg, rgba(255, 215, 0, 0.15), rgba(255, 215, 0, 0.05)); padding: 12px; border-radius: 8px; border: 2px solid rgba(255, 215, 0, 0.4);">
<h3 style="color: #FFD700; margin: 0 0 8px 0; font-size: 18px; text-align: center;">💰 Current Resources</h3>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 8px; font-size: 14px;">
<p style="margin: 3px 0; color: #E0E0E0;"><strong>Gold:</strong> <<print State.variables.dungeonResources.gold>></p>
<p style="margin: 3px 0; color: #E0E0E0;"><strong>Crystals:</strong> <<print State.variables.dungeonResources.manaCrystals>></p>
<p style="margin: 3px 0; color: #E0E0E0;"><strong>Labor:</strong> <<print State.variables.dungeonResources.labor>></p>
</div>
</div>
<div style="background: linear-gradient(145deg, rgba(135, 206, 235, 0.15), rgba(135, 206, 235, 0.05)); padding: 12px; border-radius: 8px; border: 2px solid rgba(135, 206, 235, 0.4);">
<h3 style="color: #87CEEB; margin: 0 0 8px 0; font-size: 18px; text-align: center;">🏛️ Prison Status</h3>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 8px; font-size: 14px;">
<p style="margin: 3px 0; color: #E0E0E0;"><strong>Basic:</strong> <<print State.variables.dungeonPrison.basicCells>></p>
<p style="margin: 3px 0; color: #E0E0E0;"><strong>Upgraded:</strong> <<print State.variables.dungeonPrison.upgradedCells>></p>
<p style="margin: 3px 0; color: #E0E0E0;"><strong>Luxury:</strong> <<print State.variables.dungeonPrison.luxuryCells>></p>
<p style="margin: 3px 0; color: #E0E0E0;"><strong>Training:</strong> <<print State.variables.dungeonPrison.trainingCells>></p>
</div>
</div>
</div>
<div style="background: linear-gradient(145deg, rgba(156, 39, 176, 0.2), rgba(156, 39, 176, 0.1)); padding: 15px; border-radius: 8px; border: 2px solid rgba(156, 39, 176, 0.6); margin-bottom: 15px;">
<h3 style="color: #9C27B0; margin: 0 0 10px 0; font-size: 20px; text-align: center;">🎭 What would you like to do?</h3>
<p style="color: #E0E0E0; margin: 0 0 15px 0; font-size: 16px; text-align: center;">Choose how to handle your new prisoner:</p>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px;">
<div style="background: rgba(156, 39, 176, 0.3); padding: 12px; border-radius: 6px; text-align: center;">
<h4 style="color: #E1BEE7; margin: 0 0 8px 0; font-size: 16px;">🔍 Interrogation</h4>
<p style="color: #E0E0E0; margin: 0; font-size: 14px;">Extract information through... intimate methods</p>
</div>
<div style="background: rgba(156, 39, 176, 0.3); padding: 12px; border-radius: 6px; text-align: center;">
<h4 style="color: #E1BEE7; margin: 0 0 8px 0; font-size: 16px;">🏛️ Direct Imprisonment</h4>
<p style="color: #E0E0E0; margin: 0; font-size: 14px;">Send directly to prison cells</p>
</div>
</div>
</div>
<div style="text-align: center;">
<<link "🔍 Begin Interrogation" "PrisonerInterrogation">><<set $temp = "">><</link>>
<<link "🏛️ Imprison Directly" "PrisonerImprisonment">><<set $temp = "">><</link>>
<<link "🏰 Return to Dungeon" "DungeonCore">><<set $temp = "">><</link>>
</div>
</div>
<<script>>window.AudioSystem.playBGM('nimeria.mp3');<</script>>
<<statSummary>><<script>>
if (!State.variables.dungeonPrisoners) {
State.variables.dungeonPrisoners = [];
}
if (!State.variables.currentDungeonBattle) {
State.variables.currentDungeonBattle = {
enemy: { name: "Corrupted Guard", maxLust: 120, attack: 25, defense: 15 }
};
}
if (!State.variables.dungeonResources) {
State.variables.dungeonResources = {
gold: 1000,
crystals: 100,
materials: 50
};
}
// Add prisoner to the prison system
let newPrisoner = {
name: State.variables.currentDungeonBattle.enemy.name,
maxLust: State.variables.currentDungeonBattle.enemyMaxLust,
attack: State.variables.currentDungeonBattle.enemy.attack,
defense: State.variables.currentDungeonBattle.enemy.defense,
recruited: false,
processingTime: 0
};
State.variables.dungeonPrisoners.push(newPrisoner);
// Add resources based on victory tier
let victoryTier = DungeonSystem.calculateVictoryTier();
if (victoryTier === "overkill") {
State.variables.dungeonResources.gold += 150;
State.variables.dungeonResources.crystals += 15;
} else if (victoryTier === "normal") {
State.variables.dungeonResources.gold += 100;
State.variables.dungeonResources.crystals += 10;
} else if (victoryTier === "barely") {
State.variables.dungeonResources.gold += 50;
State.variables.dungeonResources.crystals += 5;
}
<</script>>
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); padding: 20px; margin: 20px 0; border-radius: 10px;">
<h2 style="color: #FFD700; text-align: center; margin-bottom: 20px;">🏛️ Prisoner Imprisoned</h2>
<div style="background: rgba(40, 40, 45, 0.9); padding: 20px; border-radius: 8px; margin-bottom: 20px;">
<h3 style="color: #FFD700; margin-bottom: 15px;">🎯 <<print State.variables.currentDungeonBattle.enemy.name>> Imprisoned</h3>
<p style="color: #E0E0E0; margin-bottom: 15px;">The prisoner has been successfully transferred to your dungeon cells. They will begin processing for potential recruitment.</p>
<div style="background: rgba(156, 39, 176, 0.2); padding: 15px; border-radius: 6px; border: 1px solid rgba(156, 39, 176, 0.4); margin-bottom: 15px;">
<h4 style="color: #9C27B0; margin-bottom: 8px;">Imprisonment Results</h4>
<p style="color: #E0E0E0;"><strong>Prisoner Status:</strong> Successfully imprisoned and processing</p>
<p style="color: #E0E0E0;"><strong>Processing Time:</strong> Will be ready for recruitment soon</p>
<p style="color: #9C27B0;"><strong>Effects:</strong> +Resources, +Dungeon Defense potential</p>
</div>
</div>
<div style="background: rgba(60, 60, 65, 0.8); padding: 15px; border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3); margin-bottom: 20px;">
<h3 style="color: #87CEEB; margin-bottom: 10px;">Resources Gained</h3>
<div style="display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 15px;">
<div>
<h4 style="color: #4CAF50; margin-bottom: 8px;">Gold</h4>
<p style="color: #E0E0E0;"><strong>Current:</strong> <<print State.variables.dungeonResources.gold>></p>
</div>
<div>
<h4 style="color: #FF9800; margin-bottom: 8px;">Crystals</h4>
<p style="color: #E0E0E0;"><strong>Current:</strong> <<print State.variables.dungeonResources.crystals>></p>
</div>
<div>
<h4 style="color: #9C27B0; margin-bottom: 8px;">Prisoners</h4>
<p style="color: #E0E0E0;"><strong>Total:</strong> <<print State.variables.dungeonPrisoners.length>></p>
</div>
</div>
</div>
<div style="text-align: center;">
<<link "🏰 Return to Dungeon" "DungeonCore">><<set $temp = "">><</link>>
<<link "🏛️ Manage Prisoners" "PrisonerManagement">><<set $temp = "">><</link>>
<<link "🔧 Upgrades" "DungeonUpgrades">><<set $temp = "">><</link>>
</div>
</div>
<<run window.AudioSystem.playBGM('defaultch5.mp3')>>
<<statSummary>><<script>>
if (!State.variables.dungeonPrisoners) {
State.variables.dungeonPrisoners = [];
}
if (!State.variables.currentDungeonBattle) {
State.variables.currentDungeonBattle = {
enemy: { name: "Corrupted Guard", maxLust: 120, attack: 25, defense: 15 }
};
}
<</script>>
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); padding: 20px; margin: 20px 0; border-radius: 10px;">
<h2 style="color: #FFD700; text-align: center; margin-bottom: 20px;">🔍 Prisoner Interrogation</h2>
<div style="background: rgba(40, 40, 45, 0.9); padding: 20px; border-radius: 8px; margin-bottom: 20px;">
<h3 style="color: #FFD700; margin-bottom: 15px;">🎯 Interrogating <<print State.variables.currentDungeonBattle.enemy.name>></h3>
<p style="color: #E0E0E0; margin-bottom: 15px;">You begin your intimate interrogation of the captured enemy. Through various methods, you extract valuable information while developing their... cooperation.</p>
<div style="background: rgba(255, 152, 0, 0.2); padding: 15px; border-radius: 6px; border: 1px solid rgba(255, 152, 0, 0.4); margin-bottom: 15px;">
<h4 style="color: #FF9800; margin-bottom: 8px;">Interrogation Results</h4>
<p style="color: #E0E0E0;"><strong>Information Gathered:</strong> Enemy patrol routes, weak points, and tactical details</p>
<p style="color: #E0E0E0;"><strong>Prisoner Status:</strong> Fully cooperative and eager to please</p>
<p style="color: #FF9800;"><strong>Effects:</strong> +Lust, +Corruption, +Fetish Development</p>
</div>
</div>
<div style="background: rgba(60, 60, 65, 0.8); padding: 15px; border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3); margin-bottom: 20px;">
<h3 style="color: #87CEEB; margin-bottom: 10px;">What Next?</h3>
<p style="color: #E0E0E0; margin-bottom: 10px;">The prisoner is now fully under your control. You can either recruit them to your dungeon or continue with other prisoners.</p>
<div style="text-align: center;">
<<link "🏛️ Recruit to Dungeon" "PrisonerRecruitment">><<set $temp = "">><</link>>
<<link "🔒 Send to Prison" "PrisonerImprisonment">><<set $temp = "">><</link>>
</div>
</div>
<div style="text-align: center;">
<<link "🏰 Return to Dungeon" "DungeonCore">><<set $temp = "">><</link>>
<<link "🏛️ Manage Prisoners" "PrisonerManagement">><<set $temp = "">><</link>>
</div>
</div>
<<statSummary>><<script>>
if (!State.variables.dungeonPrisoners) {
State.variables.dungeonPrisoners = [];
}
if (!State.variables.dungeonPrisons) {
State.variables.dungeonPrisons = {
basicCells: 3,
upgradedCells: 0,
luxuryCells: 0,
trainingCells: 0
};
}
if (!State.variables.dungeonResources) {
State.variables.dungeonResources = {
gold: 1000,
crystals: 100,
materials: 50
};
}
<</script>>
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); padding: 20px; margin: 20px 0; border-radius: 10px;">
<h2 style="color: #FFD700; text-align: center; margin-bottom: 20px;">🏛️ Prisoner Management</h2>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px;">
<div style="background: rgba(60, 60, 65, 0.8); padding: 15px; border-radius: 8px; border: 1px solid rgba(100, 100, 100, 0.3);">
<h3 style="color: #87CEEB; margin-bottom: 10px;">Prison Status</h3>
<p><strong>Total Prisoners:</strong> <<print State.variables.dungeonPrisoners.length>></p>
<p><strong>Recruited:</strong> <<print State.variables.dungeonPrisoners.filter(p => p.recruited).length>></p>
<p><strong>Processing:</strong> <<print State.variables.dungeonPrisoners.filter(p => !p.recruited).length>></p>
</div>
<div style="background: rgba(60, 60, 65, 0.8); padding: 15px; border-radius: 8px; border: 1px solid rgba(100, 100, 100, 0.3);">
<h3 style="color: #87CEEB; margin-bottom: 10px;">Cell Capacity</h3>
<p><strong>Basic Cells:</strong> <<print State.variables.dungeonPrisons.basicCells>></p>
<p><strong>Upgraded Cells:</strong> <<print State.variables.dungeonPrisons.upgradedCells>></p>
<p><strong>Luxury Cells:</strong> <<print State.variables.dungeonPrisons.luxuryCells>></p>
</div>
</div>
<<if State.variables.dungeonPrisoners.length > 0>>
<div style="background: rgba(40, 40, 45, 0.9); padding: 20px; border-radius: 8px; margin-bottom: 20px;">
<h3 style="color: #FFD700; margin-bottom: 15px;">Current Prisoners</h3>
<<for _i = 0; _i < State.variables.dungeonPrisoners.length; _i++>>
<<set _prisoner = State.variables.dungeonPrisoners[_i]>>
<div style="background: rgba(60, 60, 65, 0.8); padding: 15px; border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3); margin-bottom: 15px;">
<div style="display: grid; grid-template-columns: 1fr auto; gap: 15px; align-items: center;">
<div>
<h4 style="color: #FF9800; margin-bottom: 8px;"><<print _prisoner.name>></h4>
<p><strong>Status:</strong> <<if _prisoner.recruited>>✅ Recruited<<else>>⏳ Processing<</if>></p>
<p><strong>Combat Power:</strong> <<print _prisoner.attack + _prisoner.defense>></p>
<p><strong>Max Lust:</strong> <<print _prisoner.maxLust>></p>
</div>
<<if not _prisoner.recruited>>
<div style="text-align: center;">
<<link "🔍 Interrogate" "PrisonerInterrogation">><<set $currentPrisonerIndex = _i>><</link>>
<br><br>
<<link "🏛️ Recruit" "PrisonerRecruitment">><<set $currentPrisonerIndex = _i>><</link>>
</div>
<</if>>
</div>
</div>
<</for>>
</div>
<<else>>
<div style="background: rgba(40, 40, 45, 0.9); padding: 20px; border-radius: 8px; text-align: center; margin-bottom: 20px;">
<h3 style="color: #87CEEB; margin-bottom: 15px;">No Prisoners Yet</h3>
<p style="color: #E0E0E0;">You haven't captured any enemies yet. Go to battle to start building your prisoner collection!</p>
</div>
<</if>>
<div style="text-align: center;">
<<link "🏰 Return to Dungeon" "DungeonCore">><<set $temp = "">><</link>>
<<link "🔧 Upgrades" "DungeonUpgrades">><<set $temp = "">><</link>>
</div>
</div>
<<statSummary>><<script>>
if (!State.variables.dungeonPrisoners) {
State.variables.dungeonPrisoners = [];
}
if (!State.variables.currentDungeonBattle) {
State.variables.currentDungeonBattle = {
enemy: { name: "Corrupted Guard", maxLust: 120, attack: 25, defense: 15 }
};
}
// Find the current prisoner and recruit them
if (State.variables.currentPrisonerIndex !== undefined && State.variables.dungeonPrisoners[State.variables.currentPrisonerIndex]) {
State.variables.dungeonPrisoners[State.variables.currentPrisonerIndex].recruited = true;
State.variables.dungeonPrisoners[State.variables.currentPrisonerIndex].recruitmentDate = new Date().toISOString();
}
// Add dungeon defense bonus
if (!State.variables.dungeonStats) {
State.variables.dungeonStats = {
health: 100,
defense: 20,
attack: 15,
trapLevel: 1
};
}
State.variables.dungeonStats.defense += 5;
<</script>>
<div style="background: linear-gradient(145deg, rgba(45, 45, 50, 0.85), rgba(35, 35, 40, 0.9)); border: 2px solid rgba(100, 100, 100, 0.4); padding: 20px; margin: 20px 0; border-radius: 10px;">
<h2 style="color: #FFD700; text-align: center; margin-bottom: 20px;">🏛️ Prisoner Recruited</h2>
<div style="background: rgba(40, 40, 45, 0.9); padding: 20px; border-radius: 8px; margin-bottom: 20px;">
<h3 style="color: #FFD700; margin-bottom: 15px;">🎯 <<print State.variables.currentDungeonBattle.enemy.name>> Recruited</h3>
<p style="color: #E0E0E0; margin-bottom: 15px;">The prisoner has been successfully recruited to your dungeon! They will now contribute to your defense and can be assigned to various tasks.</p>
<div style="background: rgba(76, 175, 80, 0.2); padding: 15px; border-radius: 6px; border: 1px solid rgba(76, 175, 80, 0.4); margin-bottom: 15px;">
<h4 style="color: #4CAF50; margin-bottom: 8px;">Recruitment Results</h4>
<p style="color: #E0E0E0;"><strong>Prisoner Status:</strong> ✅ Successfully recruited</p>
<p style="color: #E0E0E0;"><strong>Dungeon Defense:</strong> +5 (<<print State.variables.dungeonStats.defense>> total)</p>
<p style="color: #4CAF50;"><strong>Effects:</strong> +Dungeon Defense, +Available Labor</p>
</div>
</div>
<div style="background: rgba(60, 60, 65, 0.8); padding: 15px; border-radius: 6px; border: 1px solid rgba(100, 100, 100, 0.3); margin-bottom: 20px;">
<h3 style="color: #87CEEB; margin-bottom: 10px;">Dungeon Status</h3>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 15px;">
<div>
<h4 style="color: #4CAF50; margin-bottom: 8px;">Defense</h4>
<p style="color: #E0E0E0;"><strong>Current:</strong> <<print State.variables.dungeonStats.defense>></p>
<p style="color: #E0E0E0;"><strong>Bonus:</strong> +5 from recruitment</p>
</div>
<div>
<h4 style="color: #FF9800; margin-bottom: 8px;">Prisoners</h4>
<p style="color: #E0E0E0;"><strong>Total:</strong> <<print State.variables.dungeonPrisoners.length>></p>
<p style="color: #E0E0E0;"><strong>Recruited:</strong> <<print State.variables.dungeonPrisoners.filter(p => p.recruited).length>></p>
</div>
</div>
</div>
<div style="text-align: center;">
<<link "🏰 Return to Dungeon" "DungeonCore">><<set $temp = "">><</link>>
<<link "🏛️ Manage Prisoners" "PrisonerManagement">><<set $temp = "">><</link>>
<<link "🔧 Upgrades" "DungeonUpgrades">><<set $temp = "">><</link>>
</div>
</div>
<<statSummary>><<nobr>>
<div class="passage-container author-note">
<div style="text-align: center; margin: 40px 0;">
<div style="background: linear-gradient(135deg, rgba(220, 20, 60, 0.95), rgba(178, 34, 34, 0.9)); border: 4px solid rgba(220, 20, 60, 0.8); border-radius: 25px; padding: 50px; box-shadow: 0 0 40px rgba(220, 20, 60, 0.6), inset 0 0 30px rgba(0, 0, 0, 0.8); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 8px; background: linear-gradient(90deg, #FF0000, #FF4500, #FFD700, #FF0000); z-index: 1;"></div>
<h1 style="color: #FFD700; font-size: 3.5em; margin: 0 0 20px 0; font-family: 'Cinzel', serif; letter-spacing: 3px; background: linear-gradient(45deg, #FFD700, #FF4500, #FF0000); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; position: relative; z-index: 2; filter: drop-shadow(4px 4px 8px rgba(0,0,0,0.9)) drop-shadow(0 0 10px rgba(255,215,0,0.5));">⚠️ CRITICAL: READ THIS FIRST! ⚠️</h1>
<div style="background: rgba(0, 0, 0, 0.7); border: 3px solid rgba(255, 255, 255, 0.3); border-radius: 15px; padding: 30px; margin: 20px 0; position: relative; z-index: 2;">
<p style="color: #FFD700; font-size: 1.4em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.9); font-weight: bold;">This game is NOT what you might expect. Please read this entire message before starting to avoid disappointment and wasted time.</p>
</div>
</div>
</div>
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD); z-index: 1;"></div>
<div style="background: rgba(220, 20, 60, 0.1); border: 2px solid rgba(220, 20, 60, 0.4); border-radius: 15px; padding: 30px; margin: 20px 0; position: relative; z-index: 2;">
<p style="color: #E6E6FA; font-size: 1.3em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Hello! I'm the developer of <strong style="color: #FFD700;">Bonds Defiled</strong>. This game released on June 17th, 2025 and I've poured over 1,500 hours into development since early June until October (yes, I put an unhealthy amount into the game). I'm extremely passionate about this project, and I want to make sure you understand what you're getting into.</p>
</div>
</div>
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD); z-index: 1;"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif; position: relative; z-index: 2;">📚 What This Game Actually Is</h2>
<div style="background: rgba(220, 20, 60, 0.2); border: 2px solid rgba(220, 20, 60, 0.5); border-radius: 15px; padding: 25px; margin: 25px 0; position: relative; z-index: 2;">
<p style="color: #FFB6C1; font-size: 1.3em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #FF6B6B;">⚠️ CRITICAL WARNING:</strong> This is an <strong style="color: #F472B6;">extremely story-heavy game</strong>. Your freedom will increase gradually with story progress. If you're looking for a quick fap or a sandbox scene viewer, <strong style="color: #FF6B6B;">this game is NOT for you</strong>.</p>
<p style="color: #E6E6FA; font-size: 1.2em; line-height: 1.6; margin: 15px 0 0 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">I can promise you there is <strong style="color: #4ECDC4;">no grind nor empty passages</strong> to simulate non-existing freedom. There will be a heavy amount of freedom, but it comes gradually with progressing story (a lot of story).</p>
</div>
<p style="color: #E6E6FA; font-size: 1.2em; line-height: 1.6; margin: 0 0 25px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7); position: relative; z-index: 2;">This is a <strong style="color: #F472B6;">slow-burn corruption game</strong> with complex relationship dynamics. If you want to jump directly into action and skip the story, <strong style="color: #FF6B6B;">this game is NOT for you either</strong>. The corruption happens gradually over time through meaningful character development.</p>
<div style="background: rgba(0, 0, 0, 0.3); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0; position: relative; z-index: 2;">
<h3 style="color: #A78BFA; font-size: 1.5em; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); border-bottom: 2px solid rgba(167, 139, 250, 0.4); padding-bottom: 10px;">📋 Relationship Dynamics Include:</h3>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 20px 0;">
<div style="background: rgba(255, 107, 107, 0.1); border: 2px solid rgba(255, 107, 107, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #FF6B6B; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Netori</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">You can romance your guardian Mariel, despite her existing marriage</p>
</div>
<div style="background: rgba(150, 50, 150, 0.1); border: 2px solid rgba(150, 50, 150, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #DDA0DD; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Traditional NTR</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Your girlfriend Liora can be seduced by others (Seryk, Thalor, or female characters)</p>
</div>
<div style="background: rgba(78, 205, 196, 0.1); border: 2px solid rgba(78, 205, 196, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #4ECDC4; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Reverse NTR</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">You can be seduced by dominant characters like Serin, Nimeria, or male cast members</p>
</div>
<div style="background: rgba(150, 221, 180, 0.1); border: 2px solid rgba(150, 221, 180, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #96CEB4; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Lesbian Content</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Female characters can develop relationships with each other</p>
</div>
<div style="background: rgba(69, 183, 209, 0.1); border: 2px solid rgba(69, 183, 209, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #45B7D1; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Gay Content</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Male characters can develop relationships with each other</p>
</div>
</div>
</div>
<div style="background: linear-gradient(135deg, rgba(34, 197, 94, 0.2), rgba(34, 197, 94, 0.1)); border: 2px solid rgba(34, 197, 94, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<p style="color: #BBF7D0; font-size: 1.2em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #22C55E;">✅ Content Control:</strong> Every content type and action with characters is <strong style="color: #22C55E;">fully avoidable</strong>. The game remembers your choices and will filter content you dislike, never offering you those choices again (like NTR for a certain character). You have complete control over what content you experience.</p>
</div>
<div style="background: linear-gradient(135deg, rgba(220, 20, 60, 0.2), rgba(220, 20, 60, 0.1)); border: 2px solid rgba(220, 20, 60, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<p style="color: #FFB6C1; font-size: 1.2em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #FF6B6B;">⚠️ Important:</strong> However, if you consider <em>all</em> of the above scenarios problematic, this game may not be for you. If only <em>some</em> concern you, the filtering system will accommodate your preferences perfectly.</p>
</div>
</div>
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD); z-index: 1;"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif; position: relative; z-index: 2;">🎯 How The Fetish System Actually Works</h2>
<div style="background: rgba(220, 20, 60, 0.2); border: 2px solid rgba(220, 20, 60, 0.5); border-radius: 15px; padding: 25px; margin: 25px 0;">
<p style="color: #FFB6C1; font-size: 1.3em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #FF6B6B;">🚨 CRITICAL MISUNDERSTANDING:</strong> Many players think you need specific fetish values (like footFetish = 5) to unlock scenes. <strong style="color: #FF6B6B;">This is completely wrong!</strong></p>
</div>
<p style="color: #E6E6FA; font-size: 1.2em; line-height: 1.6; margin: 0 0 25px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #4ECDC4;">Scenes are based on YOUR CHOICES, not fetish numbers.</strong> You don't need to intentionally fail resistance rolls to "unlock" content. Some players only focus on one character and skip others. So scenes can't rely solely on fetish levels.</p>
<div style="background: linear-gradient(135deg, rgba(168, 85, 247, 0.2), rgba(168, 85, 247, 0.1)); border: 2px solid rgba(168, 85, 247, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<p style="color: #D8B4FE; font-size: 1.2em; line-height: 1.6; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #A78BFA;">🎯 Your Choices Matter:</strong> You'll get different variables and levels that influence scenes in later chapters. The game tracks your preferences for <em>each character individually</em>, not globally.</p>
<div style="background: rgba(0, 0, 0, 0.3); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 12px; padding: 20px; margin: 15px 0;">
<h4 style="color: #A78BFA; font-size: 1.1em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Examples of Choice Memory:</h4>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; margin: 15px 0;">
<div style="background: rgba(34, 197, 94, 0.1); border: 2px solid rgba(34, 197, 94, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #BBF7D0; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #22C55E;">Keep going for Mariel's feet:</strong> At some point she might remember that and reference it.</p>
</div>
<div style="background: rgba(220, 20, 60, 0.1); border: 2px solid rgba(220, 20, 60, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #FFB6C1; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #FF6B6B;">Skip all her feet content:</strong> The game remembers and you won't get any more Mariel feet content!</p>
</div>
<div style="background: rgba(69, 183, 209, 0.1); border: 2px solid rgba(69, 183, 209, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #93C5FD; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #45B7D1;">"B-but I'm interested in Nimeria's feet only!"</strong> No problem! The game tracks preferences per character.</p>
</div>
<div style="background: rgba(150, 50, 150, 0.1); border: 2px solid rgba(150, 50, 150, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #DDA0DD; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #DDA0DD;">Skip content for certain characters:</strong> You won't get forced into scenes with them anymore.</p>
</div>
</div>
</div>
</div>
<div style="background: rgba(0, 0, 0, 0.3); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<h3 style="color: #A78BFA; font-size: 1.5em; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); border-bottom: 2px solid rgba(167, 139, 250, 0.4); padding-bottom: 10px;">🎯 What Fetish Values Actually Do:</h3>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 20px 0;">
<div style="background: rgba(78, 205, 196, 0.1); border: 2px solid rgba(78, 205, 196, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #4ECDC4; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Resistance Chances</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Higher fetish values make it harder to resist temptations</p>
</div>
<div style="background: rgba(69, 183, 209, 0.1); border: 2px solid rgba(69, 183, 209, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #45B7D1; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Dialogue Changes</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Small variations in character reactions and comments</p>
</div>
</div>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 20px 0 0 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #4ECDC4;">What really matters:</strong> Your choices tracked in the "Special Values" section of each character's Diary. These determine which routes and scenes become available.</p>
</div>
<center><img src="images/guide/facespecialvalues.webp" alt="Game Guide" style="width: 100%; height: auto;"></center>
<div style="background: linear-gradient(135deg, rgba(34, 197, 94, 0.2), rgba(34, 197, 94, 0.1)); border: 2px solid rgba(34, 197, 94, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<p style="color: #BBF7D0; font-size: 1.2em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #22C55E;">The Resistance System Philosophy:</strong> I personally don't enjoy playing a submissive character who gets forced into situations but still has to choose to participate. That kills immersion. you're still doing it willingly just to see content. The resistance system creates more realistic scenarios where your stats determine what's actually possible.</p>
</div>
</div>
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD); z-index: 1;"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif; position: relative; z-index: 2;">📖 Story Structure & Development</h2>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 25px; margin: 25px 0;">
<div style="background: rgba(107, 70, 193, 0.1); border: 2px solid rgba(107, 70, 193, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #A78BFA; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Chapters 0-1: Prologue</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Character introductions and meeting the demons who introduce the corruption system. This establishes the foundation for everything that follows.</p>
</div>
<div style="background: rgba(107, 70, 193, 0.1); border: 2px solid rgba(107, 70, 193, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #A78BFA; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Chapters 0-5: Story Rush</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Heavily railroaded to push the story to 0.6 as fast as possible. This was intentional. I wanted to establish the full narrative foundation before introducing sandbox elements.</p>
</div>
<div style="background: linear-gradient(135deg, rgba(34, 197, 94, 0.2), rgba(34, 197, 94, 0.1)); border: 3px solid rgba(34, 197, 94, 0.6); border-radius: 15px; padding: 25px; position: relative; overflow: hidden; animation: pulseGlow 3s ease-in-out infinite;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #22C55E, #16A34A, #22C55E); animation: shimmer 2s ease-in-out infinite;"></div>
<h3 style="color: #22C55E; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); display: flex; align-items: center; gap: 10px;"><span style="animation: bounce 2s ease-in-out infinite;">🎮</span>Chapter 6: Sandbox Introduction</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Time slots and free roam settings where you choose who to visit. Story still progresses during certain time slots, but you have more control.</p>
</div>
<div style="background: linear-gradient(135deg, rgba(168, 85, 247, 0.2), rgba(168, 85, 247, 0.1)); border: 3px solid rgba(168, 85, 247, 0.6); border-radius: 15px; padding: 25px; position: relative; overflow: hidden; animation: pulseGlow 3s ease-in-out infinite 1.5s;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #A78BFA, #8B5CF6, #A78BFA); animation: shimmer 2s ease-in-out infinite 1.5s;"></div>
<h3 style="color: #A78BFA; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); display: flex; align-items: center; gap: 10px;"><span style="animation: bounce 2s ease-in-out infinite 1.5s;">🏰</span>Chapter 7: Advanced Systems</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Dungeon/city building system. Recruit story characters to join your city, build freely, and defend against attacks during specific time slots.</p>
</div>
<style>
@keyframes pulseGlow {
0%, 100% { box-shadow: 0 0 20px rgba(34, 197, 94, 0.3), inset 0 0 20px rgba(34, 197, 94, 0.1); }
50% { box-shadow: 0 0 30px rgba(34, 197, 94, 0.5), inset 0 0 30px rgba(34, 197, 94, 0.2); }
}
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-5px); }
}
div[style*="position: relative"][style*="overflow: hidden"] > *:not([style*="position: absolute"]) {
position: relative;
z-index: 2;
}
</style>
</div>
<div style="background: linear-gradient(135deg, rgba(59, 130, 246, 0.1), rgba(59, 130, 246, 0.05)); border: 2px solid rgba(59, 130, 246, 0.3); border-radius: 15px; padding: 25px; margin: 25px 0; text-align: center;">
<p style="color: #93C5FD; font-size: 1.1em; font-style: italic; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">The early chapters are intentionally railroaded because I wanted to establish meaningful relationships before introducing player freedom. The bonds must exist before they can be properly defiled.</p>
</div>
</div>
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD); z-index: 1;"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif; position: relative; z-index: 2;">🎭 Character Transformations</h2>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; margin: 25px 0;">
<div style="background: rgba(255, 107, 107, 0.1); border: 2px solid rgba(255, 107, 107, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #FF6B6B; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Permanent Transformations</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong>MC:</strong> Femboy → Stay femboy or become fully female<br/><strong>Serin:</strong> Stay normal or become futanari<br/><strong>Mariel:</strong> Motherly transformation with lactation, treats others as children</p>
</div>
<div style="background: rgba(150, 50, 150, 0.1); border: 2px solid rgba(150, 50, 150, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #DDA0DD; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Temporary Transformations</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Available for everyone. There will be a tremendous amount of these in the future. This is one reason why I pushed so much story early on, to establish the foundation for all these transformations.</p>
</div>
</div>
<div style="background: rgba(168, 85, 247, 0.1); border: 2px solid rgba(168, 85, 247, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0; text-align: center;">
<p style="color: #D8B4FE; font-size: 1.2em; font-style: italic; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Every choice matters. Every stat influences the story. Every relationship will be tested. The deeper you go, the more the game adapts to show you exactly how far you've fallen... or risen.</p>
<p style="color: #A78BFA; font-size: 1.4em; font-weight: bold; margin: 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8);">Welcome to your descent.</p>
</div>
</div>
<!-- Tab Navigation -->
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 20px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5);">
<div style="display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-bottom: 20px;">
<button class="tab-button active" onclick="switchTab('overview', this)" style="background: linear-gradient(145deg, rgba(167, 139, 250, 0.3), rgba(139, 69, 19, 0.2)); border: 2px solid rgba(167, 139, 250, 0.6); border-radius: 15px; padding: 15px 25px; color: #A78BFA; font-weight: bold; cursor: pointer; transition: all 0.3s ease; font-size: 1.1em;">🎯 Overview</button>
<button class="tab-button" onclick="switchTab('systems', this)" style="background: linear-gradient(145deg, rgba(78, 205, 196, 0.3), rgba(69, 183, 209, 0.2)); border: 2px solid rgba(78, 205, 196, 0.6); border-radius: 15px; padding: 15px 25px; color: #4ECDC4; font-weight: bold; cursor: pointer; transition: all 0.3s ease; font-size: 1.1em;">⚙️ Systems</button>
<button class="tab-button" onclick="switchTab('gameplay', this)" style="background: linear-gradient(145deg, rgba(34, 197, 94, 0.3), rgba(22, 163, 74, 0.2)); border: 2px solid rgba(34, 197, 94, 0.6); border-radius: 15px; padding: 15px 25px; color: #22C55E; font-weight: bold; cursor: pointer; transition: all 0.3s ease; font-size: 1.1em;">🎮 Gameplay</button>
<button class="tab-button" onclick="switchTab('tips', this)" style="background: linear-gradient(145deg, rgba(255, 193, 7, 0.3), rgba(255, 140, 0, 0.2)); border: 2px solid rgba(255, 193, 7, 0.6); border-radius: 15px; padding: 15px 25px; color: #FFC107; font-weight: bold; cursor: pointer; transition: all 0.3s ease; font-size: 1.1em;">💡 Tips</button>
</div>
</div>
<!-- Tab Content -->
<div id="overview-tab" class="tab-content">
<!-- Game Overview Section -->
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD); z-index: 1;"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif; position: relative; z-index: 2;">🎯 What This Game Actually Is</h2>
<div style="background: rgba(220, 20, 60, 0.2); border: 2px solid rgba(220, 20, 60, 0.5); border-radius: 15px; padding: 25px; margin: 25px 0;">
<p style="color: #FFB6C1; font-size: 1.3em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #FF6B6B;">⚠️ CRITICAL WARNING:</strong> This is an <strong style="color: #F472B6;">extremely story-heavy game</strong>. Your freedom will increase gradually with story progress. If you're looking for a quick fap or a sandbox scene viewer, <strong style="color: #FF6B6B;">this game is NOT for you</strong>.</p>
<p style="color: #E6E6FA; font-size: 1.2em; line-height: 1.6; margin: 15px 0 0 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">I can promise you there is <strong style="color: #4ECDC4;">no grind nor empty passages</strong> to simulate non-existing freedom. There will be a heavy amount of freedom, but it comes gradually with progressing story (a lot of story).</p>
</div>
<p style="color: #E6E6FA; font-size: 1.2em; line-height: 1.6; margin: 0 0 25px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">This is a <strong style="color: #F472B6;">slow-burn corruption game</strong> with complex relationship dynamics. If you want to jump directly into action and skip the story, <strong style="color: #FF6B6B;">this game is NOT for you either</strong>. The corruption happens gradually over time through meaningful character development.</p>
</div>
<!-- Content Types Section -->
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD); z-index: 1;"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif; position: relative; z-index: 2;">💕 Relationship Dynamics</h2>
<div style="background: rgba(0, 0, 0, 0.3); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<h3 style="color: #A78BFA; font-size: 1.5em; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); border-bottom: 2px solid rgba(167, 139, 250, 0.4); padding-bottom: 10px;">📋 Available Content Types:</h3>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 20px 0;">
<div style="background: rgba(255, 107, 107, 0.1); border: 2px solid rgba(255, 107, 107, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #FF6B6B; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Netori</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">You can romance your guardian Mariel, despite her existing marriage</p>
</div>
<div style="background: rgba(150, 50, 150, 0.1); border: 2px solid rgba(150, 50, 150, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #DDA0DD; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Traditional NTR</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Your girlfriend Liora can be seduced by others (Seryk, Thalor, or female characters)</p>
</div>
<div style="background: rgba(78, 205, 196, 0.1); border: 2px solid rgba(78, 205, 196, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #4ECDC4; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Reverse NTR</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">You can be seduced by dominant characters like Serin, Nimeria, or male cast members</p>
</div>
<div style="background: rgba(150, 221, 180, 0.1); border: 2px solid rgba(150, 221, 180, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #96CEB4; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Lesbian Content</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Female characters can develop relationships with each other</p>
</div>
<div style="background: rgba(69, 183, 209, 0.1); border: 2px solid rgba(69, 183, 209, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #45B7D1; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Gay Content</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Male characters can develop relationships with each other</p>
</div>
<div style="background: rgba(255, 182, 193, 0.1); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Romance</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Traditional romantic relationships and emotional connections between characters</p>
</div>
<div style="background: rgba(255, 215, 0, 0.1); border: 2px solid rgba(255, 215, 0, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #FFD700; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Harem</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Build relationships with multiple characters simultaneously, creating a harem dynamic</p>
</div>
</div>
</div>
<div style="background: linear-gradient(135deg, rgba(34, 197, 94, 0.2), rgba(34, 197, 94, 0.1)); border: 2px solid rgba(34, 197, 94, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<p style="color: #BBF7D0; font-size: 1.2em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #22C55E;">✅ Content Control:</strong> Every content type and action with characters is <strong style="color: #22C55E;">fully avoidable</strong>. The game remembers your choices and will filter content you dislike, never offering you those choices again (like NTR for a certain character). You have complete control over what content you experience.</p>
</div>
<div style="background: linear-gradient(135deg, rgba(220, 20, 60, 0.2), rgba(220, 20, 60, 0.1)); border: 2px solid rgba(220, 20, 60, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<p style="color: #FFB6C1; font-size: 1.2em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #FF6B6B;">⚠️ Important:</strong> However, if you consider <em>all</em> of the above scenarios problematic, this game may not be for you. If only <em>some</em> concern you, the filtering system will accommodate your preferences perfectly.</p>
</div>
</div>
</div>
<!-- Systems Tab -->
<div id="systems-tab" class="tab-content" style="display: none;">
<!-- Fetish System Section -->
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD); z-index: 1;"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif; position: relative; z-index: 2;">🎯 How The Fetish System Actually Works</h2>
<div style="background: rgba(220, 20, 60, 0.2); border: 2px solid rgba(220, 20, 60, 0.5); border-radius: 15px; padding: 25px; margin: 25px 0;">
<p style="color: #FFB6C1; font-size: 1.3em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #FF6B6B;">🚨 CRITICAL MISUNDERSTANDING:</strong> Many players think you need specific fetish values (like footFetish = 5) to unlock scenes. <strong style="color: #FF6B6B;">This is completely wrong!</strong></p>
</div>
<p style="color: #E6E6FA; font-size: 1.2em; line-height: 1.6; margin: 0 0 25px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #4ECDC4;">Scenes are based on YOUR CHOICES, not fetish numbers.</strong> You don't need to intentionally fail resistance rolls to "unlock" content. Some players only focus on one character and skip others. So scenes can't rely solely on fetish levels.</p>
<div style="background: linear-gradient(135deg, rgba(168, 85, 247, 0.2), rgba(168, 85, 247, 0.1)); border: 2px solid rgba(168, 85, 247, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<p style="color: #D8B4FE; font-size: 1.2em; line-height: 1.6; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #A78BFA;">🎯 Your Choices Matter:</strong> You'll get different variables and levels that influence scenes in later chapters. The game tracks your preferences for <em>each character individually</em>, not globally.</p>
<div style="background: rgba(0, 0, 0, 0.3); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 12px; padding: 20px; margin: 15px 0;">
<h4 style="color: #A78BFA; font-size: 1.1em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Examples of Choice Memory:</h4>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; margin: 15px 0;">
<div style="background: rgba(34, 197, 94, 0.1); border: 2px solid rgba(34, 197, 94, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #BBF7D0; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #22C55E;">Keep going for Mariel's feet:</strong> At some point she might remember that and reference it.</p>
</div>
<div style="background: rgba(220, 20, 60, 0.1); border: 2px solid rgba(220, 20, 60, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #FFB6C1; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #FF6B6B;">Skip all her feet content:</strong> The game remembers and you won't get any more Mariel feet content!</p>
</div>
<div style="background: rgba(69, 183, 209, 0.1); border: 2px solid rgba(69, 183, 209, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #93C5FD; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #45B7D1;">"B-but I'm interested in Nimeria's feet only!"</strong> No problem! The game tracks preferences per character.</p>
</div>
<div style="background: rgba(150, 50, 150, 0.1); border: 2px solid rgba(150, 50, 150, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #DDA0DD; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #DDA0DD;">Skip content for certain characters:</strong> You won't get forced into scenes with them anymore.</p>
</div>
</div>
</div>
</div>
<div style="background: rgba(0, 0, 0, 0.3); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<h3 style="color: #A78BFA; font-size: 1.5em; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); border-bottom: 2px solid rgba(167, 139, 250, 0.4); padding-bottom: 10px;">🎯 What Fetish Values Actually Do:</h3>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 20px 0;">
<div style="background: rgba(78, 205, 196, 0.1); border: 2px solid rgba(78, 205, 196, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #4ECDC4; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Resistance Chances</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Higher fetish values make it harder to resist temptations</p>
</div>
<div style="background: rgba(69, 183, 209, 0.1); border: 2px solid rgba(69, 183, 209, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #45B7D1; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Dialogue Changes</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Small variations in character reactions and comments</p>
</div>
<div style="background: rgba(255, 193, 7, 0.1); border: 2px solid rgba(255, 193, 7, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #FFC107; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Eros Attack Stat</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">All fetish values contribute to Eros (attack stat) for dungeon defenses in Chapter 7+</p>
</div>
</div>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 20px 0 0 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #4ECDC4;">What really matters:</strong> Your choices tracked in the "Special Values" section of each character's Diary. These determine which routes and scenes become available.</p>
</div>
<center><img src="images/guide/facespecialvalues.webp" alt="Game Guide" style="width: 100%; height: auto;"></center>
<div style="background: linear-gradient(135deg, rgba(34, 197, 94, 0.2), rgba(34, 197, 94, 0.1)); border: 2px solid rgba(34, 197, 94, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<p style="color: #BBF7D0; font-size: 1.2em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #22C55E;">The Resistance System Philosophy:</strong> I personally don't enjoy playing a submissive character who gets forced into situations but still has to choose to participate. That kills immersion. you're still doing it willingly just to see content. The resistance system creates more realistic scenarios where your stats determine what's actually possible.</p>
</div>
</div>
<!-- Core Systems Section -->
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD); z-index: 1;"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif; position: relative; z-index: 2;">⚙️ Core Gameplay Systems</h2>
<div style="background: rgba(34, 197, 94, 0.2); border: 2px solid rgba(34, 197, 94, 0.5); border-radius: 15px; padding: 25px; margin: 25px 0;">
<p style="color: #BBF7D0; font-size: 1.2em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">The main gameplay systems - Free Roam, Dungeon Exploration, Dungeon Defense, and Passive Gameplay - are all implemented and working together. Here's how each stat and system functions:</p>
</div>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; margin: 25px 0;">
<div style="background: rgba(78, 205, 196, 0.1); border: 2px solid rgba(78, 205, 196, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #4ECDC4; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">🎲 Passive Gameplay Checks</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Like Foot Temptation or Saliva Addiction are mostly flavor text. If you fail one, your character briefly loses control, and that particular fetish increases a bit.</p>
</div>
<div style="background: rgba(69, 183, 209, 0.1); border: 2px solid rgba(69, 183, 209, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #45B7D1; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">📊 Fetish Values</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Influence which random dungeon events appear and some resistance rolls. Starting in 0.7, they'll also serve as your attack stats in dungeon defense.</p>
</div>
<div style="background: rgba(150, 221, 180, 0.1); border: 2px solid rgba(150, 221, 180, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #96CEB4; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">💕 Attraction</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Reduces the crystal cost of dream corruption scenes, improves resistance chances, and affects some corruption outcomes. It'll gain more importance in future chapters too.</p>
</div>
<div style="background: rgba(255, 193, 7, 0.1); border: 2px solid rgba(255, 193, 7, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #FFC107; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">💖 Affection</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Boosts your combat stats through resonance and will also tie into more story-related systems later on.</p>
</div>
</div>
<center><img src="images/guide/resonancebefore.webp" alt="Game Guide" style="width: 100%; height: auto;"></center>
<center><img src="images/guide/resonanceafter.webp" alt="Game Guide" style="width: 100%; height: auto;"></center>
<div style="background: rgba(0, 0, 0, 0.3); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<h3 style="color: #A78BFA; font-size: 1.5em; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); border-bottom: 2px solid rgba(167, 139, 250, 0.4); padding-bottom: 10px;">🧱 Daily Gameplay Loop</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">The general idea behind the gameplay flow is simple and consistent:</p>
<div style="background: rgba(34, 197, 94, 0.1); border: 2px solid rgba(34, 197, 94, 0.3); border-radius: 12px; padding: 20px; margin: 15px 0;">
<p style="color: #BBF7D0; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #22C55E;">Farm resources in dungeons</strong> (or skip it using farming mode) → <strong style="color: #22C55E;">Upgrade your buildings</strong> to unlock new outfits, H-scenes, and daily bonuses → <strong style="color: #22C55E;">Defend your dungeon</strong> → <strong style="color: #22C55E;">Take care of your prisoners</strong>.</p>
</div>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 20px 0 0 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">That's the intended daily loop. Future updates will focus on refining this loop, not overloading it with completely new mechanics.</p>
</div>
<div style="background: rgba(0, 0, 0, 0.3); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<h3 style="color: #A78BFA; font-size: 1.5em; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); border-bottom: 2px solid rgba(167, 139, 250, 0.4); padding-bottom: 10px;">🔞 H-Content Integration</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">The goal is to weave H-content directly into gameplay rather than keeping it separate:</p>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; margin: 15px 0;">
<div style="background: rgba(255, 107, 107, 0.1); border: 2px solid rgba(255, 107, 107, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #FFB6C1; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #FF6B6B;">Dungeon Runs:</strong> You might run into traps, Serin could get horny and drag you away, or Seryk and Liora might start making out behind your back.</p>
</div>
<div style="background: rgba(150, 50, 150, 0.1); border: 2px solid rgba(150, 50, 150, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #DDA0DD; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #DDA0DD;">Dungeon Defense:</strong> Characters will learn seduction and sex skills to help raise enemy lust. You'll also be able to install traps.</p>
</div>
<div style="background: rgba(78, 205, 196, 0.1); border: 2px solid rgba(78, 205, 196, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #4ECDC4; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #4ECDC4;">Prison Management:</strong> More intimate interactions with prisoners beyond hugging and kissing.</p>
</div>
<div style="background: rgba(69, 183, 209, 0.1); border: 2px solid rgba(69, 183, 209, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #45B7D1; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #45B7D1;">City Life:</strong> Visit people, go on dates, and build relationships more directly.</p>
</div>
</div>
</div>
<div style="background: rgba(0, 0, 0, 0.3); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<h3 style="color: #A78BFA; font-size: 1.5em; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); border-bottom: 2px solid rgba(167, 139, 250, 0.4); padding-bottom: 10px;">🎯 What Really Matters</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #4ECDC4;">The stats that truly matter for unlocking or filtering sex scenes are tracked in the Special Values Menu</strong>, which now includes a short in-game guide in version 0.7 to make everything clearer.</p>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Your choices tracked in the "Special Values" section of each character's Diary determine which routes and scenes become available, not just raw fetish numbers.</p>
</div>
</div>
</div>
<!-- Gameplay Tab -->
<div id="gameplay-tab" class="tab-content" style="display: none;">
<!-- Story Structure Section -->
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD); z-index: 1;"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif; position: relative; z-index: 2;">📖 Story Structure & Development</h2>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 25px; margin: 25px 0;">
<div style="background: rgba(107, 70, 193, 0.1); border: 2px solid rgba(107, 70, 193, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #A78BFA; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Chapters 0-1: Prologue</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Character introductions and meeting the demons who introduce the corruption system. This establishes the foundation for everything that follows.</p>
</div>
<div style="background: rgba(107, 70, 193, 0.1); border: 2px solid rgba(107, 70, 193, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #A78BFA; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Chapters 2-5: Story Rush</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Heavily railroaded to push the story to 0.6 as fast as possible. This was intentional. I wanted to establish the full narrative foundation before introducing sandbox elements.</p>
</div>
<div style="background: linear-gradient(135deg, rgba(34, 197, 94, 0.2), rgba(34, 197, 94, 0.1)); border: 3px solid rgba(34, 197, 94, 0.6); border-radius: 15px; padding: 25px; position: relative; overflow: hidden; animation: pulseGlow 3s ease-in-out infinite;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #22C55E, #16A34A, #22C55E); animation: shimmer 2s ease-in-out infinite;"></div>
<h3 style="color: #22C55E; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); display: flex; align-items: center; gap: 10px;"><span style="animation: bounce 2s ease-in-out infinite;">🎮</span>Chapter 6: Sandbox Introduction</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Time slots and free roam settings where you choose who to visit. Story still progresses during certain time slots, but you have more control.</p>
</div>
<div style="background: linear-gradient(135deg, rgba(168, 85, 247, 0.2), rgba(168, 85, 247, 0.1)); border: 3px solid rgba(168, 85, 247, 0.6); border-radius: 15px; padding: 25px; position: relative; overflow: hidden; animation: pulseGlow 3s ease-in-out infinite 1.5s;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #A78BFA, #8B5CF6, #A78BFA); animation: shimmer 2s ease-in-out infinite 1.5s;"></div>
<h3 style="color: #A78BFA; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); display: flex; align-items: center; gap: 10px;"><span style="animation: bounce 2s ease-in-out infinite 1.5s;">🏰</span>Chapter 7: Advanced Systems</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Dungeon/city building system. Recruit story characters to join your city, build freely, and defend against attacks during specific time slots.</p>
</div>
</div>
<div style="background: linear-gradient(135deg, rgba(59, 130, 246, 0.1), rgba(59, 130, 246, 0.05)); border: 2px solid rgba(59, 130, 246, 0.3); border-radius: 15px; padding: 25px; margin: 25px 0; text-align: center;">
<p style="color: #93C5FD; font-size: 1.1em; font-style: italic; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">The early chapters are intentionally railroaded because I wanted to establish meaningful relationships before introducing player freedom. The bonds must exist before they can be properly defiled.</p>
</div>
</div>
<!-- Character Transformations Section -->
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD); z-index: 1;"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif; position: relative; z-index: 2;">🎭 Character Transformations</h2>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; margin: 25px 0;">
<div style="background: rgba(255, 107, 107, 0.1); border: 2px solid rgba(255, 107, 107, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #FF6B6B; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Permanent Transformations</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong>MC:</strong> Femboy → Stay femboy or become fully female<br/><strong>Serin:</strong> Stay normal or become futanari<br/><strong>Mariel:</strong> Motherly transformation with lactation, treats others as children</p>
</div>
<div style="background: rgba(150, 50, 150, 0.1); border: 2px solid rgba(150, 50, 150, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #DDA0DD; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Temporary Transformations</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Available for everyone. There will be a tremendous amount of these in the future. This is one reason why I pushed so much story early on, to establish the foundation for all these transformations.</p>
</div>
</div>
<div style="background: rgba(168, 85, 247, 0.1); border: 2px solid rgba(168, 85, 247, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0; text-align: center;">
<p style="color: #D8B4FE; font-size: 1.2em; font-style: italic; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Every choice matters. Every stat influences the story. Every relationship will be tested. The deeper you go, the more the game adapts to show you exactly how far you've fallen... or risen.</p>
<p style="color: #A78BFA; font-size: 1.4em; font-weight: bold; margin: 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8);">Welcome to your descent.</p>
</div>
</div>
</div>
<!-- Tips Tab -->
<div id="tips-tab" class="tab-content" style="display: none;">
<!-- Tips & Strategies Section -->
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD); z-index: 1;"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif; position: relative; z-index: 2;">💡 Tips & Strategies</h2>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; margin: 25px 0;">
<div style="background: rgba(34, 197, 94, 0.1); border: 2px solid rgba(34, 197, 94, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #22C55E; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">✅ Do This</h3>
<ul style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7); padding-left: 20px;">
<li>Read the story carefully - it's the core experience</li>
<li>Make choices that feel right for your character</li>
<li>Use the content filtering system to customize your experience</li>
<li>Check character diaries to track your progress</li>
<li>Experiment with different relationship paths</li>
</ul>
</div>
<div style="background: rgba(220, 20, 60, 0.1); border: 2px solid rgba(220, 20, 60, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #FF6B6B; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">❌ Avoid This</h3>
<ul style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7); padding-left: 20px;">
<li>Don't skip story to rush to scenes</li>
<li>Don't try to "game" the fetish system</li>
<li>Don't ignore character development</li>
<li>Don't expect instant gratification</li>
<li>Don't force content you don't enjoy</li>
</ul>
</div>
</div>
</div>
</div>
<div style="text-align: center; margin: 50px 0;">
<div style="display: flex; justify-content: center; gap: 30px; flex-wrap: wrap;">
<div style="background: linear-gradient(145deg, rgba(78, 205, 196, 0.2), rgba(69, 183, 209, 0.3)); border: 3px solid rgba(78, 205, 196, 0.6); border-radius: 15px; padding: 25px; min-width: 250px; box-shadow: 0 8px 25px rgba(78, 205, 196, 0.3); transition: all 0.3s ease;">
<h3 style="color: #4ECDC4; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Begin Your Journey</h3>
<p style="color: #E6E6FA; font-size: 1em; margin: 0 0 20px 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Start your adventure into corruption</p>
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 8px; padding: 15px; display: inline-block; min-width: 200px;">[[Begin Your Journey|CharacterSetup]]</div>
</div>
<div style="background: linear-gradient(145deg, rgba(34, 197, 94, 0.2), rgba(22, 163, 74, 0.3)); border: 3px solid rgba(34, 197, 94, 0.6); border-radius: 15px; padding: 25px; min-width: 250px; box-shadow: 0 8px 25px rgba(34, 197, 94, 0.3); transition: all 0.3s ease;">
<h3 style="color: #22C55E; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Game Guide</h3>
<p style="color: #E6E6FA; font-size: 1em; margin: 0 0 20px 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Complete guide to game systems</p>
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 8px; padding: 15px; display: inline-block; min-width: 200px;">[[Game Guide|GameGuide]]</div>
</div>
</div>
<</nobr>>
<style>
@keyframes pulseGlow {
0%, 100% { box-shadow: 0 0 20px rgba(34, 197, 94, 0.3), inset 0 0 20px rgba(34, 197, 94, 0.1); }
50% { box-shadow: 0 0 30px rgba(34, 197, 94, 0.5), inset 0 0 30px rgba(34, 197, 94, 0.2); }
}
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-5px); }
}
.author-note {
background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95));
min-height: 100vh;
padding: 20px;
}
.author-note h1, .author-note h2, .author-note h3, .author-note h4 {
font-family: 'Cinzel', serif;
}
.author-note p, .author-note li {
font-family: 'Georgia', serif;
}
.author-note a {
color: #4ECDC4 !important;
text-decoration: none !important;
transition: all 0.3s ease;
}
.author-note a:hover {
color: #22C55E !important;
text-shadow: 0 0 10px rgba(34, 197, 94, 0.5);
}
.tab-button.active {
background: linear-gradient(145deg, rgba(167, 139, 250, 0.5), rgba(139, 69, 19, 0.4)) !important;
box-shadow: 0 0 20px rgba(167, 139, 250, 0.3) !important;
}
.tab-button:hover {
transform: translateY(-2px);
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}
</style>
<script>
(function() {
function switchTab(tabName, buttonElement) {
try {
// Hide all tab contents
const tabs = document.querySelectorAll('.tab-content');
tabs.forEach(tab => {
tab.style.display = 'none';
});
// Remove active class from all buttons
const buttons = document.querySelectorAll('.tab-button');
buttons.forEach(button => {
button.classList.remove('active');
});
// Show selected tab
const targetTab = document.getElementById(tabName + '-tab');
if (targetTab) {
targetTab.style.display = 'block';
}
// Add active class to clicked button
if (buttonElement) {
buttonElement.classList.add('active');
}
} catch (e) {
console.error('Error in switchTab:', e);
}
}
// Make function globally available
window.switchTab = switchTab;
})();
</script>
<<pov "rylan" "start1.mp3">><<nobr>>
<div class="passage-container character-setup">
<div style="text-align: center; margin: 40px 0;">
<div style="background: linear-gradient(135deg, rgba(30, 30, 45, 0.95), rgba(50, 30, 60, 0.9)); border: 4px solid rgba(150, 50, 150, 0.7); border-radius: 25px; padding: 50px; box-shadow: 0 0 40px rgba(150, 50, 150, 0.4), inset 0 0 30px rgba(0, 0, 0, 0.6); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 8px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD, #FF6B6B);"></div>
<h1 style="color: #FFD700; font-size: 3.5em; text-shadow: 4px 4px 8px rgba(0,0,0,0.9); margin: 0 0 20px 0; font-family: 'Cinzel', serif; letter-spacing: 3px; background: linear-gradient(45deg, #FFD700, #FFA500, #FF6B6B); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;">Character Configuration</h1>
<p style="color: #E6E6FA; font-size: 1.3em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Before we begin, let's understand the story's perspectives and configure your character</p>
</div>
</div>
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD);"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">🎭 Content Preferences</h2>
<div style="background: rgba(0, 0, 0, 0.3); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 15px; padding: 30px; margin: 25px 0;">
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); gap: 25px; margin: 20px 0;">
<div style="background: rgba(78, 205, 196, 0.1); border: 2px solid rgba(78, 205, 196, 0.4); border-radius: 15px; padding: 25px; transition: all 0.3s ease;">
<div style="display: flex; align-items: flex-start; gap: 15px;">
<<radiobutton "$allowGayContent" true checked>>
<div>
<h3 style="color: #4ECDC4; font-size: 1.3em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Yes - Include All Content</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.5; margin: 0 0 8px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Characters can naturally develop same-sex attraction based on experiences and corruption. This allows for the full range of relationship dynamics and character development.</p>
<p style="color: #B8E6B8; font-size: 0.95em; line-height: 1.4; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.6); font-style: italic;">Note: Only masculine male-on-male interactions count as "gay content." Femboy/feminine character content is not considered gay content in this setting.</p>
</div>
</div>
</div>
<div style="background: rgba(255, 107, 107, 0.1); border: 2px solid rgba(255, 107, 107, 0.4); border-radius: 15px; padding: 25px; transition: all 0.3s ease;">
<div style="display: flex; align-items: flex-start; gap: 15px;">
<<radiobutton "$allowGayContent" false>>
<div>
<h3 style="color: #FF6B6B; font-size: 1.3em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">No - Limited Content</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.5; margin: 0 0 8px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Characters will strongly resist masculine male-on-male situations unless heavily corrupted. They will show disgust at unwanted advances from other masculine males.</p>
<p style="color: #FFB6C1; font-size: 0.95em; line-height: 1.4; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.6); font-style: italic;">Note: You can still encounter gay situations through player choices and story routes. This setting mainly affects forced situations and NPC behavior.</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD);"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">👤 Character Name</h2>
<p style="color: #E6E6FA; font-size: 1.2em; line-height: 1.6; margin: 0 0 25px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7); text-align: center;">Set your character's name to personalize your journey</p>
<div style="background: rgba(0, 0, 0, 0.3); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 15px; padding: 30px; margin: 25px 0;">
<div style="display: flex; align-items: center; gap: 20px; margin-bottom: 20px;">
<div style="background: linear-gradient(135deg, rgba(255, 215, 0, 0.2), rgba(255, 165, 0, 0.3)); border: 2px solid rgba(255, 215, 0, 0.4); border-radius: 50%; width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;">
<span style="color: #FFD700; font-size: 1.5em; font-weight: bold;">1</span>
</div>
<div>
<h3 style="color: #FFD700; font-size: 1.5em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">The Human Youth</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.5; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">A slender young man with blonde hair and a lean build. Born to legendary heroes, he struggles to live up to their legacy.</p>
</div>
</div>
<div style="background: rgba(78, 205, 196, 0.1); border: 2px solid rgba(78, 205, 196, 0.4); border-radius: 12px; padding: 20px; margin: 20px 0;">
<label style="color: #4ECDC4; font-size: 1.2em; font-weight: bold; margin-bottom: 10px; display: block; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Character Name:</label>
<<textbox "$humanName" $humanName>>
<p style="color: #E6E6FA; font-size: 0.9em; margin: 10px 0 0 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7); font-style: italic;">Enter the name that will be used throughout your journey</p>
</div>
</div>
</div>
<div style="text-align: center; margin: 50px 0;">
<div style="background: linear-gradient(145deg, rgba(78, 205, 196, 0.2), rgba(69, 183, 209, 0.3)); border: 3px solid rgba(78, 205, 196, 0.6); border-radius: 15px; padding: 25px; min-width: 300px; box-shadow: 0 8px 25px rgba(78, 205, 196, 0.3); transition: all 0.3s ease; display: inline-block;">
<h3 style="color: #4ECDC4; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Continue to Relationship Setup</h3>
<p style="color: #E6E6FA; font-size: 1em; margin: 0 0 20px 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Configure character relationships and dynamics</p>
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 8px; padding: 15px; display: inline-block; min-width: 200px;">
<<link "Continue to Relationship Setup">>
<<set $marielToHuman = "landlady">>
<<set $humanToMariel = "mariel">>
<<set $humanIsMariel = "roommate">>
<<set $thalorToHuman = "mentor">>
<<set $humanToThalor = "sir">>
<<set $thalorCallsHuman = "scarce">>
<<set $bothToHuman = "guardians">>
<<set $householdType = "housemates">>
<<set $serinLioraRelation = "friend">>
<<goto "RelationshipSetup">>
<</link>>
</div>
</div>
</div>
</div>
<<pov "rylan" "start1.mp3">>
<</nobr>><<nobr>>
<div class="config-container">
<div class="config-header">
<h2>⚙️ Game Configuration</h2>
<p>Customize your gaming experience</p>
</div>
<div class="config-sections">
<!-- Text Settings Section -->
<div class="config-section">
<div class="section-header">
<h3>📝 Text Settings</h3>
<div class="section-icon">📝</div>
</div>
<div class="section-content">
<div class="setting-group">
<div class="setting-item">
<label class="setting-label">Font Size</label>
<div class="font-controls">
<button id="decrease-font" class="font-btn">A-</button>
<span id="current-font-size" class="font-display">18px</span>
<button id="increase-font" class="font-btn">A+</button>
</div>
</div>
<div class="setting-item">
<label class="setting-label">Passage Width</label>
<div class="slider-control">
<input type="range" id="passage-width" class="slider" min="50" max="100" step="5" value="95">
<span id="current-width" class="slider-value">95%</span>
</div>
</div>
</div>
</div>
</div>
<!-- Dialog Colors Section -->
<div class="config-section">
<div class="section-header">
<h3>🎨 Dialog Colors</h3>
<div class="section-icon">🎨</div>
</div>
<div class="section-content">
<div class="color-grid">
<div class="color-item">
<label id="player-color-label" class="color-label"><<print $humanName>></label>
<input type="color" id="player-color" class="color-picker" value="#66bb6a">
</div>
<div class="color-item">
<label class="color-label">Mariel</label>
<input type="color" id="mariel-color" class="color-picker" value="#fff176">
</div>
<div class="color-item">
<label class="color-label">Thalor</label>
<input type="color" id="thalor-color" class="color-picker" value="#cd853f">
</div>
<div class="color-item">
<label class="color-label">Liora</label>
<input type="color" id="liora-color" class="color-picker" value="#ffb74d">
</div>
<div class="color-item">
<label class="color-label">Serin</label>
<input type="color" id="serin-color" class="color-picker" value="#ff6b6b">
</div>
<div class="color-item">
<label class="color-label">Seryk</label>
<input type="color" id="demon-color" class="color-picker" value="#87CEEB">
</div>
<div class="color-item">
<label class="color-label">Nimeria</label>
<input type="color" id="nimeria-color" class="color-picker" value="#DDA0DD">
</div>
<div class="color-item">
<label class="color-label">Gairos</label>
<input type="color" id="gairos-color" class="color-picker" value="#87CEEB">
</div>
<div class="color-item">
<label class="color-label">Veloria</label>
<input type="color" id="veloria-color" class="color-picker" value="#9370DB">
</div>
<div class="color-item">
<label class="color-label">Sora</label>
<input type="color" id="sora-color" class="color-picker" value="#FF69B4">
</div>
<div class="color-item">
<label class="color-label">Mira</label>
<input type="color" id="mira-color" class="color-picker" value="#FFB6C1">
</div>
<div class="color-item">
<label class="color-label">Female NPCs</label>
<input type="color" id="female-npc-color" class="color-picker" value="#ff69b4">
</div>
<div class="color-item">
<label class="color-label">Male NPCs</label>
<input type="color" id="male-npc-color" class="color-picker" value="#cd853f">
</div>
</div>
</div>
</div>
<!-- Background Colors Section -->
<div class="config-section">
<div class="section-header">
<h3>🖼️ Passage Backgrounds</h3>
<div class="section-icon">🖼️</div>
</div>
<div class="section-content">
<div class="color-grid">
<div class="color-item">
<label id="player-bg-label" class="color-label"><<print $humanName>></label>
<input type="color" id="player-bg-color" class="color-picker" value="#4B8B3D">
</div>
<div class="color-item">
<label class="color-label">Mariel</label>
<input type="color" id="mariel-bg-color" class="color-picker" value="#C8B400">
</div>
<div class="color-item">
<label class="color-label">Thalor</label>
<input type="color" id="thalor-bg-color" class="color-picker" value="#503214">
</div>
<div class="color-item">
<label class="color-label">Liora</label>
<input type="color" id="liora-bg-color" class="color-picker" value="#A07850">
</div>
<div class="color-item">
<label class="color-label">Serin</label>
<input type="color" id="serin-bg-color" class="color-picker" value="#ff6b6b">
</div>
<div class="color-item">
<label class="color-label">Seryk</label>
<input type="color" id="demon-bg-color" class="color-picker" value="#0064B4">
</div>
<div class="color-item">
<label class="color-label">Nimeria</label>
<input type="color" id="nimeria-bg-color" class="color-picker" value="#4B0082">
</div>
<div class="color-item">
<label class="color-label">Gairos</label>
<input type="color" id="gairos-bg-color" class="color-picker" value="#4B0082">
</div>
<div class="color-item">
<label class="color-label">Veloria</label>
<input type="color" id="veloria-bg-color" class="color-picker" value="#9333EA">
</div>
<div class="color-item">
<label class="color-label">Sora</label>
<input type="color" id="sora-bg-color" class="color-picker" value="#FF69B4">
</div>
<div class="color-item">
<label class="color-label">Mira</label>
<input type="color" id="mira-bg-color" class="color-picker" value="#FFB6C1">
</div>
<div class="color-item">
<label class="color-label">Celindra</label>
<input type="color" id="celindra-bg-color" class="color-picker" value="#ADD8E6">
</div>
</div>
</div>
</div>
<!-- Audio Settings Section -->
<div class="config-section">
<div class="section-header">
<h3>🔊 Audio Settings</h3>
<div class="section-icon">🔊</div>
</div>
<div class="section-content">
<div class="audio-grid">
<div class="audio-item">
<div class="audio-header">
<label class="audio-label">Background Music</label>
<button id="toggle-bgm" class="audio-toggle">🔊</button>
</div>
<div class="audio-control">
<input type="range" id="bgm-volume" class="audio-slider" min="0" max="100" value="30">
<span id="bgm-volume-value" class="audio-value">30%</span>
</div>
</div>
<div class="audio-item">
<div class="audio-header">
<label class="audio-label">Sound Effects</label>
<button id="toggle-sfx" class="audio-toggle">🔊</button>
</div>
<div class="audio-control">
<input type="range" id="sfx-volume" class="audio-slider" min="0" max="100" value="50">
<span id="sfx-volume-value" class="audio-value">50%</span>
</div>
</div>
<div class="audio-item">
<div class="audio-header">
<label class="audio-label">Voice</label>
<button id="toggle-voice" class="audio-toggle">🔊</button>
</div>
<div class="audio-control">
<input type="range" id="voice-volume" class="audio-slider" min="0" max="100" value="70">
<span id="voice-volume-value" class="audio-value">70%</span>
</div>
</div>
</div>
</div>
</div>
</div>
<</nobr>>
<!-- Action Buttons -->
<div class="config-actions">
<<button "🔄 Reset to Default">>
/* Character defaults */
<<set $humanName = "Rylan">>
<<set State.variables.humanName = "Rylan">>
/* Household relationship defaults */
<<set $marielToHuman = "landlady">>
<<set $humanToMariel = "mariel">>
<<set $humanIsMariel = "roommate">>
<<set $thalorToHuman = "mentor">>
<<set $humanToThalor = "sir">>
<<set $thalorCallsHuman = "scarce">>
<<set $bothToHuman = "guardians">>
<<set $householdType = "housemates">>
<<set $serinLioraRelation = "friend">>
/* Update relationship tracking system */
<<set $relationships = {
"Mariel": {
"role": $marielToHuman,
"title": $humanToMariel,
"humanIs": $humanIsMariel
},
"Thalor": {
"role": $thalorToHuman,
"title": $humanToThalor,
"callsHuman": $thalorCallsHuman
},
"Household": {
"parentsAre": $bothToHuman,
"type": $householdType
},
"SerinLiora": {
"relation": $serinLioraRelation
}
}>>
/* Text defaults */
<<script>>
// Function to generate dynamic gradient from a base color
function generatePassageGradient(baseColor) {
// Convert hex to RGB
const hex = baseColor.replace('#', '');
const r = parseInt(hex.substr(0, 2), 16);
const g = parseInt(hex.substr(2, 2), 16);
const b = parseInt(hex.substr(4, 2), 16);
// Create lighter version for middle (increase brightness by 30%)
const lightR = Math.min(255, Math.floor(r + (255 - r) * 0.3));
const lightG = Math.min(255, Math.floor(g + (255 - g) * 0.3));
const lightB = Math.min(255, Math.floor(b + (255 - b) * 0.3));
// Create the gradient
return `linear-gradient(135deg, ${baseColor}, rgba(${lightR}, ${lightG}, ${lightB}, 0.95), ${baseColor})`;
}
// Font size reset
document.documentElement.style.setProperty('--base-font-size', '18px');
$('#current-font-size').text('18px');
// Width reset
$('#passages').css('width', '95%');
$('#passage-width').val(95);
$('#current-width').text('95%');
State.variables.passageWidth = 95;
// Color defaults
const defaultColors = {
'player-color': '#66bb6a',
'mariel-color': '#fff176',
'thalor-color': '#cd853f',
'liora-color': '#ffb74d',
'serin-color': '#ff6b6b',
'demon-color': '#87CEEB',
'nimeria-color': '#DDA0DD',
'gairos-color': '#87CEEB',
'veloria-color': '#9370DB',
'sora-color': '#FF69B4',
'mira-color': '#FFB6C1',
'female-npc-color': '#ff69b4',
'male-npc-color': '#cd853f'
};
const defaultBgColors = {
'player-bg-color': '#4B8B3D',
'mariel-bg-color': '#C8B400',
'thalor-bg-color': '#503214',
'liora-bg-color': '#A07850',
'serin-bg-color': '#ff6b6b',
'demon-bg-color': '#0064B4',
'nimeria-bg-color': '#4B0082',
'gairos-bg-color': '#4B0082',
'veloria-bg-color': '#9333EA',
'sora-bg-color': '#FF69B4',
'mira-bg-color': '#FFB6C1',
'celindra-bg-color': '#ADD8E6'
};
// Reset color inputs and state variables
Object.entries(defaultColors).forEach(([id, color]) => {
// Update input value
$(`#${id}`).val(color);
// Update state variable (convert id to state variable name)
const stateVarName = id.replace('-color', 'Color')
.replace('player', 'rylan')
.replace('demon', 'seryk');
State.variables[stateVarName] = color;
// Update CSS variable
const cssVarName = '--dialog-color-' + id.replace('-color', '');
document.documentElement.style.setProperty(cssVarName, color);
});
// Explicitly set all dialog color state variables to ensure they're saved
State.variables.rylanColor = defaultColors['player-color'];
State.variables.marielColor = defaultColors['mariel-color'];
State.variables.thalorColor = defaultColors['thalor-color'];
State.variables.lioraColor = defaultColors['liora-color'];
State.variables.serinColor = defaultColors['serin-color'];
State.variables.serykColor = defaultColors['demon-color'];
State.variables.nimeriaColor = defaultColors['nimeria-color'];
State.variables.gairosColor = defaultColors['gairos-color'];
State.variables.veloriaColor = defaultColors['veloria-color'];
State.variables.soraColor = defaultColors['sora-color'];
State.variables.miraColor = defaultColors['mira-color'];
State.variables.femaleNpcColor = defaultColors['female-npc-color'];
State.variables.maleNpcColor = defaultColors['male-npc-color'];
// Reset background color inputs and state variables
Object.entries(defaultBgColors).forEach(([id, color]) => {
// Update input value
$(`#${id}`).val(color);
// Update state variable (convert id to state variable name)
const stateVarName = id.replace('-bg-color', 'BgColor')
.replace('player', 'rylan')
.replace('demon', 'seryk');
State.variables[stateVarName] = color;
});
// Explicitly set all background color state variables to ensure they're saved
State.variables.rylanBgColor = defaultBgColors['player-bg-color'];
State.variables.marielBgColor = defaultBgColors['mariel-bg-color'];
State.variables.thalorBgColor = defaultBgColors['thalor-bg-color'];
State.variables.lioraBgColor = defaultBgColors['liora-bg-color'];
State.variables.serinBgColor = defaultBgColors['serin-bg-color'];
State.variables.serykBgColor = defaultBgColors['demon-bg-color'];
State.variables.nimeriaBgColor = defaultBgColors['nimeria-bg-color'];
State.variables.gairosBgColor = defaultBgColors['gairos-bg-color'];
State.variables.veloriaBgColor = defaultBgColors['veloria-bg-color'];
State.variables.soraBgColor = defaultBgColors['sora-bg-color'];
State.variables.miraBgColor = defaultBgColors['mira-bg-color'];
State.variables.celindraBgColor = defaultBgColors['celindra-bg-color'];
// Set CSS variables for immediate visual update
document.documentElement.style.setProperty('--passage-bg-rylan', defaultBgColors['player-bg-color']);
document.documentElement.style.setProperty('--passage-bg-mariel', defaultBgColors['mariel-bg-color']);
document.documentElement.style.setProperty('--passage-bg-thalor', defaultBgColors['thalor-bg-color']);
document.documentElement.style.setProperty('--passage-bg-liora', defaultBgColors['liora-bg-color']);
document.documentElement.style.setProperty('--passage-bg-serin', defaultBgColors['serin-bg-color']);
document.documentElement.style.setProperty('--passage-bg-seryk', defaultBgColors['demon-bg-color']);
document.documentElement.style.setProperty('--passage-bg-nimeria', defaultBgColors['nimeria-bg-color']);
document.documentElement.style.setProperty('--passage-bg-gairos', defaultBgColors['gairos-bg-color']);
document.documentElement.style.setProperty('--passage-bg-veloria', defaultBgColors['veloria-bg-color']);
document.documentElement.style.setProperty('--passage-bg-sora', defaultBgColors['sora-bg-color']);
document.documentElement.style.setProperty('--passage-bg-mira', defaultBgColors['mira-bg-color']);
document.documentElement.style.setProperty('--passage-bg-celindra', defaultBgColors['celindra-bg-color']);
// Set gradient variables for immediate visual update
document.documentElement.style.setProperty('--passage-gradient-rylan', generatePassageGradient(defaultBgColors['player-bg-color']));
document.documentElement.style.setProperty('--passage-gradient-mariel', generatePassageGradient(defaultBgColors['mariel-bg-color']));
document.documentElement.style.setProperty('--passage-gradient-thalor', generatePassageGradient(defaultBgColors['thalor-bg-color']));
document.documentElement.style.setProperty('--passage-gradient-liora', generatePassageGradient(defaultBgColors['liora-bg-color']));
document.documentElement.style.setProperty('--passage-gradient-serin', generatePassageGradient(defaultBgColors['serin-bg-color']));
document.documentElement.style.setProperty('--passage-gradient-seryk', generatePassageGradient(defaultBgColors['demon-bg-color']));
document.documentElement.style.setProperty('--passage-gradient-nimeria', generatePassageGradient(defaultBgColors['nimeria-bg-color']));
document.documentElement.style.setProperty('--passage-gradient-gairos', generatePassageGradient(defaultBgColors['gairos-bg-color']));
document.documentElement.style.setProperty('--passage-gradient-veloria', generatePassageGradient(defaultBgColors['veloria-bg-color']));
document.documentElement.style.setProperty('--passage-gradient-sora', generatePassageGradient(defaultBgColors['sora-bg-color']));
document.documentElement.style.setProperty('--passage-gradient-mira', generatePassageGradient(defaultBgColors['mira-bg-color']));
document.documentElement.style.setProperty('--passage-gradient-celindra', generatePassageGradient(defaultBgColors['celindra-bg-color']));
// Reset character name labels and inputs
$('#player-color-label').html(State.variables.humanName + ':');
$('#player-bg-label').html(State.variables.humanName + ' Background:');
$('#human-name').val(State.variables.humanName);
/* Audio defaults */
window.AudioSystem.setVolume('bgm', 0.3);
window.AudioSystem.bgm.muted = false;
window.AudioSystem.setVolume('sfx', 0.5);
window.AudioSystem.sfx.muted = false;
window.AudioSystem.setVolume('voice', 0.7);
window.AudioSystem.voice.muted = false;
$('#bgm-volume').val(30);
$('#sfx-volume').val(50);
$('#voice-volume').val(70);
// Update volume displays
$('#bgm-volume').siblings('.audio-value').text($('#bgm-volume').val() + '%');
$('#sfx-volume').siblings('.audio-value').text($('#sfx-volume').val() + '%');
$('#voice-volume').siblings('.audio-value').text($('#voice-volume').val() + '%');
$('#toggle-bgm, #toggle-sfx, #toggle-voice').text('🔊');
// Save all settings using the proper save function
if (window.saveGameSettings) {
window.saveGameSettings();
} else {
// Fallback manual save if function not available
const defaultSettings = {
text: {
fontSize: 18,
passageWidth: 95
},
colors: {
rylanColor: defaultColors['player-color'],
marielColor: defaultColors['mariel-color'],
thalorColor: defaultColors['thalor-color'],
lioraColor: defaultColors['liora-color'],
serinColor: defaultColors['serin-color'],
serykColor: defaultColors['demon-color'],
nimeriaColor: defaultColors['nimeria-color'],
gairosColor: defaultColors['gairos-color'],
veloriaColor: defaultColors['veloria-color'],
soraColor: defaultColors['sora-color'],
miraColor: defaultColors['mira-color'],
femaleNpcColor: defaultColors['female-npc-color'],
maleNpcColor: defaultColors['male-npc-color']
},
backgroundColors: {
rylanBgColor: defaultBgColors['player-bg-color'],
marielBgColor: defaultBgColors['mariel-bg-color'],
thalorBgColor: defaultBgColors['thalor-bg-color'],
lioraBgColor: defaultBgColors['liora-bg-color'],
serinBgColor: defaultBgColors['serin-bg-color'],
serykBgColor: defaultBgColors['demon-bg-color'],
nimeriaBgColor: defaultBgColors['nimeria-bg-color'],
gairosBgColor: defaultBgColors['gairos-bg-color'],
veloriaBgColor: defaultBgColors['veloria-bg-color'],
soraBgColor: defaultBgColors['sora-bg-color'],
miraBgColor: defaultBgColors['mira-bg-color'],
celindraBgColor: defaultBgColors['celindra-bg-color']
}
};
localStorage.setItem('gameSettings', JSON.stringify(defaultSettings));
const defaultAudioSettings = {
bgm: { volume: 0.3, muted: false },
sfx: { volume: 0.5, muted: false },
voice: { volume: 0.7, muted: false }
};
localStorage.setItem('audioSettings', JSON.stringify(defaultAudioSettings));
}
// Reload the passage to trigger normal loading process
setTimeout(() => {
Engine.show('DiaryMenu');
}, 200);
<</script>>
<<replace "#config-box">><<include "ConfigMenu">><</replace>>
<</button>>
</div>
<style>
/* Modern Config Menu Styling */
.config-container {
max-width: 1200px;
margin: 0 auto;
padding: 20px;
background: linear-gradient(135deg, rgba(20, 20, 30, 0.95), rgba(30, 20, 40, 0.9));
border-radius: 20px;
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
border: 2px solid rgba(255, 255, 255, 0.1);
}
.config-header {
text-align: center;
margin-bottom: 40px;
padding: 30px 0;
background: linear-gradient(135deg, rgba(255, 64, 129, 0.1), rgba(156, 39, 176, 0.1));
border-radius: 15px;
border: 1px solid rgba(255, 64, 129, 0.2);
}
.config-header h2 {
font-size: 2.5em;
margin: 0 0 10px 0;
background: linear-gradient(45deg, #ff4081, #e91e63, #9c27b0);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
text-shadow: 0 0 30px rgba(255, 64, 129, 0.3);
}
.config-header p {
font-size: 1.2em;
color: rgba(255, 255, 255, 0.8);
margin: 0;
}
.config-sections {
display: grid;
gap: 30px;
margin-bottom: 40px;
}
.config-section {
background: linear-gradient(135deg, rgba(0, 0, 0, 0.3), rgba(20, 20, 30, 0.4));
border-radius: 15px;
border: 1px solid rgba(255, 255, 255, 0.1);
overflow: hidden;
transition: all 0.3s ease;
}
.config-section:hover {
transform: translateY(-2px);
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
border-color: rgba(255, 64, 129, 0.3);
}
.section-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 20px 25px;
background: linear-gradient(135deg, rgba(255, 64, 129, 0.1), rgba(156, 39, 176, 0.1));
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.section-header h3 {
font-size: 1.5em;
margin: 0;
color: #fff;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}
.section-icon {
font-size: 1.8em;
opacity: 0.8;
}
.section-content {
padding: 25px;
}
/* Text Settings Styling */
.setting-group {
display: grid;
gap: 25px;
}
.setting-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 15px 20px;
background: rgba(255, 255, 255, 0.05);
border-radius: 10px;
border: 1px solid rgba(255, 255, 255, 0.1);
transition: all 0.3s ease;
}
.setting-item:hover {
background: rgba(255, 255, 255, 0.08);
border-color: rgba(255, 64, 129, 0.3);
}
.setting-label {
font-size: 1.1em;
font-weight: 600;
color: #fff;
margin: 0;
}
.font-controls {
display: flex;
align-items: center;
gap: 15px;
}
.font-btn {
width: 40px;
height: 40px;
border: none;
border-radius: 50%;
background: linear-gradient(135deg, #ff4081, #e91e63);
color: white;
font-size: 1.2em;
font-weight: bold;
cursor: pointer;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(255, 64, 129, 0.3);
}
.font-btn:hover {
transform: scale(1.1);
box-shadow: 0 6px 20px rgba(255, 64, 129, 0.4);
}
.font-display {
font-size: 1.1em;
font-weight: 600;
color: #ff4081;
min-width: 60px;
text-align: center;
}
.slider-control {
display: flex;
align-items: center;
gap: 15px;
min-width: 200px;
}
.slider {
flex: 1;
height: 6px;
border-radius: 3px;
background: rgba(255, 255, 255, 0.2);
outline: none;
-webkit-appearance: none;
}
.slider::-webkit-slider-thumb {
-webkit-appearance: none;
width: 20px;
height: 20px;
border-radius: 50%;
background: linear-gradient(135deg, #ff4081, #e91e63);
cursor: pointer;
box-shadow: 0 4px 15px rgba(255, 64, 129, 0.3);
}
.slider::-moz-range-thumb {
width: 20px;
height: 20px;
border-radius: 50%;
background: linear-gradient(135deg, #ff4081, #e91e63);
cursor: pointer;
border: none;
box-shadow: 0 4px 15px rgba(255, 64, 129, 0.3);
}
.slider-value {
font-size: 1.1em;
font-weight: 600;
color: #ff4081;
min-width: 50px;
text-align: center;
}
/* Color Grid Styling */
.color-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 20px;
}
.color-item {
display: flex;
flex-direction: column;
align-items: center;
padding: 20px;
background: rgba(255, 255, 255, 0.05);
border-radius: 12px;
border: 1px solid rgba(255, 255, 255, 0.1);
transition: all 0.3s ease;
}
.color-item:hover {
background: rgba(255, 255, 255, 0.08);
border-color: rgba(255, 64, 129, 0.3);
transform: translateY(-2px);
}
.color-label {
font-size: 1em;
font-weight: 600;
color: #fff;
margin-bottom: 15px;
text-align: center;
}
.color-picker {
width: 60px;
height: 60px;
border: none;
border-radius: 50%;
cursor: pointer;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}
.color-picker:hover {
transform: scale(1.1);
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}
/* Audio Grid Styling */
.audio-grid {
display: grid;
gap: 25px;
}
.audio-item {
padding: 20px;
background: rgba(255, 255, 255, 0.05);
border-radius: 12px;
border: 1px solid rgba(255, 255, 255, 0.1);
transition: all 0.3s ease;
}
.audio-item:hover {
background: rgba(255, 255, 255, 0.08);
border-color: rgba(255, 64, 129, 0.3);
}
.audio-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 15px;
}
.audio-label {
font-size: 1.1em;
font-weight: 600;
color: #fff;
margin: 0;
}
.audio-toggle {
width: 45px;
height: 45px;
border: none;
border-radius: 50%;
background: linear-gradient(135deg, #4caf50, #45a049);
color: white;
font-size: 1.3em;
cursor: pointer;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);
}
.audio-toggle:hover {
transform: scale(1.1);
box-shadow: 0 6px 20px rgba(76, 175, 80, 0.4);
}
.audio-control {
display: flex;
align-items: center;
gap: 15px;
}
.audio-slider {
flex: 1;
height: 6px;
border-radius: 3px;
background: rgba(255, 255, 255, 0.2);
outline: none;
-webkit-appearance: none;
}
.audio-slider::-webkit-slider-thumb {
-webkit-appearance: none;
width: 20px;
height: 20px;
border-radius: 50%;
background: linear-gradient(135deg, #4caf50, #45a049);
cursor: pointer;
box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);
}
.audio-slider::-moz-range-thumb {
width: 20px;
height: 20px;
border-radius: 50%;
background: linear-gradient(135deg, #4caf50, #45a049);
cursor: pointer;
border: none;
box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);
}
.audio-value {
font-size: 1.1em;
font-weight: 600;
color: #4caf50;
min-width: 50px;
text-align: center;
}
/* Action Buttons */
.config-actions {
display: flex;
justify-content: center;
gap: 20px;
padding: 30px 0;
border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.config-actions button {
padding: 15px 30px;
font-size: 1.1em;
font-weight: 600;
border: none;
border-radius: 25px;
cursor: pointer;
transition: all 0.3s ease;
text-transform: uppercase;
letter-spacing: 1px;
}
.config-actions button:first-child {
background: linear-gradient(135deg, #ff4081, #e91e63);
color: white;
box-shadow: 0 6px 20px rgba(255, 64, 129, 0.3);
}
.config-actions button:first-child:hover {
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(255, 64, 129, 0.4);
}
/* Responsive Design */
@media (max-width: 768px) {
.config-container {
margin: 10px;
padding: 15px;
}
.color-grid {
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 15px;
}
.setting-item {
flex-direction: column;
gap: 15px;
text-align: center;
}
.slider-control {
min-width: 100%;
}
.config-header h2 {
font-size: 2em;
}
}
/* Character Names Styling (Legacy) */
.character-names {
margin: 1rem 0;
padding: 1rem;
background: rgba(0, 0, 0, 0.2);
border-radius: 8px;
}
.name-input {
margin: 0.5rem 0;
display: flex;
align-items: center;
gap: 1rem;
}
.name-input label {
min-width: 120px;
}
.name-input input[type="text"] {
flex: 1;
padding: 0.5rem;
background: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 4px;
color: white;
}
.name-input input[type="text"]:focus {
outline: none;
border-color: rgba(255, 255, 255, 0.4);
background: rgba(255, 255, 255, 0.15);
}
</style><<script>>window.AudioSystem.playBGM('nimeriaslastsongcredits.mp3');<</script>>
<!---Start Credits -->
<div id="custom-credits-container" style="position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: linear-gradient(180deg, #000000 0%, #1a1a2e 50%, #000000 100%); z-index: 9999; overflow: hidden; display: flex; align-items: center; justify-content: center;">
<style>
@keyframes customScrollUp {
0% { transform: translateY(0); }
100% { transform: translateY(-1200vh); }
}
</style>
<div id="custom-scrolling-credits" style="width: 80%; max-width: 600px; text-align: center; color: #ffffff; font-family: serif; position: absolute; bottom: -1200vh; animation: customScrollUp 300s linear forwards;">
<div style="margin-bottom: 80px;">
<h1 style="color: #ffd700; font-size: 3em; text-shadow: 2px 2px 8px rgba(255,215,0,0.5); margin-bottom: 40px; font-weight: bold;">✨ Special Thanks ✨</h1>
<p style="font-size: 1.3em; color: #e6e6fa; line-height: 1.8; margin-bottom: 60px; text-shadow: 1px 1px 3px rgba(0,0,0,0.7);">The following patrons make<br/> <strong style="color: #ffd700;">Bonds Defiled</strong><br/> possible through their generous support</p>
</div>
<div style="margin-bottom: 80px;">
<h2 style="color: #da70d6; font-size: 2em; text-shadow: 2px 2px 6px rgba(218,112,214,0.6); margin-bottom: 30px; font-weight: bold;">🌑 Corruptors 🌑</h2>
<ul style="list-style: none; padding: 0; margin: 0; font-size: 1.15em; color: #ffffff; line-height: 1.8; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">
<li style="margin: 6px 0;">Alexandar04</li>
<li style="margin: 6px 0;">DarkWire</li>
<li style="margin: 6px 0;">H.E. P.</li>
<li style="margin: 6px 0;">Lastnavajo</li>
<li style="margin: 6px 0;">Maze492</li>
<li style="margin: 6px 0;">NoMeme</li>
</ul>
</div>
<div style="margin-bottom: 80px;">
<h2 style="color: #ba55d3; font-size: 1.9em; text-shadow: 2px 2px 6px rgba(186,85,211,0.6); margin-bottom: 30px; font-weight: bold;">🎭 Manipulators 🎭</h2>
<ul style="list-style: none; padding: 0; margin: 0; font-size: 1.15em; color: #ffffff; line-height: 1.8; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">
<li style="margin: 6px 0;">Byron</li>
<li style="margin: 6px 0;">Corey D.</li>
<li style="margin: 6px 0;">DemonFish</li>
<li style="margin: 6px 0;">just.in.case</li>
<li style="margin: 6px 0;">RkrSteve</li>
<li style="margin: 6px 0;">Scott P.</li>
<li style="margin: 6px 0;">Tyler J.</li>
<li style="margin: 6px 0;">ZaoTheBloody</li>
</ul>
</div>
<div style="margin-bottom: 80px;">
<h2 style="color: #60a5fa; font-size: 1.6em; text-shadow: 2px 2px 6px rgba(96,165,250,0.6); margin-bottom: 30px; font-weight: bold;">⭐ Initiates ⭐</h2>
<ul style="list-style: none; padding: 0; margin: 0; font-size: 1.15em; color: #ffffff; line-height: 1.8; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">
<li style="margin: 6px 0;">143Framtri</li>
<li style="margin: 6px 0;">246Rennie</li>
<li style="margin: 6px 0;">Aidanas T.</li>
<li style="margin: 6px 0;">Alde</li>
<li style="margin: 6px 0;">Alex</li>
<li style="margin: 6px 0;">Alex R.</li>
<li style="margin: 6px 0;">alexandre A.</li>
<li style="margin: 6px 0;">alexandre L.</li>
<li style="margin: 6px 0;">Algaro</li>
<li style="margin: 6px 0;">Andy H.</li>
<li style="margin: 6px 0;">Anonym F.</li>
<li style="margin: 6px 0;">Ansvar</li>
<li style="margin: 6px 0;">bake</li>
<li style="margin: 6px 0;">Beepboop</li>
<li style="margin: 6px 0;">Ben K.</li>
<li style="margin: 6px 0;">BenBen</li>
<li style="margin: 6px 0;">Bi B.</li>
<li style="margin: 6px 0;">blair H.</li>
<li style="margin: 6px 0;">Bobo C.</li>
<li style="margin: 6px 0;">Brandon</li>
<li style="margin: 6px 0;">braubatman</li>
<li style="margin: 6px 0;">butthumper</li>
<li style="margin: 6px 0;">Cabal</li>
<li style="margin: 6px 0;">cal129</li>
<li style="margin: 6px 0;">Calrak</li>
<li style="margin: 6px 0;">Charles S.</li>
<li style="margin: 6px 0;">Cherri C.</li>
<li style="margin: 6px 0;">Chikotilko</li>
<li style="margin: 6px 0;">Chris</li>
<li style="margin: 6px 0;">Chromm</li>
<li style="margin: 6px 0;">CKzedzerox</li>
<li style="margin: 6px 0;">Clifford D.</li>
<li style="margin: 6px 0;">Coffeeperson</li>
<li style="margin: 6px 0;">Collin B.</li>
<li style="margin: 6px 0;">Cook C.</li>
<li style="margin: 6px 0;">danket</li>
<li style="margin: 6px 0;">davkyb</li>
<li style="margin: 6px 0;">Denamic</li>
<li style="margin: 6px 0;">deron</li>
<li style="margin: 6px 0;">Devtan</li>
<li style="margin: 6px 0;">DNDW</li>
<li style="margin: 6px 0;">Dnileas</li>
<li style="margin: 6px 0;">DragonLord21</li>
<li style="margin: 6px 0;">Drulle</li>
<li style="margin: 6px 0;">dustin B.</li>
<li style="margin: 6px 0;">Effie G.</li>
<li style="margin: 6px 0;">EkremDurna</li>
<li style="margin: 6px 0;">Emeraldoverlord</li>
<li style="margin: 6px 0;">Fatih G.</li>
<li style="margin: 6px 0;">ffolky</li>
<li style="margin: 6px 0;">Fick</li>
<li style="margin: 6px 0;">Framed</li>
<li style="margin: 6px 0;">Frosty1979</li>
<li style="margin: 6px 0;">gabka145</li>
<li style="margin: 6px 0;">Gage</li>
<li style="margin: 6px 0;">Gautham P.</li>
<li style="margin: 6px 0;">Gene F.</li>
<li style="margin: 6px 0;">GimmeThatPassCode</li>
<li style="margin: 6px 0;">GoliathK</li>
<li style="margin: 6px 0;">Greyback</li>
<li style="margin: 6px 0;">GrimNoVince</li>
<li style="margin: 6px 0;">gustavo P.</li>
<li style="margin: 6px 0;">Hans M.</li>
<li style="margin: 6px 0;">Harlequin1229</li>
<li style="margin: 6px 0;">Hetzer343</li>
<li style="margin: 6px 0;">Hirosin</li>
<li style="margin: 6px 0;">HotRod1227</li>
<li style="margin: 6px 0;">hphyperx2000</li>
<li style="margin: 6px 0;">Iayma</li>
<li style="margin: 6px 0;">Izari</li>
<li style="margin: 6px 0;">Izumi105</li>
<li style="margin: 6px 0;">j</li>
<li style="margin: 6px 0;">JackyBoi</li>
<li style="margin: 6px 0;">Jacoblarson</li>
<li style="margin: 6px 0;">Jak</li>
<li style="margin: 6px 0;">Jakub M.</li>
<li style="margin: 6px 0;">Je</li>
<li style="margin: 6px 0;">Jean C.</li>
<li style="margin: 6px 0;">Jeremy</li>
<li style="margin: 6px 0;">Joe M.</li>
<li style="margin: 6px 0;">joe Z.</li>
<li style="margin: 6px 0;">John C.</li>
<li style="margin: 6px 0;">Johnny2000</li>
<li style="margin: 6px 0;">Jonathan M.</li>
<li style="margin: 6px 0;">juanca</li>
<li style="margin: 6px 0;">Jutakiat J.</li>
<li style="margin: 6px 0;">K11</li>
<li style="margin: 6px 0;">K3ntsmok3</li>
<li style="margin: 6px 0;">Kane</li>
<li style="margin: 6px 0;">Kane C.</li>
<li style="margin: 6px 0;">Katana 3.</li>
<li style="margin: 6px 0;">Kawika H.</li>
<li style="margin: 6px 0;">Kazama K.</li>
<li style="margin: 6px 0;">Klaw222</li>
<li style="margin: 6px 0;">Kyle B.</li>
<li style="margin: 6px 0;">Loki388</li>
<li style="margin: 6px 0;">Lord I.</li>
<li style="margin: 6px 0;">Luccas</li>
<li style="margin: 6px 0;">Mabe</li>
<li style="margin: 6px 0;">Majortom589</li>
<li style="margin: 6px 0;">Mal</li>
<li style="margin: 6px 0;">Malay G.</li>
<li style="margin: 6px 0;">Mark S.</li>
<li style="margin: 6px 0;">Markus M.</li>
<li style="margin: 6px 0;">Maxi</li>
<li style="margin: 6px 0;">Meeke ..</li>
<li style="margin: 6px 0;">Mike D.</li>
<li style="margin: 6px 0;">mike K.</li>
<li style="margin: 6px 0;">Miko R.</li>
<li style="margin: 6px 0;">Miller</li>
<li style="margin: 6px 0;">Mitios</li>
<li style="margin: 6px 0;">Moriquendi U.</li>
<li style="margin: 6px 0;">Mr. E.</li>
<li style="margin: 6px 0;">mrg70</li>
<li style="margin: 6px 0;">Mynamesuxs</li>
<li style="margin: 6px 0;">Myra S.</li>
<li style="margin: 6px 0;">N001</li>
<li style="margin: 6px 0;">N1rox98</li>
<li style="margin: 6px 0;">nbh</li>
<li style="margin: 6px 0;">Nero</li>
<li style="margin: 6px 0;">Newgate</li>
<li style="margin: 6px 0;">Nick</li>
<li style="margin: 6px 0;">NormalDog</li>
<li style="margin: 6px 0;">Obrecht13</li>
<li style="margin: 6px 0;">Pepega</li>
<li style="margin: 6px 0;">Perfy F.</li>
<li style="margin: 6px 0;">Phaerie</li>
<li style="margin: 6px 0;">Pter1717</li>
<li style="margin: 6px 0;">Quackman</li>
<li style="margin: 6px 0;">Ralpvolvos</li>
<li style="margin: 6px 0;">Raven8I</li>
<li style="margin: 6px 0;">Rebekah M.</li>
<li style="margin: 6px 0;">Rigby333</li>
<li style="margin: 6px 0;">rossbach</li>
<li style="margin: 6px 0;">SA</li>
<li style="margin: 6px 0;">Salanth</li>
<li style="margin: 6px 0;">Sam</li>
<li style="margin: 6px 0;">Samson21</li>
<li style="margin: 6px 0;">San</li>
<li style="margin: 6px 0;">Sebastien</li>
<li style="margin: 6px 0;">Sharkbait</li>
<li style="margin: 6px 0;">Sharpe</li>
<li style="margin: 6px 0;">shpee W.</li>
<li style="margin: 6px 0;">snapswear</li>
<li style="margin: 6px 0;">Snow</li>
<li style="margin: 6px 0;">Snowish</li>
<li style="margin: 6px 0;">Soulfulnine39</li>
<li style="margin: 6px 0;">Spiffy B.</li>
<li style="margin: 6px 0;">Stefan</li>
<li style="margin: 6px 0;">Stephen A.</li>
<li style="margin: 6px 0;">Stephen P.</li>
<li style="margin: 6px 0;">Steven C.</li>
<li style="margin: 6px 0;">Templar</li>
<li style="margin: 6px 0;">TheMagister</li>
<li style="margin: 6px 0;">Thomas J.</li>
<li style="margin: 6px 0;">Thomas M.</li>
<li style="margin: 6px 0;">thre G.</li>
<li style="margin: 6px 0;">Tilur</li>
<li style="margin: 6px 0;">Tonuxol</li>
<li style="margin: 6px 0;">Tricaster</li>
<li style="margin: 6px 0;">Troqu</li>
<li style="margin: 6px 0;">Tux</li>
<li style="margin: 6px 0;">Tyler S.</li>
<li style="margin: 6px 0;">Tyrion J.</li>
<li style="margin: 6px 0;">UnknownHitbox</li>
<li style="margin: 6px 0;">Untreu</li>
<li style="margin: 6px 0;">very N.</li>
<li style="margin: 6px 0;">Vincent G.</li>
<li style="margin: 6px 0;">War W.</li>
<li style="margin: 6px 0;">WhoFaced</li>
<li style="margin: 6px 0;">whyandhi</li>
<li style="margin: 6px 0;">widegoo</li>
<li style="margin: 6px 0;">william</li>
<li style="margin: 6px 0;">Xenzor</li>
<li style="margin: 6px 0;">Zerocool420</li>
<li style="margin: 6px 0;">zodac</li>
<li style="margin: 6px 0;">不是yhm 我.</li>
<li style="margin: 6px 0;">장봉원</li>
</ul>
</div>
<div style="margin-bottom: 80px;">
<h2 style="color: #9ca3af; font-size: 1.4em; text-shadow: 2px 2px 6px rgba(156,163,175,0.6); margin-bottom: 30px; font-weight: bold;">👁️ Watchers 👁️</h2>
<ul style="list-style: none; padding: 0; margin: 0; font-size: 1.15em; color: #ffffff; line-height: 1.8; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">
<li style="margin: 6px 0;">Aprilla</li>
<li style="margin: 6px 0;">Doggo</li>
<li style="margin: 6px 0;">Jigokuni O.</li>
<li style="margin: 6px 0;">John</li>
<li style="margin: 6px 0;">lococat C.</li>
<li style="margin: 6px 0;">Michał S.</li>
<li style="margin: 6px 0;">Smoolio</li>
<li style="margin: 6px 0;">Three C.</li>
</ul>
</div>
<div style="margin-bottom: 100px;">
<h2 style="color: #ffd700; font-size: 2em; text-shadow: 2px 2px 6px rgba(255,215,0,0.6); margin-bottom: 40px; font-weight: bold;">💝 Thank You 💝</h2>
<p style="font-size: 1.3em; color: #e6e6fa; line-height: 2; text-shadow: 1px 1px 3px rgba(0,0,0,0.7); margin-bottom: 40px;">Your support enables the complex systems,<br/> detailed character development,<br/> and rich storytelling that define<br/> <strong style="color: #ffd700;">Bonds Defiled</strong></p>
<p style="font-size: 1.1em; color: #dda0dd; line-height: 1.8; text-shadow: 1px 1px 3px rgba(0,0,0,0.7);">Every patron contributes to the soul of this project.<br/> From the smallest pledge to the largest donation,<br/> you make this ambitious vision possible.</p>
</div>
<div style="margin-bottom: 150px;">
<p style="font-size: 1.4em; color: #ffd700; text-shadow: 2px 2px 6px rgba(255,215,0,0.6); font-weight: bold;">The story continues...</p>
</div>
</div>
</div>
<!---End Credits -->
<div style="position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 10000; background: rgba(0,0,0,0.9); padding: 20px 30px; border-radius: 25px; border: 2px solid #ffd700; text-align: center;">
<h3 style="color: #ffd700; font-size: 1.3em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">End of Chapter 6</h3>
<p style="color: #ffffff; font-size: 1em; margin: 0; text-shadow: 1px 1px 3px rgba(0,0,0,0.7);">Thank you for playing <strong style="color: #ffd700;">Bonds Defiled</strong></p>
</div>
<div style="position: fixed; bottom: 20px; right: 30px; z-index: 10001;">
<button onclick="SugarCube.Engine.play('Ch6Epilogue')" style="background: rgba(139,0,0,0.8); color: #ffffff; border: 2px solid #ffd700; padding: 12px 20px; border-radius: 25px; cursor: pointer; font-size: 1em; font-weight: bold; transition: all 0.3s ease;">Epilogue?</button>
</div>
<<script>>
// Auto-navigate to Sandbox after credits finish
setTimeout(function() {
SugarCube.Engine.play('Ch6Epilogue');
}, 360000); // 360s credits + 0s buffer
<</script>>
<<changeFace $currentRylanFace>><<script>>window.AudioSystem.playBGM('theoneswithoutname.mp3');<</script>>
<div style="background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%); padding: 40px; border-radius: 15px; box-shadow: 0 8px 32px rgba(0,0,0,0.3); margin: 20px auto; max-width: 800px; color: #ffffff; text-align: center;">
<h1 style="color: #ffd700; font-size: 2.5em; text-shadow: 2px 2px 4px rgba(0,0,0,0.5); margin-bottom: 20px;">
Chapter Complete
</h1>
<p style="font-size: 1.2em; color: #e6e6fa; line-height: 1.6; margin-bottom: 30px;">
Thank you for playing this chapter of Bonds Defiled. Your journey continues, but first...
</p>
<div style="margin: 30px 0;">
<h3 style="color: #ffd700; margin-bottom: 20px;">Choose Credits Style:</h3>
<div style="display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;">
<button onclick="SugarCube.Engine.play('ExampleCreditsNormal')" style="background: linear-gradient(45deg, #4b0082, #8a2be2); color: white; border: none; padding: 15px 25px; border-radius: 10px; cursor: pointer; font-size: 1em; transition: transform 0.3s;">
🎬 Normal Speed (30s)
</button>
<button onclick="SugarCube.Engine.play('ExampleCreditsFast')" style="background: linear-gradient(45deg, #8b0000, #dc143c); color: white; border: none; padding: 15px 25px; border-radius: 10px; cursor: pointer; font-size: 1em; transition: transform 0.3s;">
⚡ Fast Credits (20s)
</button>
<button onclick="SugarCube.Engine.play('ExampleCreditsSlow')" style="background: linear-gradient(45deg, #2f4f4f, #708090); color: white; border: none; padding: 15px 25px; border-radius: 10px; cursor: pointer; font-size: 1em; transition: transform 0.3s;">
🐌 Slow Credits (45s)
</button>
</div>
</div>
</div>
<div style="text-align: center; margin: 30px 0;">
[[Return to Main Menu|Start]]
</div>
<style>
button:hover {
transform: scale(1.05);
box-shadow: 0 4px 15px rgba(255,255,255,0.2);
}
</style>
<<changeFace $currentRylanFace>><<scrollingCredits 30>>
<div style="text-align: center; margin-top: 50px;">
<h2>Credits finished!</h2>
[[Continue to next chapter|ExampleCreditsUsage]]
[[Return to Main Menu|Start]]
</div><<scrollingCredits 20>>
<div style="text-align: center; margin-top: 50px;">
<h2>Fast credits finished!</h2>
[[Continue to next chapter|ExampleCreditsUsage]]
[[Return to Main Menu|Start]]
</div><<scrollingCredits 45>>
<div style="text-align: center; margin-top: 50px;">
<h2>Slow credits finished!</h2>
[[Continue to next chapter|ExampleCreditsUsage]]
[[Return to Main Menu|Start]]
</div><<nobr>>
<div class="passage-container exit-screen">
<div style="text-align: center; margin: 50px 0;">
<div style="background: linear-gradient(135deg, rgba(30, 30, 45, 0.95), rgba(50, 30, 60, 0.9)); border: 4px solid rgba(150, 50, 150, 0.7); border-radius: 25px; padding: 50px; box-shadow: 0 0 40px rgba(150, 50, 150, 0.4), inset 0 0 30px rgba(0, 0, 0, 0.6); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 8px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD, #FF6B6B);"></div>
<div style="margin-bottom: 40px;">
<h1 style="color: #4ECDC4; font-size: 3em; text-shadow: 4px 4px 8px rgba(0,0,0,0.9); margin: 0; font-family: 'Cinzel', serif; letter-spacing: 2px; background: linear-gradient(45deg, #4ECDC4, #45B7D1, #96CEB4); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;">Thank You</h1>
<h2 style="color: #45B7D1; font-size: 2.2em; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); margin: 10px 0 0 0; font-family: 'Cinzel', serif; letter-spacing: 1px;">for Your Honesty</h2>
</div>
<div style="background: rgba(78, 205, 196, 0.1); border: 2px solid rgba(78, 205, 196, 0.4); border-radius: 15px; padding: 30px; margin: 30px 0;">
<p style="color: #E6E6FA; font-size: 1.3em; line-height: 1.6; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">We respect your decision not to proceed. This game contains mature themes that require informed consent.</p>
<p style="color: #E6E6FA; font-size: 1.2em; line-height: 1.5; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">You may close this window or return to the start if you change your mind.</p>
</div>
<div style="background: rgba(255, 234, 167, 0.1); border: 2px solid rgba(255, 234, 167, 0.4); border-radius: 15px; padding: 25px; margin: 30px 0; text-align: center;">
<p style="color: #FFEAA7; font-size: 1.1em; font-style: italic; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7); font-weight: bold;">Your comfort and consent are our top priorities.<br>Thank you for taking the time to consider this experience.</p>
</div>
<div style="margin-top: 40px;">
<div style="background: linear-gradient(145deg, rgba(78, 205, 196, 0.2), rgba(69, 183, 209, 0.3)); border: 3px solid rgba(78, 205, 196, 0.6); border-radius: 15px; padding: 25px; min-width: 250px; box-shadow: 0 8px 25px rgba(78, 205, 196, 0.3); transition: all 0.3s ease; display: inline-block;">
<h3 style="color: #4ECDC4; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Return to Start</h3>
<p style="color: #E6E6FA; font-size: 1em; margin: 0 0 20px 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Change your mind? Return to the beginning</p>
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 8px; padding: 15px; display: inline-block; min-width: 200px;">[[Return to Start|Start]]</div>
</div>
</div>
</div>
</div>
</div>
<<pov "exit" "start1.mp3">>
<</nobr>><<nobr>>
<div class="passage-container game-guide">
<div style="text-align: center; margin: 40px 0;">
<div style="background: linear-gradient(135deg, rgba(34, 139, 34, 0.95), rgba(50, 205, 50, 0.9)); border: 4px solid rgba(34, 139, 34, 0.8); border-radius: 25px; padding: 50px; box-shadow: 0 0 40px rgba(34, 139, 34, 0.6), inset 0 0 30px rgba(0, 0, 0, 0.8); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 8px; background: linear-gradient(90deg, #22C55E, #16A34A, #22C55E);"></div>
<h1 style="color: #FFD700; font-size: 3.5em; text-shadow: 4px 4px 8px rgba(0,0,0,0.9); margin: 0 0 20px 0; font-family: 'Cinzel', serif; letter-spacing: 3px; background: linear-gradient(45deg, #FFD700, #22C55E, #16A34A); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;">📚 Game Guide 📚</h1>
<div style="background: rgba(0, 0, 0, 0.7); border: 3px solid rgba(255, 255, 255, 0.3); border-radius: 15px; padding: 30px; margin: 20px 0;">
<p style="color: #FFD700; font-size: 1.4em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.9); font-weight: bold;">Complete guide to understanding Bonds Defiled's systems and mechanics</p>
</div>
</div>
</div>
<!-- Tab Navigation -->
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 20px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5);">
<div style="display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-bottom: 20px;">
<button class="tab-button active" onclick="switchTab('overview')" style="background: linear-gradient(145deg, rgba(167, 139, 250, 0.3), rgba(139, 69, 19, 0.2)); border: 2px solid rgba(167, 139, 250, 0.6); border-radius: 15px; padding: 15px 25px; color: #A78BFA; font-weight: bold; cursor: pointer; transition: all 0.3s ease; font-size: 1.1em;">🎯 Overview</button>
<button class="tab-button" onclick="switchTab('systems')" style="background: linear-gradient(145deg, rgba(78, 205, 196, 0.3), rgba(69, 183, 209, 0.2)); border: 2px solid rgba(78, 205, 196, 0.6); border-radius: 15px; padding: 15px 25px; color: #4ECDC4; font-weight: bold; cursor: pointer; transition: all 0.3s ease; font-size: 1.1em;">⚙️ Systems</button>
<button class="tab-button" onclick="switchTab('gameplay')" style="background: linear-gradient(145deg, rgba(34, 197, 94, 0.3), rgba(22, 163, 74, 0.2)); border: 2px solid rgba(34, 197, 94, 0.6); border-radius: 15px; padding: 15px 25px; color: #22C55E; font-weight: bold; cursor: pointer; transition: all 0.3s ease; font-size: 1.1em;">🎮 Gameplay</button>
<button class="tab-button" onclick="switchTab('tips')" style="background: linear-gradient(145deg, rgba(255, 193, 7, 0.3), rgba(255, 140, 0, 0.2)); border: 2px solid rgba(255, 193, 7, 0.6); border-radius: 15px; padding: 15px 25px; color: #FFC107; font-weight: bold; cursor: pointer; transition: all 0.3s ease; font-size: 1.1em;">💡 Tips</button>
</div>
</div>
<!-- Tab Content -->
<div id="overview-tab" class="tab-content">
<!-- Game Overview Section -->
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD);"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">🎯 What This Game Actually Is</h2>
<div style="background: rgba(220, 20, 60, 0.2); border: 2px solid rgba(220, 20, 60, 0.5); border-radius: 15px; padding: 25px; margin: 25px 0;">
<p style="color: #FFB6C1; font-size: 1.3em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #FF6B6B;">⚠️ CRITICAL WARNING:</strong> This is an <strong style="color: #F472B6;">extremely story-heavy game</strong>. Your freedom will increase gradually with story progress. If you're looking for a quick fap or a sandbox scene viewer, <strong style="color: #FF6B6B;">this game is NOT for you</strong>.</p>
<p style="color: #E6E6FA; font-size: 1.2em; line-height: 1.6; margin: 15px 0 0 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">I can promise you there is <strong style="color: #4ECDC4;">no grind nor empty passages</strong> to simulate non-existing freedom. There will be a heavy amount of freedom, but it comes gradually with progressing story (a lot of story).</p>
</div>
<p style="color: #E6E6FA; font-size: 1.2em; line-height: 1.6; margin: 0 0 25px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">This is a <strong style="color: #F472B6;">slow-burn corruption game</strong> with complex relationship dynamics. If you want to jump directly into action and skip the story, <strong style="color: #FF6B6B;">this game is NOT for you either</strong>. The corruption happens gradually over time through meaningful character development.</p>
</div>
<!-- Content Types Section -->
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD);"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">💕 Relationship Dynamics</h2>
<div style="background: rgba(0, 0, 0, 0.3); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<h3 style="color: #A78BFA; font-size: 1.5em; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); border-bottom: 2px solid rgba(167, 139, 250, 0.4); padding-bottom: 10px;">📋 Available Content Types:</h3>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 20px 0;">
<div style="background: rgba(255, 107, 107, 0.1); border: 2px solid rgba(255, 107, 107, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #FF6B6B; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Netori</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">You can romance your guardian Mariel, despite her existing marriage</p>
</div>
<div style="background: rgba(150, 50, 150, 0.1); border: 2px solid rgba(150, 50, 150, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #DDA0DD; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Traditional NTR</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Your girlfriend Liora can be seduced by others (Seryk, Thalor, or female characters)</p>
</div>
<div style="background: rgba(78, 205, 196, 0.1); border: 2px solid rgba(78, 205, 196, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #4ECDC4; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Reverse NTR</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">You can be seduced by dominant characters like Serin, Nimeria, or male cast members</p>
</div>
<div style="background: rgba(150, 221, 180, 0.1); border: 2px solid rgba(150, 221, 180, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #96CEB4; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Lesbian Content</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Female characters can develop relationships with each other</p>
</div>
<div style="background: rgba(69, 183, 209, 0.1); border: 2px solid rgba(69, 183, 209, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #45B7D1; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Gay Content</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Male characters can develop relationships with each other</p>
</div>
<div style="background: rgba(255, 182, 193, 0.1); border: 2px solid rgba(255, 182, 193, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #FFB6C1; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Romance</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Traditional romantic relationships and emotional connections between characters</p>
</div>
<div style="background: rgba(255, 215, 0, 0.1); border: 2px solid rgba(255, 215, 0, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #FFD700; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Harem</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Build relationships with multiple characters simultaneously, creating a harem dynamic</p>
</div>
</div>
</div>
<div style="background: linear-gradient(135deg, rgba(34, 197, 94, 0.2), rgba(34, 197, 94, 0.1)); border: 2px solid rgba(34, 197, 94, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<p style="color: #BBF7D0; font-size: 1.2em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #22C55E;">✅ Content Control:</strong> Every content type and action with characters is <strong style="color: #22C55E;">fully avoidable</strong>. The game remembers your choices and will filter content you dislike, never offering you those choices again (like NTR for a certain character). You have complete control over what content you experience.</p>
</div>
<div style="background: linear-gradient(135deg, rgba(220, 20, 60, 0.2), rgba(220, 20, 60, 0.1)); border: 2px solid rgba(220, 20, 60, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<p style="color: #FFB6C1; font-size: 1.2em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #FF6B6B;">⚠️ Important:</strong> However, if you consider <em>all</em> of the above scenarios problematic, this game may not be for you. If only <em>some</em> concern you, the filtering system will accommodate your preferences perfectly.</p>
</div>
</div>
</div>
<!-- Systems Tab -->
<div id="systems-tab" class="tab-content" style="display: none;">
<!-- Fetish System Section -->
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD);"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">🎯 How The Fetish System Actually Works</h2>
<div style="background: rgba(220, 20, 60, 0.2); border: 2px solid rgba(220, 20, 60, 0.5); border-radius: 15px; padding: 25px; margin: 25px 0;">
<p style="color: #FFB6C1; font-size: 1.3em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #FF6B6B;">🚨 CRITICAL MISUNDERSTANDING:</strong> Many players think you need specific fetish values (like footFetish = 5) to unlock scenes. <strong style="color: #FF6B6B;">This is completely wrong!</strong></p>
</div>
<p style="color: #E6E6FA; font-size: 1.2em; line-height: 1.6; margin: 0 0 25px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #4ECDC4;">Scenes are based on YOUR CHOICES, not fetish numbers.</strong> You don't need to intentionally fail resistance rolls to "unlock" content. Some players only focus on one character and skip others. So scenes can't rely solely on fetish levels.</p>
<div style="background: linear-gradient(135deg, rgba(168, 85, 247, 0.2), rgba(168, 85, 247, 0.1)); border: 2px solid rgba(168, 85, 247, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<p style="color: #D8B4FE; font-size: 1.2em; line-height: 1.6; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #A78BFA;">🎯 Your Choices Matter:</strong> You'll get different variables and levels that influence scenes in later chapters. The game tracks your preferences for <em>each character individually</em>, not globally.</p>
<div style="background: rgba(0, 0, 0, 0.3); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 12px; padding: 20px; margin: 15px 0;">
<h4 style="color: #A78BFA; font-size: 1.1em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Examples of Choice Memory:</h4>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; margin: 15px 0;">
<div style="background: rgba(34, 197, 94, 0.1); border: 2px solid rgba(34, 197, 94, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #BBF7D0; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #22C55E;">Keep going for Mariel's feet:</strong> At some point she might remember that and reference it.</p>
</div>
<div style="background: rgba(220, 20, 60, 0.1); border: 2px solid rgba(220, 20, 60, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #FFB6C1; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #FF6B6B;">Skip all her feet content:</strong> The game remembers and you won't get any more Mariel feet content!</p>
</div>
<div style="background: rgba(69, 183, 209, 0.1); border: 2px solid rgba(69, 183, 209, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #93C5FD; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #45B7D1;">"B-but I'm interested in Nimeria's feet only!"</strong> No problem! The game tracks preferences per character.</p>
</div>
<div style="background: rgba(150, 50, 150, 0.1); border: 2px solid rgba(150, 50, 150, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #DDA0DD; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #DDA0DD;">Skip content for certain characters:</strong> You won't get forced into scenes with them anymore.</p>
</div>
</div>
</div>
</div>
<div style="background: rgba(0, 0, 0, 0.3); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<h3 style="color: #A78BFA; font-size: 1.5em; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); border-bottom: 2px solid rgba(167, 139, 250, 0.4); padding-bottom: 10px;">🎯 What Fetish Values Actually Do:</h3>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 20px 0;">
<div style="background: rgba(78, 205, 196, 0.1); border: 2px solid rgba(78, 205, 196, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #4ECDC4; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Resistance Chances</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Higher fetish values make it harder to resist temptations</p>
</div>
<div style="background: rgba(69, 183, 209, 0.1); border: 2px solid rgba(69, 183, 209, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #45B7D1; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Dialogue Changes</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Small variations in character reactions and comments</p>
</div>
<div style="background: rgba(255, 193, 7, 0.1); border: 2px solid rgba(255, 193, 7, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #FFC107; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Eros Attack Stat</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">All fetish values contribute to Eros (attack stat) for dungeon defenses in Chapter 7+</p>
</div>
</div>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 20px 0 0 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #4ECDC4;">What really matters:</strong> Your choices tracked in the "Special Values" section of each character's Diary. These determine which routes and scenes become available.</p>
</div>
<center><img src="images/guide/facespecialvalues.webp" alt="Game Guide" style="width: 100%; height: auto;"></center>
<div style="background: linear-gradient(135deg, rgba(34, 197, 94, 0.2), rgba(34, 197, 94, 0.1)); border: 2px solid rgba(34, 197, 94, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<p style="color: #BBF7D0; font-size: 1.2em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #22C55E;">The Resistance System Philosophy:</strong> I personally don't enjoy playing a submissive character who gets forced into situations but still has to choose to participate. That kills immersion. you're still doing it willingly just to see content. The resistance system creates more realistic scenarios where your stats determine what's actually possible.</p>
</div>
</div>
<!-- Core Systems Section -->
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD);"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">⚙️ Core Gameplay Systems</h2>
<div style="background: rgba(34, 197, 94, 0.2); border: 2px solid rgba(34, 197, 94, 0.5); border-radius: 15px; padding: 25px; margin: 25px 0;">
<p style="color: #BBF7D0; font-size: 1.2em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">The main gameplay systems - Free Roam, Dungeon Exploration, Dungeon Defense, and Passive Gameplay - are all implemented and working together. Here's how each stat and system functions:</p>
</div>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; margin: 25px 0;">
<div style="background: rgba(78, 205, 196, 0.1); border: 2px solid rgba(78, 205, 196, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #4ECDC4; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">🎲 Passive Gameplay Checks</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Like Foot Temptation or Saliva Addiction are mostly flavor text. If you fail one, your character briefly loses control, and that particular fetish increases a bit.</p>
</div>
<div style="background: rgba(69, 183, 209, 0.1); border: 2px solid rgba(69, 183, 209, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #45B7D1; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">📊 Fetish Values</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Influence which random dungeon events appear and some resistance rolls. Starting in 0.7, they'll also serve as your attack stats in dungeon defense.</p>
</div>
<div style="background: rgba(150, 221, 180, 0.1); border: 2px solid rgba(150, 221, 180, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #96CEB4; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">💕 Attraction</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Reduces the crystal cost of dream corruption scenes, improves resistance chances, and affects some corruption outcomes. It'll gain more importance in future chapters too.</p>
</div>
<div style="background: rgba(255, 193, 7, 0.1); border: 2px solid rgba(255, 193, 7, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #FFC107; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">💖 Affection</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Boosts your combat stats through resonance and will also tie into more story-related systems later on.</p>
</div>
</div>
<center><img src="images/guide/resonancebefore.webp" alt="Game Guide" style="width: 100%; height: auto;"></center>
<center><img src="images/guide/resonanceafter.webp" alt="Game Guide" style="width: 100%; height: auto;"></center>
<div style="background: rgba(0, 0, 0, 0.3); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<h3 style="color: #A78BFA; font-size: 1.5em; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); border-bottom: 2px solid rgba(167, 139, 250, 0.4); padding-bottom: 10px;">🧱 Daily Gameplay Loop</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">The general idea behind the gameplay flow is simple and consistent:</p>
<div style="background: rgba(34, 197, 94, 0.1); border: 2px solid rgba(34, 197, 94, 0.3); border-radius: 12px; padding: 20px; margin: 15px 0;">
<p style="color: #BBF7D0; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #22C55E;">Farm resources in dungeons</strong> (or skip it using farming mode) → <strong style="color: #22C55E;">Upgrade your buildings</strong> to unlock new outfits, H-scenes, and daily bonuses → <strong style="color: #22C55E;">Defend your dungeon</strong> → <strong style="color: #22C55E;">Take care of your prisoners</strong>.</p>
</div>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 20px 0 0 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">That's the intended daily loop. Future updates will focus on refining this loop, not overloading it with completely new mechanics.</p>
</div>
<div style="background: rgba(0, 0, 0, 0.3); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<h3 style="color: #A78BFA; font-size: 1.5em; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); border-bottom: 2px solid rgba(167, 139, 250, 0.4); padding-bottom: 10px;">🔞 H-Content Integration</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">The goal is to weave H-content directly into gameplay rather than keeping it separate:</p>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; margin: 15px 0;">
<div style="background: rgba(255, 107, 107, 0.1); border: 2px solid rgba(255, 107, 107, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #FFB6C1; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #FF6B6B;">Dungeon Runs:</strong> You might run into traps, Serin could get horny and drag you away, or Seryk and Liora might start making out behind your back.</p>
</div>
<div style="background: rgba(150, 50, 150, 0.1); border: 2px solid rgba(150, 50, 150, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #DDA0DD; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #DDA0DD;">Dungeon Defense:</strong> Characters will learn seduction and sex skills to help raise enemy lust. You'll also be able to install traps.</p>
</div>
<div style="background: rgba(78, 205, 196, 0.1); border: 2px solid rgba(78, 205, 196, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #4ECDC4; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #4ECDC4;">Prison Management:</strong> More intimate interactions with prisoners beyond hugging and kissing.</p>
</div>
<div style="background: rgba(69, 183, 209, 0.1); border: 2px solid rgba(69, 183, 209, 0.3); border-radius: 10px; padding: 15px;">
<p style="color: #45B7D1; font-size: 0.95em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);"><strong style="color: #45B7D1;">City Life:</strong> Visit people, go on dates, and build relationships more directly.</p>
</div>
</div>
</div>
<div style="background: rgba(0, 0, 0, 0.3); border: 2px solid rgba(100, 100, 100, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0;">
<h3 style="color: #A78BFA; font-size: 1.5em; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); border-bottom: 2px solid rgba(167, 139, 250, 0.4); padding-bottom: 10px;">🎯 What Really Matters</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong style="color: #4ECDC4;">The stats that truly matter for unlocking or filtering sex scenes are tracked in the Special Values Menu</strong>, which now includes a short in-game guide in version 0.7 to make everything clearer.</p>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Your choices tracked in the "Special Values" section of each character's Diary determine which routes and scenes become available, not just raw fetish numbers.</p>
</div>
</div>
</div>
<!-- Gameplay Tab -->
<div id="gameplay-tab" class="tab-content" style="display: none;">
<!-- Story Structure Section -->
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD);"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">📖 Story Structure & Development</h2>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 25px; margin: 25px 0;">
<div style="background: rgba(107, 70, 193, 0.1); border: 2px solid rgba(107, 70, 193, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #A78BFA; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Chapters 0-1: Prologue</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Character introductions and meeting the demons who introduce the corruption system. This establishes the foundation for everything that follows.</p>
</div>
<div style="background: rgba(107, 70, 193, 0.1); border: 2px solid rgba(107, 70, 193, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #A78BFA; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Chapters 2-5: Story Rush</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Heavily railroaded to push the story to 0.6 as fast as possible. This was intentional. I wanted to establish the full narrative foundation before introducing sandbox elements.</p>
</div>
<div style="background: linear-gradient(135deg, rgba(34, 197, 94, 0.2), rgba(34, 197, 94, 0.1)); border: 3px solid rgba(34, 197, 94, 0.6); border-radius: 15px; padding: 25px; position: relative; overflow: hidden; animation: pulseGlow 3s ease-in-out infinite;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #22C55E, #16A34A, #22C55E); animation: shimmer 2s ease-in-out infinite;"></div>
<h3 style="color: #22C55E; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); display: flex; align-items: center; gap: 10px;"><span style="animation: bounce 2s ease-in-out infinite;">🎮</span>Chapter 6: Sandbox Introduction</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Time slots and free roam settings where you choose who to visit. Story still progresses during certain time slots, but you have more control.</p>
</div>
<div style="background: linear-gradient(135deg, rgba(168, 85, 247, 0.2), rgba(168, 85, 247, 0.1)); border: 3px solid rgba(168, 85, 247, 0.6); border-radius: 15px; padding: 25px; position: relative; overflow: hidden; animation: pulseGlow 3s ease-in-out infinite 1.5s;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #A78BFA, #8B5CF6, #A78BFA); animation: shimmer 2s ease-in-out infinite 1.5s;"></div>
<h3 style="color: #A78BFA; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); display: flex; align-items: center; gap: 10px;"><span style="animation: bounce 2s ease-in-out infinite 1.5s;">🏰</span>Chapter 7: Advanced Systems</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Dungeon/city building system. Recruit story characters to join your city, build freely, and defend against attacks during specific time slots.</p>
</div>
</div>
<div style="background: linear-gradient(135deg, rgba(59, 130, 246, 0.1), rgba(59, 130, 246, 0.05)); border: 2px solid rgba(59, 130, 246, 0.3); border-radius: 15px; padding: 25px; margin: 25px 0; text-align: center;">
<p style="color: #93C5FD; font-size: 1.1em; font-style: italic; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">The early chapters are intentionally railroaded because I wanted to establish meaningful relationships before introducing player freedom. The bonds must exist before they can be properly defiled.</p>
</div>
</div>
<!-- Character Transformations Section -->
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD);"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">🎭 Character Transformations</h2>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; margin: 25px 0;">
<div style="background: rgba(255, 107, 107, 0.1); border: 2px solid rgba(255, 107, 107, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #FF6B6B; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Permanent Transformations</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><strong>MC:</strong> Femboy → Stay femboy or become fully female<br/><strong>Serin:</strong> Stay normal or become futanari<br/><strong>Mariel:</strong> Motherly transformation with lactation, treats others as children</p>
</div>
<div style="background: rgba(150, 50, 150, 0.1); border: 2px solid rgba(150, 50, 150, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #DDA0DD; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Temporary Transformations</h3>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Available for everyone. There will be a tremendous amount of these in the future. This is one reason why I pushed so much story early on, to establish the foundation for all these transformations.</p>
</div>
</div>
<div style="background: rgba(168, 85, 247, 0.1); border: 2px solid rgba(168, 85, 247, 0.4); border-radius: 15px; padding: 25px; margin: 25px 0; text-align: center;">
<p style="color: #D8B4FE; font-size: 1.2em; font-style: italic; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">Every choice matters. Every stat influences the story. Every relationship will be tested. The deeper you go, the more the game adapts to show you exactly how far you've fallen... or risen.</p>
<p style="color: #A78BFA; font-size: 1.4em; font-weight: bold; margin: 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8);">Welcome to your descent.</p>
</div>
</div>
</div>
<!-- Tips Tab -->
<div id="tips-tab" class="tab-content" style="display: none;">
<!-- Tips & Strategies Section -->
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD);"></div>
<h2 style="color: #A78BFA; font-size: 2.2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">💡 Tips & Strategies</h2>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; margin: 25px 0;">
<div style="background: rgba(34, 197, 94, 0.1); border: 2px solid rgba(34, 197, 94, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #22C55E; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">✅ Do This</h3>
<ul style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7); padding-left: 20px;">
<li>Read the story carefully - it's the core experience</li>
<li>Make choices that feel right for your character</li>
<li>Use the content filtering system to customize your experience</li>
<li>Check character diaries to track your progress</li>
<li>Experiment with different relationship paths</li>
</ul>
</div>
<div style="background: rgba(220, 20, 60, 0.1); border: 2px solid rgba(220, 20, 60, 0.4); border-radius: 15px; padding: 25px;">
<h3 style="color: #FF6B6B; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">❌ Avoid This</h3>
<ul style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7); padding-left: 20px;">
<li>Don't skip story to rush to scenes</li>
<li>Don't try to "game" the fetish system</li>
<li>Don't ignore character development</li>
<li>Don't expect instant gratification</li>
<li>Don't force content you don't enjoy</li>
</ul>
</div>
</div>
</div>
</div>
<div class="nav-button"> <a href="javascript:void(0)" onclick="SugarCube.Engine.backward()">⬅ Go Back</a></div>
<style>
@keyframes pulseGlow {
0%, 100% { box-shadow: 0 0 20px rgba(34, 197, 94, 0.3), inset 0 0 20px rgba(34, 197, 94, 0.1); }
50% { box-shadow: 0 0 30px rgba(34, 197, 94, 0.5), inset 0 0 30px rgba(34, 197, 94, 0.2); }
}
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-5px); }
}
.game-guide {
background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95));
min-height: 100vh;
padding: 20px;
}
.game-guide h1, .game-guide h2, .game-guide h3, .game-guide h4 {
font-family: 'Cinzel', serif;
}
.game-guide p, .game-guide li {
font-family: 'Georgia', serif;
}
.game-guide a {
color: #4ECDC4 !important;
text-decoration: none !important;
transition: all 0.3s ease;
}
.game-guide a:hover {
color: #22C55E !important;
text-shadow: 0 0 10px rgba(34, 197, 94, 0.5);
}
.tab-button.active {
background: linear-gradient(145deg, rgba(167, 139, 250, 0.5), rgba(139, 69, 19, 0.4)) !important;
box-shadow: 0 0 20px rgba(167, 139, 250, 0.3) !important;
}
.tab-button:hover {
transform: translateY(-2px);
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}
</style>
<</nobr>>
<script>
function switchTab(tabName) {
// Hide all tab contents
const tabs = document.querySelectorAll('.tab-content');
tabs.forEach(tab => {
tab.style.display = 'none';
});
// Remove active class from all buttons
const buttons = document.querySelectorAll('.tab-button');
buttons.forEach(button => {
button.classList.remove('active');
});
// Show selected tab
document.getElementById(tabName + '-tab').style.display = 'block';
// Add active class to clicked button
event.target.classList.add('active');
}
</script>
<<pov "rylan" "start1.mp3">><h2>📖 Game Guide</h2><div class="guide-section"><h3>⚙️ Configuration Menu</h3><p>Access the configuration menu through the gear icon to adjust:</p><div class="config-options"><h4>🔊 Audio Settings</h4><ul><li><b>BGM Volume:</b> Background music volume (Default: 30%)</li>
<li><b>SFX Volume:</b> Sound effects volume (Default: 50%)</li>
<li><b>Voice Volume:</b> Character voice volume (Default: 70%)</li>
<li><b>Mute Controls:</b> Individual toggles for BGM/SFX/Voice (🔊/🔈)</li></ul><h4>📱 Display Settings</h4><ul><li><b>Passage Width:</b> Adjust the text area width</li>
<li><b>Font Size:</b> Change text size for comfort</li>
<h3>📔 Character Diaries</h3><p>As you meet characters throughout the story, you'll unlock their personal diaries. Each diary contains:</p><div class="diary-features"><h4>📊 Character Statistics</h4><ul><li><b>Basic Stats:</b> Corruption, Lust, and physical attributes</li>
<li><b>Body Information:</b> Details about various body parts and their current state</li>
<li><b>Wardrobe:</b> Current clothing with wet/dry variants based on Lust level (≥50%)</li></ul><h4>💕 Relationship Data</h4><ul><li><b>Affection:</b> How much they care about other characters</li>
<li><b>Attraction:</b> Physical/romantic interest in others</li>
<li><b>Interaction History:</b> Detailed counts of various interactions</li></ul><h4>🔥 Sexual Experience</h4><ul><li><b>Basic Experience:</b> Kisses, intimate encounters, virginity status</li>
<li><b>Service Stats:</b> Various sexual activities performed/received</li>
<li><b>Body Contact:</b> Touching statistics for different body parts</li>
<li><b>Fluid Stats:</b> Detailed tracking of various bodily fluid amounts</li></ul><h4>⭁EFetishes</h4><ul> <li><b>Preferences:</b> Current fetish levels and interests</li>
<li><b>Addiction Levels:</b> Various addiction stats</li>
<li><b>Special Values:</b> Character-specific preferences</li></ul></div><div class="guide-section"><h3>🎮 Game Progress</h3><p>The diary system also helps track your progress:</p><ul><li>Characters become available in the diary once you've met them</li>
<li>Stats and relationships evolve based on your choices</li>
<li>All numerical values are persistently tracked</li>
<li>Visual indicators show when stats change</li></ul></div><div class="guide-section"><h3>🎲 Game Mechanics</h3><p>The game features dynamic systems that make each playthrough unique:</p><h4>📊 Core Stats</h4><ul><li><b>Lust (0-100):</b> Increases from arousing situations, decreases through:<ul>
<li>Sleep (-35 points)</li>
<li>Natural decay (2 points/hour)</li>
<li>Orgasm (resets to 0)</li>
</ul>
</li>
<li><b>CumNeed (0-100):</b> Urgency to receive/release cum</li>
<li><b>CumAddiction:</b> Affects how quickly CumNeed rises</li>
</ul>
<h4>💗 Relationship System</h4><ul><li><b>Affection:</b> Emotional bonds that can increase or decrease
<ul>
<li>Small changes (±1-2) from daily interactions</li>
<li>Large changes (±3-5) from major events</li>
</ul>
</li>
<li><b>Attraction:</b> Physical/romantic interest that evolves over time</li>
</ul><h4>⭁EFetish Development</h4>
<p>All characters start with 0 in each fetish, which can increase through experiences:</p><ul><li><b>Available Fetishes:</b>
<ul>
<li>Feet Fetish</li>
<li>Smell Fetish</li>
<li>Armpit Fetish</li>
<li>Saliva Fetish</li>
<li>Cum Addiction</li>
</ul>
</li>
<li><b>Orientation Values:</b>
<ul>
<li>Gay Value</li>
<li>Lesbian Value</li></ul></li></ul><h4>🎲 Dice Roll System</h4>
<p>Key moments use multiple dice rolls to determine outcomes:</p><ul><li><b>Fetish Resistance:</b><ul>
<li>Success = Maintain composure</li>
<li>Failure = Cannot resist urges</li>
</ul>
</li>
<li><b>Lust Check:</b> Determines arousal intensity</li>
<li><b>CumNeed Check:</b> Tests resistance to release</li>
<li><b>Smell/Taste Rolls:</b> For specific fetish actions</li></ul><h4>🔄 Character Evolution</h4><ul><li><b>Corruption System:</b>
<ul>
<li>Gradual progression</li>
<li>Higher thresholds for extreme content</li>
<li>Example: Foot massage (low threshold) vs. extreme acts (high threshold)</li>
</ul>
</li>
<li><b>Experience Tracking:</b>
<ul>
<li>Virginity status (multiple types)</li>
<li>Sexual encounters</li>
<li>Body interactions</li>
<li>Fluid exposure</li></ul></li></ul><h4>⏰ Time System</h4><ul><li><b>Day Phases:</b><ul>
<li>Morning</li>
<li>Afternoon</li>
<li>Evening</li>
<li>Night</li></ul></li><li><b>Effects:</b><ul>
<li>Natural stat decay over time</li>
<li>Time-specific events and moods</li></ul></li></ul></div>
<div class="guide-section">
<h3>⚔️ Resonance Combat System</h3>
<p>A unique combat system that combines traditional RPG mechanics with relationship dynamics and emotional bonds:</p><h4>💪 Core Combat Stats</h4><ul><li><b>Base Stats:</b><ul>
<li>Physical Power: Raw attack strength</li>
<li>Agility: Speed and dodge chance</li>
<li>Willpower: Mental resistance and magic power</li>
<li>Technique: Skill effectiveness</li>
<li>Stamina: Energy for actions</li>
<li>Focus: Accuracy and critical hits</li>
</ul>
</li>
<li><b>Derived Stats:</b>
<ul>
<li>Health: Survival capacity</li>
<li>Stamina Points: Action resource</li>
<li>Focus Points: Special ability resource</li>
</ul></li></ul><h4>🤁EResonance System</h4><ul>
<li><b>Building Resonance:</b>
<ul>
<li>Fighting together increases bond</li>
<li>Story interactions affect strength</li>
<li>Shared experiences boost power</li>
</ul>
</li>
<li><b>Resonance Effects:</b><ul>
<li>Enhanced combo attacks</li>
<li>Shared defensive bonuses</li>
<li>Special dual techniques</li>
<li>Emergency protection triggers</li>
</ul></li></ul><h4>⚡ Combat Actions</h4><ul>
<li><b>Basic Actions:</b>
<ul>
<li>Attack: Physical damage</li>
<li>Defend: Reduce damage</li>
<li>Focus: Build focus points</li>
<li>Item: Use inventory items</li>
</ul>
</li>
<li><b>Special Actions:</b>
<ul>
<li>Character-specific skills</li>
<li>Resonance techniques</li>
<li>Combo attacks</li>
<li>Ultimate abilities</li>
</ul>
</li>
</ul>
<h4>📈 Experience and Growth</h4>
<ul>
<li><b>Leveling:</b>
<ul>
<li>Gain XP from battles</li>
<li>Story progress rewards</li>
<li>Training opportunities</li>
</ul>
</li>
<li><b>Skill Development:</b><ul>
<li>New abilities at key levels</li>
<li>Technique mastery system</li>
<li>Resonance skill unlocks</li>
</ul></li></ul><h4>💭 Combat Tips</h4><ul>
<li>Build resonance between compatible characters</li>
<li>Use terrain and positioning</li>
<li>Manage resources carefully</li>
<li>Combine different character strengths</li>
<li>Watch for special combat events</li></ul></div><div class="guide-section" id="soul-system-guide"><h3>🌟 Soul System</h3>
<p>The Soul System represents the spiritual essence of each character, influenced by their choices, experiences, and the power of soulstones:</p>
<h4>💎 Soulstone Mechanics</h4><ul><li><b>Basic Properties:</b><ul>
<li>Appear as worthless marbles to humans</li>
<li>Can be charged with mana</li>
<li>When consumed, strengthen soul and body</li>
<li>Hidden effect: Increases corruption/fetish susceptibility</li></ul>
</li>
<li><b>Usage:</b>
<ul>
<li>Regular Soulstones: Basic power boost</li>
<li>Charged Soulstones: Enhanced effects</li>
<li>Can be found or purchased cheaply (due to perceived worthlessness)</li></ul></li></ul><h4>💫 Core Memory System</h4>
<ul>
<li><b>Story Memories:</b>
<ul>
<li>Major plot developments</li>
<li>Important relationship moments</li>
<li>Character-defining choices</li>
</ul>
</li>
<li><b>Experience Memories:</b>
<ul>
<li>First intimate experiences</li>
<li>Sexual discoveries</li>
<li>Fetish awakenings</li>
</ul>
</li>
<li><b>Memory Effects:</b>
<ul>
<li>Grant Corruption or Blessing points</li>
<li>Unlock talent choices</li>
<li>Influence character development</li>
</ul></li></ul><h4>🌈 Soul Paths</h4>
<ul>
<li><b>Corruption Path:</b>
<ul>
<li>Gained through darker choices</li>
<li>Enhances pleasure sensitivity</li>
<li>Enables body transformations</li>
<li>Increases fetish development speed</li>
</ul>
</li>
<li><b>Blessing Path:</b>
<ul>
<li>Earned through pure choices</li>
<li>Strengthens willpower</li>
<li>Grants corruption resistance</li>
<li>Enables holy abilities</li>
</ul></li></ul><h4>🎭 Character-Specific Effects</h4><ul>
<li><b>Demons:</b>
<ul>
<li>Seryk: Enhanced cum power and production</li>
<li>Nimeria: Strengthened pheromones and fluid potency</li>
<li>Focus on dominant corruption effects</li>
</ul>
</li>
<li><b>Humans:</b>
<ul>
<li>Increased sensitivity and pleasure gain</li>
<li>Mind control susceptibility</li>
<li>Focus on submissive corruption effects</li>
</ul></li></ul><h4>💪 Combat Talents</h4>
<ul>
<li><b>Corruption Talents:</b>
<ul>
<li>Rylan: Shadow techniques, submissive power</li>
<li>Liora: Dark healing, blood magic</li>
<li>Serin: Poison mastery, seduction</li>
</ul>
</li>
<li><b>Blessing Talents:</b>
<ul>
<li>Rylan: Holy blade, purification</li>
<li>Liora: Divine healing, protection</li>
<li>Serin: Sacred strikes, inspiration</li>
</ul></li></ul><h4>🧬 Transformation System</h4>
<ul>
<li><b>Trigger Methods:</b>
<ul>
<li>High corruption/blessing levels</li>
<li>Consistent behavior patterns</li>
<li>Soulstone consumption</li>
<li>Core memory formation</li>
</ul>
</li>
<li><b>Possible Changes:</b>
<ul>
<li>Body part growth/reduction</li>
<li>Gender transformation</li>
<li>New physical features</li>
<li>Enhanced sensitivity</li>
</ul>
</li>
<li><b>Mental Changes:</b>
<ul>
<li>Personality shifts</li>
<li>New desires/interests</li>
<li>Changed preferences</li>
<li>Altered inhibitions</li>
</ul></li></ul><h4>📊 Stats Tracked</h4>
<ul>
<li><b>Soul Values:</b>
<ul>
<li>Corruption Level</li>
<li>Blessing Level</li>
<li>Unspent Points</li>
<li>Soulstone Count</li>
</ul>
</li>
<li><b>Mental Stats:</b>
<ul>
<li>Mind Control Resistance</li>
<li>Mental Corruption</li>
<li>Suggestion Receptiveness</li>
<li>Mind Break Progress</li>
</ul>
</li>
<li><b>Sensitivity Stats:</b>
<ul>
<li>General Sensitivity</li>
<li>Body Part Specific</li>
<li>Pleasure Gain/Give</li>
<li>Special Demon Stats</li>
</ul>
</li>
</ul>
</div>
<style>
.guide-section {
background: rgba(0, 0, 0, 0.1);
padding: 20px;
margin: 20px 0;
border-radius: 10px;
}
.guide-section h3 {
color: #ff69b4;
margin-bottom: 15px;
}
.guide-section h4 {
color: #9370db;
margin: 15px 0 10px 0;
}
.config-options, .diary-features {
margin-left: 20px;
}
ul {
list-style-type: none;
padding-left: 20px;
}
li {
margin: 8px 0;
line-height: 1.4;
}
b {
color: #ff69b4;
}
</style>
<div class="diary-return">
<<link "↩ Return">>
<<run Engine.backward()>>
<</link>>
</div><div class="menu-container">
<div class="menu-header">
<h1>Menu</h1>
</div>
<div class="menu-options">
<div class="menu-option">[[📜 Quest Log|QuestLog]]</div>
<div class="menu-option">[[📖 Character Diary|DiaryPassage]]</div>
<div class="menu-option">[[⚙️ Settings|SettingsPassage]]</div>
<div class="menu-option">[[💾 Save/Load|SaveLoadPassage]]</div>
<div class="menu-option">[[🚪 Exit|previous()]]</div>
</div>
</div>
<style>
.menu-container {
max-width: 600px;
margin: 0 auto;
padding: 20px;
background: rgba(0, 0, 0, 0.8);
border-radius: 10px;
}
.menu-header {
text-align: center;
margin-bottom: 30px;
}
.menu-header h1 {
color: #ffd700;
text-shadow: 0 0 5px rgba(255, 215, 0, 0.5);
}
.menu-options {
display: flex;
flex-direction: column;
gap: 15px;
}
.menu-option {
text-align: center;
}
.menu-option a {
display: block;
padding: 15px;
background: rgba(255, 255, 255, 0.1);
color: #fff;
text-decoration: none;
border-radius: 8px;
transition: all 0.2s ease;
}
.menu-option a:hover {
background: rgba(255, 255, 255, 0.2);
transform: translateX(10px);
}
</style><<script>>window.AudioSystem.playBGM('stormark.mp3');<</script>>
<div style="background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%); padding: 40px; border-radius: 15px; box-shadow: 0 8px 32px rgba(0,0,0,0.3); margin: 20px auto; max-width: 800px; color: #ffffff; text-align: center;">
<h1 style="color: #ffd700; font-size: 2.5em; text-shadow: 2px 2px 4px rgba(0,0,0,0.5); margin-bottom: 20px; font-family: serif;">
✨ Honored Patrons ✨
</h1>
<div style="background: rgba(255,255,255,0.1); padding: 20px; border-radius: 10px; margin: 20px 0; border: 2px solid rgba(255,215,0,0.3);">
<p style="font-size: 1.2em; color: #e6e6fa; line-height: 1.6; margin-bottom: 15px;">
The following generous souls have supported the development of <strong>Bonds Defiled</strong> through Patreon. Their patronage makes this ambitious project possible and helps maintain the quality you experience.
</p>
</div>
<!-- Corruptors Tier ($10+) -->
<div style="background: linear-gradient(45deg, #2f4f4f, #708090); padding: 20px; border-radius: 10px; margin: 20px 0; border: 2px solid #87ceeb;">
<h2 style="color: #87ceeb; font-size: 1.4em; margin-bottom: 15px; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">
🌑 Corruptors 🌑
</h2>
<div style="font-size: 1em; color: #ffffff; line-height: 1.5;">
<<displayPatrons "Corruptors">>
</div>
</div>
<!-- Manipulators Tier ($9+) -->
<div style="background: linear-gradient(45deg, #800080, #9932cc); padding: 20px; border-radius: 10px; margin: 20px 0; border: 2px solid #ba55d3;">
<h2 style="color: #ba55d3; font-size: 1.5em; margin-bottom: 15px; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">
🎭 Manipulators 🎭
</h2>
<div style="font-size: 1.05em; color: #ffffff; line-height: 1.6;">
<<displayPatrons "Manipulators">>
</div>
</div>
<!-- Initiates Tier ($5+) -->
<div style="background: linear-gradient(45deg, #1e3a8a, #3b82f6); padding: 20px; border-radius: 10px; margin: 20px 0; border: 2px solid #60a5fa;">
<h2 style="color: #60a5fa; font-size: 1.2em; margin-bottom: 15px; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">
⭐ Initiates ⭐
</h2>
<div style="font-size: 0.95em; color: #ffffff; line-height: 1.4;">
<<displayPatrons "Initiates">>
</div>
</div>
<!-- Watchers Tier ($1.50+) -->
<div style="background: linear-gradient(45deg, #1f2937, #374151); padding: 20px; border-radius: 10px; margin: 20px 0; border: 2px solid #6b7280;">
<h2 style="color: #9ca3af; font-size: 1.1em; margin-bottom: 15px; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);">
👁️ Watchers 👁️
</h2>
<div style="font-size: 0.9em; color: #ffffff; line-height: 1.3;">
<<displayPatrons "Watchers">>
</div>
</div>
<div style="background: rgba(255,255,255,0.1); padding: 20px; border-radius: 10px; margin: 30px 0; border: 1px solid rgba(255,215,0,0.2);">
<h3 style="color: #ffd700; font-size: 1.3em; margin-bottom: 10px;">
💝 Special Thanks 💝
</h3>
<p style="font-size: 1em; color: #e6e6fa; line-height: 1.5;">
Every patron, regardless of tier, contributes to the soul of this project. Your support enables the complex tracking systems, detailed character development, and rich storytelling that define Bonds Defiled.
</p>
</div>
<div style="margin-top: 30px; padding: 20px; background: rgba(0,0,0,0.2); border-radius: 10px;">
<h3 style="color: #ffd700; font-size: 1.2em; margin-bottom: 10px;">
🌟 Become a Patron 🌟
</h3>
<p style="font-size: 0.9em; color: #e6e6fa; line-height: 1.4;">
Interested in supporting development and seeing your name here?<br/>
Visit our Patreon to join our community of dedicated supporters!
</p>
</div>
</div>
<div style="text-align: center; margin: 30px 0;">
[[Return to Main Menu|Start]]
[[Continue Reading Guide|AuthorNote]]
</div>
<<changeFace $currentRylanFace>><div class="questlog-container"> <div class="questlog-header"> <h1>📜 Quest Log</h1> </div> <div class="questlog-section"> <h2>Active Quests</h2> <div class="quest-list"> <<if $quests && $quests.active>> <<for _questId, _quest range $quests.active>> <div class="quest-entry"> <div class="quest-title"><<print _quest.title>></div> <div class="quest-description"><<print _quest.description>></div> <div class="quest-objectives"> <<for _objKey, _required range _quest.objectives>> <div class="objective-item"> <div class="objective-progress"> <<print _quest.progress[_objKey]>>/<<print _required>> </div> <div class="progress-bar"> <div class="progress-fill" style="width: <<print (_quest.progress[_objKey] / _required * 100)>>%"></div> </div> </div> <</for>> </div> <div class="quest-location">📍 Location: <<print _quest.location>></div> </div> <</for>> <<else>> <div class="no-quests">No active quests.</div> <</if>> </div> </div> <div class="questlog-section"> <h2>Completed Quests</h2> <div class="quest-list completed"> <<if $quests && $quests.completed>> <<for _questId, _quest range $quests.completed>> <div class="quest-entry completed"> <div class="quest-title">✅ <<print _quest.title>></div> <div class="quest-description"><<print _quest.description>></div> </div> <</for>> <<else>> <div class="no-quests">No completed quests.</div> <</if>> </div> </div> <div class="questlog-section"> <h2>Failed Quests</h2> <div class="quest-list failed"> <<if $quests && $quests.failed>> <<for _questId, _quest range $quests.failed>> <div class="quest-entry failed"> <div class="quest-title">❌ <<print _quest.title>></div> <div class="quest-description"><<print _quest.description>></div> </div> <</for>> <<else>> <div class="no-quests">No failed quests.</div> <</if>> </div> </div> </div>
<div class="nav-button"> <a href="javascript:void(0)" onclick="SugarCube.Engine.backward()">⬅ Go Back</a></div>
<style>
.questlog-container {
max-width: 800px;
margin: 0 auto;
padding: 20px;
background: rgba(0, 0, 0, 0.8);
border-radius: 10px;
}
.questlog-header {
text-align: center;
margin-bottom: 30px;
}
.questlog-header h1 {
color: #ffd700;
text-shadow: 0 0 5px rgba(255, 215, 0, 0.5);
}
.questlog-section {
margin-bottom: 30px;
}
.questlog-section h2 {
color: #fff;
border-bottom: 2px solid rgba(255, 255, 255, 0.2);
padding-bottom: 10px;
margin-bottom: 15px;
}
.quest-list {
display: flex;
flex-direction: column;
gap: 15px;
}
.quest-entry {
background: rgba(255, 255, 255, 0.1);
border-radius: 8px;
padding: 15px;
border: 1px solid rgba(255, 255, 255, 0.1);
transition: transform 0.2s ease;
}
.quest-entry:hover {
transform: translateX(5px);
background: rgba(255, 255, 255, 0.15);
}
.quest-title {
font-size: 1.2em;
color: #fff;
margin-bottom: 8px;
}
.quest-description {
color: #ccc;
font-size: 0.9em;
margin-bottom: 12px;
}
.quest-objectives {
margin: 10px 0;
}
.objective-item {
display: flex;
align-items: center;
gap: 10px;
margin: 5px 0;
}
.objective-progress {
min-width: 60px;
color: #aaa;
font-size: 0.9em;
}
.progress-bar {
flex-grow: 1;
height: 6px;
background: rgba(0, 0, 0, 0.3);
border-radius: 3px;
overflow: hidden;
}
.progress-fill {
height: 100%;
background: linear-gradient(90deg, #4dabf7, #74c0fc);
transition: width 0.3s ease;
}
.quest-location {
color: #aaa;
font-size: 0.8em;
margin-top: 8px;
}
.quest-entry.completed {
background: rgba(76, 175, 80, 0.1);
border-color: rgba(76, 175, 80, 0.2);
}
.quest-entry.completed .quest-title {
color: #81c784;
}
.quest-entry.failed {
background: rgba(244, 67, 54, 0.1);
border-color: rgba(244, 67, 54, 0.2);
}
.quest-entry.failed .quest-title {
color: #e57373;
}
.no-quests {
color: #666;
text-align: center;
padding: 20px;
font-style: italic;
}
.back-button {
text-align: center;
margin-top: 20px;
}
.back-button a {
display: inline-block;
padding: 10px 20px;
background: rgba(255, 255, 255, 0.1);
color: #fff;
text-decoration: none;
border-radius: 5px;
transition: all 0.2s ease;
}
.back-button a:hover {
background: rgba(255, 255, 255, 0.2);
transform: translateX(-5px);
}
</style><<script>>window.AudioSystem.playBGM('start1.mp3');<</script>>
<<script>>
window.syncRelationshipVars = function() {
if (typeof State !== 'undefined' && State.variables) {
sessionStorage.setItem('relationshipVars', JSON.stringify({
marielToHuman: State.variables.marielToHuman || '',
humanToMariel: State.variables.humanToMariel || '',
humanIsMariel: State.variables.humanIsMariel || '',
thalorToHuman: State.variables.thalorToHuman || '',
humanToThalor: State.variables.humanToThalor || '',
thalorCallsHuman: State.variables.thalorCallsHuman || '',
bothToHuman: State.variables.bothToHuman || '',
householdType: State.variables.householdType || '',
serinLioraRelation: State.variables.serinLioraRelation || ''
}));
}
};
window.loadRelationshipVars = function() {
try {
const stored = sessionStorage.getItem('relationshipVars');
if (stored && typeof State !== 'undefined' && State.variables) {
const vars = JSON.parse(stored);
Object.keys(vars).forEach(key => {
if (vars[key]) State.variables[key] = vars[key];
});
}
} catch (e) {
console.log('No stored relationship vars found');
}
};
window.loadRelationshipVars();
<</script>>
<style>
.relationship-textbox input {
width: 110px !important;
max-width: 150px !important;
}
</style>
<<nobr>>
<div style="background: linear-gradient(135deg, rgba(72, 61, 139, 0.95), rgba(106, 90, 205, 0.95)); min-height: 100vh; padding: 20px; color: white;"> <div style="text-align: center; padding: 30px; background: rgba(45,45,50,0.9); border-radius: 15px; margin-bottom: 30px;"> <h1 style="color: #DDA0DD; font-size: 2.5em; margin: 0;">⚙️ Relationship Configuration</h1> <p style="color: rgba(255,255,255,0.9); font-size: 1.2em; margin: 10px 0 0 0;">Configure character relationships to maintain content guidelines</p></div> <div style="background: rgba(255,255,255,0.1); border: 2px solid rgba(255,182,193,0.6); border-radius: 15px; padding: 25px; margin-bottom: 25px;"> <h2 style="color: #fff; font-size: 1.6em; margin: 0 0 20px 0;">🏠 Guardian Relationships</h2> <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 15px;"> <div style="background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 15px;"> <label style="display: block; color: #fff; font-size: 1em; margin-bottom: 10px;">Mariel is the human youth's:</label> <span class="relationship-textbox" style="display: block;"><<textbox "$marielToHuman" $marielToHuman>><<script>>$(document).on('input', 'input[name="marielToHuman"]', function() { State.variables.marielToHuman = this.value; window.syncRelationshipVars(); });<</script>></span></div> <div style="background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 15px;"> <label style="display: block; color: #fff; font-size: 1em; margin-bottom: 10px;">The human youth calls her:</label> <span class="relationship-textbox" style="display: block;"><<textbox "$humanToMariel" $humanToMariel>><<script>>$(document).on('input', 'input[name="humanToMariel"]', function() { State.variables.humanToMariel = this.value; window.syncRelationshipVars(); });<</script>></span></div> <div style="background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 15px;"> <label style="display: block; color: #fff; font-size: 1em; margin-bottom: 10px;">The human youth is Mariel's:</label> <span class="relationship-textbox" style="display: block;"><<textbox "$humanIsMariel" $humanIsMariel>><<script>>$(document).on('input', 'input[name="humanIsMariel"]', function() { State.variables.humanIsMariel = this.value; window.syncRelationshipVars(); });<</script>></span></div> <div style="background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 15px;"> <label style="display: block; color: #fff; font-size: 1em; margin-bottom: 10px;">Thalor is the human youth's:</label> <span class="relationship-textbox" style="display: block;"><<textbox "$thalorToHuman" $thalorToHuman>><<script>>$(document).on('input', 'input[name="thalorToHuman"]', function() { State.variables.thalorToHuman = this.value; window.syncRelationshipVars(); });<</script>></span></div> <div style="background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 15px;"> <label style="display: block; color: #fff; font-size: 1em; margin-bottom: 10px;">The human youth calls him:</label> <span class="relationship-textbox" style="display: block;"><<textbox "$humanToThalor" $humanToThalor>><<script>>$(document).on('input', 'input[name="humanToThalor"]', function() { State.variables.humanToThalor = this.value; window.syncRelationshipVars(); });<</script>></span></div> <div style="background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 15px;"> <label style="display: block; color: #fff; font-size: 1em; margin-bottom: 10px;">Thalor calls the human youth:</label> <span class="relationship-textbox" style="display: block;"><<textbox "$thalorCallsHuman" $thalorCallsHuman>><<script>>$(document).on('input', 'input[name="thalorCallsHuman"]', function() { State.variables.thalorCallsHuman = this.value; window.syncRelationshipVars(); });<</script>></span></div> <div style="background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 15px; grid-column: 1 / -1;"> <label style="display: block; color: #fff; font-size: 1em; margin-bottom: 10px;">Together, Mariel and Thalor are the human youth's:</label> <span class="relationship-textbox" style="display: block;"><<textbox "$bothToHuman" $bothToHuman>><<script>>$(document).on('input', 'input[name="bothToHuman"]', function() { State.variables.bothToHuman = this.value; window.syncRelationshipVars(); });<</script>></span></div> <div style="background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 15px; grid-column: 1 / -1;"> <label style="display: block; color: #fff; font-size: 1em; margin-bottom: 10px;">Their living arrangement is:</label> <span class="relationship-textbox" style="display: block;"><<textbox "$householdType" $householdType>><<script>>$(document).on('input', 'input[name="householdType"]', function() { State.variables.householdType = this.value; window.syncRelationshipVars(); });<</script>></span></div></div></div> <div style="background: rgba(255,255,255,0.1); border: 2px solid rgba(135,206,235,0.6); border-radius: 15px; padding: 25px; margin-bottom: 25px;"> <h2 style="color: #fff; font-size: 1.6em; margin: 0 0 20px 0;">👥 Friends & Associates</h2> <div style="background: rgba(0,0,0,0.1); border-radius: 8px; padding: 15px; margin-bottom: 15px; text-align: center;"> <p style="color: rgba(255,255,255,0.9); margin: 0;">The human youth has childhood friends named Liora and Serin who live together.</p></div> <div style="background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 15px;"> <label style="display: block; color: #fff; font-size: 1em; margin-bottom: 10px;">Serin is Liora's (both female grew up together):</label> <span class="relationship-textbox" style="display: block;"><<textbox "$serinLioraRelation" $serinLioraRelation>><<script>>$(document).on('input', 'input[name="serinLioraRelation"]', function() { State.variables.serinLioraRelation = this.value; window.syncRelationshipVars(); });<</script>></span></div></div> <div style="background: rgba(255,193,7,0.15); border: 2px solid rgba(255,193,7,0.4); border-radius: 12px; padding: 20px; margin: 25px 0; display: flex; align-items: center; gap: 15px;"> <span style="font-size: 1.5em;">💡</span> <div style="color: #fff;"> <strong>Note:</strong> These settings help maintain content guidelines while preserving the story's intended relationships and emotional dynamics.</div></div>
<div style="text-align: center; padding: 30px;">
[[Continue to Story|Start2]]
</div></div>
<</nobr>>
<<script>>
// Sync variables when leaving this passage
$(document).on(':passageend', function() {
window.syncRelationshipVars();
});
<</script>><<script>>window.AudioSystem.playBGM('falseutopia.mp3');<</script>>
<<script>>
window.syncRelationshipVars = function() {
if (typeof State !== 'undefined' && State.variables) {
sessionStorage.setItem('relationshipVars', JSON.stringify({
marielToHuman: State.variables.marielToHuman || '',
humanToMariel: State.variables.humanToMariel || '',
humanIsMariel: State.variables.humanIsMariel || '',
thalorToHuman: State.variables.thalorToHuman || '',
humanToThalor: State.variables.humanToThalor || '',
thalorCallsHuman: State.variables.thalorCallsHuman || '',
bothToHuman: State.variables.bothToHuman || '',
householdType: State.variables.householdType || '',
serinLioraRelation: State.variables.serinLioraRelation || ''
}));
// Update the current history state to include the relationship changes
State.setVar('marielToHuman', State.variables.marielToHuman);
State.setVar('humanToMariel', State.variables.humanToMariel);
State.setVar('humanIsMariel', State.variables.humanIsMariel);
State.setVar('thalorToHuman', State.variables.thalorToHuman);
State.setVar('humanToThalor', State.variables.humanToThalor);
State.setVar('thalorCallsHuman', State.variables.thalorCallsHuman);
State.setVar('bothToHuman', State.variables.bothToHuman);
State.setVar('householdType', State.variables.householdType);
State.setVar('serinLioraRelation', State.variables.serinLioraRelation);
// Also update the previous history states so backward navigation preserves changes
window.updateRelationshipHistoryStates();
}
};
window.loadRelationshipVars = function() {
try {
const stored = sessionStorage.getItem('relationshipVars');
if (stored && typeof State !== 'undefined' && State.variables) {
const vars = JSON.parse(stored);
Object.keys(vars).forEach(key => {
if (vars[key]) State.variables[key] = vars[key];
});
}
} catch (e) {
console.log('No stored relationship vars found');
}
};
window.updateRelationshipHistoryStates = function() {
// Update all history states to include current relationship variables
// This ensures that backward navigation preserves the relationship changes
if (State.history) {
try {
// Update the current relationship variables in all history states
const relationshipVars = {
marielToHuman: State.variables.marielToHuman,
humanToMariel: State.variables.humanToMariel,
humanIsMariel: State.variables.humanIsMariel,
thalorToHuman: State.variables.thalorToHuman,
humanToThalor: State.variables.humanToThalor,
thalorCallsHuman: State.variables.thalorCallsHuman,
bothToHuman: State.variables.bothToHuman,
householdType: State.variables.householdType,
serinLioraRelation: State.variables.serinLioraRelation
};
// Update each state in the history
for (let i = 0; i < State.length; i++) {
const historyState = State.index(i);
if (historyState && historyState.variables) {
Object.keys(relationshipVars).forEach(key => {
historyState.variables[key] = relationshipVars[key];
});
}
}
} catch (e) {
// If direct history modification fails, fall back to normal state setting
console.warn('Could not update relationship history states directly:', e);
}
}
};
window.loadRelationshipVars();
<</script>>
<style>
.relationship-textbox input {
width: 110px !important;
max-width: 150px !important;
}
</style>
<<nobr>>
<div style="background: linear-gradient(135deg, rgba(72, 61, 139, 0.95), rgba(106, 90, 205, 0.95)); min-height: 100vh; padding: 20px; color: white;"> <div style="text-align: center; padding: 30px; background: rgba(45,45,50,0.9); border-radius: 15px; margin-bottom: 30px;"> <h1 style="color: #DDA0DD; font-size: 2.5em; margin: 0;">⚙️ Relationship Configuration</h1> <p style="color: rgba(255,255,255,0.9); font-size: 1.2em; margin: 10px 0 0 0;">Configure character relationships to maintain content guidelines</p></div> <div style="background: rgba(255,255,255,0.1); border: 2px solid rgba(255,182,193,0.6); border-radius: 15px; padding: 25px; margin-bottom: 25px;"> <h2 style="color: #fff; font-size: 1.6em; margin: 0 0 20px 0;">🏠 Guardian Relationships</h2> <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 15px;"> <div style="background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 15px;"> <label style="display: block; color: #fff; font-size: 1em; margin-bottom: 10px;">Mariel is the human youth's:</label> <span class="relationship-textbox" style="display: block;"><<textbox "$marielToHuman" $marielToHuman>><<script>>$(document).on('input', 'input[name="marielToHuman"]', function() { State.variables.marielToHuman = this.value; window.syncRelationshipVars(); });<</script>></span></div> <div style="background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 15px;"> <label style="display: block; color: #fff; font-size: 1em; margin-bottom: 10px;">The human youth calls her:</label> <span class="relationship-textbox" style="display: block;"><<textbox "$humanToMariel" $humanToMariel>><<script>>$(document).on('input', 'input[name="humanToMariel"]', function() { State.variables.humanToMariel = this.value; window.syncRelationshipVars(); });<</script>></span></div> <div style="background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 15px;"> <label style="display: block; color: #fff; font-size: 1em; margin-bottom: 10px;">The human youth is Mariel's:</label> <span class="relationship-textbox" style="display: block;"><<textbox "$humanIsMariel" $humanIsMariel>><<script>>$(document).on('input', 'input[name="humanIsMariel"]', function() { State.variables.humanIsMariel = this.value; window.syncRelationshipVars(); });<</script>></span></div> <div style="background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 15px;"> <label style="display: block; color: #fff; font-size: 1em; margin-bottom: 10px;">Thalor is the human youth's:</label> <span class="relationship-textbox" style="display: block;"><<textbox "$thalorToHuman" $thalorToHuman>><<script>>$(document).on('input', 'input[name="thalorToHuman"]', function() { State.variables.thalorToHuman = this.value; window.syncRelationshipVars(); });<</script>></span></div> <div style="background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 15px;"> <label style="display: block; color: #fff; font-size: 1em; margin-bottom: 10px;">The human youth calls him:</label> <span class="relationship-textbox" style="display: block;"><<textbox "$humanToThalor" $humanToThalor>><<script>>$(document).on('input', 'input[name="humanToThalor"]', function() { State.variables.humanToThalor = this.value; window.syncRelationshipVars(); });<</script>></span></div> <div style="background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 15px;"> <label style="display: block; color: #fff; font-size: 1em; margin-bottom: 10px;">Thalor calls the human youth:</label> <span class="relationship-textbox" style="display: block;"><<textbox "$thalorCallsHuman" $thalorCallsHuman>><<script>>$(document).on('input', 'input[name="thalorCallsHuman"]', function() { State.variables.thalorCallsHuman = this.value; window.syncRelationshipVars(); });<</script>></span></div> <div style="background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 15px; grid-column: 1 / -1;"> <label style="display: block; color: #fff; font-size: 1em; margin-bottom: 10px;">Together, Mariel and Thalor are the human youth's:</label> <span class="relationship-textbox" style="display: block;"><<textbox "$bothToHuman" $bothToHuman>><<script>>$(document).on('input', 'input[name="bothToHuman"]', function() { State.variables.bothToHuman = this.value; window.syncRelationshipVars(); });<</script>></span></div> <div style="background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 15px; grid-column: 1 / -1;"> <label style="display: block; color: #fff; font-size: 1em; margin-bottom: 10px;">Their living arrangement is:</label> <span class="relationship-textbox" style="display: block;"><<textbox "$householdType" $householdType>><<script>>$(document).on('input', 'input[name="householdType"]', function() { State.variables.householdType = this.value; window.syncRelationshipVars(); });<</script>></span></div></div></div> <div style="background: rgba(255,255,255,0.1); border: 2px solid rgba(135,206,235,0.6); border-radius: 15px; padding: 25px; margin-bottom: 25px;"> <h2 style="color: #fff; font-size: 1.6em; margin: 0 0 20px 0;">👥 Friends & Associates</h2> <div style="background: rgba(0,0,0,0.1); border-radius: 8px; padding: 15px; margin-bottom: 15px; text-align: center;"> <p style="color: rgba(255,255,255,0.9); margin: 0;">The human youth has childhood friends named Liora and Serin who live together.</p></div> <div style="background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 15px;"> <label style="display: block; color: #fff; font-size: 1em; margin-bottom: 10px;">Serin is Liora's (both female grew up together):</label> <span class="relationship-textbox" style="display: block;"><<textbox "$serinLioraRelation" $serinLioraRelation>><<script>>$(document).on('input', 'input[name="serinLioraRelation"]', function() { State.variables.serinLioraRelation = this.value; window.syncRelationshipVars(); });<</script>></span></div></div> <div style="background: rgba(255,193,7,0.15); border: 2px solid rgba(255,193,7,0.4); border-radius: 12px; padding: 20px; margin: 25px 0; display: flex; align-items: center; gap: 15px;"> <span style="font-size: 1.5em;">💡</span> <div style="color: #fff;"> <strong>Note:</strong> These settings help maintain content guidelines while preserving the story's intended relationships and emotional dynamics.</div></div>
<div class="nav-button"> <a href="javascript:void(0)" onclick="window.syncRelationshipVars(); SugarCube.Engine.backward();">⬅ Go Back</a></div>
</div>
<</nobr>>
<<script>>
// Sync variables when leaving this passage
$(document).on(':passageend', function() {
window.syncRelationshipVars();
});
// Also sync when navigating backward
$(document).on(':passageend', function() {
// Small delay to ensure the navigation has started
setTimeout(function() {
window.syncRelationshipVars();
}, 100);
});
<</script>><<nobr>>
<div class="scene-container" style="background: linear-gradient(135deg, rgba(25, 25, 35, 0.95), rgba(40, 40, 60, 0.9), rgba(60, 25, 80, 0.95)); min-height: 100vh; position: relative; border-radius: 15px; overflow: hidden;">
<div class="scene-interior" style="position: relative; z-index: 2; padding: 40px;">
<div style="text-align: center; margin-bottom: 40px;">
<h1 style="color: #E6E6FA; text-shadow: 3px 3px 8px rgba(0,0,0,0.9); margin: 0; font-size: 3em; background: linear-gradient(45deg, #FFD700, #FFA500, #FFD700); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;">🏰 The Sandbox Realm 🏰</h1>
<p style="color: #B0C4DE; font-size: 1.2em; margin: 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">A place between worlds, where stories converge and adventures await...</p>
</div>
<center>
<div style="margin-top: 25px;">
<div style="background: linear-gradient(145deg, rgba(60, 25, 80, 0.8), rgba(80, 40, 100, 0.9)); border: 2px solid rgba(255, 215, 0, 0.8); border-radius: 15px; padding: 20px; display: inline-block; min-width: 250px; transition: all 0.3s ease; cursor: pointer; box-shadow: 0 8px 25px rgba(0,0,0,0.5);">
<div style="color: #FFD700; font-size: 1.2em; margin-bottom: 10px;">⚔️</div>
<div style="color: #E6E6FA; font-size: 1.2em; font-weight: bold;">[[Continue with Chapter 6|Chapter6TransitionOverlay]]</div>
</div>
</div>
</center>
<style>
.scene-container {
animation: fadeIn 2s ease-out;
}
@keyframes fadeIn {
0% { opacity: 0; transform: translateY(20px); }
100% { opacity: 1; transform: translateY(0); }
}
.scene-container:hover .scene-interior {
transform: scale(1.01);
transition: transform 0.3s ease;
}
.scene-interior {
transition: transform 0.3s ease;
}
</style>
<<pov "rylan" "miraslastsong.mp3">>
<</nobr>><<if $soulForgeData.isUnlocked>>
<div class="soul-forge-container">
<div class="soul-forge-header">
<h2>⚒️ Soul Forge</h2>
<div class="forge-level">Level: <<print SoulForgeSystem.currentSoulForgeLevel>></div>
</div>
<div class="resources-panel">
<h3>📊 Resources</h3>
<div class="crystal-display">
<div class="crystal joy">Joy Crystals: <<print $soulForgeData.collectedCrystals.joy>></div>
<div class="crystal valor">Valor Crystals: <<print $soulForgeData.collectedCrystals.valor>></div>
<div class="crystal bond">Bond Crystals: <<print $soulForgeData.collectedCrystals.bond>></div>
<div class="crystal sorrow">Sorrow Crystals: <<print $soulForgeData.collectedCrystals.sorrow>></div>
</div>
<div class="essence-display">
Soul Essence: <<print $soulForgeData.soulEssence>>
</div>
</div>
<div class="equipment-panel">
<h3>🗡️ Equipment</h3>
<div class="equipment-list">
<<for _equip range Object.keys(State.variables.equipmentSouls)>>
<div class="equipment-item">
<div class="equip-name"><<print _equip>></div>
<div class="attunement">Level: <<print State.variables.equipmentSouls[_equip].attunementLevel>></div>
<div class="channels">
Emotional: <<print State.variables.equipmentSouls[_equip].resonanceChannels.emotional>><br>
Combat: <<print State.variables.equipmentSouls[_equip].resonanceChannels.combat>><br>
Memory: <<print State.variables.equipmentSouls[_equip].resonanceChannels.memory>><br>
Spirit: <<print State.variables.equipmentSouls[_equip].resonanceChannels.spirit>>
</div>
</div>
<</for>>
</div>
</div>
<div class="crafting-panel">
<h3>🔨 Crafting</h3>
<div class="crafting-options">
<button class="forge-btn" onclick="SoulForgeSystem.soulForgeCrafting.showCraftingMenu()">Begin Forging</button>
<button class="attune-btn" onclick="SoulForgeSystem.equipmentSouls.showAttuneMenu()">Attune Equipment</button>
<button class="evolve-btn" onclick="SoulForgeSystem.equipmentSouls.showEvolutionMenu()">Evolution Paths</button>
</div>
</div>
</div>
<style>
.soul-forge-container {
background: rgba(0, 0, 0, 0.8);
padding: 20px;
border-radius: 10px;
color: #fff;
}
.soul-forge-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.resources-panel {
background: rgba(255, 255, 255, 0.1);
padding: 15px;
border-radius: 8px;
margin-bottom: 20px;
}
.crystal-display {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 10px;
margin-top: 10px;
}
.crystal {
padding: 8px;
border-radius: 5px;
text-align: center;
}
.joy { background: rgba(255, 215, 0, 0.2); }
.valor { background: rgba(255, 0, 0, 0.2); }
.bond { background: rgba(0, 191, 255, 0.2); }
.sorrow { background: rgba(138, 43, 226, 0.2); }
.equipment-panel {
background: rgba(255, 255, 255, 0.1);
padding: 15px;
border-radius: 8px;
margin-bottom: 20px;
}
.equipment-list {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: 15px;
margin-top: 10px;
}
.equipment-item {
background: rgba(0, 0, 0, 0.3);
padding: 10px;
border-radius: 5px;
}
.crafting-panel {
background: rgba(255, 255, 255, 0.1);
padding: 15px;
border-radius: 8px;
}
.crafting-options {
display: flex;
gap: 10px;
margin-top: 10px;
}
.crafting-options button {
background: rgba(255, 255, 255, 0.2);
border: none;
padding: 10px 20px;
border-radius: 5px;
color: #fff;
cursor: pointer;
transition: background 0.3s;
}
.crafting-options button:hover {
background: rgba(255, 255, 255, 0.3);
}
</style>
<<else>>
<div class="locked-content">
<h3>🔒 Soul Forge</h3>
<p>This ancient power has not yet been discovered...</p>
</div>
<</if>><div class="guide-container">
<h2>🌟 Soul System & Dynamic Rolls Guide</h2>
<div class="guide-section">
<h3>📊 Dynamic Stat Changes (Auto Soul Bonuses)</h3>
<p>These macros automatically apply soul bonuses and track changes:</p>
<div class="code-example">
<strong>Lust Changes:</strong>
<code><<changeLust "Rylan" 5>></code>
• Applies lustGainBonus from soul effects
• Auto-tracks the change in StatSummary
</div>
<div class="code-example">
<strong>Affection Changes:</strong>
<code><<changeAffection "Rylan" "Liora" 2>></code>
• Applies affectionBonus from soul effects
• Auto-tracks the change
</div>
<div class="code-example">
<strong>Attraction Changes:</strong>
<code><<changeAttraction "Rylan" "Serin" 1>></code>
• Applies attractionToOthers from soul effects
• Auto-tracks the change
</div>
<div class="code-example">
<strong>Fetish Changes:</strong>
<code><<changeFetish "Rylan" "feetFetish" 0.2>></code>
• Applies fetishGainBonus from soul effects
• Auto-tracks the change
</div>
<div class="code-example">
<strong>Combat Stat Changes:</strong>
<code><<changeCombatStat "Rylan" "physicalPower" 1>></code>
• Applies relevant bonuses (damageBonus, etc.)
• Auto-tracks the change
</div>
</div>
<div class="guide-section">
<h3>🎲 Dynamic Fetish Rolls (Giver-Receiver System)</h3>
<div class="code-example">
<strong>Full Fetish Roll:</strong>
<code><<fetishRoll "Rylan" "feetFetish" "Nimeria" 35 0.2 -10 -5>></code>
Parameters: receiver, fetishType, giver, baseThreshold, baseGain, lustMod, corruptionMod
<strong>How it works:</strong>
• <strong>Receiver</strong>: Gets fetish development, resistance affected by their fetishes/corruption
• <strong>Giver</strong>: Their bonuses make the trigger more effective
• <strong>Related Fetishes</strong>: Receiver's related fetishes lower resistance
• <strong>Cross-Development</strong>: Related fetishes also gain 30% of main gain
Results stored in:
• <code>_fetishRoll</code> - The dice roll (1-100)
• <code>_fetishThreshold</code> - Final threshold after all modifiers
• <code>_fetishSuccess</code> - true if roll succeeded (failed resistance)
• <code>_fetishGain</code> - Amount of primary fetish gained
• <code>_fetishGiver</code> - The character causing the trigger
• <code>_fetishReceiver</code> - The character being affected
</div>
<div class="code-example">
<strong>Quick Fetish Roll:</strong>
<code><<quickFetishRoll "Rylan" "feetFetish" "Nimeria" 0.1>></code>
• Automatically calculates lust/corruption modifiers
• Uses standard threshold of 35
• Same result variables as above
</div>
<div class="code-example">
<strong>Usage Examples:</strong>
<strong>Smelly Feet Scenario:</strong>
<code>
<<quickFetishRoll "Rylan" "feetFetish" "Nimeria" 0.2>>
<<if _fetishSuccess>>
<span class="dialog-rylan">"The smell... I can't resist..."</span>
<em>Nimeria's intoxicating scent overwhelms $humanName's resistance. Her pheromone bonuses make it harder to resist.</em>
<em>Rylan gains feet fetish AND smell fetish development!</em>
<<else>>
<span class="dialog-rylan">"I need fresh air..."</span>
<em>Rylan manages to resist this time.</em>
<</if>>
</code>
<strong>No Giver (Environmental):</strong>
<code>
<<quickFetishRoll "Rylan" "feetFetish" null 0.1>>
<<if _fetishSuccess>>
<em>Rylan notices the discarded shoes and can't help but stare...</em>
<</if>>
</code>
</div>
</div>
<div class="guide-section">
<h3>💢 Dynamic Lust Rolls</h3>
<div class="code-example">
<strong>Lust Roll:</strong>
<code><<lustRoll "Rylan" 8 60>></code>
Parameters: character, baseAmount, threshold
Results stored in:
• <code>_lustRoll</code> - The dice roll (1-100)
• <code>_lustThreshold</code> - Final threshold after soul bonuses
• <code>_lustSuccess</code> - true if roll succeeded (gained lust)
• <code>_lustGain</code> - Amount of lust gained (0 if resisted)
</div>
</div>
<div class="guide-section">
<h3>👹 Demon Influence System</h3>
<div class="code-example">
<strong>Demon Influence Roll:</strong>
<code><<demonInfluenceRoll "Seryk" "Rylan" "lust" 5 65>></code>
Parameters: demonChar, targetChar, influenceType, baseAmount, threshold
Influence Types:
• <code>lust</code> - Increases target's lust
• <code>submission</code> - Makes target more submissive
• <code>pheromone</code> - Pheromone-based attraction
• <code>corruption</code> - Spreads corruption to target
Results stored in:
• <code>_demonInfluenceRoll</code> - The dice roll (1-100)
• <code>_demonInfluenceThreshold</code> - Final threshold after bonuses
• <code>_demonInfluenceSuccess</code> - true if influence succeeded
• <code>_demonInfluenceAmount</code> - Amount of effect applied
</div>
<div class="code-example">
<strong>Usage Example:</strong>
<code>
<<demonInfluenceRoll "Seryk" "Liora" "lust" 3 70>>
<<if _demonInfluenceSuccess>>
<span class="dialog-liora">"Why do I feel so... strange around him?"</span>
<em>Seryk's presence affects Liora, making her more aroused. (+<<print _demonInfluenceAmount>> Lust)</em>
<<else>>
<em>Liora manages to resist Seryk's influence this time.</em>
<</if>>
</code>
</div>
</div>
<div class="guide-section">
<h3>🔮 Character-Specific Soul Effects</h3>
<div class="effect-list">
<strong>Human Corruption (Submissive Path):</strong>
• <span class="corruption">Submissive Urges</span> - Dominance resistance -5%
• <span class="corruption">Needy Body</span> - Touch sensitivity +5%
• <span class="corruption">Obedient Nature</span> - Command resistance -5%
• <span class="corruption">Eager to Please</span> - Service fetish gains +0.05
• <span class="corruption">Weak Boundaries</span> - Personal space resistance -5%
• <span class="corruption">People Pleaser</span> - Refusal difficulty +5%
<strong>Demon Corruption (Dominant Path):</strong>
• <span class="corruption">Dominant Aura</span> - Others' submission +5%
• <span class="corruption">Potent Essence</span> - Cum production +5%
• <span class="corruption">Seductive Presence</span> - Others' lust gain +5%
• <span class="corruption">Intoxicating Scent</span> - Pheromone effect +5%
• <span class="corruption">Master's Will</span> - Command success +5%
• <span class="corruption">Harem Builder</span> - Multiple attraction +5%
<strong>Universal Blessing Effects:</strong>
• <span class="blessing">Pure Heart</span> - Affection gains +5%
• <span class="blessing">Noble Soul</span> - Loyalty bonus +5%
• <span class="blessing">Divine Strength</span> - Physical damage +5%
• <span class="blessing">Sacred Recovery</span> - HP regeneration +3 per turn
</div>
</div>
<div class="guide-section">
<h3>⚡ Migration from Old System</h3>
<div class="migration-example">
<strong>OLD WAY:</strong>
<code>
<<set _roll = random(1, 100)>>
<<set _threshold = 35 + Math.floor($rylan_feetFetish / 10) * 5>>
<<if _roll <= _threshold>>
<<set $rylan_feetFetish += 0.2>>
<<trackFetish "Rylan" "feetFetish" 0.2>>
<</if>>
</code>
<strong>NEW WAY:</strong>
<code>
<<quickFetishRoll "Rylan" "feetFetish" 0.2>>
<<if _fetishSuccess>>
Content for failed resistance...
<</if>>
</code>
</div>
</div>
<div class="guide-section">
<h3>🎯 Best Practices</h3>
<ul>
<li><strong>Use quickFetishRoll</strong> for most situations - it handles modifiers automatically</li>
<li><strong>Use fetishRoll</strong> when you need custom lust/corruption modifiers</li>
<li><strong>Always check _fetishSuccess</strong> before writing reaction content</li>
<li><strong>Use changeFetish</strong> for guaranteed gains (no roll needed)</li>
<li><strong>Soul bonuses stack</strong> - multiple effects of same type add together</li>
<li><strong>Corruption makes characters weaker</strong> to temptation over time</li>
<li><strong>Blessing effects help resist</strong> but are fewer in number</li>
</ul>
</div>
</div>
<style>
.guide-container {
max-width: 800px;
margin: 0 auto;
padding: 20px;
background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
border-radius: 15px;
color: #e0e0e0;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.guide-section {
margin-bottom: 30px;
padding: 20px;
background: rgba(255, 255, 255, 0.05);
border-radius: 10px;
border-left: 4px solid #4a9eff;
}
.guide-section h3 {
color: #4a9eff;
margin-top: 0;
font-size: 1.3em;
}
.code-example {
background: rgba(0, 0, 0, 0.3);
padding: 15px;
border-radius: 8px;
margin: 10px 0;
border-left: 3px solid #00ff88;
}
.code-example code {
background: rgba(0, 255, 136, 0.1);
padding: 2px 6px;
border-radius: 4px;
font-family: 'Courier New', monospace;
color: #00ff88;
}
.migration-example {
background: rgba(255, 165, 0, 0.1);
padding: 15px;
border-radius: 8px;
border-left: 3px solid #ffa500;
}
.effect-list {
background: rgba(138, 43, 226, 0.1);
padding: 15px;
border-radius: 8px;
border-left: 3px solid #8a2be2;
}
.blessing {
color: #ffd700;
font-weight: bold;
}
.corruption {
color: #ff6b6b;
font-weight: bold;
}
.guide-section ul {
padding-left: 20px;
}
.guide-section li {
margin-bottom: 8px;
line-height: 1.4;
}
</style><<script>>window.AudioSystem.playBGM('falseutopia.mp3');<</script>>
<h2>🧪 Soul System Test Chamber</h2>
<div class="test-container">
<div class="test-section">
<h3>Current Soul Status</h3>
<<soulDisplay "Rylan">>
</div>
<div class="test-section">
<h3>🎲 Test Giver-Receiver Fetish Roll</h3>
<p>Testing Nimeria's smelly feet affecting Rylan (giver-receiver mechanics):</p>
<<quickFetishRoll "Rylan" "feetFetish" "Nimeria" 0.2>>
<div class="roll-results">
<strong>Giver-Receiver Roll Results:</strong>
• Receiver: <<print _fetishReceiver>> (gets the fetish development)
• Giver: <<if _fetishGiver>><<print _fetishGiver>> (provides bonuses)<<else>>None (environmental trigger)<</if>>
• Dice Roll: <<print _fetishRoll>>
• Threshold: <<print _fetishThreshold>>
• Success: <<if _fetishSuccess>>✅ Failed to resist<<else>>❌ Resisted<</if>>
<<if _fetishSuccess>>• Primary Fetish Gain: +<<print _fetishGain.toFixed(2)>> Feet Fetish
• Related Fetish Gains: +<<print (_fetishGain * 0.3).toFixed(2)>> Smell & Submission Fetish<</if>>
</div>
<<if _fetishSuccess>>
<div class="success-result">
<span class="dialog-nimeria">"Oh my, you seem quite... focused on my feet."</span>
<span class="dialog-rylan">"The smell... I can't... why can't I look away?"</span>
<em>Nimeria's intoxicating pheromones overwhelm $humanName's resistance. Her demonic scent makes it impossible to resist, developing both his feet fetish AND smell fetish simultaneously!</em>
</div>
<<else>>
<div class="resist-result">
<span class="dialog-rylan">"I need to focus on something else."</span>
<em>Despite Nimeria's influence, $humanName manages to resist this time.</em>
</div>
<</if>>
<p><strong>How Giver-Receiver Works:</strong></p>
<ul>
<li>✅ Nimeria's pheromone bonuses lower $humanName's resistance</li>
<li>✅ $humanName's existing smell fetish makes feet fetish easier to develop</li>
<li>✅ Related fetishes (smell, submission) also develop</li>
<li>✅ Demons naturally become better at corrupting humans</li>
</ul>
</div>
<div class="test-section">
<h3>💢 Test Lust Roll</h3>
<p>Testing lust gain with soul bonuses:</p>
<<lustRoll "Rylan" 8 60>>
<div class="roll-results">
<strong>Lust Roll Results:</strong>
• Dice Roll: <<print _lustRoll>>
• Threshold: <<print _lustThreshold>>
• Success: <<if _lustSuccess>>✅ Gained lust<<else>>❌ No lust gain<</if>>
<<if _lustSuccess>>• Lust Gain: +<<print _lustGain>><</if>>
</div>
<<if _lustSuccess>>
<div class="success-result">
<span class="dialog-rylan">"Why do I feel so... warm?"</span>
<em>Heat spreads through $humanName's body as his arousal builds.</em>
</div>
<<else>>
<div class="resist-result">
<span class="dialog-rylan">"I'm keeping my composure."</span>
<em>Rylan remains calm and collected.</em>
</div>
<</if>>
</div>
<div class="test-section">
<h3>⚡ Test Dynamic Stat Changes</h3>
<p>Testing the new unified stat change system:</p>
[[Test Affection Gain|TestAffectionGain]]
[[Test Fetish Gain|TestFetishGain]]
[[Test Lust Gain|TestLustGain]]
[[Test Demon Influence|TestDemonInfluence]]
</div>
<div class="test-section">
<h3>🔮 Add Soul Effects for Testing</h3>
<p>Add some soul effects to see how they change the rolls:</p>
[[Add Soul Blessing|TestAddBlessing]]
[[Add Soul Corruption|TestAddCorruption]]
</div>
<div class="test-section">
<h3>📖 Documentation</h3>
[[View Soul System Guide|SoulSystemGuide]]
[[Return to Main Story|Start]]
</div>
</div>
<<statSummary>>
<<changeFace $currentRylanFace>>
<style>
.test-container {
max-width: 700px;
margin: 0 auto;
padding: 20px;
}
.test-section {
background: rgba(255, 255, 255, 0.05);
padding: 20px;
margin: 15px 0;
border-radius: 10px;
border-left: 4px solid #4a9eff;
}
.test-section h3 {
color: #4a9eff;
margin-top: 0;
}
.roll-results {
background: rgba(0, 0, 0, 0.3);
padding: 15px;
border-radius: 8px;
margin: 10px 0;
border-left: 3px solid #00ff88;
font-family: monospace;
}
.success-result {
background: rgba(255, 100, 100, 0.2);
padding: 15px;
border-radius: 8px;
margin: 10px 0;
border-left: 3px solid #ff6464;
}
.resist-result {
background: rgba(100, 255, 100, 0.2);
padding: 15px;
border-radius: 8px;
margin: 10px 0;
border-left: 3px solid #64ff64;
}
</style><<script>>window.AudioSystem.playBGM('falseutopia.mp3');<</script>>
<h3>Testing Affection Gain with Soul Bonuses</h3>
<p>Using the new dynamic system:</p>
<<changeAffection "Rylan" "Liora" 2>>
<div class="test-result">
<span class="dialog-rylan">"Liora always makes me feel better..."</span>
<em>$humanName's feelings for Liora grow stronger. His pure heart amplifies the emotional connection.</em>
</div>
<p>The system automatically:</p>
<ul>
<li>✅ Applied soul bonuses (Pure Heart blessing if you have it)</li>
<li>✅ Updated the affection variable</li>
<li>✅ Tracked the change for the stat summary</li>
</ul>
[[Continue Testing|SoulSystemTest]]
<<statSummary>>
<<changeFace $currentRylanFace>><<script>>window.AudioSystem.playBGM('falseutopia.mp3');<</script>>
<h3>Testing Fetish Gain with Soul Bonuses</h3>
<p>Using the new dynamic system for guaranteed fetish gain:</p>
<<changeFetish "Rylan" "feetFetish" 0.3>>
<div class="test-result">
<span class="dialog-rylan">"I keep thinking about... feet..."</span>
<em>$humanName's interest in feet grows stronger. His corrupted desires amplify the development.</em>
</div>
<p>The system automatically:</p>
<ul>
<li>✅ Applied soul bonuses (Corrupted Desires if you have it)</li>
<li>✅ Updated the fetish variable</li>
<li>✅ Tracked the change for the stat summary</li>
</ul>
[[Continue Testing|SoulSystemTest]]
<<statSummary>>
<<changeFace $currentRylanFace>><<script>>window.AudioSystem.playBGM('falseutopia.mp3');<</script>>
<h3>Testing Lust Gain with Soul Bonuses</h3>
<p>Using the new dynamic system:</p>
<<changeLust "Rylan" 10>>
<div class="test-result">
<span class="dialog-rylan">"I'm feeling... heated..."</span>
<em>Arousal builds within Rylan. His lustful thoughts amplify the sensation.</em>
</div>
<p>The system automatically:</p>
<ul>
<li>✅ Applied soul bonuses (Lustful Thoughts if you have it)</li>
<li>✅ Updated the lust variable</li>
<li>✅ Tracked the change for the stat summary</li>
</ul>
[[Continue Testing|SoulSystemTest]]
<<statSummary>>
<<changeFace $currentRylanFace>><<script>>window.AudioSystem.playBGM('falseutopia.mp3');<</script>>
<h3>Adding Soul Blessing</h3>
<<addSoulBlessing "Rylan" 1>>
<div class="blessing-showcase">
<div class="blessing-aura">
<div class="blessing-particles"></div>
<div class="blessing-text">
<h2>✨ SOUL BLESSING AWAKENED ✨</h2>
<p>Divine power flows through $humanName's soul...</p>
</div>
</div>
</div>
<p>A random blessing effect has been added! Check your soul display to see what you received.</p>
[[Continue Testing|SoulSystemTest]]
<<statSummary>>
<<changeFace $currentRylanFace>><<script>>window.AudioSystem.playBGM('falseutopia.mp3');<</script>>
<h3>Adding Soul Corruption</h3>
<<addSoulCorruption "Rylan" 1>>
<div class="corruption-showcase">
<div class="corruption-aura">
<div class="corruption-shadows"></div>
<div class="corruption-text">
<h2>🌑 SOUL CORRUPTION SPREADS 🌑</h2>
<p>Dark power seeps into $humanName's soul...</p>
</div>
</div>
</div>
<p>A random corruption effect has been added! Check your soul display to see what twisted power you've gained.</p>
[[Continue Testing|SoulSystemTest]]
<<statSummary>>
<<changeFace $currentRylanFace>><<script>>window.AudioSystem.playBGM('falseutopia.mp3');<</script>>
<h3>Testing Demon Influence System</h3>
<p>Testing how Seryk's corruption affects others around him:</p>
<<demonInfluenceRoll "Seryk" "Rylan" "lust" 5 65>>
<div class="roll-results">
<strong>Demon Influence Results:</strong>
• Dice Roll: <<print _demonInfluenceRoll>>
• Threshold: <<print _demonInfluenceThreshold>>
• Success: <<if _demonInfluenceSuccess>>✅ Influence successful<<else>>❌ Resisted influence<</if>>
<<if _demonInfluenceSuccess>>• Effect: +<<print _demonInfluenceAmount>> Lust to Rylan<</if>>
</div>
<<if _demonInfluenceSuccess>>
<div class="success-result">
<span class="dialog-seryk">"You're looking a bit flushed there, bro."</span>
<span class="dialog-rylan">"I... why do I feel so warm around you?"</span>
<em>Seryk's demonic presence affects Rylan, his corrupted aura making the human more susceptible to arousal.</em>
</div>
<<else>>
<div class="resist-result">
<span class="dialog-rylan">"I'm fine, just focused on training."</span>
<em>Rylan manages to resist Seryk's influence this time.</em>
</div>
<</if>>
<p>The system automatically:</p>
<ul>
<li>✅ Checked Seryk's demon influence bonuses (Seductive Presence, etc.)</li>
<li>✅ Checked $humanName's vulnerability (Submissive Urges, etc.)</li>
<li>✅ Applied the influence if successful</li>
<li>✅ Tracked the change for the stat summary</li>
</ul>
<p><strong>How Demon Influence Works:</strong></p>
<ul>
<li>Demons with corruption get influence bonuses</li>
<li>Humans with corruption become more vulnerable</li>
<li>Effects include lust gain, submission, corruption spread</li>
<li>Creates natural NTR progression as demons corrupt humans</li>
</ul>
[[Continue Testing|SoulSystemTest]]
<<statSummary>>
<<changeFace $currentRylanFace>><<nobr>>
<div class="passage-container start-screen">
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95), rgba(20, 20, 30, 0.98)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD);"></div>
<div style="text-align: center; margin-bottom: 30px;">
<h1 style="color: #FF6B6B; font-size: 2.5em; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); margin: 0; font-family: 'Cinzel', serif; letter-spacing: 2px;">⚠️ CONTENT WARNING ⚠️</h1>
</div>
<div style="background: linear-gradient(135deg, rgba(255, 193, 7, 0.15), rgba(255, 152, 0, 0.2)); border: 3px solid rgba(255, 193, 7, 0.6); border-radius: 20px; padding: 30px; margin: 25px 0; box-shadow: 0 0 25px rgba(255, 193, 7, 0.3), inset 0 0 15px rgba(0, 0, 0, 0.3); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 5px; background: linear-gradient(90deg, #FFC107, #FF9800, #FF5722, #E91E63, #9C27B0, #673AB7, #3F51B5, #2196F3, #00BCD4, #4CAF50, #8BC34A, #CDDC39, #FFC107); animation: gradientShift 3s ease-in-out infinite;"></div>
<div style="text-align: center; margin-bottom: 25px;">
<h2 style="color: #FFC107; font-size: 2.2em; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); margin: 0; font-family: 'Cinzel', serif; letter-spacing: 2px; background: linear-gradient(45deg, #FFC107, #FF9800, #FF5722); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;">🔊 BROWSER PERFORMANCE WARNING 🔊</h2>
</div>
<div style="background: rgba(255, 193, 7, 0.1); border: 2px solid rgba(255, 193, 7, 0.4); border-radius: 15px; padding: 25px; margin: 20px 0;">
<h3 style="color: #FFC107; font-size: 1.5em; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6); text-align: center;">⚠️ IMPORTANT: This Game Has Audio & Visual Effects ⚠️</h3>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 20px 0;">
<div style="background: rgba(255, 152, 0, 0.1); border: 2px solid rgba(255, 152, 0, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #FF9800; font-size: 1.3em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">🎵 Audio Features</h4>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">• Background music and sound effects<br>• Dynamic volume controls</p>
</div>
<div style="background: rgba(255, 87, 34, 0.1); border: 2px solid rgba(255, 87, 34, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #FF5722; font-size: 1.3em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">⚡ Performance Impact</h4>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">• May run slowly on older browsers<br>• Requires modern web standards<br>• Audio may not work in all browsers</p>
</div>
</div>
<div style="background: rgba(33, 150, 243, 0.1); border: 2px solid rgba(33, 150, 243, 0.4); border-radius: 15px; padding: 25px; margin: 20px 0; text-align: center;">
<h3 style="color: #2196F3; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">💡 RECOMMENDED BROWSER</h3>
<p style="color: #E6E6FA; font-size: 1.2em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7); font-weight: bold;">For the best experience, I strongly recommend using <span style="color: #2196F3; text-shadow: 0 0 10px rgba(33, 150, 243, 0.5);">Microsoft Edge on Windows</span></p>
<p style="color: #C8A8D8; font-size: 1em; line-height: 1.5; margin: 10px 0 0 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7); font-style: italic;">Alternative: Chrome, Firefox, or Safari (may have performance issues)</p>
</div>
<div style="background: rgba(156, 39, 176, 0.1); border: 2px solid rgba(156, 39, 176, 0.4); border-radius: 12px; padding: 20px; margin: 15px 0; text-align: center;">
<p style="color: #E1BEE7; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7); font-weight: bold;">If you experience slow performance or audio issues, please try a different browser!</p>
</div>
</div>
<div style="background: rgba(255, 107, 107, 0.1); border: 2px solid rgba(255, 107, 107, 0.4); border-radius: 15px; padding: 25px; margin: 20px 0;">
<h2 style="color: #FF6B6B; font-size: 1.4em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">IMPORTANT DISCLAIMER</h2>
<p style="color: #E6E6FA; font-size: 1.1em; line-height: 1.6; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">This is a work of pure fiction. All characters depicted are fictional and 18 years of age or older. The story, characters, places, and incidents portrayed are entirely fictional and not intended to represent any real persons, living or dead, or actual places or events.</p>
</div>
<div style="background: rgba(78, 205, 196, 0.1); border: 2px solid rgba(78, 205, 196, 0.4); border-radius: 15px; padding: 25px; margin: 20px 0;">
<h3 style="color: #4ECDC4; font-size: 1.3em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">⚠️ Please Note:</h3>
<ul style="color: #E6E6FA; font-size: 1.05em; line-height: 1.8; margin: 0; padding-left: 20px; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">
<li>This game contains extreme adult content and explicit scenes</li>
<li>All characters and situations are fictional fantasy</li>
<li>All characters depicted are 18+ years or older</li>
<li>No real persons or events are depicted</li>
<li>This work is intended for mature audiences only</li>
<li>The actions depicted should not be attempted in real life</li>
<li>Do not attempt to recreate combat scenarios or weapon use</li>
<li>Fantasy elements (magic, monsters, etc.) are purely fictional</li>
</ul>
</div>
<div style="background: rgba(255, 234, 167, 0.1); border: 2px solid rgba(255, 234, 167, 0.4); border-radius: 15px; padding: 20px; margin: 20px 0; text-align: center;">
<p style="color: #FFEAA7; font-size: 1.1em; font-style: italic; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7); font-weight: bold;">Remember: What happens in fantasy should stay in fantasy.<br>Don't try hunting goblins with swords or practicing magic in real life!</p>
</div>
</div>
<div style="text-align: center; margin: 40px 0;">
<div style="background: linear-gradient(135deg, rgba(30, 30, 45, 0.95), rgba(50, 30, 60, 0.9)); border: 4px solid rgba(150, 50, 150, 0.7); border-radius: 25px; padding: 50px; box-shadow: 0 0 40px rgba(150, 50, 150, 0.4), inset 0 0 30px rgba(0, 0, 0, 0.6); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 8px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD, #FF6B6B);"></div>
<h1 style="color: #FF6B6B; font-size: 3.5em; text-shadow: 4px 4px 8px rgba(0,0,0,0.9); margin: 20px 0; font-family: 'Cinzel', serif; letter-spacing: 3px; background: linear-gradient(45deg, #FF6B6B, #4ECDC4, #45B7D1); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;">Welcome to</h1>
<h2 style="color: #4ECDC4; font-size: 4em; text-shadow: 5px 5px 10px rgba(0,0,0,0.9); margin: 0 0 30px 0; font-family: 'Cinzel', serif; letter-spacing: 4px; background: linear-gradient(45deg, #4ECDC4, #45B7D1, #96CEB4); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;">BONDS DEFILED</h2>
<center><img src="images/titlebondsdefiled.webp" alt="Game Title Screen" style="width: 80%; max-width: 600px; height: auto; border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,0.6); border: 3px solid rgba(150, 50, 150, 0.5);"></center>
</div>
</div>
<div style="background: linear-gradient(135deg, rgba(20, 20, 30, 0.98), rgba(40, 20, 50, 0.95)); border: 3px solid rgba(150, 50, 150, 0.6); border-radius: 20px; padding: 40px; margin: 20px 0; box-shadow: 0 0 30px rgba(150, 50, 150, 0.3), inset 0 0 20px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD);"></div>
<h2 style="color: #45B7D1; font-size: 2em; text-align: center; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">Before you proceed...</h2>
<div style="background: rgba(69, 183, 209, 0.1); border: 2px solid rgba(69, 183, 209, 0.4); border-radius: 15px; padding: 25px; margin: 20px 0;">
<h3 style="color: #45B7D1; font-size: 1.4em; margin: 0 0 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">This game contains adult themes including:</h3>
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 20px 0;">
<div style="background: rgba(255, 107, 107, 0.1); border: 2px solid rgba(255, 107, 107, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #FF6B6B; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Corruption</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">The slow transformation of values, trust, and boundaries.</p>
</div>
<div style="background: rgba(150, 50, 150, 0.1); border: 2px solid rgba(150, 50, 150, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #DDA0DD; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">NTR (Netorare)</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Infidelity, manipulation, and emotional betrayal. (Avoidable)</p>
</div>
<div style="background: rgba(78, 205, 196, 0.1); border: 2px solid rgba(78, 205, 196, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #4ECDC4; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Addiction & Obsession</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Cravings that spiral out of control.</p>
</div>
<div style="background: rgba(150, 221, 180, 0.1); border: 2px solid rgba(150, 221, 180, 0.3); border-radius: 12px; padding: 20px;">
<h4 style="color: #96CEB4; font-size: 1.2em; margin: 0 0 10px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Sensory Fetishes</h4>
<p style="color: #E6E6FA; font-size: 1em; line-height: 1.5; margin: 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">Including smell, feet, and other taboo fascinations.</p>
</div>
</div>
</div>
<div style="background: rgba(255, 234, 167, 0.1); border: 2px solid rgba(255, 234, 167, 0.4); border-radius: 15px; padding: 25px; margin: 20px 0; text-align: center;">
<p style="color: #FFEAA7; font-size: 1.2em; line-height: 1.6; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7); font-weight: bold;">This is a dark, psychological, and explicit experience.<br>It explores the limits of morality, control, and personal choice.<br>Every scene is fictional and intended strictly for mature audiences.</p>
</div>
</div>
<div style="text-align: center; margin: 50px 0;">
<div style="background: linear-gradient(135deg, rgba(30, 30, 45, 0.95), rgba(50, 30, 60, 0.9)); border: 4px solid rgba(150, 50, 150, 0.7); border-radius: 25px; padding: 40px; box-shadow: 0 0 40px rgba(150, 50, 150, 0.4), inset 0 0 30px rgba(0, 0, 0, 0.6); position: relative; overflow: hidden;">
<div style="position: absolute; top: 0; left: 0; right: 0; height: 8px; background: linear-gradient(90deg, #FF6B6B, #4ECDC4, #45B7D1, #96CEB4, #FFEAA7, #DDA0DD, #FF6B6B);"></div>
<h2 style="color: #45B7D1; font-size: 1.8em; margin: 0 0 30px 0; text-shadow: 3px 3px 6px rgba(0,0,0,0.8); font-family: 'Cinzel', serif;">Age Verification Required</h2>
<p style="color: #E6E6FA; font-size: 1.3em; line-height: 1.6; margin: 0 0 30px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.7);"><b>Are you 18 years or older</b> (or the legal age of consent in your jurisdiction)<br>and willing to engage with explicit adult content?</p>
<div style="display: flex; justify-content: center; gap: 30px; flex-wrap: wrap;">
<div style="background: linear-gradient(145deg, rgba(78, 205, 196, 0.2), rgba(69, 183, 209, 0.3)); border: 3px solid rgba(78, 205, 196, 0.6); border-radius: 15px; padding: 20px; min-width: 200px; box-shadow: 0 8px 25px rgba(78, 205, 196, 0.3); transition: all 0.3s ease;">
<h3 style="color: #4ECDC4; font-size: 1.3em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Continue</h3>
<p style="color: #E6E6FA; font-size: 1em; margin: 0 0 20px 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">I am of age and wish to continue</p>
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 8px; padding: 15px; display: inline-block; min-width: 180px;">[[Yes, I am of age and wish to continue.|AuthorNote]]</div>
</div>
<div style="background: linear-gradient(145deg, rgba(255, 107, 107, 0.2), rgba(150, 50, 150, 0.3)); border: 3px solid rgba(255, 107, 107, 0.6); border-radius: 15px; padding: 20px; min-width: 200px; box-shadow: 0 8px 25px rgba(255, 107, 107, 0.3); transition: all 0.3s ease;">
<h3 style="color: #FF6B6B; font-size: 1.3em; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Exit</h3>
<p style="color: #E6E6FA; font-size: 1em; margin: 0 0 20px 0; text-shadow: 1px 1px 2px rgba(0,0,0,0.7);">I do not consent to this content</p>
<div style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.8), rgba(40, 40, 60, 0.9)); border-radius: 8px; padding: 15px; display: inline-block; min-width: 180px;">[[No, I do not consent.|Exit]]</div>
</div>
</div>
</div>
</div>
</div>
<<pov "rylan" "start1.mp3">>
<</nobr>><<script>>
// Function to generate dynamic gradient from a base color
window.generatePassageGradient = function(baseColor) {
// Convert hex to RGB
const hex = baseColor.replace('#', '');
const r = parseInt(hex.substr(0, 2), 16);
const g = parseInt(hex.substr(2, 2), 16);
const b = parseInt(hex.substr(4, 2), 16);
// Create lighter version for middle (increase brightness by 30%)
const lightR = Math.min(255, Math.floor(r + (255 - r) * 0.3));
const lightG = Math.min(255, Math.floor(g + (255 - g) * 0.3));
const lightB = Math.min(255, Math.floor(b + (255 - b) * 0.3));
// Create the gradient
return `linear-gradient(135deg, ${baseColor}, rgba(${lightR}, ${lightG}, ${lightB}, 0.95), ${baseColor})`;
};
// Dynamic Character Image Path System with Wardrobe Support
window.getCharacterImagePath = function(character, itemType, isWet = false) {
const wetSuffix = isWet ? 'wet' : '';
// Wardrobe system for Rylan
if (character === 'rylan') {
const masculinity = State.variables.rylan_masculinity || 100;
// Check for masculine transformation first
if (State.variables.rylanMasculine) {
// Initialize wardrobe if it doesn't exist
if (!State.variables.wardrobe) {
State.variables.wardrobe = {};
}
if (!State.variables.wardrobe.rylan) {
State.variables.wardrobe.rylan = {
bra: 'normalwhite',
panties: 'normalwhite',
legwear: 'normalwhite'
};
}
// Get current wardrobe selection for masculine transformation
const wardrobeItem = State.variables.wardrobe.rylan[itemType] || 'normalwhite';
return `images/rylan/male/clothes/underwear/${itemType}/${wardrobeItem}${wetSuffix}.webp`;
}
// Initialize wardrobe if it doesn't exist
if (!State.variables.wardrobe) {
State.variables.wardrobe = {};
}
if (!State.variables.wardrobe.rylan) {
State.variables.wardrobe.rylan = {
bra: 'normalwhite',
panties: 'normalwhite',
legwear: 'normalwhite'
};
}
// Get current wardrobe selection
const wardrobeItem = State.variables.wardrobe.rylan[itemType] || 'normalwhite';
// Get current body type (can be changed dynamically)
const bodyType = State.variables.rylanBodyType || 'femboy';
// Determine transformation stage based on masculinity events ONLY
let stage = 'normal';
let useWardrobe = false;
if (State.variables.rylanMasculinity47Triggered && masculinity <= 47) {
if (itemType === 'bra') {
useWardrobe = true;
stage = 'femboy';
} else {
useWardrobe = false;
stage = 'femalestage1';
}
} if (State.variables.rylanMasculinity40Triggered && masculinity <= 40) {
if (itemType === 'panties') {
useWardrobe = true;
stage = 'femboy';
} else if (stage === 'normal') {
useWardrobe = false;
stage = 'femalestage1';
}
} if (State.variables.rylanMasculinity35Triggered && masculinity <= 35) {
if (itemType === 'bra' || itemType === 'legwear') {
useWardrobe = true;
stage = 'femboy';
} else if (stage === 'normal') {
useWardrobe = false;
stage = 'femalestage1';
}
} if (State.variables.rylanMasculinity30Triggered && masculinity <= 30) {
useWardrobe = true;
stage = 'femalestage1';
} if (State.variables.characterTransformations &&
State.variables.characterTransformations.rylan &&
State.variables.characterTransformations.rylan[itemType] === true) {
// Old transformation system - use femalestage1 but no wardrobe
stage = 'femalestage1';
} if ((itemType === 'panties' && State.variables.rylan_wearingPanties === true) ||
(itemType === 'legwear' && State.variables.rylan_wearingSocks === true)) {
// Old clothing flags - use femalestage1 but no wardrobe
stage = 'femalestage1';
}
// Build path based on stage and wardrobe
if (stage === 'femboy' && useWardrobe) {
return `images/rylan/${bodyType}/clothes/underwear/${itemType}/${wardrobeItem}${wetSuffix}.webp`;
} else if (stage === 'femalestage1' && useWardrobe) {
return `images/rylan/${bodyType}/clothes/underwear/${itemType}/${wardrobeItem}${wetSuffix}.webp`;
} else if (stage === 'femalestage1') {
// Old system - use femalestage1 folder but no wardrobe
return `images/rylan/femalestage1/${itemType}${wetSuffix}.webp`;
} else {
// No transformation triggered yet - use old system
return `images/rylan/${itemType}${wetSuffix}.webp`;
}
}
// Default path for other characters
return `images/${character}/${itemType}${wetSuffix}.webp`;
};
// Wardrobe Management Functions (using the WardrobeSystem)
window.setWardrobeItem = function(character, itemType, itemName) {
window.WardrobeSystem.setWardrobeState(character, itemType, itemName);
};
window.getWardrobeItem = function(character, itemType) {
return window.WardrobeSystem.getWardrobeState(character, itemType) || 'normalwhite';
};
window.getAvailableWardrobeItems = function(character, itemType) {
// This would return available wardrobe items for a character/itemType
// For now, return a basic list - can be expanded later
return ['normalwhite', 'normalred', 'normalblack', 'normalpink', 'normalblue'];
};
// Body Type Management Functions
window.setBodyType = function(character, bodyType) {
if (character === 'rylan') {
State.variables.rylanBodyType = bodyType;
}
// Add other characters as needed
};
window.getBodyType = function(character) {
if (character === 'rylan') {
return State.variables.rylanBodyType || 'femboy';
}
return 'default';
};
<</script>>
<<cacheaudio "attack" "audio/attack.mp3">>
<<cacheaudio "heal" "sounds/heal.mp3">>
<<cacheaudio "forest_bgm" "music/forestofthebeginning.mp3">>
<<set $metMariel = false>>
<<set $metThalor = false>>
<<set $metLiora = false>>
<<set $metSerin = false>>
<<set $metSeryk = false>>
<<set $metNimeria = false>>
<<set $rylanRomanceMariel = false>>
<<set $marielTransformationMother = false>>
<<set $humanTransformationFeminine = false>>
<<set $lesbianContentEnabled = false>>
<<set $nimeriaxrylancontent = false>>
<<set $gold to 0>>
<<set $goldHistory to []>> /* Track gold gains/losses */
<<set $crystals to 5>> /* Mana crystals for special abilities */
/* Clothing Purchase Tracking */
<<set $purchasedClothing = {
bra: {
normalblack: false,
normalpink: false
},
panties: {
normalblack: false,
normalpink: false
},
legwear: {
knittedsocks: false,
normalblack: false,
normalpink: false
}
}>>
<<set $currentFace = null>>
<<script>>
Macro.add('changeFace', {
handler: function() {
if (this.args.length < 1) {
return this.error('changeFace macro requires a face parameter');
}
// Update character faces based on current stages first
if (window.updateCharacterFaces) {
window.updateCharacterFaces();
}
State.variables.currentFace = this.args[0];
setPageElement('portraitContainer', 'StoryLeftSidebar');
}
});
Macro.add('fixLust', {
handler: function() {
const characters = ['rylan', 'mariel', 'thalor', 'liora', 'serin', 'seryk', 'nimeria'];
characters.forEach(char => {
const lustVar = `${char}_Lust`;
if (State.variables[lustVar] !== undefined && State.variables[lustVar] > 100) {
State.variables[lustVar] = 100;
}
});
}
});
// Keyboard Choice Selection System
// - 'c' key: ONLY for single choice passages (no multiple choices)
// - '1' key: Works for BOTH single and multiple choice passages (always selects first option)
// - Number keys (2,3,4...): ONLY for multiple choice passages (2+ choices)
window.KeyboardChoiceSystem = {
isHandling: false,
boundHandler: null,
init: function() {
// Only initialize once
if (this.boundHandler) return;
// Create bound handler once and store reference
this.boundHandler = this.handleKeypress.bind(this);
document.addEventListener('keydown', this.boundHandler);
},
handleKeypress: function(event) {
// Check if system is disabled
if (this._disabled) return;
// Prevent multiple rapid calls
if (this.isHandling) return;
// Only handle if not typing in an input field
if (event.target.tagName === 'INPUT' || event.target.tagName === 'TEXTAREA') {
return;
}
const key = event.key.toLowerCase();
const links = document.querySelectorAll('a[data-passage]');
if (!links.length) return;
// Handle 'c' for Continue - ONLY for single choice passages
if (key === 'c') {
if (links.length === 1) {
this.isHandling = true;
event.preventDefault();
// Add small delay to prevent rapid firing
setTimeout(() => {
links[0].click();
// Reset handling flag after passage transition
setTimeout(() => {
this.isHandling = false;
}, 100);
}, 50);
return;
}
}
// Handle numbered choices (1, 2, 3, etc.)
const numberKey = parseInt(key);
if (numberKey >= 1 && numberKey <= 9) {
// Key "1" works for both single and multiple choice passages
if (numberKey === 1 && links.length >= 1) {
this.isHandling = true;
event.preventDefault();
// Add small delay to prevent rapid firing
setTimeout(() => {
links[0].click(); // Always click first link for "1" key
// Reset handling flag after passage transition
setTimeout(() => {
this.isHandling = false;
}, 100);
}, 50);
return;
}
// Keys "2", "3", etc. only work for multiple choice passages
else if (numberKey >= 2 && links.length >= 2 && numberKey <= links.length) {
this.isHandling = true;
event.preventDefault();
// Add small delay to prevent rapid firing
setTimeout(() => {
links[numberKey - 1].click();
// Reset handling flag after passage transition
setTimeout(() => {
this.isHandling = false;
}, 100);
}, 50);
return;
}
}
}
};
// Initialize the system once when the page loads
$(document).ready(function() {
window.KeyboardChoiceSystem.init();
});
//keyboard end 'c'
// Add macro for updating character stages
Macro.add('setCharacterStage', {
handler: function() {
if (this.args.length < 2) {
return this.error('setCharacterStage macro requires character and stage parameters');
}
const character = this.args[0].toLowerCase();
const stage = parseInt(this.args[1]);
if (!State.variables.characterStages) {
State.variables.characterStages = {
mariel: 1, liora: 1, serin: 1, rylan: 1, seryk: 1, nimeria: 1, thalor: 1
};
}
State.variables.characterStages[character] = stage;
if (window.updateCharacterFaces) {
window.updateCharacterFaces();
}
}
});
// Add macro for setting specific character transformations
Macro.add('setTransformation', {
handler: function() {
if (this.args.length < 3) {
return this.error('setTransformation macro requires character, bodyPart, and value parameters');
}
const character = this.args[0].toLowerCase();
const bodyPart = this.args[1];
const value = this.args[2];
if (!State.variables.characterTransformations) {
State.variables.characterTransformations = {
rylan: { panties: false, bra: false, face: false, body: false, clothes: false, hair: false, makeup: false }
};
}
if (!State.variables.characterTransformations[character]) {
State.variables.characterTransformations[character] = {
panties: false, bra: false, face: false, body: false, clothes: false, hair: false, makeup: false
};
}
State.variables.characterTransformations[character][bodyPart] = value;
if (window.updateCharacterFaces) {
window.updateCharacterFaces();
}
}
});
// Legacy macro for backwards compatibility
Macro.add('setCharacterTransformation', {
handler: function() {
if (this.args.length < 3) {
return this.error('setCharacterTransformation macro requires character, type, and level parameters');
}
// For now, just log that this is deprecated
}
});
<</script>>
/* Character Stage System */
<<set $characterStages = {
mariel: 1,
liora: 1,
serin: 1,
rylan: 1,
seryk: 1,
nimeria: 1,
thalor: 1
}>>
/* Character Transformation Tracking System */
<<set $characterTransformations = {
rylan: {
panties: false, // true = uses feminine panties
bra: false, // true = uses feminine bra
face: false, // true = uses feminine face
body: false, // true = uses feminine body
clothes: false, // true = uses feminine clothes
hair: false, // true = uses feminine hair
makeup: false // true = uses makeup variants
}
}>>
/* Backwards Compatibility for Old Saves */
<<if $rylan_wearingPanties === true>>
<<if not $characterTransformations>>
<<set $characterTransformations = {
rylan: {
panties: true, bra: false, face: false, body: false, clothes: false, hair: false, makeup: false
}
}>>
<<elseif not $characterTransformations.rylan>>
<<set $characterTransformations.rylan = {
panties: true, bra: false, face: false, body: false, clothes: false, hair: false, makeup: false
}>>
<<elseif $characterTransformations.rylan.panties === false>>
<<set $characterTransformations.rylan.panties = true>>
<</if>>
<</if>>
/* Character Faces - Dynamic based on stages */
<<script>>
// Function to get specific image path based on transformation state
window.getTransformedImagePath = function(character, imageType, isWet = false) {
const charLower = character.toLowerCase();
const transformations = State.variables.characterTransformations;
// Initialize transformations if not present (backwards compatibility)
if (!transformations || !transformations[charLower]) {
// Check for legacy variable for backwards compatibility
if (charLower === 'rylan' && State.variables.rylan_wearingPanties === true && imageType.toLowerCase() === 'panties') {
return `images/${charLower}/femalestage1/${imageType.toLowerCase()}${isWet ? 'wet' : ''}.webp`;
}
// Use default path
return `images/${charLower}/${imageType}${isWet ? 'wet' : ''}.webp`;
}
const charTransforms = transformations[charLower];
let basePath = `images/${charLower}/`;
let fileName = imageType.toLowerCase();
// Check specific transformations for each image type
switch(imageType.toLowerCase()) {
case 'panties':
if (charTransforms.panties || (charLower === 'rylan' && State.variables.rylan_wearingPanties === true)) {
basePath += 'femalestage1/';
}
break;
case 'bra':
if (charTransforms.bra) {
basePath += 'femalestage1/';
}
break;
case 'face':
if (charTransforms.face) {
basePath += 'femalestage1/';
}
break;
case 'body':
case 'naked':
if (charTransforms.body) {
basePath += 'femalestage1/';
}
break;
case 'clothes':
if (charTransforms.clothes) {
basePath += 'femalestage1/';
}
break;
case 'legwear':
// No transformation for legwear currently, use default
break;
default:
// For other images, use default path
break;
}
return `${basePath}${fileName}${isWet ? 'wet' : ''}.webp`;
};
// Legacy function for backwards compatibility - now just returns empty for gradual system
window.getCharacterTransformationPath = function(character) {
return '';
};
// Function to update face paths based on character stages
window.updateCharacterFaces = function() {
const stages = State.variables.characterStages || {};
// Update face paths based on current stages and transformations
const rylanTransformPath = window.getCharacterTransformationPath('rylan');
State.variables.currentRylanFace = rylanTransformPath ? `rylan/${rylantransformpath}face.webp` :
(stages.rylan >= 2) ? "rylan/stage2/face.webp" : "rylan/face.webp";
State.variables.currentMarielFace = (stages.mariel >= 2) ? "mariel/stage2/face.webp" : "mariel/face.webp";
State.variables.currentThalorFace = (stages.thalor >= 2) ? "thalor/stage2/face.webp" : "thalor/face.webp";
State.variables.currentLioraFace = (stages.liora >= 2) ? "liora/stage2/face.webp" : "liora/face.webp";
State.variables.currentSerinFace = (stages.serin >= 2) ? "serin/stage2/face.webp" : "serin/face.webp";
State.variables.currentSerykFace = (stages.seryk >= 2) ? "seryk/stage2/face.webp" : "seryk/face.webp";
State.variables.currentNimeriaFace = (stages.nimeria >= 2) ? "nimeria/stage2/face.webp" : "nimeria/face.webp";
};
// Initialize faces
window.updateCharacterFaces();
<</script>>
/* Dynamic Wardrobe System */
<<set $wardrobe = {
Mariel: {
nailPolish: false,
lipstick: false,
makeup: "none",
underwearStyle: "normal",
specialOutfit: false,
outfit: "normal"
},
Liora: {
nailPolish: false,
lipstick: false,
makeup: "none",
underwearStyle: "normal",
specialOutfit: false,
outfit: "normal"
},
Serin: {
nailPolish: false,
lipstick: false,
makeup: "none",
underwearStyle: "normal",
specialOutfit: false,
outfit: "normal"
},
Rylan: {
nailPolish: false,
lipstick: false,
makeup: "none",
underwearStyle: "normal",
specialOutfit: false,
outfit: "normal",
bra: "normalwhite",
panties: "normalwhite",
legwear: "normalwhite"
},
Seryk: {
underwearStyle: "normal",
specialOutfit: false,
outfit: "normal"
},
Nimeria: {
nailPolish: false,
lipstick: false,
makeup: "none",
underwearStyle: "normal",
specialOutfit: false,
outfit: "normal"
}
}>>
<<script>>
window.WardrobeSystem = {
// Get the appropriate image path based on character state
getClothingImage: function(character, type, isWet = false) {
const wardrobe = State.variables.wardrobe[character] || {};
const characterLower = character.toLowerCase();
// Get the specific item from wardrobe
let itemName = wardrobe[type.toLowerCase()] || "normalwhite";
const wetSuffix = isWet ? 'wet' : '';
// For Rylan, check actual transformation state and use appropriate path
if (characterLower === "rylan") {
if (State.variables.rylanMasculine === true) {
// Male path (when masculine)
let basePath = `images/${characterLower}/male/clothes/underwear/`;
// Handle briefs as part of panties category
if (type.toLowerCase() === "panties" && itemName.startsWith("briefs")) {
return basePath + "briefs/" + itemName + wetSuffix + ".webp";
}
return basePath + type.toLowerCase() + "/" + itemName + wetSuffix + ".webp";
} else if (State.variables.rylanFemboy === true) {
// Femboy path (when femboy)
let basePath = `images/${characterLower}/femboy/clothes/underwear/`;
return basePath + type.toLowerCase() + "/" + itemName + wetSuffix + ".webp";
} else if ((type.toLowerCase() === "panties" && State.variables.rylan_wearingPanties === true) ||
(type.toLowerCase() === "legwear" && State.variables.rylan_wearingSocks === true) ||
(type.toLowerCase() === "bra" && State.variables.rylan_wearingBra === true)) {
// Pre-transformation wearing flags - use femalestage1 path
let basePath = `images/${characterLower}/femalestage1/`;
let imageName = type.toLowerCase();
if (isWet) {
imageName += "wet";
}
return basePath + imageName + ".webp";
} else {
// Default path (when neither transformed) - simple format
let basePath = `images/${characterLower}/`;
let imageName = type; // "Bra", "Panties", "Legwear"
if (isWet) {
imageName += "Wet";
}
return basePath + imageName.toLowerCase() + ".webp";
}
}
// For Mariel, use the wardrobe system with proper path structure
if (characterLower === "mariel") {
let basePath = `images/mariel/clothes/underwear/${type.toLowerCase()}/`;
return basePath + itemName + wetSuffix + ".webp";
}
// For Serin, use the wardrobe system with proper path structure
if (characterLower === "serin") {
let basePath = `images/serin/clothes/underwear/${type.toLowerCase()}/`;
// If Serin is futanari and it's panties, use futa subfolder
if (type.toLowerCase() === "panties" && State.variables.serinFutanari) {
basePath = `images/serin/clothes/underwear/panties/futa/`;
}
return basePath + itemName + wetSuffix + ".webp";
}
// For Seryk, use the wardrobe system with proper path structure
if (characterLower === "seryk") {
// Handle briefs as part of panties category
if (type.toLowerCase() === "panties" && itemName.startsWith("briefs")) {
return `images/seryk/clothes/underwear/briefs/${itemName}${wetSuffix}.webp`;
}
let basePath = `images/seryk/clothes/underwear/${type.toLowerCase()}/`;
return basePath + itemName + wetSuffix + ".webp";
}
// For Liora, use the wardrobe system with proper path structure
if (characterLower === "liora") {
let basePath = `images/liora/clothes/underwear/${type.toLowerCase()}/`;
return basePath + itemName + wetSuffix + ".webp";
}
// For Nimeria, use the wardrobe system with proper path structure
if (characterLower === "nimeria") {
let basePath = `images/nimeria/clothes/underwear/${type.toLowerCase()}/`;
return basePath + itemName + wetSuffix + ".webp";
}
// For Thalor, use the wardrobe system with proper path structure
if (characterLower === "thalor") {
// Handle briefs as part of panties category
if (type.toLowerCase() === "panties" && itemName.startsWith("briefs")) {
return `images/thalor/clothes/underwear/briefs/${itemName}${wetSuffix}.webp`;
}
let basePath = `images/thalor/clothes/underwear/${type.toLowerCase()}/`;
return basePath + itemName + wetSuffix + ".webp";
}
// For other characters, use the original system
let imageName = type; // "Bra", "Panties", "Legwear"
let basePath = `images/${character}/`;
// Check for character transformations first
const transformPath = window.getCharacterTransformationPath(character);
if (transformPath) {
basePath = `images/${characterLower}/${transformPath}`;
}
// Apply outfit modifier (changes base path if needed)
else if (wardrobe.outfit && wardrobe.outfit !== "normal") {
basePath = `images/${character}/${wardrobe.outfit}/`;
}
// Apply wetness modifier
if (isWet) {
imageName += "Wet";
}
// Apply wardrobe modifiers
let modifiers = [];
if (wardrobe.nailPolish && (type === "Legwear" || type === "Panties")) {
modifiers.push("RedNails");
}
if (wardrobe.lipstick && type === "Bra") {
modifiers.push("Lipstick");
}
if (wardrobe.makeup !== "none" && wardrobe.makeup) {
modifiers.push(wardrobe.makeup);
}
if (wardrobe.underwearStyle !== "normal") {
modifiers.push(wardrobe.underwearStyle);
}
if (wardrobe.specialOutfit) {
modifiers.push("Special");
}
// Build final image path
if (modifiers.length > 0) {
imageName += modifiers.join("");
}
return basePath + imageName + ".webp";
},
// Set wardrobe state
setWardrobeState: function(character, property, value) {
if (!State.variables.wardrobe[character]) {
State.variables.wardrobe[character] = {};
}
State.variables.wardrobe[character][property] = value;
},
// Get wardrobe state
getWardrobeState: function(character, property) {
return State.variables.wardrobe[character] && State.variables.wardrobe[character][property];
},
// Toggle wardrobe state
toggleWardrobeState: function(character, property) {
const current = this.getWardrobeState(character, property);
this.setWardrobeState(character, property, !current);
},
// Get character image path for sidebar
getCharacterImagePath: function(character, type) {
return this.getClothingImage(character, type);
}
};
// Add macro for easy wardrobe management
Macro.add('setWardrobe', {
handler: function() {
if (this.args.length < 3) {
return this.error('setWardrobe macro requires character, property, and value');
}
const character = this.args[0];
const property = this.args[1];
const value = this.args[2];
window.WardrobeSystem.setWardrobeState(character, property, value);
}
});
Macro.add('toggleWardrobe', {
handler: function() {
if (this.args.length < 2) {
return this.error('toggleWardrobe macro requires character and property');
}
const character = this.args[0];
const property = this.args[1];
window.WardrobeSystem.toggleWardrobeState(character, property);
}
});
Macro.add('normalizeImagePath', {
handler: function() {
if (this.args.length < 1) {
return this.error('normalizeImagePath macro requires an image path');
}
const imagePath = this.args[0];
const normalizedPath = window.ImagePathSystem.normalizeImagePath(imagePath);
this.output.wiki(normalizedPath);
}
});
Macro.add('img', {
handler: function() {
if (this.args.length < 1) {
return this.error('img macro requires an image path');
}
const imagePath = this.args[0];
const normalizedPath = window.ImagePathSystem.normalizeImagePath(imagePath);
const altText = this.args[1] || '';
const additionalAttrs = this.args[2] || '';
this.output.wiki(`<img src="${normalizedPath}" alt="${altText}" ${additionalAttrs}>`);
}
});
Macro.add('playLoopingSounds', {
handler: function() {
if (this.args.length < 1) {
return this.error('playLoopingSounds macro requires at least one sound path');
}
// Complete audio cleanup function
function stopAllLoopingSounds() {
if (window.AudioSystem && window.AudioSystem.sfx && window.AudioSystem.sfx.players) {
Object.values(window.AudioSystem.sfx.players).forEach(player => {
try {
player.pause();
player.currentTime = 0;
player.src = '';
} catch(e) {}
});
window.AudioSystem.sfx.players = {};
}
if (window.currentLoopingSFX) {
try {
if (Array.isArray(window.currentLoopingSFX)) {
window.currentLoopingSFX.forEach(sound => {
if (sound) {
sound.pause();
sound.currentTime = 0;
sound.src = '';
}
});
} else {
window.currentLoopingSFX.pause();
window.currentLoopingSFX.currentTime = 0;
window.currentLoopingSFX.src = '';
}
window.currentLoopingSFX = null;
} catch(e) {}
}
// Clean up individual sound references
if (window.longmoanSFX) {
try {
window.longmoanSFX.pause();
window.longmoanSFX.currentTime = 0;
window.longmoanSFX.src = '';
window.longmoanSFX = null;
} catch(e) {}
}
if (window.handjobSFX) {
try {
window.handjobSFX.pause();
window.handjobSFX.currentTime = 0;
window.handjobSFX.src = '';
window.handjobSFX = null;
} catch(e) {}
}
document.querySelectorAll('audio').forEach(audio => {
try {
audio.pause();
audio.currentTime = 0;
audio.src = '';
audio.parentNode.removeChild(audio);
} catch(e) {}
});
}
// Stop all existing sounds first
stopAllLoopingSounds();
// Start sounds after cleanup
setTimeout(function() {
// Separate sound paths from volume multiplier
let soundPaths = [];
let volumeMultiplier = 1.0;
// Check if first argument is an array (multiple sounds)
if (Array.isArray(this.args[0])) {
soundPaths = this.args[0];
volumeMultiplier = this.args[1] || 1.0;
} else {
// Check if last argument is a number (volume multiplier)
const lastArg = this.args[this.args.length - 1];
if (typeof lastArg === 'number' && !isNaN(lastArg)) {
soundPaths = this.args.slice(0, -1); // All args except the last one
volumeMultiplier = lastArg;
} else {
soundPaths = this.args; // All args are sound paths
}
}
const sounds = [];
// Filter out non-string arguments and create sounds
soundPaths.forEach((soundPath, index) => {
if (typeof soundPath === 'string') {
const sound = new Audio(soundPath);
sound.loop = true;
// Safe volume calculation with proper fallbacks
let baseVolume = 0.5; // Default fallback
if (window.AudioSystem && window.AudioSystem.sfx && typeof window.AudioSystem.sfx.volume === 'number') {
baseVolume = window.AudioSystem.sfx.volume;
}
// Ensure volume is a valid number between 0 and 1
const finalVolume = Math.max(0, Math.min(1, baseVolume * volumeMultiplier));
sound.volume = finalVolume;
// Safe muted state
sound.muted = window.AudioSystem && window.AudioSystem.sfx && window.AudioSystem.sfx.muted === true;
sound.addEventListener('canplaythrough', function() {
this.play().catch(e => {});
});
sound.load();
sounds.push(sound);
}
});
// Store reference to all sounds for cleanup
window.currentLoopingSFX = sounds;
}.bind(this), 300);
}
});
Macro.add('stopLoopingSounds', {
handler: function() {
if (window.currentLoopingSFX) {
try {
if (Array.isArray(window.currentLoopingSFX)) {
window.currentLoopingSFX.forEach(sound => {
if (sound) {
sound.pause();
sound.currentTime = 0;
sound.src = '';
}
});
} else {
window.currentLoopingSFX.pause();
window.currentLoopingSFX.currentTime = 0;
window.currentLoopingSFX.src = '';
}
window.currentLoopingSFX = null;
} catch(e) {}
}
// Also clean up individual sound references
if (window.longmoanSFX) {
try {
window.longmoanSFX.pause();
window.longmoanSFX.currentTime = 0;
window.longmoanSFX.src = '';
window.longmoanSFX = null;
} catch(e) {}
}
if (window.handjobSFX) {
try {
window.handjobSFX.pause();
window.handjobSFX.currentTime = 0;
window.handjobSFX.src = '';
window.handjobSFX = null;
} catch(e) {}
}
// Clean up DOM audio elements
document.querySelectorAll('audio').forEach(audio => {
try {
audio.pause();
audio.currentTime = 0;
audio.src = '';
audio.parentNode.removeChild(audio);
} catch(e) {}
});
}
});
Macro.add('stopLoopingAndPlay', {
handler: function() {
if (this.args.length < 1) {
return this.error('stopLoopingAndPlay macro requires at least one sound path');
}
// Stop all looping sounds first
if (window.currentLoopingSFX) {
try {
if (Array.isArray(window.currentLoopingSFX)) {
window.currentLoopingSFX.forEach(sound => {
if (sound) {
sound.pause();
sound.currentTime = 0;
sound.src = '';
}
});
} else {
window.currentLoopingSFX.pause();
window.currentLoopingSFX.currentTime = 0;
window.currentLoopingSFX.src = '';
}
window.currentLoopingSFX = null;
} catch(e) {}
}
// Clean up individual sound references
if (window.longmoanSFX) {
try {
window.longmoanSFX.pause();
window.longmoanSFX.currentTime = 0;
window.longmoanSFX.src = '';
window.longmoanSFX = null;
} catch(e) {}
}
if (window.handjobSFX) {
try {
window.handjobSFX.pause();
window.handjobSFX.currentTime = 0;
window.handjobSFX.src = '';
window.handjobSFX = null;
} catch(e) {}
}
// Clean up DOM audio elements (but preserve any that match our new sounds)
const newSoundPaths = Array.isArray(this.args[0]) ? this.args[0] : this.args;
document.querySelectorAll('audio').forEach(audio => {
try {
// Don't remove audio elements that match our new sounds
const shouldPreserve = newSoundPaths.some(soundPath =>
audio.src && audio.src.includes(soundPath)
);
if (!shouldPreserve) {
audio.pause();
audio.currentTime = 0;
audio.src = '';
if (audio.parentNode) {
audio.parentNode.removeChild(audio);
}
}
} catch(e) {}
});
// Now play the new one-shot sounds
const soundPaths = Array.isArray(this.args[0]) ? this.args[0] : this.args;
const volumeMultiplier = typeof this.args[this.args.length - 1] === 'number' ? this.args[this.args.length - 1] : 1.0;
// Filter out the volume multiplier if it exists
const actualSoundPaths = typeof this.args[this.args.length - 1] === 'number' ? this.args.slice(0, -1) : this.args;
setTimeout(function() {
actualSoundPaths.forEach((soundPath, index) => {
if (typeof soundPath === 'string') {
const sound = new Audio(soundPath);
sound.loop = false; // One-shot sounds
// Safe volume calculation with proper fallbacks
let baseVolume = 0.5; // Default fallback
if (window.AudioSystem && window.AudioSystem.sfx && typeof window.AudioSystem.sfx.volume === 'number') {
baseVolume = window.AudioSystem.sfx.volume;
}
// Ensure volume is a valid number between 0 and 1
const finalVolume = Math.max(0, Math.min(1, baseVolume * volumeMultiplier));
sound.volume = finalVolume;
// Safe muted state
sound.muted = window.AudioSystem && window.AudioSystem.sfx && window.AudioSystem.sfx.muted === true;
sound.addEventListener('canplaythrough', function() {
this.play().catch(e => {});
});
sound.load();
}
});
}, 100);
}
});
// Masculinity reduction with stage system
Macro.add('reduceMasculinity', {
handler: function() {
const character = this.args[0];
const reductionAmount = this.args[1] || 1;
// Initialize masculinity stage if not set
if (!State.variables[character.toLowerCase() + '_masculinityStage']) {
State.variables[character.toLowerCase() + '_masculinityStage'] = 1;
}
// Get current masculinity and stage
const currentMasculinity = State.variables[character.toLowerCase() + '_masculinity'] || 100;
const currentStage = State.variables[character.toLowerCase() + '_masculinityStage'];
// Calculate minimum masculinity based on stage
let minMasculinity = 100;
switch(currentStage) {
case 1:
minMasculinity = 30;
break;
case 2:
minMasculinity = 20;
break;
case 3:
minMasculinity = 10;
break;
case 4:
minMasculinity = 0;
break;
default:
minMasculinity = 30;
}
// Calculate new masculinity value
const newMasculinity = Math.max(currentMasculinity - reductionAmount, minMasculinity);
const actualReduction = currentMasculinity - newMasculinity;
// Update masculinity
State.variables[character.toLowerCase() + '_masculinity'] = newMasculinity;
// Track the change
if (actualReduction > 0) {
State.variables.trackOthers = (State.variables.trackOthers || []);
State.variables.trackOthers.push({
character: character,
stat: 'masculinity',
change: -actualReduction,
newValue: newMasculinity,
timestamp: Date.now()
});
}
// Store results for display
State.temporary.masculinityReduction = actualReduction;
State.temporary.newMasculinity = newMasculinity;
State.temporary.masculinityStage = currentStage;
State.temporary.minMasculinity = minMasculinity;
// Check for stage progression
if (newMasculinity <= minMasculinity && currentStage < 4) {
State.variables[character.toLowerCase() + '_masculinityStage'] = currentStage + 1;
State.temporary.masculinityStageUp = true;
State.temporary.newMasculinityStage = currentStage + 1;
} else {
State.temporary.masculinityStageUp = false;
}
}
});
<</script>>
/* Combat Paths */
<<set $attackerImage = "nimeria/face.webp">>
<<set $AttackType = "Attack">>
<<set $Attacker = "Friend">>
/* Menu State */
<<set $menuOpen to false>>
<<set $characterMenuOpen to false>>
<<set $currentTab to "characters">>
/* Character Names */
<<set $humanName to "Rylan">>
<<set window.$humanName to "Rylan">>
/* Relationships */
<<set $marielToHuman to "landlady">>
<<set $humanToMariel to "mariel">>
<<set $humanIsMariel to "roommate">>
<<set $thalorToHuman to "mentor">>
<<set $humanToThalor to "sir">>
<<set $thalorCallsHuman to "scarce">>
<<set $bothToHuman to "guardians">>
<<set $householdType to "housemates">>
/* Relationship Stats - Rylan */
<<set $rylan_MarielAffection to 200>>
<<set $rylan_MarielAttraction to 0>>
<<set $rylan_ThalorAffection to 100>>
<<set $rylan_ThalorAttraction to -100>>
<<set $rylan_LioraAffection to 100>>
<<set $rylan_LioraAttraction to 100>>
<<set $rylan_SerinAffection to 30>>
<<set $rylan_SerinAttraction to 10>>
<<set $rylan_SerykAffection to 0>>
<<set $rylan_SerykAttraction to -100>>
<<set $rylan_NimeriaAffection to 0>>
<<set $rylan_NimeriaAttraction to 0>>
/* Relationship Stats - Mariel */
<<set $mariel_RylanAffection to 200>>
<<set $mariel_RylanAttraction to 0>>
<<set $mariel_ThalorAffection to 150>>
<<set $mariel_ThalorAttraction to 100>>
<<set $mariel_LioraAffection to 40>>
<<set $mariel_LioraAttraction to 0>>
<<set $mariel_SerinAffection to 40>>
<<set $mariel_SerinAttraction to 0>>
<<set $mariel_SerykAffection to 0>>
<<set $mariel_SerykAttraction to 0>>
<<set $mariel_NimeriaAffection to 0>>
<<set $mariel_NimeriaAttraction to 0>>
/* Relationship Stats - Thalor */
<<set $thalor_RylanAffection to 100>>
<<set $thalor_RylanAttraction to -100>>
<<set $thalor_MarielAffection to 150>>
<<set $thalor_MarielAttraction to 100>>
<<set $thalor_LioraAffection to 30>>
<<set $thalor_LioraAttraction to 0>>
<<set $thalor_SerinAffection to 30>>
<<set $thalor_SerinAttraction to 0>>
<<set $thalor_SerykAffection to 0>>
<<set $thalor_SerykAttraction to -100>>
<<set $thalor_NimeriaAffection to 0>>
<<set $thalor_NimeriaAttraction to 0>>
/* Relationship Stats - Liora */
<<set $liora_RylanAffection to 150>>
<<set $liora_RylanAttraction to 50>>
<<set $liora_MarielAffection to 100>>
<<set $liora_MarielAttraction to 0>>
<<set $liora_ThalorAffection to 70>>
<<set $liora_ThalorAttraction to 0>>
<<set $liora_SerinAffection to 150>>
<<set $liora_SerinAttraction to 0>>
<<set $liora_SerykAffection to 0>>
<<set $liora_SerykAttraction to 0>>
<<set $liora_NimeriaAffection to 0>>
<<set $liora_NimeriaAttraction to 0>>
/* Relationship Stats - Serin */
<<set $serin_RylanAffection to 100>>
<<set $serin_RylanAttraction to 70>>
<<set $serin_MarielAffection to 70>>
<<set $serin_MarielAttraction to 0>>
<<set $serin_ThalorAffection to 70>>
<<set $serin_ThalorAttraction to 0>>
<<set $serin_LioraAffection to 100>>
<<set $serin_LioraAttraction to 0>>
<<set $serin_SerykAffection to 0>>
<<set $serin_SerykAttraction to 0>>
<<set $serin_NimeriaAffection to 0>>
<<set $serin_NimeriaAttraction to 0>>
/* Relationship Stats - Seryk */
<<set $seryk_RylanAffection to 0>>
<<set $seryk_RylanAttraction to 0>>
<<set $seryk_MarielAffection to 0>>
<<set $seryk_MarielAttraction to 0>>
<<set $seryk_ThalorAffection to 0>>
<<set $seryk_ThalorAttraction to 0>>
<<set $seryk_LioraAffection to 0>>
<<set $seryk_LioraAttraction to 0>>
<<set $seryk_SerinAffection to 0>>
<<set $seryk_SerinAttraction to 0>>
<<set $seryk_NimeriaAffection to 200>>
<<set $seryk_NimeriaAttraction to 0>>
/* Relationship Stats - Nimeria */
<<set $nimeria_RylanAffection to 0>>
<<set $nimeria_RylanAttraction to 0>>
<<set $nimeria_MarielAffection to 0>>
<<set $nimeria_MarielAttraction to 0>>
<<set $nimeria_ThalorAffection to 0>>
<<set $nimeria_ThalorAttraction to 0>>
<<set $nimeria_LioraAffection to 0>>
<<set $nimeria_LioraAttraction to 0>>
<<set $nimeria_SerinAffection to 0>>
<<set $nimeria_SerinAttraction to 0>>
<<set $nimeria_SerykAffection to 200>>
<<set $nimeria_SerykAttraction to 0>>
/* Rylan Stats */
<<set $rylan_corruption to 0>>
<<set $rylan_masculinity to 70>>
<<set $rylan_penisSize to 3>>
<<set $rylan_breastSize to 0>>
<<set $rylan_assSize to 0>>
<<set $rylan_cumAmount to 5>> /* in ml */
<<set $rylan_Lust to 0>>
<<set $rylan_wearingPanties to false>>
<<set $rylan_wearingSocks to false>>
/* Rylan Fetish Stats */
<<set $rylan_GayValue to 0>>
<<set $rylan_CumAddiction to 0>>
<<set $rylan_CumNeed to 0>>
<<set $rylan_FeetFetish to 0>>
<<set $rylan_ArmpitFetish to 0>>
<<set $rylan_SmellFetish to 0>>
<<set $rylan_SalivaFetish to 0>>
/* Rylan Sexual Experience */
<<set $rylan_sexualExperience to 0>>
<<set $rylan_basicExperience to 0>>
<<set $rylan_kissCount to 0>>
<<set $rylan_vaginalCount to 0>>
<<set $rylan_analDoneCount to 0>>
<<set $rylan_analTakenCount to 0>>
<<set $rylan_handjobDoneCount to 0>>
<<set $rylan_handjobTakenCount to 0>>
<<set $rylan_blowjobDoneCount to 0>>
<<set $rylan_blowjobTakenCount to 0>>
<<set $rylan_footjobDoneCount to 0>>
<<set $rylan_footjobTakenCount to 0>>
<<set $rylan_boobjobDoneCount to 0>>
<<set $rylan_boobjobTakenCount to 0>>
<<set $rylan_breastsGotTouched to 0>>
<<set $rylan_breastsTouchedOthers to 0>>
<<set $rylan_assGotTouched to 0>>
<<set $rylan_assTouchedOthers to 0>>
<<set $rylan_cumSwallowedAmount to 0>>
<<set $rylan_cumTakenInsideCount to 0>>
<<set $rylan_cumTakenInsideAmount to 0>>
<<set $rylan_cumOnBodyAmount to 0>>
<<set $rylan_masturbationCount to 0>>
/* Rylan Sensitivity Stats */
<<set $rylan_generalSensitivity to 100>> /* Base 100, can increase/decrease */
<<set $rylan_breastSensitivity to 100>>
<<set $rylan_nippleSensitivity to 100>>
<<set $rylan_penisSensitivity to 100>>
<<set $rylan_analSensitivity to 100>>
<<set $rylan_neckSensitivity to 100>>
<<set $rylan_earSensitivity to 100>>
<<set $rylan_pleasureGain to 100>> /* How much pleasure received */
/* Rylan Mind Control Stats */
<<set $rylan_mindControlResistance to 70>> /* Base resistance to mind control */
<<set $rylan_mindControlSusceptibility to 30>> /* How easily influenced */
<<set $rylan_mentalCorruption to 0>> /* Current mental corruption level */
<<set $rylan_mindBreakProgress to 0>> /* Progress towards mind break (0-100) */
<<set $rylan_suggestionReceptiveness to 30>> /* How well suggestions take hold */
/* Mariel Stats */
<<set $mariel_corruption to 0>>
<<set $mariel_breastSize to 4>>
<<set $mariel_assSize to 3>>
<<set $mariel_vaginaStretched to 2>>
<<set $mariel_Lust to 0>>
/* Mariel Fetish Stats */
<<set $mariel_LesbianValue to 0>>
<<set $mariel_CumAddiction to 0>>
<<set $mariel_CumNeed to 0>>
<<set $mariel_FeetFetish to 0>>
<<set $mariel_ArmpitFetish to 0>>
<<set $mariel_SmellFetish to 0>>
<<set $mariel_SalivaFetish to 0>>
/* Mariel Sexual Experience */
<<set $mariel_sexualExperience to 52>>
<<set $mariel_basicExperience to 39>>
<<set $mariel_kissCount to 39>>
<<set $mariel_vaginalCount to 13>>
<<set $mariel_analDoneCount to 0>>
<<set $mariel_analTakenCount to 0>>
<<set $mariel_handjobDoneCount to 0>>
<<set $mariel_handjobTakenCount to 0>>
<<set $mariel_blowjobDoneCount to 0>>
<<set $mariel_blowjobTakenCount to 0>>
<<set $mariel_footjobDoneCount to 0>>
<<set $mariel_footjobTakenCount to 0>>
<<set $mariel_boobjobDoneCount to 0>>
<<set $mariel_boobjobTakenCount to 0>>
<<set $mariel_breastsGotTouched to 0>>
<<set $mariel_breastsTouchedOthers to 0>>
<<set $mariel_assGotTouched to 0>>
<<set $mariel_assTouchedOthers to 0>>
<<set $mariel_cumSwallowedAmount to 0>>
<<set $mariel_cumTakenInsideCount to 13>>
<<set $mariel_cumTakenInsideAmount to 0>>
<<set $mariel_cumOnBodyAmount to 0>>
/* Mariel Body Stats */
<<set $mariel_breastSize to 5>>
<<set $mariel_assSize to 4>>
<<set $mariel_vaginaStretched to 1>>
/* Mariel Sensitivity Stats */
<<set $mariel_generalSensitivity to 100>>
<<set $mariel_breastSensitivity to 120>> /* Higher due to experience */
<<set $mariel_nippleSensitivity to 120>>
<<set $mariel_vaginaSensitivity to 120>>
<<set $mariel_analSensitivity to 100>>
<<set $mariel_neckSensitivity to 100>>
<<set $mariel_earSensitivity to 100>>
<<set $mariel_pleasureGain to 100>>
/* Mariel Mind Control Stats */
<<set $mariel_mindControlResistance to 80>> /* High due to ex-priestess background */
<<set $mariel_mindControlSusceptibility to 20>>
<<set $mariel_mentalCorruption to 0>>
<<set $mariel_mindBreakProgress to 0>>
<<set $mariel_suggestionReceptiveness to 20>>
/* Liora Stats */
<<set $liora_corruption to -10>>
<<set $liora_breastSize to 4>>
<<set $liora_assSize to 3>>
<<set $liora_vaginaStretched to 0>>
<<set $liora_Lust to 0>>
/* Liora Fetish Stats */
<<set $liora_LesbianValue to 0>>
<<set $liora_CumAddiction to 0>>
<<set $liora_CumNeed to 0>>
<<set $liora_FeetFetish to 0>>
<<set $liora_ArmpitFetish to 0>>
<<set $liora_SmellFetish to 0>>
<<set $liora_SalivaFetish to 0>>
/* Liora Sexual Experience */
<<set $liora_sexualExperience to 0>>
<<set $liora_basicExperience to 0>>
<<set $liora_kissCount to 0>>
<<set $liora_vaginalCount to 0>>
<<set $liora_analDoneCount to 0>>
<<set $liora_analTakenCount to 0>>
<<set $liora_handjobDoneCount to 0>>
<<set $liora_handjobTakenCount to 0>>
<<set $liora_blowjobDoneCount to 0>>
<<set $liora_blowjobTakenCount to 0>>
<<set $liora_footjobDoneCount to 0>>
<<set $liora_footjobTakenCount to 0>>
<<set $liora_boobjobDoneCount to 0>>
<<set $liora_boobjobTakenCount to 0>>
<<set $liora_breastsGotTouched to 0>>
<<set $liora_breastsTouchedOthers to 0>>
<<set $liora_assGotTouched to 0>>
<<set $liora_assTouchedOthers to 0>>
<<set $liora_cumSwallowedAmount to 0>>
<<set $liora_cumTakenInsideCount to 0>>
<<set $liora_cumTakenInsideAmount to 0>>
<<set $liora_cumOnBodyAmount to 0>>
/* Liora Sensitivity Stats */
<<set $liora_generalSensitivity to 100>>
<<set $liora_breastSensitivity to 100>>
<<set $liora_nippleSensitivity to 100>>
<<set $liora_vaginaSensitivity to 150>> /* Higher as virgin */
<<set $liora_analSensitivity to 100>>
<<set $liora_neckSensitivity to 100>>
<<set $liora_earSensitivity to 100>>
<<set $liora_pleasureGain to 120>> /* More sensitive overall */
/* Liora Mind Control Stats */
<<set $liora_mindControlResistance to 60>> /* Lower due to innocent nature */
<<set $liora_mindControlSusceptibility to 40>>
<<set $liora_mentalCorruption to 0>>
<<set $liora_mindBreakProgress to 0>>
<<set $liora_suggestionReceptiveness to 40>>
/* Serin Stats */
<<set $serin_corruption to 0>>
<<set $serin_breastSize to 1>>
<<set $serin_assSize to 1>>
<<set $serin_vaginaStretched to 0>>
<<set $serin_Lust to 0>>
/* Serin Fetish Stats */
<<set $serin_LesbianValue to 0>>
<<set $serin_CumAddiction to 0>>
<<set $serin_CumNeed to 0>>
<<set $serin_FeetFetish to 0>>
<<set $serin_ArmpitFetish to 0>>
<<set $serin_SmellFetish to 0>>
<<set $serin_SalivaFetish to 0>>
/* Serin Sexual Experience */
<<set $serin_sexualExperience to 0>>
<<set $serin_basicExperience to 0>>
<<set $serin_kissCount to 0>>
<<set $serin_vaginalCount to 0>>
<<set $serin_analDoneCount to 0>>
<<set $serin_analTakenCount to 0>>
<<set $serin_handjobDoneCount to 0>>
<<set $serin_handjobTakenCount to 0>>
<<set $serin_blowjobDoneCount to 0>>
<<set $serin_blowjobTakenCount to 0>>
<<set $serin_footjobDoneCount to 0>>
<<set $serin_footjobTakenCount to 0>>
<<set $serin_boobjobDoneCount to 0>>
<<set $serin_boobjobTakenCount to 0>>
<<set $serin_breastsGotTouched to 0>>
<<set $serin_breastsTouchedOthers to 0>>
<<set $serin_assGotTouched to 0>>
<<set $serin_assTouchedOthers to 0>>
<<set $serin_cumSwallowedAmount to 0>>
<<set $serin_cumTakenInsideCount to 0>>
<<set $serin_cumTakenInsideAmount to 0>>
<<set $serin_cumOnBodyAmount to 0>>
/* Serin Body Stats */
<<set $serin_breastSize to 1>>
<<set $serin_assSize to 2>>
<<set $serin_muscleDefinition to 4>>
<<set $serin_height to 165>>
<<set $serin_bodyType to "Athletic">>
/* Serin Sensitivity Stats */
<<set $serin_generalSensitivity to 100>>
<<set $serin_breastSensitivity to 100>>
<<set $serin_nippleSensitivity to 100>>
<<set $serin_vaginaSensitivity to 130>>
<<set $serin_analSensitivity to 100>>
<<set $serin_neckSensitivity to 100>>
<<set $serin_earSensitivity to 100>>
<<set $serin_pleasureGain to 110>>
/* Serin Mind Control Stats */
<<set $serin_mindControlResistance to 75>> /* High due to strong personality */
<<set $serin_mindControlSusceptibility to 25>>
<<set $serin_mentalCorruption to 0>>
<<set $serin_mindBreakProgress to 0>>
<<set $serin_suggestionReceptiveness to 25>>
/* Thalor Stats */
<<set $thalor_corruption to 0>>
<<set $thalor_masculinity to 70>>
<<set $thalor_penisSize to 17>>
<<set $thalor_breastSize to 0>>
<<set $thalor_assSize to 0>>
<<set $thalor_cumAmount to 5>> /* in ml */
<<set $thalor_Lust to 0>>
/* Thalor Fetish Stats */
<<set $thalor_GayValue to 0>>
<<set $thalor_CumAddiction to 0>>
<<set $thalor_CumNeed to 0>>
<<set $thalor_FeetFetish to 0>>
<<set $thalor_ArmpitFetish to 0>>
<<set $thalor_SmellFetish to 0>>
<<set $thalor_SalivaFetish to 0>>
<<set $thalor_BreastFetish to 0>>
<<set $thalor_AssFetish to 0>>
<<set $thalor_PenisFetish to 0>>
<<set $thalor_VaginaFetish to 0>>
<<set $thalor_ThighFetish to 0>>
<<set $thalor_MuscleFetish to 0>>
<<set $thalor_SweatFetish to 0>>
<<set $thalor_SubmissionFetish to 0>>
<<set $thalor_DominanceFetish to 0>>
<<set $thalor_ExhibitionismFetish to 0>>
<<set $thalor_VoyeurismFetish to 0>>
<<set $thalor_BondageFetish to 0>>
<<set $thalor_CrossdressingFetish to 0>>
/* Thalor Sexual Experience */
<<set $thalor_sexualExperience to 52>>
<<set $thalor_basicExperience to 39>>
<<set $thalor_kissCount to 39>>
<<set $thalor_vaginalCount to 13>>
<<set $thalor_analDoneCount to 0>>
<<set $thalor_analTakenCount to 0>>
<<set $thalor_handjobDoneCount to 0>>
<<set $thalor_handjobTakenCount to 0>>
<<set $thalor_blowjobDoneCount to 0>>
<<set $thalor_blowjobTakenCount to 0>>
<<set $thalor_footjobDoneCount to 0>>
<<set $thalor_footjobTakenCount to 0>>
<<set $thalor_boobjobDoneCount to 0>>
<<set $thalor_boobjobTakenCount to 0>>
<<set $thalor_breastsGotTouched to 0>>
<<set $thalor_breastsTouchedOthers to 0>>
<<set $thalor_assGotTouched to 0>>
<<set $thalor_assTouchedOthers to 0>>
<<set $thalor_cumSwallowedAmount to 0>>
<<set $thalor_cumTakenInsideCount to 0>>
<<set $thalor_cumTakenInsideAmount to 0>>
<<set $thalor_cumOnBodyAmount to 0>>
/* Thalor Sensitivity Stats */
<<set $thalor_generalSensitivity to 100>>
<<set $thalor_breastSensitivity to 100>>
<<set $thalor_nippleSensitivity to 100>>
<<set $thalor_penisSensitivity to 100>>
<<set $thalor_analSensitivity to 100>>
<<set $thalor_neckSensitivity to 100>>
<<set $thalor_earSensitivity to 100>>
<<set $thalor_pleasureGain to 100>>
/* Thalor Mind Control Stats */
<<set $thalor_mindControlResistance to 90>> /* Very high due to strong will */
<<set $thalor_mindControlSusceptibility to 10>>
<<set $thalor_mentalCorruption to 0>>
<<set $thalor_mindBreakProgress to 0>>
<<set $thalor_suggestionReceptiveness to 10>>
/* Seryk Stats */
<<set $seryk_penisSize to 6>>
<<set $seryk_cumAmount to 15>> /* in ml */
<<set $seryk_Lust to 0>>
/* Seryk Fetish Stats */
<<set $seryk_GayValue to 0>>
<<set $seryk_CumAddiction to 0>>
<<set $seryk_CumNeed to 0>>
<<set $seryk_FeetFetish to 0>>
<<set $seryk_ArmpitFetish to 0>>
<<set $seryk_SmellFetish to 0>>
<<set $seryk_SalivaFetish to 0>>
/* Seryk Sexual Experience */
<<set $seryk_sexualExperience to 0>>
<<set $seryk_basicExperience to 0>>
<<set $seryk_kissCount to 0>>
<<set $seryk_vaginalCount to 0>>
<<set $seryk_analDoneCount to 0>>
<<set $seryk_analTakenCount to 0>>
<<set $seryk_handjobDoneCount to 0>>
<<set $seryk_handjobTakenCount to 0>>
<<set $seryk_blowjobDoneCount to 0>>
<<set $seryk_blowjobTakenCount to 0>>
<<set $seryk_footjobDoneCount to 0>>
<<set $seryk_footjobTakenCount to 0>>
<<set $seryk_boobjobDoneCount to 0>>
<<set $seryk_boobjobTakenCount to 0>>
<<set $seryk_breastsGotTouched to 0>>
<<set $seryk_breastsTouchedOthers to 0>>
<<set $seryk_assGotTouched to 0>>
<<set $seryk_assTouchedOthers to 0>>
<<set $seryk_cumSwallowedAmount to 0>>
<<set $seryk_cumTakenInsideCount to 0>>
<<set $seryk_cumTakenInsideAmount to 0>>
<<set $seryk_cumOnBodyAmount to 0>>
/* Seryk Additional Experience Variables */
<<set $seryk_masturbationCount to 0>>
<<set $seryk_masturbatedExperience to 0>>
<<set $seryk_kissExperience to 0>>
<<set $seryk_vaginalExperience to 0>>
<<set $seryk_analExperience to 0>>
<<set $seryk_oralExperience to 0>>
<<set $seryk_combatExperience to 0>>
<<set $seryk_Confidence to 85>>
<<set $seryk_masculinity to 90>>
/* Seryk Sensitivity Stats */
<<set $seryk_generalSensitivity to 100>>
<<set $seryk_breastSensitivity to 100>>
<<set $seryk_nippleSensitivity to 100>>
<<set $seryk_vaginaSensitivity to 100>>
<<set $seryk_analSensitivity to 100>>
<<set $seryk_neckSensitivity to 100>>
<<set $seryk_earSensitivity to 100>>
<<set $seryk_pleasureGain to 100>>
/* Seryk Soul Stats */
<<set $seryk_soulCorruptionLevel to 0>>
<<set $seryk_soulBlessingLevel to 0>>
<<set $seryk_unspentCorruptionPoints to 0>>
<<set $seryk_unspentBlessingPoints to 0>>
<<set $seryk_soulstones to 0>>
<<set $seryk_chargedSoulstones to 0>>
/* Seryk Combat Stats */
<<set $seryk_physicalPower to 16>>
<<set $seryk_agility to 12>>
<<set $seryk_willpower to 13>>
<<set $seryk_technique to 11>>
<<set $seryk_stamina to 120>>
<<set $seryk_focus to 11>>
<<set $seryk_maxHealth to 120>>
<<set $seryk_currentHealth to 120>>
<<set $seryk_maxStamina to 120>>
<<set $seryk_currentStamina to 120>>
<<set $seryk_maxFocus to 110>>
<<set $seryk_currentFocus to 110>>
<<set $seryk_combatExp to 0>>
<<set $seryk_combatLevel to 1>>
/* Seryk Demon Stats */
<<set $seryk_cumPower to 120>> /* Base power of cum for addiction/corruption */
<<set $seryk_cumPotency to 120>> /* How addictive/corrupting the cum is */
<<set $seryk_cumRegenerationRate to 5>> /* ml per hour */
<<set $seryk_maxCumStorage to 50>> /* ml */
<<set $seryk_pleasureGive to 120>> /* How much pleasure given to partners */
<<set $seryk_corruptionAura to 10>> /* Passive corruption influence */
/* Nimeria Stats */
<<set $nimeria_breastSize to 1>>
<<set $nimeria_assSize to 1>>
<<set $nimeria_vaginaStretched to 0>>
<<set $nimeria_Lust to 0>>
/* Nimeria Fetish Stats */
<<set $nimeria_LesbianValue to 0>>
<<set $nimeria_CumAddiction to 0>>
<<set $nimeria_CumNeed to 0>>
<<set $nimeria_FeetFetish to 0>>
<<set $nimeria_ArmpitFetish to 0>>
<<set $nimeria_SmellFetish to 0>>
<<set $nimeria_SalivaFetish to 0>>
/* Nimeria Sexual Experience */
<<set $nimeria_sexualExperience to 0>>
<<set $nimeria_basicExperience to 0>>
<<set $nimeria_kissCount to 0>>
<<set $nimeria_vaginalCount to 0>>
<<set $nimeria_analDoneCount to 0>>
<<set $nimeria_analTakenCount to 0>>
<<set $nimeria_handjobDoneCount to 0>>
<<set $nimeria_handjobTakenCount to 0>>
<<set $nimeria_blowjobDoneCount to 0>>
<<set $nimeria_blowjobTakenCount to 0>>
<<set $nimeria_footjobDoneCount to 0>>
<<set $nimeria_footjobTakenCount to 0>>
<<set $nimeria_boobjobDoneCount to 0>>
<<set $nimeria_boobjobTakenCount to 0>>
<<set $nimeria_breastsGotTouched to 0>>
<<set $nimeria_breastsTouchedOthers to 0>>
<<set $nimeria_assGotTouched to 0>>
<<set $nimeria_assTouchedOthers to 0>>
<<set $nimeria_cumSwallowedAmount to 0>>
<<set $nimeria_cumTakenInsideCount to 0>>
<<set $nimeria_cumTakenInsideAmount to 0>>
<<set $nimeria_cumOnBodyAmount to 0>>
/* Nimeria Sensitivity Stats */
<<set $nimeria_generalSensitivity to 100>>
<<set $nimeria_breastSensitivity to 100>>
<<set $nimeria_nippleSensitivity to 100>>
<<set $nimeria_vaginaSensitivity to 100>>
<<set $nimeria_analSensitivity to 100>>
<<set $nimeria_neckSensitivity to 100>>
<<set $nimeria_earSensitivity to 100>>
<<set $nimeria_pleasureGain to 100>>
/* Nimeria Soul Stats */
<<set $nimeria_soulCorruptionLevel to 0>>
<<set $nimeria_soulBlessingLevel to 0>>
<<set $nimeria_unspentCorruptionPoints to 0>>
<<set $nimeria_unspentBlessingPoints to 0>>
<<set $nimeria_soulstones to 0>>
<<set $nimeria_chargedSoulstones to 0>>
/* Nimeria Combat Stats */
<<set $nimeria_physicalPower to 10>>
<<set $nimeria_agility to 13>>
<<set $nimeria_willpower to 16>>
<<set $nimeria_technique to 15>>
<<set $nimeria_stamina to 100>>
<<set $nimeria_focus to 14>>
<<set $nimeria_maxHealth to 100>>
<<set $nimeria_currentHealth to 100>>
<<set $nimeria_maxStamina to 100>>
<<set $nimeria_currentStamina to 100>>
<<set $nimeria_maxFocus to 140>>
<<set $nimeria_currentFocus to 140>>
<<set $nimeria_combatExp to 0>>
<<set $nimeria_combatLevel to 1>>
/* Nimeria Sexual Experience */
<<set $nimeria_kissCount to 0>>
<<set $nimeria_vaginalCount to 0>>
<<set $nimeria_cumOnBodyAmount to 0>> /* in ml */
<<set $nimeria_analDoneCount to 0>>
<<set $nimeria_analTakenCount to 0>>
<<set $nimeria_handjobDoneCount to 0>>
<<set $nimeria_handjobTakenCount to 0>>
<<set $nimeria_footjobDoneCount to 0>>
<<set $nimeria_footjobTakenCount to 0>>
<<set $nimeria_blowjobDoneCount to 0>>
<<set $nimeria_blowjobTakenCount to 0>>
<<set $nimeria_boobjobDoneCount to 0>>
<<set $nimeria_boobjobTakenCount to 0>>
<<set $nimeria_breastsGotTouched to 0>>
<<set $nimeria_breastsTouchedOthers to 0>>
<<set $nimeria_assGotTouched to 0>>
<<set $nimeria_assTouchedOthers to 0>>
<<set $nimeria_cumSwallowedAmount to 0>>
<<set $nimeria_cumTakenInsideCount to 0>>
<<set $nimeria_cumTakenInsideAmount to 0>>
<<set $nimeria_cumOnBodyAmount to 0>>
/* Nimeria Demon Stats */
<<set $nimeria_scentPower to 120>> /* Power of pheromones */
<<set $nimeria_scentRange to 5>> /* How far scent reaches in meters */
<<set $nimeria_fluidPotency to 120>> /* How powerful her fluids are */
<<set $nimeria_pleasureGive to 130>> /* How much pleasure given to partners */
<<set $nimeria_corruptionAura to 15>> /* Passive corruption influence */
<<set $nimeria_charmPower to 120>> /* Power of charm abilities */
/* Rylan Body Stats */
<<set $rylan_muscleDefinition to 3>>
<<set $rylan_height to 180>>
<<set $rylan_penisSize to 3>>
<<set $rylan_bodyType to "Athletic">>
/* Wardrobe State */
<<set $rylan_Clothes to "Default">>
<<set $rylan_Sleepwear to "Default">>
<<set $rylan_Bra to "None">>
<<set $rylan_Panties to "None">>
<<set $rylan_Legwear to "Default">>
<<set $rylan_Shoes to "Default">>
/* Resonance System Variables */
<<set $rylan_resonancePhysicalPower to 0>>
<<set $rylan_resonanceAgility to 0>>
<<set $rylan_resonanceWillpower to 0>>
<<set $rylan_resonanceTechnique to 0>>
<<set $rylan_resonanceFocus to 0>>
<<set $liora_resonancePhysicalPower to 0>>
<<set $liora_resonanceAgility to 0>>
<<set $liora_resonanceWillpower to 0>>
<<set $liora_resonanceTechnique to 0>>
<<set $liora_resonanceFocus to 0>>
<<set $serin_resonancePhysicalPower to 0>>
<<set $serin_resonanceAgility to 0>>
<<set $serin_resonanceWillpower to 0>>
<<set $serin_resonanceTechnique to 0>>
<<set $serin_resonanceFocus to 0>>
<<set $mariel_resonancePhysicalPower to 0>>
<<set $mariel_resonanceAgility to 0>>
<<set $mariel_resonanceWillpower to 0>>
<<set $mariel_resonanceTechnique to 0>>
<<set $mariel_resonanceFocus to 0>>
<<set $thalor_resonancePhysicalPower to 0>>
<<set $thalor_resonanceAgility to 0>>
<<set $thalor_resonanceWillpower to 0>>
<<set $thalor_resonanceTechnique to 0>>
<<set $thalor_resonanceFocus to 0>>
<<set $seryk_resonancePhysicalPower to 0>>
<<set $seryk_resonanceAgility to 0>>
<<set $seryk_resonanceWillpower to 0>>
<<set $seryk_resonanceTechnique to 0>>
<<set $seryk_resonanceFocus to 0>>
<<set $nimeria_resonancePhysicalPower to 0>>
<<set $nimeria_resonanceAgility to 0>>
<<set $nimeria_resonanceWillpower to 0>>
<<set $nimeria_resonanceTechnique to 0>>
<<set $nimeria_resonanceFocus to 0>>
/* Story Flags */
<<set $perspective to "ntr">> /* Can be "ntr" or "netori" */
/* Rylan-Mariel Relationship */
<<set $rylan_MarielOrgasmsGiven to 0>>
<<set $rylan_MarielOrgasmsReceived to 0>>
/* Rylan-Liora Relationship */
<<set $rylan_LioraOrgasmsGiven to 0>>
<<set $rylan_LioraOrgasmsReceived to 0>>
/* Rylan-Serin Relationship */
<<set $rylan_SerinOrgasmsGiven to 0>>
<<set $rylan_SerinOrgasmsReceived to 0>>
/* Rylan-Seryk Relationship */
<<set $rylan_SerykOrgasmsGiven to 0>>
<<set $rylan_SerykOrgasmsReceived to 0>>
/* Rylan-Nimeria Relationship */
<<set $rylan_NimeriaOrgasmsGiven to 0>>
<<set $rylan_NimeriaOrgasmsReceived to 0>>
/* Mariel-Thalor Relationship */
<<set $mariel_ThalorOrgasmsGiven to 13>>
<<set $mariel_ThalorOrgasmsReceived to 0>>
/* Relationship Variables */
/* Mariel's Sexual Stats with Rylan */
<<set $mariel_RylanKissCount to 0>>
<<set $mariel_RylanVaginalCount to 0>>
<<set $mariel_RylanAnalCount to 0>>
<<set $mariel_RylanAnalTakenCount to 0>>
<<set $mariel_RylanHandjobCount to 0>>
<<set $mariel_RylanHandjobTakenCount to 0>>
<<set $mariel_RylanBlowjobCount to 0>>
<<set $mariel_RylanBlowjobTakenCount to 0>>
<<set $mariel_RylanFootjobCount to 0>>
<<set $mariel_RylanFootjobTakenCount to 0>>
<<set $mariel_RylanBoobJobCount to 0>>
<<set $mariel_RylanBoobJobTakenCount to 0>>
<<set $mariel_RylanBreastsTouchedCount to 0>>
<<set $mariel_RylanBreastsTouchedByCount to 0>>
<<set $mariel_RylanAssTouchedCount to 0>>
<<set $mariel_RylanAssTouchedByCount to 0>>
<<set $mariel_RylanCumInsideAmount to 0>>
<<set $mariel_RylanCumSwallowedAmount to 0>>
<<set $mariel_RylanCumInsideCount to 0>>
<<set $mariel_RylanCumSwallowedMl to 0>>
<<set $mariel_RylanCumOnBodyMl to 0>>
<<set $mariel_RylanOrgasmsGiven to 0>>
<<set $mariel_RylanOrgasmsReceived to 0>>
/* Mariel's Sexual Stats with Thalor */
<<set $mariel_ThalorKissCount to 0>>
<<set $mariel_ThalorVaginalCount to 0>>
<<set $mariel_ThalorAnalCount to 0>>
<<set $mariel_ThalorAnalTakenCount to 0>>
<<set $mariel_ThalorHandjobCount to 0>>
<<set $mariel_ThalorHandjobTakenCount to 0>>
<<set $mariel_ThalorBlowjobCount to 0>>
<<set $mariel_ThalorBlowjobTakenCount to 0>>
<<set $mariel_ThalorFootjobCount to 0>>
<<set $mariel_ThalorFootjobTakenCount to 0>>
<<set $mariel_ThalorBoobJobCount to 0>>
<<set $mariel_ThalorBoobJobTakenCount to 0>>
<<set $mariel_ThalorBreastsTouchedCount to 0>>
<<set $mariel_ThalorBreastsTouchedByCount to 0>>
<<set $mariel_ThalorAssTouchedCount to 0>>
<<set $mariel_ThalorAssTouchedByCount to 0>>
<<set $mariel_ThalorCumInsideCount to 0>>
<<set $mariel_ThalorCumSwallowedMl to 0>>
<<set $mariel_ThalorCumOnBodyMl to 0>>
/* Mariel's Sexual Stats with Liora */
<<set $mariel_LioraKissCount to 0>>
<<set $mariel_LioraVaginalCount to 0>>
<<set $mariel_LioraAnalCount to 0>>
<<set $mariel_LioraAnalTakenCount to 0>>
<<set $mariel_LioraHandjobCount to 0>>
<<set $mariel_LioraHandjobTakenCount to 0>>
<<set $mariel_LioraBlowjobCount to 0>>
<<set $mariel_LioraBlowjobTakenCount to 0>>
<<set $mariel_LioraFootjobCount to 0>>
<<set $mariel_LioraFootjobTakenCount to 0>>
<<set $mariel_LioraBoobJobCount to 0>>
<<set $mariel_LioraBoobJobTakenCount to 0>>
<<set $mariel_LioraBreastsTouchedCount to 0>>
<<set $mariel_LioraBreastsTouchedByCount to 0>>
<<set $mariel_LioraAssTouchedCount to 0>>
<<set $mariel_LioraAssTouchedByCount to 0>>
<<set $mariel_LioraCumInsideCount to 0>>
<<set $mariel_LioraCumSwallowedMl to 0>>
<<set $mariel_LioraCumOnBodyMl to 0>>
/* Mariel's Sexual Stats with Serin */
<<set $mariel_SerinKissCount to 0>>
<<set $mariel_SerinVaginalCount to 0>>
<<set $mariel_SerinAnalCount to 0>>
<<set $mariel_SerinAnalTakenCount to 0>>
<<set $mariel_SerinHandjobCount to 0>>
<<set $mariel_SerinHandjobTakenCount to 0>>
<<set $mariel_SerinBlowjobCount to 0>>
<<set $mariel_SerinBlowjobTakenCount to 0>>
<<set $mariel_SerinFootjobCount to 0>>
<<set $mariel_SerinFootjobTakenCount to 0>>
<<set $mariel_SerinBoobJobCount to 0>>
<<set $mariel_SerinBoobJobTakenCount to 0>>
<<set $mariel_SerinBreastsTouchedCount to 0>>
<<set $mariel_SerinBreastsTouchedByCount to 0>>
<<set $mariel_SerinAssTouchedCount to 0>>
<<set $mariel_SerinAssTouchedByCount to 0>>
<<set $mariel_SerinCumInsideCount to 0>>
<<set $mariel_SerinCumSwallowedMl to 0>>
<<set $mariel_SerinCumOnBodyMl to 0>>
/* Liora's Sexual Stats with Rylan */
<<set $liora_RylanKissCount to 0>>
<<set $liora_RylanVaginalCount to 0>>
<<set $liora_RylanAnalCount to 0>>
<<set $liora_RylanAnalTakenCount to 0>>
<<set $liora_RylanHandjobCount to 0>>
<<set $liora_RylanHandjobTakenCount to 0>>
<<set $liora_RylanBlowjobCount to 0>>
<<set $liora_RylanBlowjobTakenCount to 0>>
<<set $liora_RylanFootjobCount to 0>>
<<set $liora_RylanFootjobTakenCount to 0>>
<<set $liora_RylanBoobJobCount to 0>>
<<set $liora_RylanBoobJobTakenCount to 0>>
<<set $liora_RylanBreastsTouchedCount to 0>>
<<set $liora_RylanBreastsTouchedByCount to 0>>
<<set $liora_RylanAssTouchedCount to 0>>
<<set $liora_RylanAssTouchedByCount to 0>>
<<set $liora_RylanCumInsideCount to 0>>
<<set $liora_RylanCumSwallowedMl to 0>>
<<set $liora_RylanCumOnBodyMl to 0>>
/* Liora's Sexual Stats with Serin */
<<set $liora_SerinKissCount to 0>>
<<set $liora_SerinVaginalCount to 0>>
<<set $liora_SerinAnalCount to 0>>
<<set $liora_SerinAnalTakenCount to 0>>
<<set $liora_SerinHandjobCount to 0>>
<<set $liora_SerinHandjobTakenCount to 0>>
<<set $liora_SerinBlowjobCount to 0>>
<<set $liora_SerinBlowjobTakenCount to 0>>
<<set $liora_SerinFootjobCount to 0>>
<<set $liora_SerinFootjobTakenCount to 0>>
<<set $liora_SerinBoobJobCount to 0>>
<<set $liora_SerinBoobJobTakenCount to 0>>
<<set $liora_SerinBreastsTouchedCount to 0>>
<<set $liora_SerinBreastsTouchedByCount to 0>>
<<set $liora_SerinAssTouchedCount to 0>>
<<set $liora_SerinAssTouchedByCount to 0>>
<<set $liora_SerinCumInsideCount to 0>>
<<set $liora_SerinCumSwallowedMl to 0>>
<<set $liora_SerinCumOnBodyMl to 0>>
/* Serin's Sexual Stats with Rylan */
<<set $serin_RylanKissCount to 0>>
<<set $serin_RylanVaginalCount to 0>>
<<set $serin_RylanAnalCount to 0>>
<<set $serin_RylanAnalTakenCount to 0>>
<<set $serin_RylanHandjobCount to 0>>
<<set $serin_RylanHandjobTakenCount to 0>>
<<set $serin_RylanBlowjobCount to 0>>
<<set $serin_RylanBlowjobTakenCount to 0>>
<<set $serin_RylanFootjobCount to 0>>
<<set $serin_RylanFootjobTakenCount to 0>>
<<set $serin_RylanBoobJobCount to 0>>
<<set $serin_RylanBoobJobTakenCount to 0>>
<<set $serin_RylanBreastsTouchedCount to 0>>
<<set $serin_RylanBreastsTouchedByCount to 0>>
<<set $serin_RylanAssTouchedCount to 0>>
<<set $serin_RylanAssTouchedByCount to 0>>
<<set $serin_RylanCumInsideCount to 0>>
<<set $serin_RylanCumSwallowedMl to 0>>
<<set $serin_RylanCumOnBodyMl to 0>>
/* Seryk's Sexual Stats with Rylan */
<<set $seryk_RylanKissCount to 0>>
<<set $seryk_RylanVaginalCount to 0>>
<<set $seryk_RylanAnalCount to 0>>
<<set $seryk_RylanAnalTakenCount to 0>>
<<set $seryk_RylanHandjobCount to 0>>
<<set $seryk_RylanHandjobTakenCount to 0>>
<<set $seryk_RylanBlowjobCount to 0>>
<<set $seryk_RylanBlowjobTakenCount to 0>>
<<set $seryk_RylanFootjobCount to 0>>
<<set $seryk_RylanFootjobTakenCount to 0>>
<<set $seryk_RylanBoobJobCount to 0>>
<<set $seryk_RylanBoobJobTakenCount to 0>>
<<set $seryk_RylanBreastsTouchedCount to 0>>
<<set $seryk_RylanBreastsTouchedByCount to 0>>
<<set $seryk_RylanAssTouchedCount to 0>>
<<set $seryk_RylanAssTouchedByCount to 0>>
<<set $seryk_RylanCumInsideCount to 0>>
<<set $seryk_RylanCumSwallowedMl to 0>>
<<set $seryk_RylanCumOnBodyMl to 0>>
/* Seryk's Sexual Stats with Mariel */
<<set $seryk_MarielKissCount to 0>>
<<set $seryk_MarielVaginalCount to 0>>
<<set $seryk_MarielAnalCount to 0>>
<<set $seryk_MarielAnalTakenCount to 0>>
<<set $seryk_MarielHandjobCount to 0>>
<<set $seryk_MarielHandjobTakenCount to 0>>
<<set $seryk_MarielBlowjobCount to 0>>
<<set $seryk_MarielBlowjobTakenCount to 0>>
<<set $seryk_MarielFootjobCount to 0>>
<<set $seryk_MarielFootjobTakenCount to 0>>
<<set $seryk_MarielBoobJobCount to 0>>
<<set $seryk_MarielBoobJobTakenCount to 0>>
<<set $seryk_MarielBreastsTouchedCount to 0>>
<<set $seryk_MarielBreastsTouchedByCount to 0>>
<<set $seryk_MarielAssTouchedCount to 0>>
<<set $seryk_MarielAssTouchedByCount to 0>>
<<set $seryk_MarielCumInsideCount to 0>>
<<set $seryk_MarielCumSwallowedMl to 0>>
<<set $seryk_MarielCumOnBodyMl to 0>>
/* Seryk's Sexual Stats with Thalor */
<<set $seryk_ThalorKissCount to 0>>
<<set $seryk_ThalorVaginalCount to 0>>
<<set $seryk_ThalorAnalCount to 0>>
<<set $seryk_ThalorAnalTakenCount to 0>>
<<set $seryk_ThalorHandjobCount to 0>>
<<set $seryk_ThalorHandjobTakenCount to 0>>
<<set $seryk_ThalorBlowjobCount to 0>>
<<set $seryk_ThalorBlowjobTakenCount to 0>>
<<set $seryk_ThalorFootjobCount to 0>>
<<set $seryk_ThalorFootjobTakenCount to 0>>
<<set $seryk_ThalorBoobJobCount to 0>>
<<set $seryk_ThalorBoobJobTakenCount to 0>>
<<set $seryk_ThalorBreastsTouchedCount to 0>>
<<set $seryk_ThalorBreastsTouchedByCount to 0>>
<<set $seryk_ThalorAssTouchedCount to 0>>
<<set $seryk_ThalorAssTouchedByCount to 0>>
<<set $seryk_ThalorCumInsideCount to 0>>
<<set $seryk_ThalorCumSwallowedMl to 0>>
<<set $seryk_ThalorCumOnBodyMl to 0>>
/* Seryk's Sexual Stats with Liora */
<<set $seryk_LioraKissCount to 0>>
<<set $seryk_LioraVaginalCount to 0>>
<<set $seryk_LioraAnalCount to 0>>
<<set $seryk_LioraAnalTakenCount to 0>>
<<set $seryk_LioraHandjobCount to 0>>
<<set $seryk_LioraHandjobTakenCount to 0>>
<<set $seryk_LioraBlowjobCount to 0>>
<<set $seryk_LioraBlowjobTakenCount to 0>>
<<set $seryk_LioraFootjobCount to 0>>
<<set $seryk_LioraFootjobTakenCount to 0>>
<<set $seryk_LioraBoobJobCount to 0>>
<<set $seryk_LioraBoobJobTakenCount to 0>>
<<set $seryk_LioraBreastsTouchedCount to 0>>
<<set $seryk_LioraBreastsTouchedByCount to 0>>
<<set $seryk_LioraAssTouchedCount to 0>>
<<set $seryk_LioraAssTouchedByCount to 0>>
<<set $seryk_LioraCumInsideCount to 0>>
<<set $seryk_LioraCumSwallowedMl to 0>>
<<set $seryk_LioraCumOnBodyMl to 0>>
/* Seryk's Sexual Stats with Serin */
<<set $seryk_SerinKissCount to 0>>
<<set $seryk_SerinVaginalCount to 0>>
<<set $seryk_SerinAnalCount to 0>>
<<set $seryk_SerinAnalTakenCount to 0>>
<<set $seryk_SerinHandjobCount to 0>>
<<set $seryk_SerinHandjobTakenCount to 0>>
<<set $seryk_SerinBlowjobCount to 0>>
<<set $seryk_SerinBlowjobTakenCount to 0>>
<<set $seryk_SerinFootjobCount to 0>>
<<set $seryk_SerinFootjobTakenCount to 0>>
<<set $seryk_SerinBoobJobCount to 0>>
<<set $seryk_SerinBoobJobTakenCount to 0>>
<<set $seryk_SerinBreastsTouchedCount to 0>>
<<set $seryk_SerinBreastsTouchedByCount to 0>>
<<set $seryk_SerinAssTouchedCount to 0>>
<<set $seryk_SerinAssTouchedByCount to 0>>
<<set $seryk_SerinCumInsideCount to 0>>
<<set $seryk_SerinCumSwallowedMl to 0>>
<<set $seryk_SerinCumOnBodyMl to 0>>
/* Nimeria's Sexual Stats with Rylan */
<<set $Nimeria_RylanKissCount to 0>>
<<set $Nimeria_RylanVaginalCount to 0>>
<<set $Nimeria_RylanAnalCount to 0>>
<<set $Nimeria_RylanAnalTakenCount to 0>>
<<set $Nimeria_RylanHandjobCount to 0>>
<<set $Nimeria_RylanHandjobTakenCount to 0>>
<<set $Nimeria_RylanBlowjobCount to 0>>
<<set $Nimeria_RylanBlowjobTakenCount to 0>>
<<set $Nimeria_RylanFootjobCount to 0>>
<<set $Nimeria_RylanFootjobTakenCount to 0>>
<<set $Nimeria_RylanBoobJobCount to 0>>
<<set $Nimeria_RylanBoobJobTakenCount to 0>>
<<set $Nimeria_RylanBreastsTouchedCount to 0>>
<<set $Nimeria_RylanBreastsTouchedByCount to 0>>
<<set $Nimeria_RylanAssTouchedCount to 0>>
<<set $Nimeria_RylanAssTouchedByCount to 0>>
<<set $Nimeria_RylanCumInsideCount to 0>>
<<set $Nimeria_RylanCumSwallowedMl to 0>>
<<set $Nimeria_RylanCumOnBodyMl to 0>>
/* Nimeria's Sexual Stats with Mariel */
<<set $Nimeria_MarielKissCount to 0>>
<<set $Nimeria_MarielVaginalCount to 0>>
<<set $Nimeria_MarielAnalCount to 0>>
<<set $Nimeria_MarielAnalTakenCount to 0>>
<<set $Nimeria_MarielHandjobCount to 0>>
<<set $Nimeria_MarielHandjobTakenCount to 0>>
<<set $Nimeria_MarielBlowjobCount to 0>>
<<set $Nimeria_MarielBlowjobTakenCount to 0>>
<<set $Nimeria_MarielFootjobCount to 0>>
<<set $Nimeria_MarielFootjobTakenCount to 0>>
<<set $Nimeria_MarielBoobJobCount to 0>>
<<set $Nimeria_MarielBoobJobTakenCount to 0>>
<<set $Nimeria_MarielBreastsTouchedCount to 0>>
<<set $Nimeria_MarielBreastsTouchedByCount to 0>>
<<set $Nimeria_MarielAssTouchedCount to 0>>
<<set $Nimeria_MarielAssTouchedByCount to 0>>
<<set $Nimeria_MarielCumInsideCount to 0>>
<<set $Nimeria_MarielCumSwallowedMl to 0>>
<<set $Nimeria_MarielCumOnBodyMl to 0>>
/* Nimeria's Sexual Stats with Thalor */
<<set $Nimeria_ThalorKissCount to 0>>
<<set $Nimeria_ThalorVaginalCount to 0>>
<<set $Nimeria_ThalorAnalCount to 0>>
<<set $Nimeria_ThalorAnalTakenCount to 0>>
<<set $Nimeria_ThalorHandjobCount to 0>>
<<set $Nimeria_ThalorHandjobTakenCount to 0>>
<<set $Nimeria_ThalorBlowjobCount to 0>>
<<set $Nimeria_ThalorBlowjobTakenCount to 0>>
<<set $Nimeria_ThalorFootjobCount to 0>>
<<set $Nimeria_ThalorFootjobTakenCount to 0>>
<<set $Nimeria_ThalorBoobJobCount to 0>>
<<set $Nimeria_ThalorBoobJobTakenCount to 0>>
<<set $Nimeria_ThalorBreastsTouchedCount to 0>>
<<set $Nimeria_ThalorBreastsTouchedByCount to 0>>
<<set $Nimeria_ThalorAssTouchedCount to 0>>
<<set $Nimeria_ThalorAssTouchedByCount to 0>>
<<set $Nimeria_ThalorCumInsideCount to 0>>
<<set $Nimeria_ThalorCumSwallowedMl to 0>>
<<set $Nimeria_ThalorCumOnBodyMl to 0>>
/* Nimeria's Sexual Stats with Liora */
<<set $Nimeria_LioraKissCount to 0>>
<<set $Nimeria_LioraVaginalCount to 0>>
<<set $Nimeria_LioraAnalCount to 0>>
<<set $Nimeria_LioraAnalTakenCount to 0>>
<<set $Nimeria_LioraHandjobCount to 0>>
<<set $Nimeria_LioraHandjobTakenCount to 0>>
<<set $Nimeria_LioraBlowjobCount to 0>>
<<set $Nimeria_LioraBlowjobTakenCount to 0>>
<<set $Nimeria_LioraFootjobCount to 0>>
<<set $Nimeria_LioraFootjobTakenCount to 0>>
<<set $Nimeria_LioraBoobJobCount to 0>>
<<set $Nimeria_LioraBoobJobTakenCount to 0>>
<<set $Nimeria_LioraBreastsTouchedCount to 0>>
<<set $Nimeria_LioraBreastsTouchedByCount to 0>>
<<set $Nimeria_LioraAssTouchedCount to 0>>
<<set $Nimeria_LioraAssTouchedByCount to 0>>
<<set $Nimeria_LioraCumInsideCount to 0>>
<<set $Nimeria_LioraCumSwallowedMl to 0>>
<<set $Nimeria_LioraCumOnBodyMl to 0>>
/* Nimeria's Sexual Stats with Serin */
<<set $Nimeria_SerinKissCount to 0>>
<<set $Nimeria_SerinVaginalCount to 0>>
<<set $Nimeria_SerinAnalCount to 0>>
<<set $Nimeria_SerinAnalTakenCount to 0>>
<<set $Nimeria_SerinHandjobCount to 0>>
<<set $Nimeria_SerinHandjobTakenCount to 0>>
<<set $Nimeria_SerinBlowjobCount to 0>>
<<set $Nimeria_SerinBlowjobTakenCount to 0>>
<<set $Nimeria_SerinFootjobCount to 0>>
<<set $Nimeria_SerinFootjobTakenCount to 0>>
<<set $Nimeria_SerinBoobJobCount to 0>>
<<set $Nimeria_SerinBoobJobTakenCount to 0>>
<<set $Nimeria_SerinBreastsTouchedCount to 0>>
<<set $Nimeria_SerinBreastsTouchedByCount to 0>>
<<set $Nimeria_SerinAssTouchedCount to 0>>
<<set $Nimeria_SerinAssTouchedByCount to 0>>
<<set $Nimeria_SerinCumInsideCount to 0>>
<<set $Nimeria_SerinCumSwallowedMl to 0>>
<<set $Nimeria_SerinCumOnBodyMl to 0>>
/* Nimeria's Sexual Stats with Seryk */
<<set $Nimeria_SerykKissCount to 0>>
<<set $Nimeria_SerykVaginalCount to 0>>
<<set $Nimeria_SerykAnalCount to 0>>
<<set $Nimeria_SerykAnalTakenCount to 0>>
<<set $Nimeria_SerykHandjobCount to 0>>
<<set $Nimeria_SerykHandjobTakenCount to 0>>
<<set $Nimeria_SerykBlowjobCount to 0>>
<<set $Nimeria_SerykBlowjobTakenCount to 0>>
<<set $Nimeria_SerykFootjobCount to 0>>
<<set $Nimeria_SerykFootjobTakenCount to 0>>
<<set $Nimeria_SerykBoobJobCount to 0>>
<<set $Nimeria_SerykBoobJobTakenCount to 0>>
<<set $Nimeria_SerykBreastsTouchedCount to 0>>
<<set $Nimeria_SerykBreastsTouchedByCount to 0>>
<<set $Nimeria_SerykAssTouchedCount to 0>>
<<set $Nimeria_SerykAssTouchedByCount to 0>>
<<set $Nimeria_SerykCumInsideCount to 0>>
<<set $Nimeria_SerykCumSwallowedMl to 0>>
<<set $Nimeria_SerykCumOnBodyMl to 0>>
/* Orgasm Tracking for All Relationships */
/* Rylan's Orgasms */
<<set $rylan_MarielOrgasmsGiven to 0>>
<<set $rylan_MarielOrgasmsReceived to 0>>
<<set $rylan_ThalorOrgasmsGiven to 0>>
<<set $rylan_ThalorOrgasmsReceived to 0>>
<<set $rylan_LioraOrgasmsGiven to 0>>
<<set $rylan_LioraOrgasmsReceived to 0>>
<<set $rylan_SerinOrgasmsGiven to 0>>
<<set $rylan_SerinOrgasmsReceived to 0>>
<<set $rylan_SerykOrgasmsGiven to 0>>
<<set $rylan_SerykOrgasmsReceived to 0>>
<<set $rylan_NimeriaOrgasmsGiven to 0>>
<<set $rylan_NimeriaOrgasmsReceived to 0>>
/* Mariel's Orgasms */
<<set $mariel_RylanOrgasmsGiven to 0>>
<<set $mariel_RylanOrgasmsReceived to 0>>
<<set $mariel_ThalorOrgasmsGiven to 13>>
<<set $mariel_ThalorOrgasmsReceived to 0>>
<<set $mariel_LioraOrgasmsGiven to 0>>
<<set $mariel_LioraOrgasmsReceived to 0>>
<<set $mariel_SerinOrgasmsGiven to 0>>
<<set $mariel_SerinOrgasmsReceived to 0>>
<<set $mariel_SerykOrgasmsGiven to 0>>
<<set $mariel_SerykOrgasmsReceived to 0>>
<<set $mariel_NimeriaOrgasmsGiven to 0>>
<<set $mariel_NimeriaOrgasmsReceived to 0>>
/* Thalor's Orgasms */
<<set $thalor_RylanOrgasmsGiven to 0>>
<<set $thalor_RylanOrgasmsReceived to 0>>
<<set $thalor_MarielOrgasmsGiven to 0>>
<<set $thalor_MarielOrgasmsReceived to 13>>
<<set $thalor_LioraOrgasmsGiven to 0>>
<<set $thalor_LioraOrgasmsReceived to 0>>
<<set $thalor_SerinOrgasmsGiven to 0>>
<<set $thalor_SerinOrgasmsReceived to 0>>
<<set $thalor_SerykOrgasmsGiven to 0>>
<<set $thalor_SerykOrgasmsReceived to 0>>
<<set $thalor_NimeriaOrgasmsGiven to 0>>
<<set $thalor_NimeriaOrgasmsReceived to 0>>
/* Liora's Orgasms */
<<set $liora_RylanOrgasmsGiven to 0>>
<<set $liora_RylanOrgasmsReceived to 0>>
<<set $liora_MarielOrgasmsGiven to 0>>
<<set $liora_MarielOrgasmsReceived to 0>>
<<set $liora_ThalorOrgasmsGiven to 0>>
<<set $liora_ThalorOrgasmsReceived to 0>>
<<set $liora_SerinOrgasmsGiven to 0>>
<<set $liora_SerinOrgasmsReceived to 0>>
<<set $liora_SerykOrgasmsGiven to 0>>
<<set $liora_SerykOrgasmsReceived to 0>>
<<set $liora_NimeriaOrgasmsGiven to 0>>
<<set $liora_NimeriaOrgasmsReceived to 0>>
/* Serin's Orgasms */
<<set $serin_RylanOrgasmsGiven to 0>>
<<set $serin_RylanOrgasmsReceived to 0>>
<<set $serin_MarielOrgasmsGiven to 0>>
<<set $serin_MarielOrgasmsReceived to 0>>
<<set $serin_ThalorOrgasmsGiven to 0>>
<<set $serin_ThalorOrgasmsReceived to 0>>
<<set $serin_LioraOrgasmsGiven to 0>>
<<set $serin_LioraOrgasmsReceived to 0>>
<<set $serin_SerykOrgasmsGiven to 0>>
<<set $serin_SerykOrgasmsReceived to 0>>
<<set $serin_NimeriaOrgasmsGiven to 0>>
<<set $serin_NimeriaOrgasmsReceived to 0>>
/* Seryk's Orgasms */
<<set $seryk_RylanOrgasmsGiven to 0>>
<<set $seryk_RylanOrgasmsReceived to 0>>
<<set $seryk_MarielOrgasmsGiven to 0>>
<<set $seryk_MarielOrgasmsReceived to 0>>
<<set $seryk_ThalorOrgasmsGiven to 0>>
<<set $seryk_ThalorOrgasmsReceived to 0>>
<<set $seryk_LioraOrgasmsGiven to 0>>
<<set $seryk_LioraOrgasmsReceived to 0>>
<<set $seryk_SerinOrgasmsGiven to 0>>
<<set $seryk_SerinOrgasmsReceived to 0>>
<<set $seryk_NimeriaOrgasmsGiven to 0>>
<<set $seryk_NimeriaOrgasmsReceived to 0>>
/* Nimeria's Orgasms */
<<set $Nimeria_RylanOrgasmsGiven to 0>>
<<set $Nimeria_RylanOrgasmsReceived to 0>>
<<set $Nimeria_MarielOrgasmsGiven to 0>>
<<set $Nimeria_MarielOrgasmsReceived to 0>>
<<set $Nimeria_ThalorOrgasmsGiven to 0>>
<<set $Nimeria_ThalorOrgasmsReceived to 0>>
<<set $Nimeria_LioraOrgasmsGiven to 0>>
<<set $Nimeria_LioraOrgasmsReceived to 0>>
<<set $Nimeria_SerinOrgasmsGiven to 0>>
<<set $Nimeria_SerinOrgasmsReceived to 0>>
<<set $Nimeria_SerykOrgasmsGiven to 0>>
<<set $Nimeria_SerykOrgasmsReceived to 0>>
/* Met Flags */
<<set $metRylan to false>>
<<set $metMariel to false>>
<<set $metThalor to false>>
<<set $metLiora to false>>
<<set $metSerin to false>>
<<set $metSeryk to false>>
<<set $metNimeria to false>>
/* Story Progress Flags */
<<set $hasReachedMissionPrep to false>>
<<set $wardrobeUnlocked to false>>
/* Time System */
<<set $gameDay to 26>>
<<set $gameMonth to 1>>
<<set $gameYear to 1200>>
<<set $timeOfDay to "morning">>
<<set $seasons to ["Spring", "Summer", "Autumn", "Winter"]>>
<<set $monthNames to [
"Frostmoon", /* January - Winter */
"Iceheart", /* February - Winter */
"Springtide", /* March - Spring beginning */
"Rainsong", /* April - Spring rains */
"Bloomrise", /* May - Spring flowers */
"Sunhigh", /* June - Summer beginning */
"Goldfire", /* July - Peak summer */
"Stormcrown", /* August - Summer storms */
"Harvestfall", /* September - Autumn beginning */
"Mistweave", /* October - Autumn mists */
"Frostfall", /* November - Late autumn */
"Darkember" /* December - Winter */
]>>
<<set $timePhases to ["morning", "afternoon", "evening", "night"]>>
<<set $metRylan = false>>
<<set $metMariel = false>>
<<set $metThalor = false>>
<<set $metLiora = false>>
<<set $metSerin = false>>
<<set $metSeryk = false>>
<<set $metNimeria = false>>
<<script>>
$(document).ready(() => {
// Clear any existing unlocks
DiarySystem.unlockedCharacters.clear();
});
<</script>>
<<script>>
window.storyPath = window.location.pathname.substring(0, window.location.pathname.lastIndexOf('/'));
if (window.storyPath === '') window.storyPath = '.';
$("head").append('<link rel="stylesheet" type="text/css" href="style.css">');
$("head").append('<script src="script.js"><\/script>');
State.variables.imagePath = 'images/';
window.ImagePathSystem = {
normalizeImagePath: function(src) {
if (!src) return src;
let normalizedPath = src.toLowerCase();
if (!normalizedPath.endsWith('.webp') && !normalizedPath.endsWith('.png') && !normalizedPath.endsWith('.jpg') && !normalizedPath.endsWith('.jpeg') && !normalizedPath.endsWith('.gif')) {
if (src.includes('.png')) {
normalizedPath = normalizedPath.replace('.png', '.webp');
} else if (src.includes('.jpg') || src.includes('.jpeg')) {
normalizedPath = normalizedPath.replace(/\.(jpg|jpeg)/g, '.webp');
} else if (!normalizedPath.includes('.')) {
normalizedPath += '.webp';
}
}
return normalizedPath;
},
interceptImageLoading: function() {
const originalImage = window.Image;
window.Image = function(width, height) {
const img = new originalImage(width, height);
const originalSetSrc = Object.getOwnPropertyDescriptor(HTMLImageElement.prototype, 'src').set;
Object.defineProperty(img, 'src', {
set: function(value) {
const normalizedSrc = window.ImagePathSystem.normalizeImagePath(value);
originalSetSrc.call(this, normalizedSrc);
},
get: function() {
return this.getAttribute('src');
}
});
return img;
};
Object.setPrototypeOf(window.Image, originalImage);
Object.defineProperty(window.Image, 'prototype', {
value: originalImage.prototype,
writable: false
});
const observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
mutation.addedNodes.forEach(function(node) {
if (node.nodeType === 1) {
if (node.tagName === 'IMG') {
const src = node.getAttribute('src');
if (src) {
const normalizedSrc = window.ImagePathSystem.normalizeImagePath(src);
if (normalizedSrc !== src) {
node.setAttribute('src', normalizedSrc);
}
}
}
const images = node.querySelectorAll ? node.querySelectorAll('img') : [];
images.forEach(function(img) {
const src = img.getAttribute('src');
if (src) {
const normalizedSrc = window.ImagePathSystem.normalizeImagePath(src);
if (normalizedSrc !== src) {
img.setAttribute('src', normalizedSrc);
}
}
});
}
});
});
});
observer.observe(document, {
childList: true,
subtree: true
});
$(document).on('DOMNodeInserted', 'img', function() {
const src = this.getAttribute('src');
if (src) {
const normalizedSrc = window.ImagePathSystem.normalizeImagePath(src);
if (normalizedSrc !== src) {
this.setAttribute('src', normalizedSrc);
}
}
});
},
processExistingImages: function() {
document.querySelectorAll('img').forEach(function(img) {
const src = img.getAttribute('src');
if (src) {
const normalizedSrc = window.ImagePathSystem.normalizeImagePath(src);
if (normalizedSrc !== src) {
img.setAttribute('src', normalizedSrc);
}
}
});
}
};
window.AudioSystem = {
bgm: {
player: new Audio(),
volume: 0.3,
muted: false,
currentTrack: null
},
sfx: {
volume: 0.5,
muted: false,
players: {},
currentPlaying: null
},
voice: {
player: new Audio(),
volume: 0.7,
muted: false,
currentVoice: null
},
// Cross-browser compatibility
audioEnabled: false,
userInteracted: false,
audioContext: null,
audioUnlocked: false,
initBGM: function() {
// Audio settings are loaded by loadGameSettings() function
// This function just initializes the audio system
this.bgm.player.loop = true;
this.bgm.player.volume = this.bgm.volume;
this.bgm.player.muted = this.bgm.muted;
this.bgm.player.src = 'music/default.mp3';
this.bgm.currentTrack = 'default.mp3';
// Ensure volume is properly set after loading
setTimeout(() => {
this.bgm.player.volume = this.bgm.volume;
this.bgm.player.muted = this.bgm.muted;
}, 100);
// Initialize SugarCube master audio volume
if (typeof SimpleAudio !== 'undefined') {
if (this.sfx.muted) {
SimpleAudio.mute();
} else {
SimpleAudio.volume(this.sfx.volume);
}
}
// Cross-browser audio enabling
this.enableAudioOnUserInteraction();
// Show audio interaction prompt if needed
this.showAudioPromptIfNeeded();
// Try to force enable audio immediately
setTimeout(() => {
this.forceUnlockAudio();
}, 500);
// Ensure volume settings are applied after initialization
setTimeout(() => {
this.applyVolumeSettings();
}, 1000);
},
showAudioPromptIfNeeded: function() {
// Check browser compatibility
const isEdge = /Edg/.test(navigator.userAgent);
const isFirefox = /Firefox/.test(navigator.userAgent);
const isSafari = /Safari/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent);
const needsPrompt = isEdge || isFirefox || isSafari;
// Firefox-specific audio enabling
if (isFirefox) {
this.enableFirefoxAudio();
}
if (!needsPrompt) return;
// Show a subtle prompt for audio interaction
setTimeout(() => {
if (!this.audioEnabled && !this.userInteracted) {
const prompt = document.createElement('div');
prompt.id = 'audio-interaction-prompt';
prompt.style.cssText = `
position: fixed;
top: 20px;
right: 20px;
background: rgba(0, 0, 0, 0.9);
color: white;
padding: 15px 20px;
border-radius: 8px;
font-size: 14px;
z-index: 10000;
border: 2px solid #4CAF50;
cursor: pointer;
box-shadow: 0 4px 12px rgba(0,0,0,0.3);
font-family: Arial, sans-serif;
`;
let browserName = 'browser';
if (isEdge) browserName = 'Edge';
else if (isFirefox) browserName = 'Firefox';
else if (isSafari) browserName = 'Safari';
prompt.innerHTML = `
<div style="display: flex; align-items: center; gap: 10px;">
<span style="font-size: 18px;">🔊</span>
<div>
<div style="font-weight: bold; margin-bottom: 5px;">Audio Disabled</div>
<div style="font-size: 12px; opacity: 0.8;">Click anywhere to enable audio in ${browserName}</div>
</div>
</div>
`;
prompt.onclick = () => {
this.audioEnabled = true;
this.userInteracted = true;
prompt.remove();
this.retryAudioAfterInteraction();
};
document.body.appendChild(prompt);
// Auto-hide after 15 seconds
setTimeout(() => {
if (prompt.parentNode) {
prompt.remove();
}
}, 15000);
}
}, 3000);
},
applyVolumeSettings: function() {
// Apply BGM volume
if (this.bgm.player) {
this.bgm.player.volume = this.bgm.volume;
this.bgm.player.muted = this.bgm.muted;
}
// Apply SFX volume to all existing players
Object.keys(this.sfx.players).forEach(sound => {
if (this.sfx.players[sound]) {
this.sfx.players[sound].volume = this.sfx.volume;
this.sfx.players[sound].muted = this.sfx.muted;
}
});
// Apply voice volume
if (this.voice.player) {
this.voice.player.volume = this.voice.volume;
this.voice.player.muted = this.voice.muted;
}
},
enableFirefoxAudio: function() {
// Firefox needs very aggressive audio enabling
const firefoxAudioTest = () => {
const audio = new Audio();
audio.volume = 0.5;
audio.src = 'sounds/notification.mp3';
audio.preload = 'auto';
// Try to play immediately
const playPromise = audio.play();
if (playPromise !== undefined) {
playPromise.then(() => {
this.audioEnabled = true;
this.audioUnlocked = true;
this.retryAudioAfterInteraction();
}).catch(e => {
// Try with multiple user gestures
const enableOnInteraction = () => {
audio.play().then(() => {
this.audioEnabled = true;
this.audioUnlocked = true;
this.retryAudioAfterInteraction();
}).catch(e2 => {});
};
// Listen for multiple interaction types
['click', 'touchstart', 'keydown', 'mousedown'].forEach(event => {
document.addEventListener(event, enableOnInteraction, { once: true });
});
});
}
};
// Try multiple times with different approaches
firefoxAudioTest();
setTimeout(firefoxAudioTest, 500);
setTimeout(firefoxAudioTest, 1000);
setTimeout(firefoxAudioTest, 2000);
setTimeout(firefoxAudioTest, 5000);
// Also try with BGM player
setTimeout(() => {
if (this.bgm.player) {
this.bgm.player.volume = 0.1; // Very quiet for unlock
this.bgm.player.play().then(() => {
this.audioEnabled = true;
this.audioUnlocked = true;
this.retryAudioAfterInteraction();
}).catch(e => {});
}
}, 1000);
},
enableAudioOnUserInteraction: function() {
const enableAudio = () => {
if (!this.audioEnabled) {
this.audioEnabled = true;
this.userInteracted = true;
// Force unlock audio immediately
this.forceUnlockAudio();
}
};
// Listen for ANY user interaction - more aggressive
const events = ['click', 'touchstart', 'keydown', 'mousedown', 'mouseup', 'touchend', 'scroll', 'wheel', 'pointerdown', 'pointerup'];
events.forEach(event => {
document.addEventListener(event, enableAudio, { once: true, passive: true });
});
// Also try to enable on page load after a delay
setTimeout(() => {
if (!this.audioEnabled) {
this.forceUnlockAudio();
}
}, 1000);
},
forceUnlockAudio: function() {
// Method 1: Create and play multiple audio elements
const audioElements = [];
for (let i = 0; i < 3; i++) {
const audio = new Audio();
audio.volume = 0.1; // Louder for unlock attempts
audio.src = 'sounds/notification.mp3';
audio.preload = 'auto';
audioElements.push(audio);
}
// Try to play all audio elements
let successCount = 0;
audioElements.forEach((audio, index) => {
audio.play().then(() => {
successCount++;
if (successCount === 1) {
this.audioUnlocked = true;
this.retryAudioAfterInteraction();
}
}).catch(e => {
});
});
// Method 2: Try Web Audio API
if (typeof AudioContext !== 'undefined' || typeof webkitAudioContext !== 'undefined') {
try {
const AudioContextClass = AudioContext || webkitAudioContext;
this.audioContext = new AudioContextClass();
if (this.audioContext.state === 'suspended') {
this.audioContext.resume().then(() => {
this.audioUnlocked = true;
this.retryAudioAfterInteraction();
}).catch(e => {
});
} else {
this.audioUnlocked = true;
this.retryAudioAfterInteraction();
}
} catch (e) {
}
}
// Method 3: Try to play BGM directly
if (this.bgm.player) {
this.bgm.player.volume = this.bgm.volume; // Use proper BGM volume
this.bgm.player.play().then(() => {
this.audioUnlocked = true;
this.retryAudioAfterInteraction();
}).catch(e => {
});
}
// Method 4: Force enable after a short delay
setTimeout(() => {
if (!this.audioUnlocked) {
this.audioUnlocked = true;
this.retryAudioAfterInteraction();
}
}, 500);
},
playBGM: function(track) {
const src = ('music/' + track).toLowerCase().replace(/ /g, '_');
if (this.bgm.currentTrack !== track) {
this.bgm.player.src = src;
this.bgm.currentTrack = track;
// Firefox-specific handling
const isFirefox = /Firefox/.test(navigator.userAgent);
if (isFirefox) {
// For Firefox, try multiple approaches
const tryPlay = () => {
this.bgm.player.play().then(() => {
}).catch(e => {
// Try again with user interaction
document.addEventListener('click', () => {
this.bgm.player.play().catch(e2 => {});
}, { once: true });
});
};
tryPlay();
setTimeout(tryPlay, 100);
setTimeout(tryPlay, 500);
} else {
// Normal approach for other browsers
this.bgm.player.play().catch(e => {
this.forceUnlockAudio();
setTimeout(() => {
this.bgm.player.play().catch(e2 => {
});
}, 100);
});
}
}
},
playSFX: function(sound) {
if (this.sfx.muted) return;
const src = ('sounds/' + sound).toLowerCase().replace(/ /g, '_');
const isFirefox = /Firefox/.test(navigator.userAgent);
// Create new player if doesn't exist
if (!this.sfx.players[sound]) {
this.sfx.players[sound] = new Audio(src);
this.sfx.players[sound].volume = this.sfx.volume;
}
const playSound = (audioElement) => {
if (isFirefox) {
// Firefox-specific approach
const playPromise = audioElement.play();
if (playPromise !== undefined) {
playPromise.then(() => {
}).catch(e => {
// Try with user interaction
document.addEventListener('click', () => {
audioElement.play().catch(e2 => {});
}, { once: true });
});
}
} else {
// Normal approach for other browsers
audioElement.play().catch(e => {
this.forceUnlockAudio();
});
}
};
// If sound is already playing, create a new instance
if (this.sfx.players[sound].currentTime > 0 && !this.sfx.players[sound].paused) {
const tempPlayer = new Audio(src);
tempPlayer.volume = this.sfx.volume;
playSound(tempPlayer);
// Clean up temp player after it finishes
tempPlayer.onended = () => tempPlayer.remove();
} else {
// Play or replay the cached sound
this.sfx.players[sound].currentTime = 0;
playSound(this.sfx.players[sound]);
}
},
playVoice: function(voiceFile) {
if (this.voice.muted) return;
this.voice.player.src = ('Voice/' + voiceFile).toLowerCase().replace(/ /g, '_');
this.voice.player.volume = this.voice.volume;
this.voice.currentVoice = voiceFile;
this.voice.player.play().catch(e => {
// Try to unlock audio and retry
this.forceUnlockAudio();
});
},
// Retry playing audio after user interaction
retryAudioAfterInteraction: function() {
if (this.audioEnabled || this.userInteracted) {
// Retry BGM if it was supposed to play
if (this.bgm.currentTrack && this.bgm.player.paused) {
this.bgm.player.play().catch(e => {});
}
// Retry any queued SFX
Object.keys(this.sfx.players).forEach(sound => {
if (this.sfx.players[sound].paused && this.sfx.players[sound].currentTime > 0) {
this.sfx.players[sound].play().catch(e => {});
}
});
}
},
setVolume: function(type, value) {
this[type].volume = value;
if (type === 'bgm') {
this.bgm.player.volume = value;
} else if (type === 'voice') {
this.voice.player.volume = value;
} else if (type === 'sfx') {
// Update volume for all cached sound effects
Object.values(this.sfx.players).forEach(player => {
player.volume = value;
});
// Also control SugarCube master audio for SFX (like attack sounds)
if (typeof SimpleAudio !== 'undefined') {
SimpleAudio.volume(value);
}
}
},
toggleMute: function(type) {
this[type].muted = !this[type].muted;
if (type === 'bgm') {
this.bgm.player.muted = this.bgm.muted;
} else if (type === 'voice') {
this.voice.player.muted = this.voice.muted;
} else if (type === 'sfx') {
// Update mute state for all cached sound effects
Object.values(this.sfx.players).forEach(player => {
player.muted = this.sfx.muted;
});
// Also control SugarCube audio muting for SFX
if (typeof SimpleAudio !== 'undefined') {
if (this.sfx.muted) {
SimpleAudio.mute();
} else {
SimpleAudio.volume(this.sfx.volume);
}
}
}
}
};
(function() {
const OriginalAudio = window.Audio;
const globalAudioRegistry = new Set();
window.AudioSystem.globalAudioRegistry = globalAudioRegistry;
window.Audio = function(src) {
const audio = new OriginalAudio(src);
audio.volume = window.AudioSystem.sfx.volume;
audio.muted = window.AudioSystem.sfx.muted;
globalAudioRegistry.add(audio);
const cleanup = () => globalAudioRegistry.delete(audio);
audio.addEventListener('ended', cleanup);
audio.addEventListener('error', cleanup);
return audio;
};
Object.setPrototypeOf(window.Audio, OriginalAudio);
Object.defineProperty(window.Audio, 'prototype', {
value: OriginalAudio.prototype,
writable: false
});
const originalToggleMute = window.AudioSystem.toggleMute;
window.AudioSystem.toggleMute = function(type) {
originalToggleMute.call(this, type);
if (type === 'sfx') {
globalAudioRegistry.forEach(audio => {
audio.muted = this.sfx.muted;
});
}
};
const originalSetVolume = window.AudioSystem.setVolume;
window.AudioSystem.setVolume = function(type, value) {
originalSetVolume.call(this, type, value);
if (type === 'sfx') {
globalAudioRegistry.forEach(audio => {
audio.volume = value;
});
}
};
window.AudioSystem.stopAllSFX = function() {
globalAudioRegistry.forEach(audio => {
audio.pause();
audio.currentTime = 0;
});
Object.values(this.sfx.players).forEach(player => {
player.pause();
player.currentTime = 0;
});
};
})();
// Function to load saved game settings on startup
function loadGameSettings() {
// Load all saved settings
if (localStorage.getItem('gameSettings')) {
const savedSettings = JSON.parse(localStorage.getItem('gameSettings'));
// Restore text settings
if (savedSettings.text) {
if (savedSettings.text.fontSize) {
document.documentElement.style.setProperty('--base-font-size', savedSettings.text.fontSize + 'px');
}
if (savedSettings.text.passageWidth) {
$('#passages').css('width', savedSettings.text.passageWidth + '%');
State.variables.passageWidth = savedSettings.text.passageWidth;
}
}
// Restore color settings
if (savedSettings.colors) {
const colorMappings = {
rylanColor: ['--dialog-color-rylan', '#player-color'],
marielColor: ['--dialog-color-mariel', '#mariel-color'],
thalorColor: ['--dialog-color-thalor', '#thalor-color'],
lioraColor: ['--dialog-color-liora', '#liora-color'],
serinColor: ['--dialog-color-serin', '#serin-color'],
serykColor: ['--dialog-color-seryk', '#demon-color'],
nimeriaColor: ['--dialog-color-nimeria', '#nimeria-color'],
gairosColor: ['--dialog-color-gairos', '#gairos-color'],
veloriaColor: ['--dialog-color-veloria', '#veloria-color'],
soraColor: ['--dialog-color-sora', '#sora-color'],
miraColor: ['--dialog-color-mira', '#mira-color'],
femaleNpcColor: ['--dialog-color-female-npc', '#female-npc-color'],
maleNpcColor: ['--dialog-color-male-npc', '#male-npc-color']
};
for (const [key, [cssVar, selector]] of Object.entries(colorMappings)) {
if (savedSettings.colors[key]) {
document.documentElement.style.setProperty(cssVar, savedSettings.colors[key]);
State.variables[key] = savedSettings.colors[key];
}
}
}
// Restore background color settings
if (savedSettings.backgroundColors) {
const bgColorMappings = {
rylanBgColor: { stateVar: 'rylanBgColor', cssVar: '--passage-bg-rylan' },
marielBgColor: { stateVar: 'marielBgColor', cssVar: '--passage-bg-mariel' },
thalorBgColor: { stateVar: 'thalorBgColor', cssVar: '--passage-bg-thalor' },
lioraBgColor: { stateVar: 'lioraBgColor', cssVar: '--passage-bg-liora' },
serinBgColor: { stateVar: 'serinBgColor', cssVar: '--passage-bg-serin' },
serykBgColor: { stateVar: 'serykBgColor', cssVar: '--passage-bg-seryk' },
nimeriaBgColor: { stateVar: 'nimeriaBgColor', cssVar: '--passage-bg-nimeria' },
gairosBgColor: { stateVar: 'gairosBgColor', cssVar: '--passage-bg-gairos' },
veloriaBgColor: { stateVar: 'veloriaBgColor', cssVar: '--passage-bg-veloria' },
soraBgColor: { stateVar: 'soraBgColor', cssVar: '--passage-bg-sora' },
miraBgColor: { stateVar: 'miraBgColor', cssVar: '--passage-bg-mira' },
celindraBgColor: { stateVar: 'celindraBgColor', cssVar: '--passage-bg-celindra' }
};
for (const [key, mapping] of Object.entries(bgColorMappings)) {
if (savedSettings.backgroundColors[key]) {
State.variables[mapping.stateVar] = savedSettings.backgroundColors[key];
document.documentElement.style.setProperty(mapping.cssVar, savedSettings.backgroundColors[key]);
// Generate and set the gradient
const gradientVar = mapping.cssVar.replace('--passage-bg-', '--passage-gradient-');
document.documentElement.style.setProperty(gradientVar, generatePassageGradient(savedSettings.backgroundColors[key]));
}
}
}
}
// Load audio settings
if (localStorage.getItem('audioSettings')) {
const savedAudio = JSON.parse(localStorage.getItem('audioSettings'));
// Initialize audio system with saved values or defaults
if (!window.AudioSystem) {
window.AudioSystem = {
bgm: {
volume: savedAudio?.bgm?.volume ?? 0.3,
muted: savedAudio?.bgm?.muted ?? false
},
sfx: {
volume: savedAudio?.sfx?.volume ?? 0.5,
muted: savedAudio?.sfx?.muted ?? false
},
voice: {
volume: savedAudio?.voice?.volume ?? 0.7,
muted: savedAudio?.voice?.muted ?? false
},
setVolume: function(type, volume) {
this[type].volume = volume;
},
toggleMute: function(type) {
this[type].muted = !this[type].muted;
}
};
} else {
// Update existing audio system with saved values
if (savedAudio.bgm) {
window.AudioSystem.bgm.volume = savedAudio.bgm.volume;
window.AudioSystem.bgm.muted = savedAudio.bgm.muted;
}
if (savedAudio.sfx) {
window.AudioSystem.sfx.volume = savedAudio.sfx.volume;
window.AudioSystem.sfx.muted = savedAudio.sfx.muted;
}
if (savedAudio.voice) {
window.AudioSystem.voice.volume = savedAudio.voice.volume;
window.AudioSystem.voice.muted = savedAudio.voice.muted;
}
}
}
}
$(document).ready(function() {
// Load saved settings first
loadGameSettings();
// Initialize audio system after settings are loaded
if (window.AudioSystem && window.AudioSystem.initBGM) {
window.AudioSystem.initBGM();
}
window.ImagePathSystem.interceptImageLoading();
window.ImagePathSystem.processExistingImages();
$(document).one('click', function() {
window.AudioSystem.playBGM('default.mp3');
});
});
$(document).ready(function() {
if (State.variables.passageWidth) {
$('#passages').css('width', State.variables.passageWidth + '%');
$('#passage-width').val(State.variables.passageWidth);
$('#current-width').text(State.variables.passageWidth + '%');
}
});
$(document).on('input', '#passage-width', function() {
const width = $(this).val();
$('#passages').css('width', width + '%');
$('#current-width').text(width + '%');
State.variables.passageWidth = width;
// Save settings when width changes
if (typeof window.saveGameSettings === 'function') {
window.saveGameSettings();
}
});
<</script>>
<<script>>
$(document).on(':passagerender', function () {
if (!$('#portraitContainer').length) {
const portraitContainer = $('<div id="portraitContainer"></div>');
$('#ui-bar').prepend(portraitContainer);
setPageElement('portraitContainer', 'StoryLeftSidebar');
}
setTimeout(function() {
if (window.ImagePathSystem) {
window.ImagePathSystem.processExistingImages();
}
}, 100);
});
<</script>>
/* Cum Stats in Milliliters */
/* Mariel's Cum Stats */
<<set $mariel_cumTakenInsideAmount to 65>>
<<set $mariel_cumSwallowedAmount to 0>>
<<set $mariel_cumOnBodyAmount to 0>>
/* Rylan's Cum Stats */
<<set $rylan_cumTakenInsideAmount to 0>>
<<set $rylan_cumSwallowedAmount to 0>>
<<set $rylan_cumOnBodyAmount to 0>>
/* Thalor's Cum Stats */
<<set $thalor_cumTakenInsideAmount to 0>>
<<set $thalor_cumSwallowedAmount to 0>>
<<set $thalor_cumOnBodyAmount to 0>>
/* Liora's Cum Stats */
<<set $liora_cumTakenInsideAmount to 0>>
<<set $liora_cumSwallowedAmount to 0>>
<<set $liora_cumOnBodyAmount to 0>>
/* Serin's Cum Stats */
<<set $serin_cumTakenInsideAmount to 0>>
<<set $serin_cumSwallowedAmount to 0>>
<<set $serin_cumOnBodyAmount to 0>>
/* Seryk's Cum Stats */
<<set $seryk_cumTakenInsideAmount to 0>>
<<set $seryk_cumSwallowedAmount to 0>>
<<set $seryk_cumOnBodyAmount to 0>>
/* Nimeria's Cum Stats */
<<set $Nimeria_cumTakenInsideAmount to 0>>
<<set $Nimeria_cumSwallowedAmount to 0>>
<<set $Nimeria_cumOnBodyAmount to 0>>
/* Character Pair Orgasm Stats */
/* Rylan x Mariel */
<<set $rylan_MarielOrgasmsGiven to 0>>
<<set $rylan_MarielOrgasmsReceived to 0>>
<<set $mariel_RylanOrgasmsGiven to 0>>
<<set $mariel_RylanOrgasmsReceived to 0>>
/* Rylan x Thalor */
<<set $rylan_ThalorOrgasmsGiven to 0>>
<<set $rylan_ThalorOrgasmsReceived to 0>>
<<set $thalor_RylanOrgasmsGiven to 0>>
<<set $thalor_RylanOrgasmsReceived to 0>>
/* Rylan x Liora */
<<set $rylan_LioraOrgasmsGiven to 0>>
<<set $rylan_LioraOrgasmsReceived to 0>>
<<set $liora_RylanOrgasmsGiven to 0>>
<<set $liora_RylanOrgasmsReceived to 0>>
/* Rylan x Serin */
<<set $rylan_SerinOrgasmsGiven to 0>>
<<set $rylan_SerinOrgasmsReceived to 0>>
<<set $serin_RylanOrgasmsGiven to 0>>
<<set $serin_RylanOrgasmsReceived to 0>>
/* Rylan x Seryk */
<<set $rylan_SerykOrgasmsGiven to 0>>
<<set $rylan_SerykOrgasmsReceived to 0>>
<<set $seryk_RylanOrgasmsGiven to 0>>
<<set $seryk_RylanOrgasmsReceived to 0>>
/* Rylan x Nimeria */
<<set $rylan_NimeriaOrgasmsGiven to 0>>
<<set $rylan_NimeriaOrgasmsReceived to 0>>
<<set $Nimeria_RylanOrgasmsGiven to 0>>
<<set $Nimeria_RylanOrgasmsReceived to 0>>
/* Mariel x Thalor */
<<set $mariel_ThalorOrgasmsGiven to 13>>
<<set $mariel_ThalorOrgasmsReceived to 0>>
<<set $thalor_MarielOrgasmsGiven to 0>>
<<set $thalor_MarielOrgasmsReceived to 13>>
/* Thalor x Mariel Sexual Stats */
<<set $thalor_MarielKissCount to 39>>
<<set $thalor_MarielVaginalCount to 13>>
<<set $thalor_MarielAnalCount to 0>>
<<set $thalor_MarielAnalTakenCount to 0>>
<<set $thalor_MarielHandjobCount to 0>>
<<set $thalor_MarielHandjobTakenCount to 0>>
<<set $thalor_MarielBlowjobCount to 0>>
<<set $thalor_MarielBlowjobTakenCount to 0>>
<<set $thalor_MarielFootjobCount to 0>>
<<set $thalor_MarielFootjobTakenCount to 0>>
<<set $thalor_MarielBoobJobCount to 0>>
<<set $thalor_MarielBoobJobTakenCount to 0>>
<<set $thalor_MarielBreastsTouchedCount to 0>>
<<set $thalor_MarielBreastsTouchedByCount to 0>>
<<set $thalor_MarielAssTouchedCount to 0>>
<<set $thalor_MarielAssTouchedByCount to 0>>
<<set $thalor_MarielCumInsideCount to 13>>
<<set $thalor_MarielCumInsideMl to 65>>
<<set $thalor_MarielCumSwallowedMl to 0>>
<<set $thalor_MarielCumOnBodyMl to 0>>
/* Mariel x Liora */
<<set $mariel_LioraOrgasmsGiven to 0>>
<<set $mariel_LioraOrgasmsReceived to 0>>
<<set $liora_MarielOrgasmsGiven to 0>>
<<set $liora_MarielOrgasmsReceived to 0>>
/* Mariel x Serin */
<<set $mariel_SerinOrgasmsGiven to 0>>
<<set $mariel_SerinOrgasmsReceived to 0>>
<<set $serin_MarielOrgasmsGiven to 0>>
<<set $serin_MarielOrgasmsReceived to 0>>
/* Mariel x Seryk */
<<set $mariel_SerykOrgasmsGiven to 0>>
<<set $mariel_SerykOrgasmsReceived to 0>>
<<set $seryk_MarielOrgasmsGiven to 0>>
<<set $seryk_MarielOrgasmsReceived to 0>>
/* Mariel x Nimeria */
<<set $mariel_NimeriaOrgasmsGiven to 0>>
<<set $mariel_NimeriaOrgasmsReceived to 0>>
<<set $Nimeria_MarielOrgasmsGiven to 0>>
<<set $Nimeria_MarielOrgasmsReceived to 0>>
/* Thalor x Liora */
<<set $thalor_LioraOrgasmsGiven to 0>>
<<set $thalor_LioraOrgasmsReceived to 0>>
<<set $liora_ThalorOrgasmsGiven to 0>>
<<set $liora_ThalorOrgasmsReceived to 0>>
/* Thalor x Serin */
<<set $thalor_SerinOrgasmsGiven to 0>>
<<set $thalor_SerinOrgasmsReceived to 0>>
<<set $serin_ThalorOrgasmsGiven to 0>>
<<set $serin_ThalorOrgasmsReceived to 0>>
/* Thalor x Seryk */
<<set $thalor_SerykOrgasmsGiven to 0>>
<<set $thalor_SerykOrgasmsReceived to 0>>
<<set $seryk_ThalorOrgasmsGiven to 0>>
<<set $seryk_ThalorOrgasmsReceived to 0>>
/* Thalor x Nimeria */
<<set $thalor_NimeriaOrgasmsGiven to 0>>
<<set $thalor_NimeriaOrgasmsReceived to 0>>
<<set $Nimeria_ThalorOrgasmsGiven to 0>>
<<set $Nimeria_ThalorOrgasmsReceived to 0>>
/* Liora x Mariel */
<<set $liora_MarielKissCount to 0>>
<<set $liora_MarielVaginalCount to 0>>
<<set $liora_MarielAnalCount to 0>>
<<set $liora_MarielAnalTakenCount to 0>>
<<set $liora_MarielHandjobCount to 0>>
<<set $liora_MarielHandjobTakenCount to 0>>
<<set $liora_MarielBlowjobCount to 0>>
<<set $liora_MarielBlowjobTakenCount to 0>>
<<set $liora_MarielFootjobCount to 0>>
<<set $liora_MarielFootjobTakenCount to 0>>
<<set $liora_MarielBoobJobCount to 0>>
<<set $liora_MarielBoobJobTakenCount to 0>>
<<set $liora_MarielBreastsTouchedCount to 0>>
<<set $liora_MarielBreastsTouchedByCount to 0>>
<<set $liora_MarielAssTouchedCount to 0>>
<<set $liora_MarielAssTouchedByCount to 0>>
<<set $liora_MarielCumInsideCount to 0>>
<<set $liora_MarielCumSwallowedMl to 0>>
<<set $liora_MarielCumOnBodyMl to 0>>
/* Liora x Thalor */
<<set $liora_ThalorKissCount to 0>>
<<set $liora_ThalorVaginalCount to 0>>
<<set $liora_ThalorAnalCount to 0>>
<<set $liora_ThalorAnalTakenCount to 0>>
<<set $liora_ThalorHandjobCount to 0>>
<<set $liora_ThalorHandjobTakenCount to 0>>
<<set $liora_ThalorBlowjobCount to 0>>
<<set $liora_ThalorBlowjobTakenCount to 0>>
<<set $liora_ThalorFootjobCount to 0>>
<<set $liora_ThalorFootjobTakenCount to 0>>
<<set $liora_ThalorBoobJobCount to 0>>
<<set $liora_ThalorBoobJobTakenCount to 0>>
<<set $liora_ThalorBreastsTouchedCount to 0>>
<<set $liora_ThalorBreastsTouchedByCount to 0>>
<<set $liora_ThalorAssTouchedCount to 0>>
<<set $liora_ThalorAssTouchedByCount to 0>>
<<set $liora_ThalorCumInsideCount to 0>>
<<set $liora_ThalorCumSwallowedMl to 0>>
<<set $liora_ThalorCumOnBodyMl to 0>>
/* Liora x Serin */
<<set $liora_SerinKissCount to 0>>
<<set $liora_SerinVaginalCount to 0>>
<<set $liora_SerinAnalCount to 0>>
<<set $liora_SerinAnalTakenCount to 0>>
<<set $liora_SerinHandjobCount to 0>>
<<set $liora_SerinHandjobTakenCount to 0>>
<<set $liora_SerinBlowjobCount to 0>>
<<set $liora_SerinBlowjobTakenCount to 0>>
<<set $liora_SerinFootjobCount to 0>>
<<set $liora_SerinFootjobTakenCount to 0>>
<<set $liora_SerinBoobJobCount to 0>>
<<set $liora_SerinBoobJobTakenCount to 0>>
<<set $liora_SerinBreastsTouchedCount to 0>>
<<set $liora_SerinBreastsTouchedByCount to 0>>
<<set $liora_SerinAssTouchedCount to 0>>
<<set $liora_SerinAssTouchedByCount to 0>>
<<set $liora_SerinCumInsideCount to 0>>
<<set $liora_SerinCumSwallowedMl to 0>>
<<set $liora_SerinCumOnBodyMl to 0>>
/* Liora x Seryk */
<<set $liora_SerykKissCount to 0>>
<<set $liora_SerykVaginalCount to 0>>
<<set $liora_SerykAnalCount to 0>>
<<set $liora_SerykAnalTakenCount to 0>>
<<set $liora_SerykHandjobCount to 0>>
<<set $liora_SerykHandjobTakenCount to 0>>
<<set $liora_SerykBlowjobCount to 0>>
<<set $liora_SerykBlowjobTakenCount to 0>>
<<set $liora_SerykFootjobCount to 0>>
<<set $liora_SerykFootjobTakenCount to 0>>
<<set $liora_SerykBoobJobCount to 0>>
<<set $liora_SerykBoobJobTakenCount to 0>>
<<set $liora_SerykBreastsTouchedCount to 0>>
<<set $liora_SerykBreastsTouchedByCount to 0>>
<<set $liora_SerykAssTouchedCount to 0>>
<<set $liora_SerykAssTouchedByCount to 0>>
<<set $liora_SerykCumInsideCount to 0>>
<<set $liora_SerykCumSwallowedMl to 0>>
<<set $liora_SerykCumOnBodyMl to 0>>
/* Serin x Rylan */
<<set $serin_RylanKissCount to 0>>
<<set $serin_RylanVaginalCount to 0>>
<<set $serin_RylanAnalCount to 0>>
<<set $serin_RylanAnalTakenCount to 0>>
<<set $serin_RylanHandjobCount to 0>>
<<set $serin_RylanHandjobTakenCount to 0>>
<<set $serin_RylanBlowjobCount to 0>>
<<set $serin_RylanBlowjobTakenCount to 0>>
<<set $serin_RylanFootjobCount to 0>>
<<set $serin_RylanFootjobTakenCount to 0>>
<<set $serin_RylanBoobJobCount to 0>>
<<set $serin_RylanBoobJobTakenCount to 0>>
<<set $serin_RylanBreastsTouchedCount to 0>>
<<set $serin_RylanBreastsTouchedByCount to 0>>
<<set $serin_RylanAssTouchedCount to 0>>
<<set $serin_RylanAssTouchedByCount to 0>>
<<set $serin_RylanCumInsideCount to 0>>
<<set $serin_RylanCumSwallowedMl to 0>>
<<set $serin_RylanCumOnBodyMl to 0>>
/* Serin x Mariel */
<<set $serin_MarielKissCount to 0>>
<<set $serin_MarielVaginalCount to 0>>
<<set $serin_MarielAnalCount to 0>>
<<set $serin_MarielAnalTakenCount to 0>>
<<set $serin_MarielHandjobCount to 0>>
<<set $serin_MarielHandjobTakenCount to 0>>
<<set $serin_MarielBlowjobCount to 0>>
<<set $serin_MarielBlowjobTakenCount to 0>>
<<set $serin_MarielFootjobCount to 0>>
<<set $serin_MarielFootjobTakenCount to 0>>
<<set $serin_MarielBoobJobCount to 0>>
<<set $serin_MarielBoobJobTakenCount to 0>>
<<set $serin_MarielBreastsTouchedCount to 0>>
<<set $serin_MarielBreastsTouchedByCount to 0>>
<<set $serin_MarielAssTouchedCount to 0>>
<<set $serin_MarielAssTouchedByCount to 0>>
<<set $serin_MarielCumInsideCount to 0>>
<<set $serin_MarielCumSwallowedMl to 0>>
<<set $serin_MarielCumOnBodyMl to 0>>
/* Serin x Thalor */
<<set $serin_ThalorKissCount to 0>>
<<set $serin_ThalorVaginalCount to 0>>
<<set $serin_ThalorAnalCount to 0>>
<<set $serin_ThalorAnalTakenCount to 0>>
<<set $serin_ThalorHandjobCount to 0>>
<<set $serin_ThalorHandjobTakenCount to 0>>
<<set $serin_ThalorBlowjobCount to 0>>
<<set $serin_ThalorBlowjobTakenCount to 0>>
<<set $serin_ThalorFootjobCount to 0>>
<<set $serin_ThalorFootjobTakenCount to 0>>
<<set $serin_ThalorBoobJobCount to 0>>
<<set $serin_ThalorBoobJobTakenCount to 0>>
<<set $serin_ThalorBreastsTouchedCount to 0>>
<<set $serin_ThalorBreastsTouchedByCount to 0>>
<<set $serin_ThalorAssTouchedCount to 0>>
<<set $serin_ThalorAssTouchedByCount to 0>>
<<set $serin_ThalorCumInsideCount to 0>>
<<set $serin_ThalorCumSwallowedMl to 0>>
<<set $serin_ThalorCumOnBodyMl to 0>>
/* Serin x Liora */
<<set $serin_LioraKissCount to 0>>
<<set $serin_LioraVaginalCount to 0>>
<<set $serin_LioraAnalCount to 0>>
<<set $serin_LioraAnalTakenCount to 0>>
<<set $serin_LioraHandjobCount to 0>>
<<set $serin_LioraHandjobTakenCount to 0>>
<<set $serin_LioraBlowjobCount to 0>>
<<set $serin_LioraBlowjobTakenCount to 0>>
<<set $serin_LioraFootjobCount to 0>>
<<set $serin_LioraFootjobTakenCount to 0>>
<<set $serin_LioraBoobJobCount to 0>>
<<set $serin_LioraBoobJobTakenCount to 0>>
<<set $serin_LioraBreastsTouchedCount to 0>>
<<set $serin_LioraBreastsTouchedByCount to 0>>
<<set $serin_LioraAssTouchedCount to 0>>
<<set $serin_LioraAssTouchedByCount to 0>>
<<set $serin_LioraCumInsideCount to 0>>
<<set $serin_LioraCumSwallowedMl to 0>>
<<set $serin_LioraCumOnBodyMl to 0>>
/* Serin x Seryk */
<<set $serin_SerykKissCount to 0>>
<<set $serin_SerykVaginalCount to 0>>
<<set $serin_SerykAnalCount to 0>>
<<set $serin_SerykAnalTakenCount to 0>>
<<set $serin_SerykHandjobCount to 0>>
<<set $serin_SerykHandjobTakenCount to 0>>
<<set $serin_SerykBlowjobCount to 0>>
<<set $serin_SerykBlowjobTakenCount to 0>>
<<set $serin_SerykFootjobCount to 0>>
<<set $serin_SerykFootjobTakenCount to 0>>
<<set $serin_SerykBoobJobCount to 0>>
<<set $serin_SerykBoobJobTakenCount to 0>>
<<set $serin_SerykBreastsTouchedCount to 0>>
<<set $serin_SerykBreastsTouchedByCount to 0>>
<<set $serin_SerykAssTouchedCount to 0>>
<<set $serin_SerykAssTouchedByCount to 0>>
<<set $serin_SerykCumInsideCount to 0>>
<<set $serin_SerykCumSwallowedMl to 0>>
<<set $serin_SerykCumOnBodyMl to 0>>
/* Serin x Seryk */
<<set $serin_SerykOrgasmsGiven to 0>>
<<set $serin_SerykOrgasmsReceived to 0>>
<<set $seryk_SerinOrgasmsGiven to 0>>
<<set $seryk_SerinOrgasmsReceived to 0>>
/* Serin x Nimeria */
<<set $serin_NimeriaKissCount to 0>>
<<set $serin_NimeriaVaginalCount to 0>>
<<set $serin_NimeriaAnalCount to 0>>
<<set $serin_NimeriaAnalTakenCount to 0>>
<<set $serin_NimeriaHandjobCount to 0>>
<<set $serin_NimeriaHandjobTakenCount to 0>>
<<set $serin_NimeriaBlowjobCount to 0>>
<<set $serin_NimeriaBlowjobTakenCount to 0>>
<<set $serin_NimeriaFootjobCount to 0>>
<<set $serin_NimeriaFootjobTakenCount to 0>>
<<set $serin_NimeriaBoobJobCount to 0>>
<<set $serin_NimeriaBoobJobTakenCount to 0>>
<<set $serin_NimeriaBreastsTouchedCount to 0>>
<<set $serin_NimeriaBreastsTouchedByCount to 0>>
<<set $serin_NimeriaAssTouchedCount to 0>>
<<set $serin_NimeriaAssTouchedByCount to 0>>
<<set $serin_NimeriaCumInsideCount to 0>>
<<set $serin_NimeriaCumSwallowedMl to 0>>
<<set $serin_NimeriaCumOnBodyMl to 0>>
/* Seryk x Nimeria */
<<set $seryk_NimeriaKissCount to 0>>
<<set $seryk_NimeriaVaginalCount to 0>>
<<set $seryk_NimeriaAnalCount to 0>>
<<set $seryk_NimeriaAnalTakenCount to 0>>
<<set $seryk_NimeriaHandjobCount to 0>>
<<set $seryk_NimeriaHandjobTakenCount to 0>>
<<set $seryk_NimeriaBlowjobCount to 0>>
<<set $seryk_NimeriaBlowjobTakenCount to 0>>
<<set $seryk_NimeriaFootjobCount to 0>>
<<set $seryk_NimeriaFootjobTakenCount to 0>>
<<set $seryk_NimeriaBoobJobCount to 0>>
<<set $seryk_NimeriaBoobJobTakenCount to 0>>
<<set $seryk_NimeriaBreastsTouchedCount to 0>>
<<set $seryk_NimeriaBreastsTouchedByCount to 0>>
<<set $seryk_NimeriaAssTouchedCount to 0>>
<<set $seryk_NimeriaAssTouchedByCount to 0>>
<<set $seryk_NimeriaCumInsideCount to 0>>
<<set $seryk_NimeriaCumSwallowedMl to 0>>
<<set $seryk_NimeriaCumOnBodyMl to 0>>
/* Individual Character Total Orgasms */
/* Rylan's Total Orgasms */
<<set $rylan_orgasmsGiven to 0>>
<<set $rylan_orgasmsReceived to 0>>
/* Mariel's Total Orgasms */
<<set $mariel_orgasmsGiven to 13>>
<<set $mariel_orgasmsReceived to 0>>
/* Thalor's Total Orgasms */
<<set $thalor_orgasmsGiven to 0>>
<<set $thalor_orgasmsReceived to 13>>
/* Liora's Total Orgasms */
<<set $liora_orgasmsGiven to 0>>
<<set $liora_orgasmsReceived to 0>>
/* Serin's Total Orgasms */
<<set $serin_orgasmsGiven to 0>>
<<set $serin_orgasmsReceived to 0>>
/* Seryk's Total Orgasms */
<<set $seryk_orgasmsGiven to 0>>
<<set $seryk_orgasmsReceived to 0>>
/* Nimeria's Total Orgasms */
<<set $Nimeria_orgasmsGiven to 0>>
<<set $Nimeria_orgasmsReceived to 0>>
/* Character Relationship Cum Stats */
/* Mariel x Rylan */
<<set $mariel_RylanCumInsideAmount to 0>>
<<set $mariel_RylanCumSwallowedAmount to 0>>
<<set $mariel_RylanCumOnBodyAmount to 0>>
/* Mariel x Thalor */
<<set $mariel_ThalorCumInsideAmount to 65>> /* Converted from 65 times at 5ml each */
<<set $mariel_ThalorCumSwallowedAmount to 0>>
<<set $mariel_ThalorCumOnBodyAmount to 0>>
/* Mariel x Liora */
<<set $mariel_LioraCumInsideAmount to 0>>
<<set $mariel_LioraCumSwallowedAmount to 0>>
<<set $mariel_LioraCumOnBodyAmount to 0>>
/* Mariel x Serin */
<<set $mariel_SerinCumInsideAmount to 0>>
<<set $mariel_SerinCumSwallowedAmount to 0>>
<<set $mariel_SerinCumOnBodyAmount to 0>>
/* Mariel x Seryk */
<<set $mariel_SerykCumInsideAmount to 0>>
<<set $mariel_SerykCumSwallowedAmount to 0>>
<<set $mariel_SerykCumOnBodyAmount to 0>>
/* Mariel x Nimeria */
<<set $mariel_NimeriaCumInsideAmount to 0>>
<<set $mariel_NimeriaCumSwallowedAmount to 0>>
<<set $mariel_NimeriaCumOnBodyAmount to 0>>
/* Rylan x Thalor */
<<set $rylan_ThalorCumInsideAmount to 0>>
<<set $rylan_ThalorCumSwallowedAmount to 0>>
<<set $rylan_ThalorCumOnBodyAmount to 0>>
/* Rylan x Liora */
<<set $rylan_LioraCumInsideAmount to 0>>
<<set $rylan_LioraCumSwallowedAmount to 0>>
<<set $rylan_LioraCumOnBodyAmount to 0>>
/* Rylan x Serin */
<<set $rylan_SerinCumInsideAmount to 0>>
<<set $rylan_SerinCumSwallowedAmount to 0>>
<<set $rylan_SerinCumOnBodyAmount to 0>>
/* Rylan x Seryk */
<<set $rylan_SerykCumInsideAmount to 0>>
<<set $rylan_SerykCumSwallowedAmount to 0>>
<<set $rylan_SerykCumOnBodyAmount to 0>>
/* Rylan x Nimeria */
<<set $rylan_NimeriaCumInsideAmount to 0>>
<<set $rylan_NimeriaCumSwallowedAmount to 0>>
<<set $rylan_NimeriaCumOnBodyAmount to 0>>
/* Thalor x Liora */
<<set $thalor_LioraCumInsideAmount to 0>>
<<set $thalor_LioraCumSwallowedAmount to 0>>
<<set $thalor_LioraCumOnBodyAmount to 0>>
/* Thalor x Serin */
<<set $thalor_SerinCumInsideAmount to 0>>
<<set $thalor_SerinCumSwallowedAmount to 0>>
<<set $thalor_SerinCumOnBodyAmount to 0>>
/* Thalor x Seryk */
<<set $thalor_SerykCumInsideAmount to 0>>
<<set $thalor_SerykCumSwallowedAmount to 0>>
<<set $thalor_SerykCumOnBodyAmount to 0>>
/* Thalor x Nimeria */
<<set $thalor_NimeriaCumInsideAmount to 0>>
<<set $thalor_NimeriaCumSwallowedAmount to 0>>
<<set $thalor_NimeriaCumOnBodyAmount to 0>>
/* Liora x Serin */
<<set $liora_SerinCumInsideAmount to 0>>
<<set $liora_SerinCumSwallowedAmount to 0>>
<<set $liora_SerinCumOnBodyAmount to 0>>
/* Liora x Seryk */
<<set $liora_SerykCumInsideAmount to 0>>
<<set $liora_SerykCumSwallowedAmount to 0>>
<<set $liora_SerykCumOnBodyAmount to 0>>
/* Liora x Nimeria */
<<set $liora_NimeriaCumInsideAmount to 0>>
<<set $liora_NimeriaCumSwallowedAmount to 0>>
<<set $liora_NimeriaCumOnBodyAmount to 0>>
/* Serin x Seryk */
<<set $serin_SerykCumInsideAmount to 0>>
<<set $serin_SerykCumSwallowedAmount to 0>>
<<set $serin_SerykCumOnBodyAmount to 0>>
/* Serin x Nimeria */
<<set $serin_NimeriaCumInsideAmount to 0>>
<<set $serin_NimeriaCumSwallowedAmount to 0>>
<<set $serin_NimeriaCumOnBodyAmount to 0>>
/* Seryk x Nimeria */
<<set $seryk_NimeriaCumInsideAmount to 0>>
<<set $seryk_NimeriaCumSwallowedAmount to 0>>
<<set $seryk_NimeriaCumOnBodyAmount to 0>>
/* Lust System Configuration */
<<set $lustDecayPerHour to 2>> /* How much lust decreases per hour naturally */
<<set $lustDecayOnSleep to 25>> /* How much lust decreases when sleeping */
<<set $lustIncreaseFromGlance to 3>> /* Base lust increase from glancing at attractive features */
<<set $lustIncreaseMultiplierFromFetish to 2>> /* Multiplier for lust increase when related fetish exists */
/* Initialize Soul Forge System */
State.variables.soulForgeData = {
isUnlocked: false,
discoveredMemories: [],
collectedCrystals: {
joy: 0,
valor: 0,
bond: 0,
sorrow: 0
},
resonanceThreads: [],
soulEssence: 0,
unlockedPaths: []
};
/* First Experience Variables - Defaults for Established Couples */
<<set $thalorFirstKiss to "Mariel">>
<<set $thalorFirstVaginal to "Mariel">>
<<set $marielFirstKiss to "Thalor">>
<<set $marielFirstVaginal to "Thalor">>
/* First Experience Variables - Done and Taken */
<<set $rylanFirstHandjobDone to 0>>
<<set $rylanFirstHandjobTaken to 0>>
<<set $rylanFirstBlowjobDone to 0>>
<<set $rylanFirstBlowjobTaken to 0>>
<<set $rylanFirstFootjobDone to 0>>
<<set $rylanFirstFootjobTaken to 0>>
<<set $rylanFirstBoobjobDone to 0>>
<<set $rylanFirstBoobjobTaken to 0>>
<<set $rylanFirstVaginalDone to 0>>
<<set $rylanFirstVaginalTaken to 0>>
<<set $rylanFirstAnalDone to 0>>
<<set $rylanFirstAnalTaken to 0>>
<<set $marielFirstHandjobDone to 0>>
<<set $marielFirstHandjobTaken to 0>>
<<set $marielFirstBlowjobDone to 0>>
<<set $marielFirstBlowjobTaken to 0>>
<<set $marielFirstFootjobDone to 0>>
<<set $marielFirstFootjobTaken to 0>>
<<set $marielFirstBoobjobDone to 0>>
<<set $marielFirstBoobjobTaken to 0>>
<<set $marielFirstVaginalDone to 0>>
<<set $marielFirstVaginalTaken to 0>>
<<set $marielFirstAnalDone to 0>>
<<set $marielFirstAnalTaken to 0>>
<<set $thalorFirstHandjobDone to 0>>
<<set $thalorFirstHandjobTaken to 0>>
<<set $thalorFirstBlowjobDone to 0>>
<<set $thalorFirstBlowjobTaken to 0>>
<<set $thalorFirstFootjobDone to 0>>
<<set $thalorFirstFootjobTaken to 0>>
<<set $thalorFirstBoobjobDone to 0>>
<<set $thalorFirstBoobjobTaken to 0>>
<<set $thalorFirstVaginalDone to 0>>
<<set $thalorFirstVaginalTaken to 0>>
<<set $thalorFirstAnalDone to 0>>
<<set $thalorFirstAnalTaken to 0>>
<<set $lioraFirstHandjobDone to 0>>
<<set $lioraFirstHandjobTaken to 0>>
<<set $lioraFirstBlowjobDone to 0>>
<<set $lioraFirstBlowjobTaken to 0>>
<<set $lioraFirstFootjobDone to 0>>
<<set $lioraFirstFootjobTaken to 0>>
<<set $lioraFirstBoobjobDone to 0>>
<<set $lioraFirstBoobjobTaken to 0>>
<<set $lioraFirstVaginalDone to 0>>
<<set $lioraFirstVaginalTaken to 0>>
<<set $lioraFirstAnalDone to 0>>
<<set $lioraFirstAnalTaken to 0>>
<<set $serinFirstHandjobDone to 0>>
<<set $serinFirstHandjobTaken to 0>>
<<set $serinFirstBlowjobDone to 0>>
<<set $serinFirstBlowjobTaken to 0>>
<<set $serinFirstFootjobDone to 0>>
<<set $serinFirstFootjobTaken to 0>>
<<set $serinFirstBoobjobDone to 0>>
<<set $serinFirstBoobjobTaken to 0>>
<<set $serinFirstVaginalDone to 0>>
<<set $serinFirstVaginalTaken to 0>>
<<set $serinFirstAnalDone to 0>>
<<set $serinFirstAnalTaken to 0>>
<<set $serykFirstHandjobDone to 0>>
<<set $serykFirstHandjobTaken to 0>>
<<set $serykFirstBlowjobDone to 0>>
<<set $serykFirstBlowjobTaken to 0>>
<<set $serykFirstFootjobDone to 0>>
<<set $serykFirstFootjobTaken to 0>>
<<set $serykFirstBoobjobDone to 0>>
<<set $serykFirstBoobjobTaken to 0>>
<<set $serykFirstVaginalDone to 0>>
<<set $serykFirstVaginalTaken to 0>>
<<set $serykFirstAnalDone to 0>>
<<set $serykFirstAnalTaken to 0>>
<<set $nimeriaFirstHandjobDone to 0>>
<<set $nimeriaFirstHandjobTaken to 0>>
<<set $nimeriaFirstBlowjobDone to 0>>
<<set $nimeriaFirstBlowjobTaken to 0>>
<<set $nimeriaFirstFootjobDone to 0>>
<<set $nimeriaFirstFootjobTaken to 0>>
<<set $nimeriaFirstBoobjobDone to 0>>
<<set $nimeriaFirstBoobjobTaken to 0>>
<<set $nimeriaFirstVaginalDone to 0>>
<<set $nimeriaFirstVaginalTaken to 0>>
<<set $nimeriaFirstAnalDone to 0>>
<<set $nimeriaFirstAnalTaken to 0>>
/* Content Preference System */
<<set $allowGayContent = true>> // Default to true, can be changed by user choice
/* Gay Value System */
<<set $baseGayResistance = 85>> // Base resistance for gay content when disabled
<<set $minGayValue = 0>>
<<set $maxGayValue = 100>>
<<set $GayValueIncreaseRate = 1>> // Base rate for gay value increase
<<set $GayValueDecreaseRate = 2>> // Base rate for gay value decrease
/* Initialize character gay values */
<<set $rylanGayCuriosity = 0>>
<<set $serykGayCuriosity = 0>>
<<set $rylanSerykLove = 0>>
/* Gay Content Reaction System */
window.GayContentSystem = {
canAcceptAdvance: function(character) {
if ($allowGayContent) {
// If gay content is allowed, check character's individual gay value
let GayValue = State.variables[character.toLowerCase() + 'GayValue'] || 0;
return GayValue >= 50; // Accepts if gay value is high enough
} else {
// If gay content is disabled, only accept if character is feminized
let femininity = State.variables[character.toLowerCase() + 'Femininity'] || 0;
return femininity >= 75; // Only accepts if highly feminized
}
},
getReaction: function(character, action) {
let GayValue = State.variables[character.toLowerCase() + 'GayValue'] || 0;
let femininity = State.variables[character.toLowerCase() + 'Femininity'] || 0;
if (!$allowGayContent && femininity < 75) {
return "disgusted"; // Always disgusted unless highly feminized
}
if (GayValue < 20) return "disgusted";
if (GayValue < 40) return "reluctant";
if (GayValue < 60) return "neutral";
if (GayValue < 80) return "interested";
return "eager";
},
modifyGayValue: function(character, amount) {
let varName = character.toLowerCase() + 'GayValue';
if (!$allowGayContent && amount > 0) {
// If gay content is disabled, gay value increases are reduced
amount = amount * 0.25;
}
State.variables[varName] = Math.clamp(
State.variables[varName] + amount,
State.variables.minGayValue,
State.variables.maxGayValue
);
}
};
/* Base Stats */
<<set $rylan_basePhysicalPower to 10>>
<<set $rylan_baseAgility to 10>>
<<set $rylan_baseWillpower to 10>>
<<set $rylan_baseTechnique to 10>>
<<set $rylan_baseStamina to 100>>
<<set $rylan_baseFocus to 10>>
/* Mariel Base Stats */
<<set $mariel_basePhysicalPower to 8>>
<<set $mariel_baseAgility to 12>>
<<set $mariel_baseWillpower to 15>>
<<set $mariel_baseTechnique to 12>>
<<set $mariel_baseStamina to 90>>
<<set $mariel_baseFocus to 13>>
/* Liora Base Stats */
<<set $liora_basePhysicalPower to 7>>
<<set $liora_baseAgility to 11>>
<<set $liora_baseWillpower to 16>>
<<set $liora_baseTechnique to 13>>
<<set $liora_baseStamina to 85>>
<<set $liora_baseFocus to 14>>
/* Serin Base Stats */
<<set $serin_basePhysicalPower to 11>>
<<set $serin_baseAgility to 15>>
<<set $serin_baseWillpower to 10>>
<<set $serin_baseTechnique to 12>>
<<set $serin_baseStamina to 95>>
<<set $serin_baseFocus to 12>>
/* Seryk Base Stats */
<<set $seryk_basePhysicalPower to 25>>
<<set $seryk_baseAgility to 25>>
<<set $seryk_baseWillpower to 25>>
<<set $seryk_baseTechnique to 25>>
<<set $seryk_baseStamina to 120>>
<<set $seryk_baseFocus to 25>>
/* Nimeria Base Stats */
<<set $Nimeria_basePhysicalPower to 10>>
<<set $Nimeria_baseAgility to 13>>
<<set $Nimeria_baseWillpower to 16>>
<<set $Nimeria_baseTechnique to 15>>
<<set $Nimeria_baseStamina to 100>>
<<set $Nimeria_baseFocus to 14>>
// Stat Change Notification System
window.StatSystem = {
showStatChange: function(source, target, type, value) {
let icon = '';
let cssClass = '';
switch(type.toLowerCase()) {
case 'affection':
icon = value >= 0 ? '💗' : '💔';
cssClass = 'affection';
break;
case 'attraction':
icon = '💝';
cssClass = 'attraction';
break;
case 'lust':
icon = '💢';
cssClass = 'lust';
break;
case 'corruption':
icon = '🌑';
cssClass = 'corruption';
break;
case 'fetish':
icon = '🔥';
cssClass = 'fetish';
break;
case 'experience':
icon = '✨';
cssClass = 'exp';
break;
}
// Format: [icon] Source -> Target: [+/-]value
let msg;
if (target) {
msg = icon + " " + source + " -> " + target + ": " + (value >= 0 ? '+' : '') + value;
} else {
// For single-character stats like experience
msg = icon + " " + source + ": " + (value >= 0 ? '+' : '') + value;
}
UI.alert(msg);
}
};
// Helper functions for stat changes
window.affectionChange = function(source, target, value) {
StatSystem.showStatChange(source, target, 'affection', value);
};
window.attractionChange = function(source, target, value) {
StatSystem.showStatChange(source, target, 'attraction', value);
};
window.lustChange = function(source, value) {
StatSystem.showStatChange(source, null, 'lust', value);
};
window.corruptionChange = function(source, value) {
StatSystem.showStatChange(source, null, 'corruption', value);
};
window.fetishChange = function(source, type, value) {
StatSystem.showStatChange(source, type, 'fetish', value);
};
window.experienceGain = function(source, type, value) {
StatSystem.showStatChange(source + " " + type, null, 'experience', value);
};
/* Rylan Stats */
/* Character Relationship Sexual Stats */
/* Rylan x Thalor */
<<set $rylan_ThalorKissCount to 0>>
<<set $rylan_ThalorVaginalCount to 0>>
<<set $rylan_ThalorAnalCount to 0>>
<<set $rylan_ThalorAnalTakenCount to 0>>
<<set $rylan_ThalorHandjobCount to 0>>
<<set $rylan_ThalorHandjobTakenCount to 0>>
<<set $rylan_ThalorBlowjobCount to 0>>
<<set $rylan_ThalorBlowjobTakenCount to 0>>
<<set $rylan_ThalorFootjobCount to 0>>
<<set $rylan_ThalorFootjobTakenCount to 0>>
<<set $rylan_ThalorBoobJobCount to 0>>
<<set $rylan_ThalorBoobJobTakenCount to 0>>
<<set $rylan_ThalorBreastsTouchedCount to 0>>
<<set $rylan_ThalorBreastsTouchedByCount to 0>>
<<set $rylan_ThalorAssTouchedCount to 0>>
<<set $rylan_ThalorAssTouchedByCount to 0>>
<<set $rylan_ThalorCumInsideCount to 0>>
<<set $rylan_ThalorCumSwallowedMl to 0>>
<<set $rylan_ThalorCumOnBodyMl to 0>>
/* Rylan x Mariel */
<<set $rylan_MarielKissCount to 0>>
<<set $rylan_MarielVaginalCount to 0>>
<<set $rylan_MarielAnalCount to 0>>
<<set $rylan_MarielAnalTakenCount to 0>>
<<set $rylan_MarielHandjobCount to 0>>
<<set $rylan_MarielHandjobTakenCount to 0>>
<<set $rylan_MarielBlowjobCount to 0>>
<<set $rylan_MarielBlowjobTakenCount to 0>>
<<set $rylan_MarielFootjobCount to 0>>
<<set $rylan_MarielFootjobTakenCount to 0>>
<<set $rylan_MarielBoobJobCount to 0>>
<<set $rylan_MarielBoobJobTakenCount to 0>>
<<set $rylan_MarielBreastsTouchedCount to 0>>
<<set $rylan_MarielBreastsTouchedByCount to 0>>
<<set $rylan_MarielAssTouchedCount to 0>>
<<set $rylan_MarielAssTouchedByCount to 0>>
<<set $rylan_MarielCumInsideCount to 0>>
<<set $rylan_MarielCumSwallowedMl to 0>>
<<set $rylan_MarielCumOnBodyMl to 0>>
/* Rylan x Liora */
<<set $rylan_LioraKissCount to 0>>
<<set $rylan_LioraVaginalCount to 0>>
<<set $rylan_LioraAnalCount to 0>>
<<set $rylan_LioraAnalTakenCount to 0>>
<<set $rylan_LioraHandjobCount to 0>>
<<set $rylan_LioraHandjobTakenCount to 0>>
<<set $rylan_LioraBlowjobCount to 0>>
<<set $rylan_LioraBlowjobTakenCount to 0>>
<<set $rylan_LioraFootjobCount to 0>>
<<set $rylan_LioraFootjobTakenCount to 0>>
<<set $rylan_LioraBoobJobCount to 0>>
<<set $rylan_LioraBoobJobTakenCount to 0>>
<<set $rylan_LioraBreastsTouchedCount to 0>>
<<set $rylan_LioraBreastsTouchedByCount to 0>>
<<set $rylan_LioraAssTouchedCount to 0>>
<<set $rylan_LioraAssTouchedByCount to 0>>
<<set $rylan_LioraCumInsideCount to 0>>
<<set $rylan_LioraCumSwallowedMl to 0>>
<<set $rylan_LioraCumOnBodyMl to 0>>
/* Rylan x Serin */
<<set $rylan_SerinKissCount to 0>>
<<set $rylan_SerinVaginalCount to 0>>
<<set $rylan_SerinAnalCount to 0>>
<<set $rylan_SerinAnalTakenCount to 0>>
<<set $rylan_SerinHandjobCount to 0>>
<<set $rylan_SerinHandjobTakenCount to 0>>
<<set $rylan_SerinBlowjobCount to 0>>
<<set $rylan_SerinBlowjobTakenCount to 0>>
<<set $rylan_SerinFootjobCount to 0>>
<<set $rylan_SerinFootjobTakenCount to 0>>
<<set $rylan_SerinBoobJobCount to 0>>
<<set $rylan_SerinBoobJobTakenCount to 0>>
<<set $rylan_SerinBreastsTouchedCount to 0>>
<<set $rylan_SerinBreastsTouchedByCount to 0>>
<<set $rylan_SerinAssTouchedCount to 0>>
<<set $rylan_SerinAssTouchedByCount to 0>>
<<set $rylan_SerinCumInsideCount to 0>>
<<set $rylan_SerinCumSwallowedMl to 0>>
<<set $rylan_SerinCumOnBodyMl to 0>>
/* Rylan x Seryk */
<<set $rylan_SerykKissCount to 0>>
<<set $rylan_SerykVaginalCount to 0>>
<<set $rylan_SerykAnalCount to 0>>
<<set $rylan_SerykAnalTakenCount to 0>>
<<set $rylan_SerykHandjobCount to 0>>
<<set $rylan_SerykHandjobTakenCount to 0>>
<<set $rylan_SerykBlowjobCount to 0>>
<<set $rylan_SerykBlowjobTakenCount to 0>>
<<set $rylan_SerykFootjobCount to 0>>
<<set $rylan_SerykFootjobTakenCount to 0>>
<<set $rylan_SerykBoobJobCount to 0>>
<<set $rylan_SerykBoobJobTakenCount to 0>>
<<set $rylan_SerykBreastsTouchedCount to 0>>
<<set $rylan_SerykBreastsTouchedByCount to 0>>
<<set $rylan_SerykAssTouchedCount to 0>>
<<set $rylan_SerykAssTouchedByCount to 0>>
<<set $rylan_SerykCumInsideCount to 0>>
<<set $rylan_SerykCumSwallowedMl to 0>>
<<set $rylan_SerykCumOnBodyMl to 0>>
/* Rylan x Nimeria */
<<set $rylan_NimeriaKissCount to 0>>
<<set $rylan_NimeriaVaginalCount to 0>>
<<set $rylan_NimeriaAnalCount to 0>>
<<set $rylan_NimeriaAnalTakenCount to 0>>
<<set $rylan_NimeriaHandjobCount to 0>>
<<set $rylan_NimeriaHandjobTakenCount to 0>>
<<set $rylan_NimeriaBlowjobCount to 0>>
<<set $rylan_NimeriaBlowjobTakenCount to 0>>
<<set $rylan_NimeriaFootjobCount to 0>>
<<set $rylan_NimeriaFootjobTakenCount to 0>>
<<set $rylan_NimeriaBoobJobCount to 0>>
<<set $rylan_NimeriaBoobJobTakenCount to 0>>
<<set $rylan_NimeriaBreastsTouchedCount to 0>>
<<set $rylan_NimeriaBreastsTouchedByCount to 0>>
<<set $rylan_NimeriaAssTouchedCount to 0>>
<<set $rylan_NimeriaAssTouchedByCount to 0>>
<<set $rylan_NimeriaCumInsideCount to 0>>
<<set $rylan_NimeriaCumSwallowedMl to 0>>
<<set $rylan_NimeriaCumOnBodyMl to 0>>
/* Mariel x Thalor */
<<set $mariel_ThalorKissCount to 39>>
<<set $mariel_ThalorVaginalCount to 13>>
<<set $mariel_ThalorAnalCount to 0>>
<<set $mariel_ThalorAnalTakenCount to 0>>
<<set $mariel_ThalorHandjobCount to 0>>
<<set $mariel_ThalorHandjobTakenCount to 0>>
<<set $mariel_ThalorBlowjobCount to 0>>
<<set $mariel_ThalorBlowjobTakenCount to 0>>
<<set $mariel_ThalorFootjobCount to 0>>
<<set $mariel_ThalorFootjobTakenCount to 0>>
<<set $mariel_ThalorBoobJobCount to 0>>
<<set $mariel_ThalorBoobJobTakenCount to 0>>
<<set $mariel_ThalorBreastsTouchedCount to 0>>
<<set $mariel_ThalorBreastsTouchedByCount to 0>>
<<set $mariel_ThalorAssTouchedCount to 0>>
<<set $mariel_ThalorAssTouchedByCount to 0>>
<<set $mariel_ThalorCumInsideCount to 13>>
<<set $mariel_ThalorCumInsideMl to 65>>
<<set $mariel_ThalorCumSwallowedMl to 0>>
<<set $mariel_ThalorCumOnBodyMl to 0>>
/* Mariel x Liora */
<<set $mariel_LioraKissCount to 0>>
<<set $mariel_LioraVaginalCount to 0>>
<<set $mariel_LioraAnalCount to 0>>
<<set $mariel_LioraAnalTakenCount to 0>>
<<set $mariel_LioraHandjobCount to 0>>
<<set $mariel_LioraHandjobTakenCount to 0>>
<<set $mariel_LioraBlowjobCount to 0>>
<<set $mariel_LioraBlowjobTakenCount to 0>>
<<set $mariel_LioraFootjobCount to 0>>
<<set $mariel_LioraFootjobTakenCount to 0>>
<<set $mariel_LioraBoobJobCount to 0>>
<<set $mariel_LioraBoobJobTakenCount to 0>>
<<set $mariel_LioraBreastsTouchedCount to 0>>
<<set $mariel_LioraBreastsTouchedByCount to 0>>
<<set $mariel_LioraAssTouchedCount to 0>>
<<set $mariel_LioraAssTouchedByCount to 0>>
<<set $mariel_LioraCumInsideCount to 0>>
<<set $mariel_LioraCumSwallowedMl to 0>>
<<set $mariel_LioraCumOnBodyMl to 0>>
/* Mariel x Serin */
<<set $mariel_SerinKissCount to 0>>
<<set $mariel_SerinVaginalCount to 0>>
<<set $mariel_SerinAnalCount to 0>>
<<set $mariel_SerinAnalTakenCount to 0>>
<<set $mariel_SerinHandjobCount to 0>>
<<set $mariel_SerinHandjobTakenCount to 0>>
<<set $mariel_SerinBlowjobCount to 0>>
<<set $mariel_SerinBlowjobTakenCount to 0>>
<<set $mariel_SerinFootjobCount to 0>>
<<set $mariel_SerinFootjobTakenCount to 0>>
<<set $mariel_SerinBoobJobCount to 0>>
<<set $mariel_SerinBoobJobTakenCount to 0>>
<<set $mariel_SerinBreastsTouchedCount to 0>>
<<set $mariel_SerinBreastsTouchedByCount to 0>>
<<set $mariel_SerinAssTouchedCount to 0>>
<<set $mariel_SerinAssTouchedByCount to 0>>
<<set $mariel_SerinCumInsideCount to 0>>
<<set $mariel_SerinCumSwallowedMl to 0>>
<<set $mariel_SerinCumOnBodyMl to 0>>
/* Mariel x Seryk */
<<set $mariel_SerykKissCount to 0>>
<<set $mariel_SerykVaginalCount to 0>>
<<set $mariel_SerykAnalCount to 0>>
<<set $mariel_SerykAnalTakenCount to 0>>
<<set $mariel_SerykHandjobCount to 0>>
<<set $mariel_SerykHandjobTakenCount to 0>>
<<set $mariel_SerykBlowjobCount to 0>>
<<set $mariel_SerykBlowjobTakenCount to 0>>
<<set $mariel_SerykFootjobCount to 0>>
<<set $mariel_SerykFootjobTakenCount to 0>>
<<set $mariel_SerykBoobJobCount to 0>>
<<set $mariel_SerykBoobJobTakenCount to 0>>
<<set $mariel_SerykBreastsTouchedCount to 0>>
<<set $mariel_SerykBreastsTouchedByCount to 0>>
<<set $mariel_SerykAssTouchedCount to 0>>
<<set $mariel_SerykAssTouchedByCount to 0>>
<<set $mariel_SerykCumInsideCount to 0>>
<<set $mariel_SerykCumSwallowedMl to 0>>
<<set $mariel_SerykCumOnBodyMl to 0>>
/* Mariel x Nimeria */
<<set $mariel_NimeriaKissCount to 0>>
<<set $mariel_NimeriaVaginalCount to 0>>
<<set $mariel_NimeriaAnalCount to 0>>
<<set $mariel_NimeriaAnalTakenCount to 0>>
<<set $mariel_NimeriaHandjobCount to 0>>
<<set $mariel_NimeriaHandjobTakenCount to 0>>
<<set $mariel_NimeriaBlowjobCount to 0>>
<<set $mariel_NimeriaBlowjobTakenCount to 0>>
<<set $mariel_NimeriaFootjobCount to 0>>
<<set $mariel_NimeriaFootjobTakenCount to 0>>
<<set $mariel_NimeriaBoobJobCount to 0>>
<<set $mariel_NimeriaBoobJobTakenCount to 0>>
<<set $mariel_NimeriaBreastsTouchedCount to 0>>
<<set $mariel_NimeriaBreastsTouchedByCount to 0>>
<<set $mariel_NimeriaAssTouchedCount to 0>>
<<set $mariel_NimeriaAssTouchedByCount to 0>>
<<set $mariel_NimeriaCumInsideCount to 0>>
<<set $mariel_NimeriaCumSwallowedMl to 0>>
<<set $mariel_NimeriaCumOnBodyMl to 0>>
/* Thalor x Rylan */
<<set $thalor_RylanKissCount to 0>>
<<set $thalor_RylanVaginalCount to 0>>
<<set $thalor_RylanAnalCount to 0>>
<<set $thalor_RylanAnalTakenCount to 0>>
<<set $thalor_RylanHandjobCount to 0>>
<<set $thalor_RylanHandjobTakenCount to 0>>
<<set $thalor_RylanBlowjobCount to 0>>
<<set $thalor_RylanBlowjobTakenCount to 0>>
<<set $thalor_RylanFootjobCount to 0>>
<<set $thalor_RylanFootjobTakenCount to 0>>
<<set $thalor_RylanBoobJobCount to 0>>
<<set $thalor_RylanBoobJobTakenCount to 0>>
<<set $thalor_RylanBreastsTouchedCount to 0>>
<<set $thalor_RylanBreastsTouchedByCount to 0>>
<<set $thalor_RylanAssTouchedCount to 0>>
<<set $thalor_RylanAssTouchedByCount to 0>>
<<set $thalor_RylanCumInsideCount to 0>>
<<set $thalor_RylanCumSwallowedMl to 0>>
<<set $thalor_RylanCumOnBodyMl to 0>>
/* Thalor x Mariel */
<<set $thalor_MarielKissCount to 39>>
<<set $thalor_MarielVaginalCount to 13>>
<<set $thalor_MarielAnalCount to 0>>
<<set $thalor_MarielAnalTakenCount to 0>>
<<set $thalor_MarielHandjobCount to 0>>
<<set $thalor_MarielHandjobTakenCount to 0>>
<<set $thalor_MarielBlowjobCount to 0>>
<<set $thalor_MarielBlowjobTakenCount to 0>>
<<set $thalor_MarielFootjobCount to 0>>
<<set $thalor_MarielFootjobTakenCount to 0>>
<<set $thalor_MarielBoobJobCount to 0>>
<<set $thalor_MarielBoobJobTakenCount to 0>>
<<set $thalor_MarielBreastsTouchedCount to 0>>
<<set $thalor_MarielBreastsTouchedByCount to 0>>
<<set $thalor_MarielAssTouchedCount to 0>>
<<set $thalor_MarielAssTouchedByCount to 0>>
<<set $thalor_MarielCumInsideCount to 13>>
<<set $thalor_MarielCumInsideMl to 65>>
<<set $thalor_MarielCumSwallowedMl to 0>>
<<set $thalor_MarielCumOnBodyMl to 0>>
/* Thalor x Liora */
<<set $thalor_LioraKissCount to 0>>
<<set $thalor_LioraVaginalCount to 0>>
<<set $thalor_LioraAnalCount to 0>>
<<set $thalor_LioraAnalTakenCount to 0>>
<<set $thalor_LioraHandjobCount to 0>>
<<set $thalor_LioraHandjobTakenCount to 0>>
<<set $thalor_LioraBlowjobCount to 0>>
<<set $thalor_LioraBlowjobTakenCount to 0>>
<<set $thalor_LioraFootjobCount to 0>>
<<set $thalor_LioraFootjobTakenCount to 0>>
<<set $thalor_LioraBoobJobCount to 0>>
<<set $thalor_LioraBoobJobTakenCount to 0>>
<<set $thalor_LioraBreastsTouchedCount to 0>>
<<set $thalor_LioraBreastsTouchedByCount to 0>>
<<set $thalor_LioraAssTouchedCount to 0>>
<<set $thalor_LioraAssTouchedByCount to 0>>
<<set $thalor_LioraCumInsideCount to 0>>
<<set $thalor_LioraCumSwallowedMl to 0>>
<<set $thalor_LioraCumOnBodyMl to 0>>
/* Thalor x Serin */
<<set $thalor_SerinKissCount to 0>>
<<set $thalor_SerinVaginalCount to 0>>
<<set $thalor_SerinAnalCount to 0>>
<<set $thalor_SerinAnalTakenCount to 0>>
<<set $thalor_SerinHandjobCount to 0>>
<<set $thalor_SerinHandjobTakenCount to 0>>
<<set $thalor_SerinBlowjobCount to 0>>
<<set $thalor_SerinBlowjobTakenCount to 0>>
<<set $thalor_SerinFootjobCount to 0>>
<<set $thalor_SerinFootjobTakenCount to 0>>
<<set $thalor_SerinBoobJobCount to 0>>
<<set $thalor_SerinBoobJobTakenCount to 0>>
<<set $thalor_SerinBreastsTouchedCount to 0>>
<<set $thalor_SerinBreastsTouchedByCount to 0>>
<<set $thalor_SerinAssTouchedCount to 0>>
<<set $thalor_SerinAssTouchedByCount to 0>>
<<set $thalor_SerinCumInsideCount to 0>>
<<set $thalor_SerinCumSwallowedMl to 0>>
<<set $thalor_SerinCumOnBodyMl to 0>>
/* Thalor x Seryk */
<<set $thalor_SerykKissCount to 0>>
<<set $thalor_SerykVaginalCount to 0>>
<<set $thalor_SerykAnalCount to 0>>
<<set $thalor_SerykAnalTakenCount to 0>>
<<set $thalor_SerykHandjobCount to 0>>
<<set $thalor_SerykHandjobTakenCount to 0>>
<<set $thalor_SerykBlowjobCount to 0>>
<<set $thalor_SerykBlowjobTakenCount to 0>>
<<set $thalor_SerykFootjobCount to 0>>
<<set $thalor_SerykFootjobTakenCount to 0>>
<<set $thalor_SerykBoobJobCount to 0>>
<<set $thalor_SerykBoobJobTakenCount to 0>>
<<set $thalor_SerykBreastsTouchedCount to 0>>
<<set $thalor_SerykBreastsTouchedByCount to 0>>
<<set $thalor_SerykAssTouchedCount to 0>>
<<set $thalor_SerykAssTouchedByCount to 0>>
<<set $thalor_SerykCumInsideCount to 0>>
<<set $thalor_SerykCumSwallowedMl to 0>>
<<set $thalor_SerykCumOnBodyMl to 0>>
/* Thalor x Nimeria */
<<set $thalor_NimeriaKissCount to 0>>
<<set $thalor_NimeriaVaginalCount to 0>>
<<set $thalor_NimeriaAnalCount to 0>>
<<set $thalor_NimeriaAnalTakenCount to 0>>
<<set $thalor_NimeriaHandjobCount to 0>>
<<set $thalor_NimeriaHandjobTakenCount to 0>>
<<set $thalor_NimeriaBlowjobCount to 0>>
<<set $thalor_NimeriaBlowjobTakenCount to 0>>
<<set $thalor_NimeriaFootjobCount to 0>>
<<set $thalor_NimeriaFootjobTakenCount to 0>>
<<set $thalor_NimeriaBoobJobCount to 0>>
<<set $thalor_NimeriaBoobJobTakenCount to 0>>
<<set $thalor_NimeriaBreastsTouchedCount to 0>>
<<set $thalor_NimeriaBreastsTouchedByCount to 0>>
<<set $thalor_NimeriaAssTouchedCount to 0>>
<<set $thalor_NimeriaAssTouchedByCount to 0>>
<<set $thalor_NimeriaCumInsideCount to 0>>
<<set $thalor_NimeriaCumSwallowedMl to 0>>
<<set $thalor_NimeriaCumOnBodyMl to 0>>
/* Additional Fetish Stats for Each Character */
/* Rylan Additional Fetishes */
<<set $rylan_BreastFetish to 0>>
<<set $rylan_AssFetish to 0>>
<<set $rylan_ThighFetish to 0>>
<<set $rylan_PenisFetish to 0>>
<<set $rylan_VaginaFetish to 0>>
<<set $rylan_ExhibitionismFetish to 0>>
<<set $rylan_VoyeurismFetish to 0>>
<<set $rylan_BondageFetish to 0>>
<<set $rylan_DominanceFetish to 0>>
<<set $rylan_SubmissionFetish to 0>>
<<set $rylan_MasochismFetish to 0>>
<<set $rylan_SadismFetish to 0>>
<<set $rylan_PublicSexAddiction to 0>>
/* Rylan Additional Sexual Stats */
<<set $rylan_orgasmDenialCount to 0>>
<<set $rylan_edgingCount to 0>>
<<set $rylan_publicExposureCount to 0>>
<<set $rylan_publicOrgasmCount to 0>>
<<set $rylan_bondageExperienceCount to 0>>
<<set $rylan_dominantCount to 0>>
<<set $rylan_submissiveCount to 0>>
<<set $rylan_clothedSexCount to 0>>
<<set $rylan_lingerieWornCount to 0>>
<<set $rylan_thighJobDoneCount to 0>>
<<set $rylan_thighJobTakenCount to 0>>
<<set $rylan_rimjobDoneCount to 0>>
<<set $rylan_rimjobTakenCount to 0>>
<<set $rylan_deepthroatCount to 0>>
<<set $rylan_doublePenetrationCount to 0>>
<<set $rylan_multipleCumCount to 0>>
<<set $rylan_cumOnFaceCount to 0>>
<<set $rylan_cumOnBreastsCount to 0>>
<<set $rylan_cumOnAssCount to 0>>
<<set $rylan_cumOnThighsCount to 0>>
<<set $rylan_cumOnFeetCount to 0>>
<<set $rylan_cumInMouthCount to 0>>
<<set $rylan_cumPlayCount to 0>>
<<set $rylan_cumSwapCount to 0>>
<<set $rylan_cumKissCount to 0>>
/* Mariel Additional Fetishes */
<<set $mariel_BreastFetish to 0>>
<<set $mariel_AssFetish to 0>>
<<set $mariel_PenisFetish to 0>>
<<set $mariel_VaginaFetish to 0>>
<<set $mariel_ThighFetish to 0>>
<<set $mariel_ExhibitionismFetish to 0>>
<<set $mariel_VoyeurismFetish to 0>>
<<set $mariel_BondageFetish to 0>>
<<set $mariel_DominanceFetish to 0>>
<<set $mariel_SubmissionFetish to 0>>
<<set $mariel_MasochismFetish to 0>>
<<set $mariel_SadismFetish to 0>>
<<set $mariel_PublicSexAddiction to 0>>
/* Mariel Additional Sexual Stats */
<<set $mariel_orgasmDenialCount to 0>>
<<set $mariel_edgingCount to 0>>
<<set $mariel_publicExposureCount to 0>>
<<set $mariel_publicOrgasmCount to 0>>
<<set $mariel_bondageExperienceCount to 0>>
<<set $mariel_dominantCount to 0>>
<<set $mariel_submissiveCount to 0>>
<<set $mariel_clothedSexCount to 0>>
<<set $mariel_lingerieWornCount to 0>>
<<set $mariel_thighJobDoneCount to 0>>
<<set $mariel_thighJobTakenCount to 0>>
<<set $mariel_rimjobDoneCount to 0>>
<<set $mariel_rimjobTakenCount to 0>>
<<set $mariel_deepthroatCount to 0>>
<<set $mariel_doublePenetrationCount to 0>>
<<set $mariel_multipleCumCount to 0>>
<<set $mariel_cumOnFaceCount to 0>>
<<set $mariel_cumOnBreastsCount to 0>>
<<set $mariel_cumOnAssCount to 0>>
<<set $mariel_cumOnThighsCount to 0>>
<<set $mariel_cumOnFeetCount to 0>>
<<set $mariel_cumInMouthCount to 0>>
<<set $mariel_cumPlayCount to 0>>
<<set $mariel_cumSwapCount to 0>>
<<set $mariel_cumKissCount to 0>>
/* Liora Additional Fetishes */
<<set $liora_BreastFetish to 0>>
<<set $liora_AssFetish to 0>>
<<set $liora_PenisFetish to 0>>
<<set $liora_VaginaFetish to 0>>
<<set $liora_ThighFetish to 0>>
<<set $liora_ExhibitionismFetish to 0>>
<<set $liora_VoyeurismFetish to 0>>
<<set $liora_BondageFetish to 0>>
<<set $liora_DominanceFetish to 0>>
<<set $liora_SubmissionFetish to 0>>
<<set $liora_MasochismFetish to 0>>
<<set $liora_SadismFetish to 0>>
<<set $liora_PublicSexAddiction to 0>>
/* Liora Additional Sexual Stats */
<<set $liora_orgasmDenialCount to 0>>
<<set $liora_edgingCount to 0>>
<<set $liora_publicExposureCount to 0>>
<<set $liora_publicOrgasmCount to 0>>
<<set $liora_bondageExperienceCount to 0>>
<<set $liora_dominantCount to 0>>
<<set $liora_submissiveCount to 0>>
<<set $liora_clothedSexCount to 0>>
<<set $liora_lingerieWornCount to 0>>
<<set $liora_thighJobDoneCount to 0>>
<<set $liora_thighJobTakenCount to 0>>
<<set $liora_rimjobDoneCount to 0>>
<<set $liora_rimjobTakenCount to 0>>
<<set $liora_deepthroatCount to 0>>
<<set $liora_doublePenetrationCount to 0>>
<<set $liora_multipleCumCount to 0>>
<<set $liora_cumOnFaceCount to 0>>
<<set $liora_cumOnBreastsCount to 0>>
<<set $liora_cumOnAssCount to 0>>
<<set $liora_cumOnThighsCount to 0>>
<<set $liora_cumOnFeetCount to 0>>
<<set $liora_cumInMouthCount to 0>>
<<set $liora_cumPlayCount to 0>>
<<set $liora_cumSwapCount to 0>>
<<set $liora_cumKissCount to 0>>
/* Serin Additional Fetishes */
<<set $serin_BreastFetish to 0>>
<<set $serin_AssFetish to 0>>
<<set $serin_PenisFetish to 0>>
<<set $serin_VaginaFetish to 0>>
<<set $serin_ThighFetish to 0>>
<<set $serin_ExhibitionismFetish to 0>>
<<set $serin_VoyeurismFetish to 0>>
<<set $serin_BondageFetish to 0>>
<<set $serin_DominanceFetish to 0>>
<<set $serin_SubmissionFetish to 0>>
<<set $serin_MasochismFetish to 0>>
<<set $serin_SadismFetish to 0>>
<<set $serin_PublicSexAddiction to 0>>
/* Serin Additional Sexual Stats */
<<set $serin_orgasmDenialCount to 0>>
<<set $serin_edgingCount to 0>>
<<set $serin_publicExposureCount to 0>>
<<set $serin_publicOrgasmCount to 0>>
<<set $serin_bondageExperienceCount to 0>>
<<set $serin_dominantCount to 0>>
<<set $serin_submissiveCount to 0>>
<<set $serin_clothedSexCount to 0>>
<<set $serin_lingerieWornCount to 0>>
<<set $serin_thighJobDoneCount to 0>>
<<set $serin_thighJobTakenCount to 0>>
<<set $serin_rimjobDoneCount to 0>>
<<set $serin_rimjobTakenCount to 0>>
<<set $serin_deepthroatCount to 0>>
<<set $serin_doublePenetrationCount to 0>>
<<set $serin_multipleCumCount to 0>>
<<set $serin_cumOnFaceCount to 0>>
<<set $serin_cumOnBreastsCount to 0>>
<<set $serin_cumOnAssCount to 0>>
<<set $serin_cumOnThighsCount to 0>>
<<set $serin_cumOnFeetCount to 0>>
<<set $serin_cumInMouthCount to 0>>
<<set $serin_cumPlayCount to 0>>
<<set $serin_cumSwapCount to 0>>
<<set $serin_cumKissCount to 0>>
/* Seryk Additional Fetishes */
<<set $seryk_BreastFetish to 0>>
<<set $seryk_AssFetish to 0>>
<<set $seryk_PenisFetish to 0>>
<<set $seryk_VaginaFetish to 0>>
<<set $seryk_ThighFetish to 0>>
<<set $seryk_ExhibitionismFetish to 0>>
<<set $seryk_VoyeurismFetish to 0>>
<<set $seryk_BondageFetish to 0>>
<<set $seryk_DominanceFetish to 0>>
<<set $seryk_SubmissionFetish to 0>>
<<set $seryk_MasochismFetish to 0>>
<<set $seryk_SadismFetish to 0>>
<<set $seryk_PublicSexAddiction to 0>>
/* Seryk Additional Sexual Stats */
<<set $seryk_orgasmDenialCount to 0>>
<<set $seryk_edgingCount to 0>>
<<set $seryk_publicExposureCount to 0>>
<<set $seryk_publicOrgasmCount to 0>>
<<set $seryk_bondageExperienceCount to 0>>
<<set $seryk_dominantCount to 0>>
<<set $seryk_submissiveCount to 0>>
<<set $seryk_clothedSexCount to 0>>
<<set $seryk_lingerieWornCount to 0>>
<<set $seryk_thighJobDoneCount to 0>>
<<set $seryk_thighJobTakenCount to 0>>
<<set $seryk_rimjobDoneCount to 0>>
<<set $seryk_rimjobTakenCount to 0>>
<<set $seryk_deepthroatCount to 0>>
<<set $seryk_doublePenetrationCount to 0>>
<<set $seryk_multipleCumCount to 0>>
<<set $seryk_cumOnFaceCount to 0>>
<<set $seryk_cumOnBreastsCount to 0>>
<<set $seryk_cumOnAssCount to 0>>
<<set $seryk_cumOnThighsCount to 0>>
<<set $seryk_cumOnFeetCount to 0>>
<<set $seryk_cumInMouthCount to 0>>
<<set $seryk_cumPlayCount to 0>>
<<set $seryk_cumSwapCount to 0>>
<<set $seryk_cumKissCount to 0>>
/* Nimeria Additional Fetishes */
<<set $Nimeria_BreastFetish to 0>>
<<set $Nimeria_AssFetish to 0>>
<<set $Nimeria_PenisFetish to 0>>
<<set $Nimeria_VaginaFetish to 0>>
<<set $Nimeria_ThighFetish to 0>>
<<set $Nimeria_ExhibitionismFetish to 0>>
<<set $Nimeria_VoyeurismFetish to 0>>
<<set $Nimeria_BondageFetish to 0>>
<<set $Nimeria_DominanceFetish to 0>>
<<set $Nimeria_SubmissionFetish to 0>>
<<set $Nimeria_MasochismFetish to 0>>
<<set $Nimeria_SadismFetish to 0>>
<<set $Nimeria_PublicSexAddiction to 0>>
/* Nimeria Additional Sexual Stats */
<<set $Nimeria_orgasmDenialCount to 0>>
<<set $Nimeria_edgingCount to 0>>
<<set $Nimeria_publicExposureCount to 0>>
<<set $Nimeria_publicOrgasmCount to 0>>
<<set $Nimeria_bondageExperienceCount to 0>>
<<set $Nimeria_dominantCount to 0>>
<<set $Nimeria_submissiveCount to 0>>
<<set $Nimeria_clothedSexCount to 0>>
<<set $Nimeria_lingerieWornCount to 0>>
<<set $Nimeria_thighJobDoneCount to 0>>
<<set $Nimeria_thighJobTakenCount to 0>>
<<set $Nimeria_rimjobDoneCount to 0>>
<<set $Nimeria_rimjobTakenCount to 0>>
<<set $Nimeria_deepthroatCount to 0>>
<<set $Nimeria_doublePenetrationCount to 0>>
<<set $Nimeria_multipleCumCount to 0>>
<<set $Nimeria_cumOnFaceCount to 0>>
<<set $Nimeria_cumOnBreastsCount to 0>>
<<set $Nimeria_cumOnAssCount to 0>>
<<set $Nimeria_cumOnThighsCount to 0>>
<<set $Nimeria_cumOnFeetCount to 0>>
<<set $Nimeria_cumInMouthCount to 0>>
<<set $Nimeria_cumPlayCount to 0>>
<<set $Nimeria_cumSwapCount to 0>>
<<set $Nimeria_cumKissCount to 0>>
/* Additional Relationship-Specific Stats */
/* Rylan x Mariel Additional */
<<set $rylan_MarielThighJobCount to 0>>
<<set $rylan_MarielThighJobTakenCount to 0>>
<<set $rylan_MarielRimjobCount to 0>>
<<set $rylan_MarielRimjobTakenCount to 0>>
<<set $rylan_MarielDeepthroatCount to 0>>
<<set $rylan_MarielDoublePenetrationCount to 0>>
<<set $rylan_MarielCumOnFaceCount to 0>>
<<set $rylan_MarielCumOnBreastsCount to 0>>
<<set $rylan_MarielCumOnAssCount to 0>>
<<set $rylan_MarielCumOnThighsCount to 0>>
<<set $rylan_MarielCumOnFeetCount to 0>>
<<set $rylan_MarielCumInMouthCount to 0>>
<<set $rylan_MarielCumPlayCount to 0>>
<<set $rylan_MarielCumSwapCount to 0>>
<<set $rylan_MarielCumKissCount to 0>>
<<set $rylan_MarielBondageCount to 0>>
<<set $rylan_MarielDominantCount to 0>>
<<set $rylan_MarielSubmissiveCount to 0>>
<<set $rylan_MarielPublicSexCount to 0>>
<<set $rylan_MarielClothedSexCount to 0>>
<<set $rylan_MarielLingerieSexCount to 0>>
/* Liora x Serin Additional */
<<set $liora_SerinThighJobCount to 0>>
<<set $liora_SerinThighJobTakenCount to 0>>
<<set $liora_SerinRimjobCount to 0>>
<<set $liora_SerinRimjobTakenCount to 0>>
<<set $liora_SerinDeepthroatCount to 0>>
<<set $liora_SerinDoublePenetrationCount to 0>>
<<set $liora_SerinCumOnFaceCount to 0>>
<<set $liora_SerinCumOnBreastsCount to 0>>
<<set $liora_SerinCumOnAssCount to 0>>
<<set $liora_SerinCumOnThighsCount to 0>>
<<set $liora_SerinCumOnFeetCount to 0>>
<<set $liora_SerinCumInMouthCount to 0>>
<<set $liora_SerinCumPlayCount to 0>>
<<set $liora_SerinCumSwapCount to 0>>
<<set $liora_SerinCumKissCount to 0>>
<<set $liora_SerinBondageCount to 0>>
<<set $liora_SerinDominantCount to 0>>
<<set $liora_SerinSubmissiveCount to 0>>
<<set $liora_SerinPublicSexCount to 0>>
<<set $liora_SerinClothedSexCount to 0>>
<<set $liora_SerinLingerieSexCount to 0>>
/* Liora x Seryk Additional */
<<set $liora_SerykThighJobCount to 0>>
<<set $liora_SerykThighJobTakenCount to 0>>
<<set $liora_SerykRimjobCount to 0>>
<<set $liora_SerykRimjobTakenCount to 0>>
<<set $liora_SerykDeepthroatCount to 0>>
<<set $liora_SerykDoublePenetrationCount to 0>>
<<set $liora_SerykCumOnFaceCount to 0>>
<<set $liora_SerykCumOnBreastsCount to 0>>
<<set $liora_SerykCumOnAssCount to 0>>
<<set $liora_SerykCumOnThighsCount to 0>>
<<set $liora_SerykCumOnFeetCount to 0>>
<<set $liora_SerykCumInMouthCount to 0>>
<<set $liora_SerykCumPlayCount to 0>>
<<set $liora_SerykCumSwapCount to 0>>
<<set $liora_SerykCumKissCount to 0>>
<<set $liora_SerykBondageCount to 0>>
<<set $liora_SerykDominantCount to 0>>
<<set $liora_SerykSubmissiveCount to 0>>
<<set $liora_SerykPublicSexCount to 0>>
<<set $liora_SerykClothedSexCount to 0>>
<<set $liora_SerykLingerieSexCount to 0>>
/* Liora x Nimeria Additional */
<<set $liora_NimeriaThighJobCount to 0>>
<<set $liora_NimeriaThighJobTakenCount to 0>>
<<set $liora_NimeriaRimjobCount to 0>>
<<set $liora_NimeriaRimjobTakenCount to 0>>
<<set $liora_NimeriaDeepthroatCount to 0>>
<<set $liora_NimeriaDoublePenetrationCount to 0>>
<<set $liora_NimeriaCumOnFaceCount to 0>>
<<set $liora_NimeriaCumOnBreastsCount to 0>>
<<set $liora_NimeriaCumOnAssCount to 0>>
<<set $liora_NimeriaCumOnThighsCount to 0>>
<<set $liora_NimeriaCumOnFeetCount to 0>>
<<set $liora_NimeriaCumInMouthCount to 0>>
<<set $liora_NimeriaCumPlayCount to 0>>
<<set $liora_NimeriaCumSwapCount to 0>>
<<set $liora_NimeriaCumKissCount to 0>>
<<set $liora_NimeriaBondageCount to 0>>
<<set $liora_NimeriaDominantCount to 0>>
<<set $liora_NimeriaSubmissiveCount to 0>>
<<set $liora_NimeriaPublicSexCount to 0>>
<<set $liora_NimeriaClothedSexCount to 0>>
<<set $liora_NimeriaLingerieSexCount to 0>>
/* Serin x Seryk Additional */
<<set $serin_SerykThighJobCount to 0>>
<<set $serin_SerykThighJobTakenCount to 0>>
<<set $serin_SerykRimjobCount to 0>>
<<set $serin_SerykRimjobTakenCount to 0>>
<<set $serin_SerykDeepthroatCount to 0>>
<<set $serin_SerykDoublePenetrationCount to 0>>
<<set $serin_SerykCumOnFaceCount to 0>>
<<set $serin_SerykCumOnBreastsCount to 0>>
<<set $serin_SerykCumOnAssCount to 0>>
<<set $serin_SerykCumOnThighsCount to 0>>
<<set $serin_SerykCumOnFeetCount to 0>>
<<set $serin_SerykCumInMouthCount to 0>>
<<set $serin_SerykCumPlayCount to 0>>
<<set $serin_SerykCumSwapCount to 0>>
<<set $serin_SerykCumKissCount to 0>>
<<set $serin_SerykBondageCount to 0>>
<<set $serin_SerykDominantCount to 0>>
<<set $serin_SerykSubmissiveCount to 0>>
<<set $serin_SerykPublicSexCount to 0>>
<<set $serin_SerykClothedSexCount to 0>>
<<set $serin_SerykLingerieSexCount to 0>>
/* Additional Experience Tracking */
<<set $totalPublicSexCount to 0>>
<<set $totalBondageCount to 0>>
<<set $totalDominanceCount to 0>>
<<set $totalSubmissionCount to 0>>
<<set $totalClothedSexCount to 0>>
<<set $totalLingerieSexCount to 0>>
<<set $totalCumPlayCount to 0>>
<<set $totalCumSwapCount to 0>>
<<set $totalCumKissCount to 0>>
<<set $totalThreesomeCount to 0>>
<<set $totalGroupSexCount to 0>>
/* Serin x Nimeria Additional */
<<set $serin_NimeriaThighJobCount to 0>>
<<set $serin_NimeriaThighJobTakenCount to 0>>
<<set $serin_NimeriaRimjobCount to 0>>
<<set $serin_NimeriaRimjobTakenCount to 0>>
<<set $serin_NimeriaDeepthroatCount to 0>>
<<set $serin_NimeriaDoublePenetrationCount to 0>>
<<set $serin_NimeriaCumOnFaceCount to 0>>
<<set $serin_NimeriaCumOnBreastsCount to 0>>
<<set $serin_NimeriaCumOnAssCount to 0>>
<<set $serin_NimeriaCumOnThighsCount to 0>>
<<set $serin_NimeriaCumOnFeetCount to 0>>
<<set $serin_NimeriaCumInMouthCount to 0>>
<<set $serin_NimeriaCumPlayCount to 0>>
<<set $serin_NimeriaCumSwapCount to 0>>
<<set $serin_NimeriaCumKissCount to 0>>
<<set $serin_NimeriaBondageCount to 0>>
<<set $serin_NimeriaDominantCount to 0>>
<<set $serin_NimeriaSubmissiveCount to 0>>
<<set $serin_NimeriaPublicSexCount to 0>>
<<set $serin_NimeriaClothedSexCount to 0>>
<<set $serin_NimeriaLingerieSexCount to 0>>
/* Seryk x Nimeria */
<<set $seryk_NimeriaThighJobCount to 0>>
<<set $seryk_NimeriaThighJobTakenCount to 0>>
<<set $seryk_NimeriaRimjobCount to 0>>
<<set $seryk_NimeriaRimjobTakenCount to 0>>
<<set $seryk_NimeriaDeepthroatCount to 0>>
<<set $seryk_NimeriaDoublePenetrationCount to 0>>
<<set $seryk_NimeriaCumOnFaceCount to 0>>
<<set $seryk_NimeriaCumOnBreastsCount to 0>>
<<set $seryk_NimeriaCumOnAssCount to 0>>
<<set $seryk_NimeriaCumOnThighsCount to 0>>
<<set $seryk_NimeriaCumOnFeetCount to 0>>
<<set $seryk_NimeriaCumInMouthCount to 0>>
<<set $seryk_NimeriaCumPlayCount to 0>>
<<set $seryk_NimeriaCumSwapCount to 0>>
<<set $seryk_NimeriaCumKissCount to 0>>
<<set $seryk_NimeriaBondageCount to 0>>
<<set $seryk_NimeriaDominantCount to 0>>
<<set $seryk_NimeriaSubmissiveCount to 0>>
<<set $seryk_NimeriaPublicSexCount to 0>>
<<set $seryk_NimeriaClothedSexCount to 0>>
<<set $seryk_NimeriaLingerieSexCount to 0>>
/* Initialize character objects */
<<set $characters = {
"Rylan": {
lust: 0,
corruption: 0,
affection: {},
attraction: {},
fetishes: {},
experience: {}
},
"Mariel": {
lust: 0,
corruption: 0,
affection: {},
attraction: {},
fetishes: {},
experience: {}
},
"Liora": {
lust: 0,
corruption: -10,
affection: {},
attraction: {},
fetishes: {},
experience: {}
},
"Serin": {
lust: 0,
corruption: 0,
affection: {},
attraction: {},
fetishes: {},
experience: {}
},
"Seryk": {
lust: 0,
corruption: 0,
affection: {},
attraction: {},
fetishes: {},
experience: {}
},
"Nimeria": {
lust: 0,
corruption: 0,
affection: {},
attraction: {},
fetishes: {},
experience: {}
}
}>>
/* Initialize relationship stats */
/* Initialize new fetish variables */
<<set $rylan_MuscleFetish to 0>>
<<set $serin_MuscleFetish to 0>>
<<set $serin_ExhibitionismFetish to 0>>
<<set $liora_MuscleFetish to 0>>
<<set $mariel_MuscleFetish to 0>>
/* Update character objects with new fetishes */
<<set $characters.Rylan.fetishes.muscleFetish to 0>>
<<set $characters.Serin.fetishes.muscleFetish to 0>>
<<set $characters.Serin.fetishes.exhibitionismFetish to 0>>
<<set $characters.Liora.fetishes.muscleFetish to 0>>
<<set $characters.Mariel.fetishes.muscleFetish to 0>>
// Initialize character stats
setup.initializeCharacterStats("Rylan", "male");
setup.initializeCharacterStats("Mariel", "female");
setup.initializeCharacterStats("Serin", "female");
setup.initializeCharacterStats("Liora", "female");
setup.initializeCharacterStats("Nimeria", "female");
// Initialize clothing inventory system
if (!State.variables.clothingInventory) {
State.variables.clothingInventory = {
rylan: {
bras: [],
panties: [],
legwear: []
}
};
}
setup.initializeCharacterStats("Seryk", "male");
setup.initializeCharacterStats("Thalor", "male");
/* Relationship Stats Categories */
setup.statCategories.relationship = {name: "Relationship", subcategories: {intimacy: {name: "Intimacy", stats: {kissCount: {name: "Kisses", description: "Number of times they've kissed"}, touchCount: {name: "Intimate Touches", description: "Number of intimate touches shared"}, sexCount: {name: "Times Had Sex", description: "Number of sexual encounters"}, oralCount: {name: "Oral Sessions", description: "Number of oral sessions"}}}, affection: {name: "Affection", stats: {affectionLevel: {name: "Affection", description: "How much they care for each other"}, attraction: {name: "Attraction", description: "Physical and emotional attraction"}, trust: {name: "Trust", description: "Level of trust between them"}, submission: {name: "Submission", description: "How submissive they are to each other"}}}, corruption: {name: "Corruption", stats: {corruptionInfluence: {name: "Corruption Influence", description: "How much they affect each other's corruption"}, lustInfluence: {name: "Lust Influence", description: "How much they affect each other's lust"}, mindControlInfluence: {name: "Mind Control Influence", description: "Level of mental influence over each other"}}}}}\n\n
/* Global Tooltip Setup */
<<script>>
$(document.body).append('<div id="global-tooltip" style="display: none; position: fixed; background: rgba(0, 0, 0, 0.95); color: #fff; padding: 15px; border-radius: 10px; width: 250px; z-index: 9999; box-shadow: 0 0 10px rgba(0,0,0,0.5); text-align: left;"></div>');
$(document).on('mouseenter', '.character-portrait', function(e) {
const tooltip = $('#global-tooltip');
const content = $(this).closest('.character-card').find('.tooltip-content').html();
tooltip.html(content).show();
tooltip.css({
left: e.pageX + 10,
top: e.pageY + 10
});
});
$(document).on('mouseleave', '.character-portrait', function() {
$('#global-tooltip').hide();
});
$(document).on('mousemove', function(e) {
if ($('#global-tooltip').is(':visible')) {
$('#global-tooltip').css({
left: e.pageX + 10,
top: e.pageY + 10
});
}
});
<</script>>
/* Setup Stat Categories */
<<script>>
setup.statCategories = {
basic: {
name: "Basic Stats",
stats: {
corruption: { name: "Corruption", description: "Level of corruption" },
masculinity: { name: "Masculinity", description: "Masculine traits" },
penisSize: { name: "Penis Size", description: "Size in cm" },
breastSize: { name: "Breast Size", description: "Cup size" },
assSize: { name: "Ass Size", description: "Size rating" },
cumAmount: { name: "Cum Amount", description: "Production in ml" },
Lust: { name: "Lust", description: "Current lust level" }
}
},
fetishes: {
name: "Fetishes",
subcategories: {
physical: {
name: "Physical",
stats: {
FeetFetish: { name: "Feet Interest" },
ArmpitFetish: { name: "Armpit Interest" },
SmellFetish: { name: "Scent Interest" },
SalivaFetish: { name: "Saliva Interest" },
MuscleFetish: { name: "Muscle Interest" },
}
},
fluid: {
name: "Fluid",
stats: {
CumAddiction: { name: "Cum Interest" },
SweatFetish: { name: "Sweat Interest" },
}
},
behavioral: {
name: "Behavioral",
stats: {
SubmissionFetish: { name: "Submission" },
DominanceFetish: { name: "Dominance" },
ExhibitionismFetish: { name: "Exhibitionism" },
VoyeurismFetish: { name: "Voyeurism" }
}
},
clothing: {
name: "Clothing",
stats: {
CrossdressingFetish: { name: "Cross-Dressing" }
}
},
orientation: {
name: "Orientation",
stats: {
GayValue: { name: "Same-Sex Interest" },
LesbianValue: { name: "Lesbian Interest" }
}
}
}
},
experience: {
name: "Sexual Experience",
subcategories: {
basic: {
name: "Basic",
stats: {
sexualExperience: { name: "Overall Experience" },
basicExperience: { name: "Basic Experience" },
kissCount: { name: "Kisses" }
}
},
penetration: {
name: "Penetration",
stats: {
vaginalCount: { name: "Vaginal" },
analDoneCount: { name: "Anal (Given)" },
analTakenCount: { name: "Anal (Received)" }
}
},
service: {
name: "Service",
stats: {
handjobDoneCount: { name: "Handjob (Given)" },
handjobTakenCount: { name: "Handjob (Received)" },
blowjobDoneCount: { name: "Blowjob (Given)" },
blowjobTakenCount: { name: "Blowjob (Received)" },
footjobDoneCount: { name: "Footjob (Given)" },
footjobTakenCount: { name: "Footjob (Received)" },
boobjobDoneCount: { name: "Boobjob (Given)" },
boobjobTakenCount: { name: "Boobjob (Received)" }
}
},
touching: {
name: "Touching",
stats: {
breastsGotTouched: { name: "Breasts Touched" },
breastsTouchedOthers: { name: "Touched Others' Breasts" },
assGotTouched: { name: "Ass Touched" },
assTouchedOthers: { name: "Touched Others' Ass" }
}
},
cum: {
name: "Cum Experience",
stats: {
cumSwallowedAmount: { name: "Cum Swallowed (ml)" },
cumTakenInsideCount: { name: "Creampies" },
cumTakenInsideAmount: { name: "Cum Inside (ml)" },
cumOnBodyAmount: { name: "Cum on Body (ml)" }
}
}
}
},
sensitivity: {
name: "Sensitivity",
stats: {
generalSensitivity: { name: "General", description: "Base sensitivity" },
breastSensitivity: { name: "Breasts", description: "Breast sensitivity" },
nippleSensitivity: { name: "Nipples", description: "Nipple sensitivity" },
penisSensitivity: { name: "Penis", description: "Penis sensitivity" },
analSensitivity: { name: "Anal", description: "Anal sensitivity" },
neckSensitivity: { name: "Neck", description: "Neck sensitivity" },
earSensitivity: { name: "Ears", description: "Ear sensitivity" },
pleasureGain: { name: "Pleasure Gain", description: "Pleasure multiplier" }
}
},
mindControl: {
name: "Mind Control",
stats: {
mindControlResistance: { name: "Resistance", description: "Resistance to control" },
mindControlSusceptibility: { name: "Susceptibility", description: "Control vulnerability" },
mentalCorruption: { name: "Mental Corruption", description: "Mental state" },
mindBreakProgress: { name: "Mind Break", description: "Progress to break" },
suggestionReceptiveness: { name: "Suggestion", description: "Suggestion effectiveness" }
}
},
relationship: {
name: "Relationship",
subcategories: {
affection: {
name: "Affection",
stats: {
Affection: { name: "Affection" },
Attraction: { name: "Attraction" }
}
},
intimacy: {
name: "Intimacy",
stats: {
kissCount: { name: "Kisses" },
vaginalCount: { name: "Vaginal" },
analCount: { name: "Anal" },
handjobCount: { name: "Handjob" },
blowjobCount: { name: "Blowjob" },
footjobCount: { name: "Footjob" },
boobjobCount: { name: "Boobjob" }
}
},
fetish: {
name: "Fetish Development",
stats: {
FeetFetish: { name: "Feet Interest" },
SmellFetish: { name: "Scent Interest" },
ArmpitFetish: { name: "Armpit Interest" },
SalivaFetish: { name: "Saliva Interest" },
CumAddiction: { name: "Cum Interest" }
}
}
}
}
};
// Helper function to get stat values
setup.getStat = function(character, category, stat) {
const charPrefix = character.toLowerCase() + "_";
if (category === "relationship") {
// For relationship stats, check if it's a basic stat or count
if (stat.endsWith("Affection") || stat.endsWith("Attraction")) {
const value = State.variables[charPrefix + stat];
return value !== undefined ? value : 0;
} else {
// For counts, combine both directions
const doneCount = State.variables[charPrefix + stat + "Done"] || 0;
const takenCount = State.variables[charPrefix + stat + "Taken"] || 0;
return doneCount + takenCount;
}
} else {
// For other categories, directly access the stat
const value = State.variables[charPrefix + stat];
const result = value !== undefined ? value : 0;
// Format basic stats to max 1 decimal place
if (category === "basic") {
return result % 1 === 0 ? result : Number(result.toFixed(1));
}
return result;
}
};
<</script>>
/* Combat Stats */
/* Combat Animation Variables */
<<set $currentAttacker to "">>
<<set $currentTarget to "">>
<<set $attackAnimationPlaying to false>>
/* Stat Tracking Widgets */
<<widget "trackAffection">><<nobr>>
<<set _from = $args[0] || "Unknown">><<set _to = $args[1] || "Unknown">><<set _amount = $args[2] || 0>><<script>>window.StatTracker.trackAffection(State.temporary.from, State.temporary.to, State.temporary.amount);<</script>><<updateResonanceOnAffectionChange>>
<</nobr>><</widget>>
<<widget "trackAttraction">><<nobr>>
<<set _from = $args[0] || "Unknown">><<set _to = $args[1] || "Unknown">><<set _amount = $args[2] || 0>><<script>>window.StatTracker.trackAttraction(State.temporary.from, State.temporary.to, State.temporary.amount);<</script>>
<</nobr>><</widget>>
<<widget "trackLust">><<nobr>>
<<set _character = $args[0] || "Unknown">><<set _amount = $args[1] || 0>><<script>>window.StatTracker.trackLust(State.temporary.character, State.temporary.amount);<</script>>
<</nobr>><</widget>>
<<widget "trackFetish">><<nobr>>
<<set _character = $args[0] || "Unknown">><<set _fetish = $args[1] || "Unknown">><<set _amount = $args[2] || 0>><<script>>window.StatTracker.trackFetish(State.temporary.character, State.temporary.fetish, State.temporary.amount);<</script>>
<</nobr>><</widget>>
<<widget "trackExperience">><<nobr>>
<<set _character = $args[0] || "Unknown">><<set _exp = $args[1] || "Unknown">><<set _amount = $args[2] || 0>><<script>>window.StatTracker.trackExperience(State.temporary.character, State.temporary.exp, State.temporary.amount);<</script>>
<</nobr>><</widget>>
<<widget "trackCombatStat">><<nobr>>
<<set _character = $args[0] || "Unknown">><<set _stat = $args[1] || "Unknown">><<set _amount = $args[2] || 0>><<script>>window.StatTracker.trackCombatStat(State.temporary.character, State.temporary.stat, State.temporary.amount);<</script>>
<</nobr>><</widget>>
<<widget "trackAddSexualExperience">><<nobr>>
<<set _character = $args[0] || "Unknown">><<set _character = _character.toLowerCase()>><<set _expType = $args[1] || "Unknown">><<set _amount = $args[2] || 1>>
<<if _expType === "breastsGotTouched">>
<<script>>State.variables[State.temporary.character + "_breastsGotTouched"] = (State.variables[State.temporary.character + "_breastsGotTouched"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "breastsTouchedOthers">>
<<script>>State.variables[State.temporary.character + "_breastsTouchedOthers"] = (State.variables[State.temporary.character + "_breastsTouchedOthers"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "handjobTakenCount">>
<<script>>State.variables[State.temporary.character + "_handjobTakenCount"] = (State.variables[State.temporary.character + "_handjobTakenCount"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "handjobDoneCount">>
<<script>>State.variables[State.temporary.character + "_handjobDoneCount"] = (State.variables[State.temporary.character + "_handjobDoneCount"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "blowjobTakenCount">>
<<script>>State.variables[State.temporary.character + "_blowjobTakenCount"] = (State.variables[State.temporary.character + "_blowjobTakenCount"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "blowjobDoneCount">>
<<script>>State.variables[State.temporary.character + "_blowjobDoneCount"] = (State.variables[State.temporary.character + "_blowjobDoneCount"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "footjobTakenCount">>
<<script>>State.variables[State.temporary.character + "_footjobTakenCount"] = (State.variables[State.temporary.character + "_footjobTakenCount"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "footjobDoneCount">>
<<script>>State.variables[State.temporary.character + "_footjobDoneCount"] = (State.variables[State.temporary.character + "_footjobDoneCount"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "boobJobTakenCount">>
<<script>>State.variables[State.temporary.character + "_boobJobTakenCount"] = (State.variables[State.temporary.character + "_boobJobTakenCount"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "boobJobDoneCount">>
<<script>>State.variables[State.temporary.character + "_boobJobDoneCount"] = (State.variables[State.temporary.character + "_boobJobDoneCount"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "assTouchedCount">>
<<script>>State.variables[State.temporary.character + "_assGotTouched"] = (State.variables[State.temporary.character + "_assGotTouched"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "touchedOthersAss">>
<<script>>State.variables[State.temporary.character + "_assTouchedOthers"] = (State.variables[State.temporary.character + "_assTouchedOthers"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "kissCount">>
<<script>>State.variables[State.temporary.character + "_kissCount"] = (State.variables[State.temporary.character + "_kissCount"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "vaginalCount">>
<<script>>State.variables[State.temporary.character + "_vaginalCount"] = (State.variables[State.temporary.character + "_vaginalCount"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "analCount">>
<<script>>State.variables[State.temporary.character + "_analCount"] = (State.variables[State.temporary.character + "_analCount"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "analTakenCount">>
<<script>>State.variables[State.temporary.character + "_analTakenCount"] = (State.variables[State.temporary.character + "_analTakenCount"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "masturbationCount">>
<<script>>State.variables[State.temporary.character + "_masturbationCount"] = (State.variables[State.temporary.character + "_masturbationCount"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "orgasmsGiven">>
<<script>>State.variables[State.temporary.character + "_orgasmsGiven"] = (State.variables[State.temporary.character + "_orgasmsGiven"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "orgasmsReceived">>
<<script>>State.variables[State.temporary.character + "_orgasmsReceived"] = (State.variables[State.temporary.character + "_orgasmsGiven"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "cumSwallowedAmount">>
<<script>>State.variables[State.temporary.character + "_cumSwallowedAmount"] = (State.variables[State.temporary.character + "_cumSwallowedAmount"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "cumOnBodyAmount">>
<<script>>State.variables[State.temporary.character + "_cumOnBodyAmount"] = (State.variables[State.temporary.character + "_cumOnBodyAmount"] || 0) + State.temporary.amount;<</script>>
<<elseif _expType === "cumInsideAmount">>
<<script>>State.variables[State.temporary.character + "_cumInsideAmount"] = (State.variables[State.temporary.character + "_cumInsideAmount"] || 0) + State.temporary.amount;<</script>>
<</if>>
<<trackSexualExperience _character _expType _amount>>
<</nobr>><</widget>>
<<widget "trackOther">><<nobr>>
<<set _character = $args[0] || "Unknown">><<set _stat = $args[1] || "Unknown">><<set _amount = $args[2] || 0>><<script>>window.StatTracker.trackOther(State.temporary.character, State.temporary.stat, State.temporary.amount);<</script>>
<</nobr>><</widget>>
<<widget "trackSexualExperience">><<nobr>>
<<set _character = $args[0] || "Unknown">><<set _expType = $args[1] || "sexualExperience">><<set _amount = $args[2] || 1>><<script>>window.StatTracker.trackExperience(State.temporary.character, State.temporary.expType, State.temporary.amount);<</script>>
<</nobr>><</widget>>
<<widget "statSummary">>
<<script>>
if (window.StatTracker && window.StatTracker.hasChanges()) {
$(this.output).append(window.StatTracker.generateSummary());
}
<</script>>
<</widget>>
<<widget "intelligentSexTracker">><<nobr>>
<<set _char1 = $args[0] || "Unknown">><<set _char2 = $args[1] || "Unknown">><<set _action = $args[2] || "Unknown">><<set _amount = $args[3] || 1>>
<<set _char1 = _char1.toLowerCase()>><<set _char2 = _char2.toLowerCase()>>
<!-- KISS (Both get counters) -->
<<if _action === "kiss">>
"Kiss": {
general: "kissCount",
relationship: "KissCount",
firstVar: "FirstKiss",
both: true,
sexual: true,
basic: true
},
"Vaginal": {
general: "vaginalCount",
relationship: "VaginalCount",
firstVar: "FirstVaginal",
both: true,
sexual: true,
basic: false
},
"Anal": {
general: "analCount",
relationship: "AnalCount",
firstVar: "FirstAnal",
both: true,
sexual: true,
basic: false
},
"AnalTaken": {
general: "analTakenCount",
relationship: "AnalTakenCount",
firstVar: "FirstAnalTaken",
both: false,
sexual: true,
basic: false,
receiverOnly: true
},
"HandjobGiven": {
general: "handjobDoneCount",
relationship: "HandjobCount",
firstVar: "FirstHandjob",
both: false,
sexual: true,
basic: true,
giverOnly: true
},
"HandjobTaken": {
general: "handjobTakenCount",
relationship: "HandjobTakenCount",
firstVar: "FirstHandjobTaken",
both: false,
sexual: true,
basic: true,
receiverOnly: true
},
"BlowjobGiven": {
general: "blowjobDoneCount",
relationship: "BlowjobCount",
firstVar: "FirstBlowjob",
both: false,
sexual: true,
basic: true,
giverOnly: true
},
"BlowjobTaken": {
general: "blowjobTakenCount",
relationship: "BlowjobTakenCount",
firstVar: "FirstBlowjobTaken",
both: false,
sexual: true,
basic: true,
receiverOnly: true
},
"FootjobGiven": {
general: "footjobDoneCount",
relationship: "FootjobCount",
firstVar: "FirstFootjob",
both: false,
sexual: true,
basic: true,
giverOnly: true
},
"FootjobTaken": {
general: "footjobTakenCount",
relationship: "FootjobTakenCount",
firstVar: "FirstFootjobTaken",
both: false,
sexual: true,
basic: true,
receiverOnly: true
},
"BoobJobGiven": {
general: "boobJobDoneCount",
relationship: "BoobJobCount",
firstVar: "FirstBoobjob",
both: false,
sexual: true,
basic: true,
giverOnly: true
},
"BoobJobTaken": {
general: "boobJobTakenCount",
relationship: "BoobJobTakenCount",
firstVar: "FirstBoobjobTaken",
both: false,
sexual: true,
basic: true,
receiverOnly: true
},
"BreastsTouched": {
general: "breastsTouchedCount",
relationship: "BreastsTouchedCount",
firstVar: "FirstBreastTouch",
both: false,
sexual: true,
basic: true,
giverOnly: true
},
"BreastsTouchedBy": {
general: "breastsGotTouched",
relationship: "BreastsTouchedByCount",
firstVar: "FirstBreastTouchedBy",
both: false,
sexual: true,
basic: true,
receiverOnly: true
},
"AssTouched": {
general: "assTouchedCount",
relationship: "AssTouchedCount",
firstVar: "FirstAssTouch",
both: false,
sexual: true,
basic: true,
giverOnly: true
},
"AssTouchedBy": {
general: "assGotTouched",
relationship: "AssTouchedByCount",
firstVar: "FirstAssTouchedBy",
both: false,
sexual: true,
basic: true,
receiverOnly: true
},
"OrgasmGiven": {
general: "orgasmsGiven",
relationship: "OrgasmsGiven",
firstVar: "FirstOrgasmGiven",
both: false,
sexual: true,
basic: false,
giverOnly: true
},
"OrgasmReceived": {
general: "orgasmsReceived",
relationship: "OrgasmsReceived",
firstVar: "FirstOrgasmReceived",
both: false,
sexual: true,
basic: false,
receiverOnly: true
}
};
const config = experienceConfig[State.temporary.experienceType];
if (!config) {
console.error("Unknown experience type:", State.temporary.experienceType);
return;
}
const char1 = State.temporary.char1;
const char2 = State.temporary.char2;
const char1Lower = State.temporary.char1Lower;
const char2Lower = State.temporary.char2Lower;
const amount = State.temporary.amount;
// Helper function to update variable and track
function updateAndTrack(varName, amount, character, expType) {
if (State.variables[varName] === undefined) {
State.variables[varName] = 0;
}
State.variables[varName] += amount;
window.StatTracker.trackExperience(character, expType, amount);
}
// Update general counters
if (config.both) {
// Both characters get the same general experience
updateAndTrack(char1Lower + "_" + config.general, amount, char1, config.general);
updateAndTrack(char2Lower + "_" + config.general, amount, char2, config.general);
} else if (config.giverOnly) {
// Only the giver gets this experience
updateAndTrack(char1Lower + "_" + config.general, amount, char1, config.general);
} else if (config.receiverOnly) {
// Only the receiver gets this experience
updateAndTrack(char2Lower + "_" + config.general, amount, char2, config.general);
}
// Update relationship-specific counters
if (config.both) {
updateAndTrack(char1Lower + "_" + char2 + config.relationship, amount, char1, char2 + config.relationship);
updateAndTrack(char2Lower + "_" + char1 + config.relationship, amount, char2, char1 + config.relationship);
} else if (config.giverOnly) {
updateAndTrack(char1Lower + "_" + char2 + config.relationship, amount, char1, char2 + config.relationship);
} else if (config.receiverOnly) {
updateAndTrack(char2Lower + "_" + char1 + config.relationship, amount, char2, char1 + config.relationship);
}
// Update sexual and basic experience
if (config.sexual) {
if (config.both) {
updateAndTrack(char1Lower + "_sexualExperience", amount, char1, "sexualExperience");
updateAndTrack(char2Lower + "_sexualExperience", amount, char2, "sexualExperience");
} else if (config.giverOnly) {
updateAndTrack(char1Lower + "_sexualExperience", amount, char1, "sexualExperience");
} else if (config.receiverOnly) {
updateAndTrack(char2Lower + "_sexualExperience", amount, char2, "sexualExperience");
}
}
if (config.basic) {
if (config.both) {
updateAndTrack(char1Lower + "_basicExperience", amount, char1, "basicExperience");
updateAndTrack(char2Lower + "_basicExperience", amount, char2, "basicExperience");
} else if (config.giverOnly) {
updateAndTrack(char1Lower + "_basicExperience", amount, char1, "basicExperience");
} else if (config.receiverOnly) {
updateAndTrack(char2Lower + "_basicExperience", amount, char2, "basicExperience");
}
}
// Handle first experiences
if (config.both) {
// Check first experience for both characters
const char1FirstVar = char1Lower + config.firstVar;
const char2FirstVar = char2Lower + config.firstVar;
if (!State.variables[char1FirstVar]) {
State.variables[char1FirstVar] = char2;
window.StatTracker.trackOther(char1, "First " + State.temporary.experienceType, 1);
}
if (!State.variables[char2FirstVar]) {
State.variables[char2FirstVar] = char1;
window.StatTracker.trackOther(char2, "First " + State.temporary.experienceType, 1);
}
} else if (config.giverOnly) {
// Only check first experience for giver
const char1FirstVar = char1Lower + config.firstVar;
if (!State.variables[char1FirstVar]) {
State.variables[char1FirstVar] = char2;
window.StatTracker.trackOther(char1, "First " + State.temporary.experienceType, 1);
}
} else if (config.receiverOnly) {
// Only check first experience for receiver
const char2FirstVar = char2Lower + config.firstVar;
if (!State.variables[char2FirstVar]) {
State.variables[char2FirstVar] = char1;
window.StatTracker.trackOther(char2, "First " + State.temporary.experienceType, 1);
}
}
<</script>>
<</nobr>><</widget>>
<<widget "trackCumExperience">><<nobr>>
<<set _receiver = $args[0]>><<set _giver = $args[1]>>
<<set _cumType = $args[2]>>
<<set _orgasmCount = $args[3] || 1>>
<<set _receiverLower = _receiver.toLowerCase()>>
<<set _giverLower = _giver.toLowerCase()>>
<<script>>
const cumConfig = {
"CumInside": {
receiverGeneral: "cumInsideAmount",
giverGeneral: "cumAmount",
relationship: "CumInsideMl",
receiverCount: "cumInsideCount",
giverCount: "cumInsideCount"
},
"CumSwallowed": {
receiverGeneral: "cumSwallowedAmount",
giverGeneral: "cumAmount",
relationship: "CumSwallowedMl",
receiverCount: "cumSwallowedCount",
giverCount: "cumSwallowedCount"
},
"CumOnBody": {
receiverGeneral: "cumOnBodyAmount",
giverGeneral: "cumAmount",
relationship: "CumOnBodyMl",
receiverCount: "cumOnBodyCount",
giverCount: "cumOnBodyCount"
}
};
const config = cumConfig[State.temporary.cumType];
if (config) {
const receiver = State.temporary.receiver;
const giver = State.temporary.giver;
const receiverLower = State.temporary.receiverLower;
const giverLower = State.temporary.giverLower;
const orgasmCount = State.temporary.orgasmCount;
// INTELLIGENT CUM AMOUNT CALCULATION
// Get the giver's cum production amount from their body stats
let cumAmountPerOrgasm = 45; // Default fallback
if (window.setup && window.setup.getStat) {
try {
cumAmountPerOrgasm = window.setup.getStat(giver, "body", "cumAmount") || 45;
} catch (e) {
}
}
// Calculate total ml: cum per orgasm * number of orgasms
const totalCumMl = cumAmountPerOrgasm * orgasmCount;
// Helper function to update variable and track
function updateAndTrack(varName, amount, character, expType) {
if (State.variables[varName] === undefined) {
State.variables[varName] = 0;
}
State.variables[varName] += amount;
window.StatTracker.trackExperience(character, expType, amount);
}
// Update receiver's general amount (ml)
updateAndTrack(receiverLower + "_" + config.receiverGeneral, totalCumMl, receiver, config.receiverGeneral);
// Update relationship-specific amount (ml)
updateAndTrack(receiverLower + "_" + giver + config.relationship, totalCumMl, receiver, giver + config.relationship);
// Update counts for both characters (number of times)
updateAndTrack(receiverLower + "_" + config.receiverCount, orgasmCount, receiver, config.receiverCount);
updateAndTrack(giverLower + "_" + config.giverCount, orgasmCount, giver, config.giverCount);
// Add to sexual experience for both
updateAndTrack(receiverLower + "_sexualExperience", 0.5 * orgasmCount, receiver, "sexualExperience");
updateAndTrack(giverLower + "_sexualExperience", 0.5 * orgasmCount, giver, "sexualExperience");
// Track first cum experience (only on first occurrence)
const receiverFirstVar = receiverLower + "First" + State.temporary.cumType;
if (!State.variables[receiverFirstVar]) {
State.variables[receiverFirstVar] = giver;
window.StatTracker.trackOther(receiver, "First " + State.temporary.cumType, 1);
}
// Display intelligent tracking message
const cumMessage = "💦 " + giver + " came " + orgasmCount + " time" + (orgasmCount > 1 ? 's' : '') + " (" + cumAmountPerOrgasm + "ml each = " + totalCumMl + "ml total)";
} else {
console.error("Unknown cum type:", State.temporary.cumType);
}
<</script>>
<</nobr>><</widget>>
<<widget "sexualEncounter">><<nobr>>
<<set _char1 = $args[0]>><<set _char2 = $args[1]>><<set _acts = $args[2]>>
<<script>>
// Parse the acts string - format: "Kiss:2,HandjobGiven:1,OrgasmReceived:1"
const acts = State.temporary.acts.split(',');
acts.forEach(act => {
const [actType, count] = act.split(':');
const amount = parseInt(count) || 1;
// Use the trackRelationshipExperience widget for each act
Wikifier.wikifyEval('<<trackRelationshipExperience "' + State.temporary.char1 + '" "' + State.temporary.char2 + '" "' + actType.trim() + '" ' + amount + '>>');
});
<</script>>
<</nobr>><</widget>>
<<widget "quickSexTrack">><<nobr>>
<<set _giver = $args[1] || "Unknown">><<set _receiver = $args[2] || "Unknown">><<set _action = $args[0] || "Unknown">><<set _amount = $args[3] || 1>>
<<set _giver = _giver.toLowerCase()>><<set _receiver = _receiver.toLowerCase()>>
<<run State.temporary.giver = _giver>>
<<run State.temporary.receiver = _receiver>>
<<run State.temporary.action = _action>>
<<run State.temporary.amount = _amount>>
<<script>>
<</script>>
<!-- KISS -->
<<if _action === "kiss">>
<<script>>
State.variables[State.temporary.giver + "FirstKiss"] = (State.variables[State.temporary.giver + "FirstKiss"] || (State.temporary.receiver === "rylan" ? $humanName : State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1)));
State.variables[State.temporary.receiver + "FirstKiss"] = (State.variables[State.temporary.receiver + "FirstKiss"] || (State.temporary.giver === "rylan" ? $humanName : State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1)));
<</script>>
<<script>>State.variables[State.temporary.giver + "_kissCount"] = (State.variables[State.temporary.giver + "_kissCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_kissCount"] = (State.variables[State.temporary.receiver + "_kissCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "KissCount"] = (State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "KissCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "KissCount"] = (State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "KissCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_sexualExperience"] = (State.variables[State.temporary.giver + "_sexualExperience"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_sexualExperience"] = (State.variables[State.temporary.receiver + "_sexualExperience"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_basicExperience"] = (State.variables[State.temporary.giver + "_basicExperience"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_basicExperience"] = (State.variables[State.temporary.receiver + "_basicExperience"] || 0) + State.temporary.amount;<</script>>
<<trackSexualExperience _giver "kissCount" _amount>><<trackSexualExperience _receiver "kissCount" _amount>>
<!-- ORGASM -->
<<elseif _action === "orgasm">>
<<script>>State.variables[State.temporary.giver + "_orgasmsGiven"] = (State.variables[State.temporary.giver + "_orgasmsGiven"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_orgasmsReceived"] = (State.variables[State.temporary.receiver + "_orgasmsReceived"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "OrgasmsGiven"] = (State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "OrgasmsGiven"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "OrgasmsReceived"] = (State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "OrgasmsReceived"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_sexualExperience"] = (State.variables[State.temporary.giver + "_sexualExperience"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_sexualExperience"] = (State.variables[State.temporary.receiver + "_sexualExperience"] || 0) + State.temporary.amount;<</script>>
<<changeLust _receiver -100>>
<<trackSexualExperience _giver "orgasmsGiven" _amount>><<trackSexualExperience _receiver "orgasmsReceived" _amount>>
<!-- HANDJOB -->
<<elseif _action === "handjob">>
<<script>>
State.variables[State.temporary.giver + "FirstHandjobDone"] = (State.variables[State.temporary.giver + "FirstHandjobDone"] || (State.temporary.receiver === "rylan" ? $humanName : State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1)));
State.variables[State.temporary.receiver + "FirstHandjobTaken"] = (State.variables[State.temporary.receiver + "FirstHandjobTaken"] || (State.temporary.giver === "rylan" ? $humanName : State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1)));
<</script>>
<<script>>State.variables[State.temporary.giver + "_handjobDoneCount"] = (State.variables[State.temporary.giver + "_handjobDoneCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_handjobTakenCount"] = (State.variables[State.temporary.receiver + "_handjobTakenCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "HandjobCount"] = (State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "HandjobCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "HandjobTakenCount"] = (State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "HandjobTakenCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_sexualExperience"] = (State.variables[State.temporary.giver + "_sexualExperience"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_sexualExperience"] = (State.variables[State.temporary.receiver + "_sexualExperience"] || 0) + State.temporary.amount;<</script>>
<<trackSexualExperience _giver "handjobDoneCount" _amount>><<trackSexualExperience _receiver "handjobTakenCount" _amount>>
<!-- BLOWJOB -->
<<elseif _action === "blowjob">>
<<script>>
State.variables[State.temporary.giver + "FirstBlowjobDone"] = (State.variables[State.temporary.giver + "FirstBlowjobDone"] || (State.temporary.receiver === "rylan" ? $humanName : State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1)));
State.variables[State.temporary.receiver + "FirstBlowjobTaken"] = (State.variables[State.temporary.receiver + "FirstBlowjobTaken"] || (State.temporary.giver === "rylan" ? $humanName : State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1)));
<</script>>
<<script>>State.variables[State.temporary.giver + "_blowjobDoneCount"] = (State.variables[State.temporary.giver + "_blowjobDoneCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_blowjobTakenCount"] = (State.variables[State.temporary.receiver + "_blowjobTakenCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "BlowjobCount"] = (State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "BlowjobCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "BlowjobTakenCount"] = (State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "BlowjobTakenCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_sexualExperience"] = (State.variables[State.temporary.giver + "_sexualExperience"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_sexualExperience"] = (State.variables[State.temporary.receiver + "_sexualExperience"] || 0) + State.temporary.amount;<</script>>
<<trackSexualExperience _giver "blowjobDoneCount" _amount>><<trackSexualExperience _receiver "blowjobTakenCount" _amount>>
<!-- FOOTJOB -->
<<elseif _action === "footjob">>
<<script>>
State.variables[State.temporary.giver + "FirstFootjobDone"] = (State.variables[State.temporary.giver + "FirstFootjobDone"] || (State.temporary.receiver === "rylan" ? $humanName : State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1)));
State.variables[State.temporary.receiver + "FirstFootjobTaken"] = (State.variables[State.temporary.receiver + "FirstFootjobTaken"] || (State.temporary.giver === "rylan" ? $humanName : State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1)));
<</script>>
<<script>>State.variables[State.temporary.giver + "_footjobDoneCount"] = (State.variables[State.temporary.giver + "_footjobDoneCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_footjobTakenCount"] = (State.variables[State.temporary.receiver + "_footjobTakenCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "FootjobCount"] = (State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "FootjobCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "FootjobTakenCount"] = (State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "FootjobTakenCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_sexualExperience"] = (State.variables[State.temporary.giver + "_sexualExperience"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_sexualExperience"] = (State.variables[State.temporary.receiver + "_sexualExperience"] || 0) + State.temporary.amount;<</script>>
<<trackSexualExperience _giver "footjobDoneCount" _amount>><<trackSexualExperience _receiver "footjobTakenCount" _amount>>
<!-- BOOBJOB -->
<<elseif _action === "boobjob">>
<<script>>
State.variables[State.temporary.giver + "FirstBoobjobDone"] = (State.variables[State.temporary.giver + "FirstBoobjobDone"] || (State.temporary.receiver === "rylan" ? $humanName : State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1)));
State.variables[State.temporary.receiver + "FirstBoobjobTaken"] = (State.variables[State.temporary.receiver + "FirstBoobjobTaken"] || (State.temporary.giver === "rylan" ? $humanName : State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1)));
<</script>>
<<script>>State.variables[State.temporary.giver + "_boobjobDoneCount"] = (State.variables[State.temporary.giver + "_boobjobDoneCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_boobjobTakenCount"] = (State.variables[State.temporary.receiver + "_boobjobTakenCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "BoobJobCount"] = (State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "BoobJobCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "BoobJobTakenCount"] = (State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "BoobJobTakenCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_sexualExperience"] = (State.variables[State.temporary.giver + "_sexualExperience"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_sexualExperience"] = (State.variables[State.temporary.receiver + "_sexualExperience"] || 0) + State.temporary.amount;<</script>>
<<trackSexualExperience _giver "boobjobDoneCount" _amount>><<trackSexualExperience _receiver "boobjobTakenCount" _amount>>
<!-- VAGINAL -->
<<elseif _action === "vaginal">>
<<script>>
State.variables[State.temporary.giver + "FirstVaginalDone"] = (State.variables[State.temporary.giver + "FirstVaginalDone"] || (State.temporary.receiver === "rylan" ? $humanName : State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1)));
State.variables[State.temporary.receiver + "FirstVaginalTaken"] = (State.variables[State.temporary.receiver + "FirstVaginalTaken"] || (State.temporary.giver === "rylan" ? $humanName : State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1)));
<</script>>
<<script>>State.variables[State.temporary.giver + "_vaginalCount"] = (State.variables[State.temporary.giver + "_vaginalCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_vaginalCount"] = (State.variables[State.temporary.receiver + "_vaginalCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "VaginalCount"] = (State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "VaginalCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "VaginalCount"] = (State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "VaginalCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_sexualExperience"] = (State.variables[State.temporary.giver + "_sexualExperience"] || 0) + (State.temporary.amount * 2);<</script>>
<<script>>State.variables[State.temporary.receiver + "_sexualExperience"] = (State.variables[State.temporary.receiver + "_sexualExperience"] || 0) + (State.temporary.amount * 2);<</script>>
<<trackSexualExperience _giver "vaginalCount" _amount>><<trackSexualExperience _receiver "vaginalCount" _amount>>
<!-- ANAL -->
<<elseif _action === "anal">>
<<script>>
State.variables[State.temporary.giver + "FirstAnalDone"] = (State.variables[State.temporary.giver + "FirstAnalDone"] || (State.temporary.receiver === "rylan" ? $humanName : State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1)));
State.variables[State.temporary.receiver + "FirstAnalTaken"] = (State.variables[State.temporary.receiver + "FirstAnalTaken"] || (State.temporary.giver === "rylan" ? $humanName : State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1)));
<</script>>
<<script>>State.variables[State.temporary.giver + "_analCount"] = (State.variables[State.temporary.giver + "_analCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_analTakenCount"] = (State.variables[State.temporary.receiver + "_analTakenCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "AnalCount"] = (State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "AnalCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "AnalTakenCount"] = (State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "AnalTakenCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_sexualExperience"] = (State.variables[State.temporary.giver + "_sexualExperience"] || 0) + (State.temporary.amount * 2);<</script>>
<<script>>State.variables[State.temporary.receiver + "_sexualExperience"] = (State.variables[State.temporary.receiver + "_sexualExperience"] || 0) + (State.temporary.amount * 2);<</script>>
<<trackSexualExperience _giver "analCount" _amount>><<trackSexualExperience _receiver "analTakenCount" _amount>>
<!-- BREAST TOUCH -->
<<elseif _action === "breasttouch">>
<<script>>State.variables[State.temporary.giver + "_breastsTouchedCount"] = (State.variables[State.temporary.giver + "_breastsTouchedCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_breastsTouchedByCount"] = (State.variables[State.temporary.receiver + "_breastsTouchedByCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "BreastsTouchedCount"] = (State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "BreastsTouchedCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "BreastsTouchedByCount"] = (State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "BreastsTouchedByCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_sexualExperience"] = (State.variables[State.temporary.giver + "_sexualExperience"] || 0) + (State.temporary.amount * 0.5);<</script>>
<<script>>State.variables[State.temporary.receiver + "_sexualExperience"] = (State.variables[State.temporary.receiver + "_sexualExperience"] || 0) + (State.temporary.amount * 0.5);<</script>>
<<script>>State.variables[State.temporary.giver + "_basicExperience"] = (State.variables[State.temporary.giver + "_basicExperience"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_basicExperience"] = (State.variables[State.temporary.receiver + "_basicExperience"] || 0) + State.temporary.amount;<</script>>
<<trackSexualExperience _giver "breastsTouchedCount" _amount>><<trackSexualExperience _receiver "breastsTouchedByCount" _amount>>
<!-- ASS TOUCH -->
<<elseif _action === "asstouch">>
<<script>>State.variables[State.temporary.giver + "_assTouchedCount"] = (State.variables[State.temporary.giver + "_assTouchedCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_assTouchedByCount"] = (State.variables[State.temporary.receiver + "_assTouchedByCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "AssTouchedCount"] = (State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "AssTouchedCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "AssTouchedByCount"] = (State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "AssTouchedByCount"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_sexualExperience"] = (State.variables[State.temporary.giver + "_sexualExperience"] || 0) + (State.temporary.amount * 0.5);<</script>>
<<script>>State.variables[State.temporary.receiver + "_sexualExperience"] = (State.variables[State.temporary.receiver + "_sexualExperience"] || 0) + (State.temporary.amount * 0.5);<</script>>
<<script>>State.variables[State.temporary.giver + "_basicExperience"] = (State.variables[State.temporary.giver + "_basicExperience"] || 0) + State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.receiver + "_basicExperience"] = (State.variables[State.temporary.receiver + "_basicExperience"] || 0) + State.temporary.amount;<</script>>
<<trackSexualExperience _giver "assTouchedCount" _amount>><<trackSexualExperience _receiver "assTouchedByCount" _amount>>
<!-- CUM INSIDE (Intelligent ML Calculation) -->
<<elseif _action === "cuminside">>
<<script>>
<</script>>
<!-- CUM SWALLOWED (Intelligent ML Calculation) -->
<<elseif _action === "cumswallowed">>
<<script>>
<</script>>
<<elseif _action === "cumonbody">>
<<script>>State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "CumOnBodyMl"] = (State.variables[State.temporary.receiver + "_" + State.temporary.giver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "CumOnBodyMl"] || 0) + State.variables[State.temporary.giver.toLowerCase() + "_cumAmount"] * State.temporary.amount;<</script>>
<<script>>State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.receiver.slice(1) + "CumOnOthersMl"] = (State.variables[State.temporary.giver + "_" + State.temporary.receiver.charAt(0).toUpperCase() + State.temporary.giver.slice(1) + "CumOnOthersMl"] || 0) + State.variables[State.temporary.giver.toLowerCase() + "_cumAmount"] * State.temporary.amount;<</script>>
<<set $cumamount = _amount * State.variables[State.temporary.giver.toLowerCase() + "_cumAmount"] * State.temporary.amount>>
<<trackAddSexualExperience _receiver "cumOnBodyAmount" $cumamount>>
<</if>>
<</nobr>><</widget>>
<<widget "quickCumTrack">><<nobr>>
<<trackCumExperience $args[1] $args[0] $args[2] $args[3]>>
<</nobr>><</widget>>
/* ============================================
INTELLIGENT RELATIONSHIP TRACKING SYSTEM
============================================
This system automatically handles ALL relationship stat tracking including:
- Individual counters (rylan_kissCount, serin_kissCount)
- Relationship counters (rylan_SerinKissCount, serin_RylanKissCount)
- First experiences (rylanFirstKiss, serinFirstKiss)
- Sexual/basic experience increases
- INTELLIGENT CUM CALCULATION (automatic ml calculation)
- Automatic stat summary tracking
=== USAGE EXAMPLES ===
1. Simple kiss:
<<trackRelationshipExperience "Rylan" "Serin" "Kiss" 1>>
2. Handjob (Serin gives to Rylan):
<<quickSexTrack "handjob" "Serin" "Rylan" 1>>
3. Multiple acts in one encounter:
<<sexualEncounter "Rylan" "Liora" "Kiss:3,BreastsTouched:1,OrgasmGiven:1">>
4. Intelligent cum tracking (AUTO-CALCULATES ML):
<<trackCumExperience "Liora" "Seryk" "CumSwallowed" 1>>
// Automatically looks up Seryk's cumAmount stat (e.g., 65ml)
// Calculates total: 65ml * 1 orgasm = 65ml
// Updates all variables accordingly
5. Multiple orgasms:
<<quickSexTrack "cumonbody" "Rylan" "Serin" 2>>
// Auto-calculates: Rylan's cumAmount * 2 orgasms = total ml
=== AVAILABLE EXPERIENCE TYPES ===
Mutual experiences (both get counts):
- "Kiss" - Both get kissCount and relationship KissCount
- "Vaginal" - Both get vaginalCount
- "Anal" - Both get analCount
Directional experiences (giver/receiver specific):
- "HandjobGiven"/"HandjobTaken"
- "BlowjobGiven"/"BlowjobTaken"
- "FootjobGiven"/"FootjobTaken"
- "BoobJobGiven"/"BoobJobTaken"
- "BreastsTouched"/"BreastsTouchedBy"
- "AssTouched"/"AssTouchedBy"
- "OrgasmGiven"/"OrgasmReceived"
- "AnalTaken" (receiver only)
=== INTELLIGENT CUM TYPES ===
- "CumInside" - Internal cumming (auto-calculates ml from giver's cumAmount)
- "CumSwallowed" - Oral cumming/swallowing (auto-calculates ml)
- "CumOnBody" - External cumming (auto-calculates ml)
=== QUICK COMMANDS ===
Sexual Acts:
- quickSexTrack "kiss" "Char1" "Char2" amount
- quickSexTrack "handjob" "Giver" "Receiver" amount
- quickSexTrack "blowjob" "Giver" "Receiver" amount
- quickSexTrack "vaginal" "Char1" "Char2" amount
- quickSexTrack "orgasm" "Giver" "Receiver" amount
Cum Tracking (INTELLIGENT - auto-calculates ml):
- quickSexTrack "cuminside" "Giver" "Receiver" orgasm_count
- quickSexTrack "cumswallowed" "Giver" "Receiver" orgasm_count
- quickSexTrack "cumonbody" "Giver" "Receiver" orgasm_count
- quickCumTrack "Giver" "Receiver" "CumType" orgasm_count
=== INTELLIGENT CUM CALCULATION ===
The system automatically:
1. Looks up the giver's cumAmount stat from setup.getStat(character, "body", "cumAmount")
2. Multiplies by number of orgasms: total_ml = cumAmount_per_orgasm * orgasm_count
3. Updates all ml variables with calculated amount
4. Updates count variables with orgasm count
5. Tracks first experiences and sexual experience
Example:
- Seryk has 65ml cumAmount in his stats
- <<quickSexTrack "cumonbody" "Seryk" "Liora" 2>>
- System calculates: 65ml * 2 = 130ml total
- Updates liora_cumOnBodyAmount += 130
- Updates liora_SerykCumOnBodyMl += 130
- Updates counts, experience, tracking, etc.
No more manual ml calculation needed!
============================================ */
<<widget "autoTrackStatChange">>
<<set _character = $args[0] || "Unknown">>
<<set _stat = $args[1] || "Unknown">>
<<set _oldValue = $args[2] || 0>>
<<set _newValue = $args[3] || 0>>
<<set _amount = _newValue - _oldValue>>
<<if _amount != 0>>
<<if _stat.includes("Affection")>>
<<set _target = _stat.replace(/.*_(.*)Affection.*/, "$1")>>
<<trackAffection _character _target _amount>>
<<elseif _stat.includes("Attraction")>>
<<set _target = _stat.replace(/.*_(.*)Attraction.*/, "$1")>>
<<trackAttraction _character _target _amount>>
<<elseif _stat == "Lust">>
<<trackLust _character _amount>>
<<elseif _stat.includes("Fetish")>>
<<set _fetishName = _stat.replace(/Fetish/, "")>>
<<trackFetish _character _fetishName _amount>>
<<elseif ["technique", "agility", "physicalPower", "willpower", "perception", "vitality", "stamina"].includes(_stat)>>
<<trackCombatStat _character _stat _amount>>
<<else>>
<<trackOther _character _stat _amount>>
<</if>>
<</if>>
<</widget>>
/* Initialize StatTracker */
<<script>>
$(document).one(':passagestart', function () {
if (window.StatTracker) {
window.StatTracker.init();
}
});
<</script>>
/* Resonance System */
<<widget "calculateResonance">><<nobr>>
<<script>>
const partyMembers = ['rylan', 'liora', 'serin', 'mariel', 'thalor', 'seryk', 'Nimeria'];
const combatStats = ['physicalPower', 'agility', 'willpower', 'technique', 'focus'];
partyMembers.forEach(member => {
combatStats.forEach(stat => {
State.variables[member + '_resonance' + stat.charAt(0).toUpperCase() + stat.slice(1)] = 0;
});
partyMembers.forEach(otherMember => {
if (member !== otherMember) {
const affectionVar = otherMember + '_' + member.charAt(0).toUpperCase() + member.slice(1) + 'Affection';
const affection = State.variables[affectionVar] || 0;
const bonus = (affection / 100) * 0.01;
if (affection > 0) {
combatStats.forEach(stat => {
let otherMemberStat = 0;
if (State.variables[otherMember + '_base' + stat.charAt(0).toUpperCase() + stat.slice(1)]) {
otherMemberStat = State.variables[otherMember + '_base' + stat.charAt(0).toUpperCase() + stat.slice(1)];
} else if (State.variables[otherMember + '_' + stat]) {
otherMemberStat = State.variables[otherMember + '_' + stat];
} else {
switch(otherMember) {
case 'rylan': otherMemberStat = stat === 'physicalPower' ? 10 : stat === 'agility' ? 8 : stat === 'willpower' ? 6 : stat === 'technique' ? 7 : 6; break;
case 'liora': otherMemberStat = stat === 'physicalPower' ? 7 : stat === 'agility' ? 7 : stat === 'willpower' ? 12 : stat === 'technique' ? 8 : 9; break;
case 'serin': otherMemberStat = stat === 'physicalPower' ? 11 : stat === 'agility' ? 12 : stat === 'willpower' ? 7 : stat === 'technique' ? 9 : 8; break;
case 'mariel': otherMemberStat = stat === 'physicalPower' ? 8 : stat === 'agility' ? 7 : stat === 'willpower' ? 11 : stat === 'technique' ? 9 : 10; break;
case 'seryk': otherMemberStat = stat === 'physicalPower' ? 16 : stat === 'agility' ? 12 : stat === 'willpower' ? 13 : stat === 'technique' ? 11 : 11; break;
default: otherMemberStat = 8;
}
}
const resonanceVar = member + '_resonance' + stat.charAt(0).toUpperCase() + stat.slice(1);
State.variables[resonanceVar] += otherMemberStat * bonus;
State.variables[resonanceVar] = Math.round(State.variables[resonanceVar] * 100) / 100;
});
}
}
});
});
<</script>>
<</nobr>><</widget>>
<<widget "updateResonanceOnAffectionChange">><<nobr>>
<<calculateResonance>>
<</nobr>><</widget>>
<<widget "applyResonanceBonuses">>
<<script>>
const partyMembers = ['rylan', 'liora', 'serin', 'mariel', 'thalor', 'seryk', 'nimeria'];
const combatStats = ['physicalPower', 'agility', 'willpower', 'technique', 'focus'];
partyMembers.forEach(member => {
const combatStatsVar = member + '_combatStats';
if (State.variables[combatStatsVar]) {
// Store original base stats (without resonance bonuses)
if (!State.variables[member + '_baseCombatStats']) {
State.variables[member + '_baseCombatStats'] = {};
combatStats.forEach(stat => {
State.variables[member + '_baseCombatStats'][stat] = State.variables[combatStatsVar][stat] || 0;
});
}
// Calculate training gains (preserve any increases above base)
const trainingGains = {};
combatStats.forEach(stat => {
const resonanceVar = member + '_resonance' + stat.charAt(0).toUpperCase() + stat.slice(1);
const resonanceBonus = State.variables[resonanceVar] || 0;
const currentValue = State.variables[combatStatsVar][stat] || 0;
const baseValue = State.variables[member + '_baseCombatStats'][stat] || 0;
if (currentValue > baseValue) {
trainingGains[stat] = currentValue - baseValue;
} else {
trainingGains[stat] = 0;
}
});
// Reset to base stats first
combatStats.forEach(stat => {
State.variables[combatStatsVar][stat] = State.variables[member + '_baseCombatStats'][stat] || 0;
});
// Apply current resonance bonuses
combatStats.forEach(stat => {
const resonanceVar = member + '_resonance' + stat.charAt(0).toUpperCase() + stat.slice(1);
const resonanceBonus = State.variables[resonanceVar] || 0;
State.variables[combatStatsVar][stat] += resonanceBonus;
});
// Restore training gains on top
combatStats.forEach(stat => {
State.variables[combatStatsVar][stat] += trainingGains[stat] || 0;
});
}
});
<</script>>
<</widget>>
<<widget "resonanceDisplay">><<nobr>>
<div class="resonance-display">
<h3>🌟 Resonance System 🌟</h3>
<div class="resonance-explanation" style="font-style: italic; margin-bottom: 10px;">
<strong>How it works:</strong> Your bonds with party members grant combat bonuses. The stronger your affection for each other, the more you share each other's strengths. Formula: (Affection ÷ 100) × 1% × Their Stat = Your Bonus
</div>
<div class="resonance-debug">
<strong>Current Affection Values:</strong><br>
Liora → $humanName: $liora_RylanAffection | Serin → $humanName: $serin_RylanAffection<br>
$humanName → Liora: $rylan_LioraAffection | $humanName → Serin: $rylan_SerinAffection<br>
Serin → Liora: $serin_LioraAffection | Liora → Serin: $liora_SerinAffection<br>
</div>
<<set _hasAnyBonus = false>>
<<set _totalBonus = 0>>
<<for _member range ["rylan", "liora", "serin"]>>
<<for _stat range ["PhysicalPower", "Agility", "Willpower", "Technique", "Focus"]>>
<<set _value = State.variables[_member + "_resonance" + _stat] || 0>>
<<if _value > 0>>
<<set _hasAnyBonus = true>>
<<set _totalBonus += _value>>
<</if>>
<</for>>
<</for>>
<<if _hasAnyBonus || _totalBonus > 0.1>>
<div class="resonance-stats" style="margin-top: 10px;"><strong>✨ Active Resonance Bonuses:</strong><br><<if $rylan_resonancePhysicalPower > 0 || $rylan_resonanceAgility > 0 || $rylan_resonanceWillpower > 0 || $rylan_resonanceTechnique > 0 || $rylan_resonanceFocus > 0>>
<strong>$humanName:</strong> <<if $rylan_resonancePhysicalPower > 0>>+$rylan_resonancePhysicalPower PWR <</if>><<if $rylan_resonanceAgility > 0>>+$rylan_resonanceAgility AGI <</if>><<if $rylan_resonanceWillpower > 0>>+$rylan_resonanceWillpower WIL <</if>><<if $rylan_resonanceTechnique > 0>>+$rylan_resonanceTechnique TEC <</if>><<if $rylan_resonanceFocus > 0>>+$rylan_resonanceFocus FOC<</if>><br><</if>><<if $liora_resonancePhysicalPower > 0 || $liora_resonanceAgility > 0 || $liora_resonanceWillpower > 0 || $liora_resonanceTechnique > 0 || $liora_resonanceFocus > 0>>
<strong>Liora:</strong> <<if $liora_resonancePhysicalPower > 0>>+$liora_resonancePhysicalPower PWR <</if>><<if $liora_resonanceAgility > 0>>+$liora_resonanceAgility AGI <</if>><<if $liora_resonanceWillpower > 0>>+$liora_resonanceWillpower WIL <</if>><<if $liora_resonanceTechnique > 0>>+$liora_resonanceTechnique TEC <</if>><<if $liora_resonanceFocus > 0>>+$liora_resonanceFocus FOC<</if>><br><</if>>
<<if $serin_resonancePhysicalPower > 0 || $serin_resonanceAgility > 0 || $serin_resonanceWillpower > 0 || $serin_resonanceTechnique > 0 || $serin_resonanceFocus > 0>>
<strong>Serin:</strong> <<if $serin_resonancePhysicalPower > 0>>+$serin_resonancePhysicalPower PWR <</if>>
<<if $serin_resonanceAgility > 0>>+$serin_resonanceAgility AGI <</if>><<if $serin_resonanceWillpower > 0>>+$serin_resonanceWillpower WIL <</if>><<if $serin_resonanceTechnique > 0>>+$serin_resonanceTechnique TEC <</if>><<if $serin_resonanceFocus > 0>>+$serin_resonanceFocus FOC<</if>><br><</if>></div><<else>>
<div class="resonance-inactive" style="color: #888; margin-top: 10px;">
<strong>💔 No significant resonance bonuses active yet.</strong><br>
<em>Build stronger bonds with your party members to unlock the power of resonance!</em><br>
With your current affection levels, you should be seeing small bonuses soon.
</div><</if>></div><</nobr>><</widget>>
<<widget "rollCheck">><<nobr>>
<<set _rollName = $args[0] || "Check">>
<<set _baseSuccessChance = $args[1] || 95>>
<<set _modifiers = $args[2] || []>>
<<set _finalSuccessChance = _baseSuccessChance>>
<<for _i = 0; _i < _modifiers.length; _i++>>
<<set _finalSuccessChance += _modifiers[_i]>>
<</for>>
<<set _finalSuccessChance = Math.max(20, Math.min(95, _finalSuccessChance))>>
<<set _finalThreshold = 100 - _finalSuccessChance>>
<<set _roll = random(1, 100)>>
<<set _tempRollResult = _roll>>
<<set _tempThreshold = _finalThreshold>>
<<set _tempRollSuccess = (_roll > _finalThreshold)>>
<div style="background: rgba(30, 30, 40, 0.9); border: 2px solid rgba(100, 100, 100, 0.3); border-radius: 8px; padding: 10px; margin: 15px 0; font-family: monospace; text-align: center;">
<span style="color: #FFD700;">🎲 _rollName: _roll vs _finalThreshold <<if _tempRollSuccess>><span style="color: #90EE90;">(Success)</span><<else>><span style="color: #FF6B6B;">(Failure)</span><</if>></span>
</div>
<</nobr>><</widget>>
<<widget "quickRoll">><<nobr>>
<<set _rollName = $args[0] || "Check">>
<<set _character = $args[1] || "Rylan">>
<<set _baseSuccessChance = $args[2] || 95>>
<<set _lustPenalty = $args[3] || 5>>
<<set _fetishType = $args[4] || "">>
<<set _fetishPenalty = $args[5] || 3>>
<<set _lustMod = 0>>
<<set _fetishMod = 0>>
<<set _currentLust = State.variables[_character.toLowerCase() + "_Lust"] || 0>>
<<set _currentFetish = 0>>
<<if _fetishType !== "">>
<<set _fetishVarName = _character.toLowerCase() + "_" + _fetishType.charAt(0).toUpperCase() + _fetishType.slice(1)>>
<<set _currentFetish = State.variables[_fetishVarName] || 0>>
<</if>>
<<if _currentLust > 0>>
<<set _lustMod = -Math.floor(_currentLust / 20) * _lustPenalty>>
<</if>>
<<if _fetishType !== "" && _currentFetish > 0>>
<<set _fetishMod = -Math.floor(_currentFetish) * _fetishPenalty>>
<</if>>
<<set _modifiers = [_lustMod, _fetishMod]>>
<<rollCheck _rollName _baseSuccessChance _modifiers>>
<</nobr>><</widget>>
/* Initialize Resonance System on Game Start */
<<calculateResonance>>
/* Cum Addiction System */
<<script>>
// Cum Addiction System - Global handler for passage updates (Nerfed by 80%)
window.CumAddictionSystem = {
updateAllCharacters: function() {
const characters = ['rylan', 'mariel', 'thalor', 'liora', 'serin', 'seryk', 'nimeria'];
characters.forEach(char => {
const cumAddiction = State.variables[char + '_CumAddiction'] || 0;
const currentCumNeed = State.variables[char + '_CumNeed'] || 0;
// Increase CumNeed by CumAddiction amount (reduced by 80% = 20% of original)
if (cumAddiction > 0) {
const newCumNeed = Math.min(100, currentCumNeed + cumAddiction * 0.2);
State.variables[char + '_CumNeed'] = newCumNeed;
// If CumNeed >= 50, set Lust to minimum 50 if it's lower
if (newCumNeed >= 50) {
const currentLust = State.variables[char + '_Lust'] || 0;
if (currentLust < 50) {
State.variables[char + '_Lust'] = 50;
}
}
}
});
},
resetCumNeed: function(character, cumSource = 'any') {
const charName = character.toLowerCase();
// Only Seryk's cum is addictive and can cure cumNeed for now
if (cumSource === 'seryk' || cumSource === 'Seryk') {
State.variables[charName + '_CumNeed'] = 0;
return true;
}
return false;
},
getCumNeedResistanceModifier: function(character) {
const charName = character.toLowerCase();
const cumNeed = State.variables[charName + '_CumNeed'] || 0;
// Return resistance penalty based on CumNeed level
if (cumNeed >= 80) return -30; // Very high need = very weak resistance
if (cumNeed >= 60) return -20; // High need = weak resistance
if (cumNeed >= 40) return -10; // Medium need = some resistance loss
if (cumNeed >= 20) return -5; // Low need = slight resistance loss
return 0; // No need = no penalty
}
};
// Auto-update system - runs on every passage
$(document).on(':passageend', function() {
if (window.CumAddictionSystem && !State.variables.cumNeedAutoUpdateDisabled) {
window.CumAddictionSystem.updateAllCharacters();
}
});
<</script>>
/* Cum Addiction Macros */
<<widget "processCumAddiction">><<nobr>>
<<script>>
if (window.CumAddictionSystem) {
window.CumAddictionSystem.updateAllCharacters();
}
<</script>>
<</nobr>><</widget>>
<<widget "cumContact">><<nobr>>
<<set _character = $args[0] || "Unknown">>
<<set _cumSource = $args[1] || "any">>
<<script>>
if (window.CumAddictionSystem) {
const success = window.CumAddictionSystem.resetCumNeed(State.temporary.character, State.temporary.cumSource);
if (success) {
// Only show notification if cum need was actually reset
const charName = State.temporary.character.toLowerCase();
const cumNeed = State.variables[charName + '_CumNeed'] || 0;
if (cumNeed > 0) {
State.variables[charName + '_CumNeed'] = 0;
}
}
}
<</script>>
<</nobr>><</widget>>
<<widget "cumNeedResistanceCheck">><<nobr>>
<<set _character = $args[0] || "Unknown">>
<<set _baseResistance = $args[1] || 50>>
<<script>>
if (window.CumAddictionSystem) {
const modifier = window.CumAddictionSystem.getCumNeedResistanceModifier(State.temporary.character);
State.temporary.finalResistance = State.temporary.baseResistance + modifier;
State.temporary.cumNeedPenalty = modifier;
}
<</script>>
<</nobr>><</widget>>
/* Combat Stats Object Initialization */
/* Initialize combatStats objects for all characters to ensure proper structure */
<<if not $rylan_combatStats>>
<<set $rylan_combatStats = {
maxHealth: 100,
currentHealth: 100,
maxStamina: 100,
currentStamina: 100,
physicalPower: 10,
agility: 8,
willpower: 6,
technique: 7,
perception: 6,
focus: 6,
vitality: 10
}>>
<</if>>
<<if not $liora_combatStats>>
<<set $liora_combatStats = {
maxHealth: 80,
currentHealth: 80,
maxStamina: 80,
currentStamina: 80,
physicalPower: 7,
agility: 7,
willpower: 12,
technique: 8,
perception: 9,
focus: 10,
vitality: 8
}>>
<</if>>
<<if not $serin_combatStats>>
<<set $serin_combatStats = {
maxHealth: 90,
currentHealth: 90,
maxStamina: 120,
currentStamina: 120,
physicalPower: 11,
agility: 12,
willpower: 7,
technique: 9,
perception: 8,
focus: 7,
vitality: 9
}>>
<</if>>
<<if not $mariel_combatStats>>
<<set $mariel_combatStats = {
maxHealth: 85,
currentHealth: 85,
maxStamina: 90,
currentStamina: 90,
physicalPower: 8,
agility: 7,
willpower: 11,
technique: 9,
perception: 10,
focus: 11,
vitality: 9
}>>
<</if>>
<<if not $thalor_combatStats>>
<<set $thalor_combatStats = {
maxHealth: 130,
currentHealth: 130,
maxStamina: 110,
currentStamina: 110,
physicalPower: 15,
agility: 9,
willpower: 14,
technique: 12,
perception: 11,
focus: 10,
vitality: 13
}>>
<</if>>
<<if not $seryk_combatStats>>
<<set $seryk_combatStats = {
maxHealth: 220,
currentHealth: 220,
maxStamina: 120,
currentStamina: 120,
physicalPower: 26,
agility: 20,
willpower: 20,
technique: 20,
perception: 20,
focus: 20,
vitality: 20
}>>
<</if>>
<<if not $nimeria_combatStats>>
<<set $nimeria_combatStats = {
maxHealth: 100,
currentHealth: 100,
maxStamina: 100,
currentStamina: 100,
physicalPower: 10,
agility: 13,
willpower: 16,
technique: 15,
perception: 14,
focus: 14,
vitality: 12
}>>
<</if>>
<<widget "fullHealParty">><<nobr>>
<<if $rylan_combatStats>><<set $rylan_combatStats.currentHealth = $rylan_combatStats.maxHealth>><<set $rylan_combatStats.currentStamina = $rylan_combatStats.maxStamina>><</if>>
<<if $liora_combatStats>><<set $liora_combatStats.currentHealth = $liora_combatStats.maxHealth>><<set $liora_combatStats.currentStamina = $liora_combatStats.maxStamina>><</if>>
<<if $serin_combatStats>><<set $serin_combatStats.currentHealth = $serin_combatStats.maxHealth>><<set $serin_combatStats.currentStamina = $serin_combatStats.maxStamina>><</if>>
<<if $mariel_combatStats>><<set $mariel_combatStats.currentHealth = $mariel_combatStats.maxHealth>><<set $mariel_combatStats.currentStamina = $mariel_combatStats.maxStamina>><</if>>
<<if $thalor_combatStats>><<set $thalor_combatStats.currentHealth = $thalor_combatStats.maxHealth>><<set $thalor_combatStats.currentStamina = $thalor_combatStats.maxStamina>><</if>>
<<if $seryk_combatStats>><<set $seryk_combatStats.currentHealth = $seryk_combatStats.maxHealth>><<set $seryk_combatStats.currentStamina = $seryk_combatStats.maxStamina>><</if>>
<<if $nimeria_combatStats>><<set $nimeria_combatStats.currentHealth = $nimeria_combatStats.maxHealth>><<set $nimeria_combatStats.currentStamina = $nimeria_combatStats.maxStamina>><</if>>
<</nobr>><</widget>>
<<set $patreonSupporters = {
"Corruptors": [
"H.E."
],
"Manipulators": [
"just.in.case",
"Azure",
"Scott"
],
"Initiates": [
"J",
"Jackson",
"Sharpe",
"Loki388",
"Tricaster",
"143Framtri",
"Pter1717",
"Framed",
"Xenzor",
"Ntrox98",
"Frosty1979",
"VergilPoon",
"John",
"Wellan",
"Snowish",
"joe",
"Perfy",
"Charles",
"Сергей",
"Drulle",
"Obrecht13",
"very",
"Jeremy",
"mike",
"Izumi105",
"Markus",
"Grimisaac",
"shpee",
"Sebastien"
],
"Watchers": [
"Three"
]
}>>
<<widget "displayPatronsCredits">><<nobr>>
<<set _tier = $args[0]>>
<<if not $patreonSupporters>>
<<set $patreonSupporters = {
"Corruptors": [
"Alexandar04",
"H.E.",
"Lastnavajo"
],
"Manipulators": [
"just.in.case",
"Scott"
],
"Initiates": [
"San",
"장봉원",
"gabrielle",
"Tux",
"juanca",
"DarkWire",
"Jonathan",
"WolfSinFabossa",
"GoliathK",
"K11",
"whyandhi",
"Dnileas",
"Smoolio",
"Devtan",
"Ben",
"Pepega",
"Brandon",
"Clifford",
"Raven8I",
"GimmeThatPassCode",
"Kane",
"Je",
"Jak",
"Greyback",
"Templar",
"bobthegamer",
"Conrad",
"Mitios",
"Majortom589",
"Zerocool420",
"Tonuxol",
"Alde",
"bake",
"Trickster",
"Dr.",
"Airmanken",
"Deserex",
"МАШИНА",
"246Rennie",
"Kane",
"Kawika",
"zodac",
"j",
"widegoo",
"Sharpe",
"Loki388",
"Tricaster",
"143Framtri",
"Pter1717",
"Framed",
"Xenzor",
"N1rox98",
"Frosty1979",
"Wellan",
"joe",
"Perfy",
"Charles",
"Сергей",
"Drulle",
"Obrecht13",
"very",
"Jeremy",
"mike",
"Izumi105",
"Markus",
"Grimisaac",
"shpee",
"Sebastien"
],
"Watchers": [
"Three"
]
}>>
<</if>>
<<set _supporters = $patreonSupporters[_tier] || []>>
<<for _supporter range _supporters>>
<p style="margin: 8px 0; opacity: 0.9;">• _supporter</p>
<</for>>
<</nobr>><</widget>>
<<widget "scrollingCredits">> <<set _duration = $args[0] || 120>> <<set _speed = $args[1] || "normal">> <div id="scrolling-credits-container" style="position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: linear-gradient(180deg, #000000 0%, #1a1a2e 50%, #000000 100%); z-index: 9999; overflow: hidden; display: flex; align-items: center; justify-content: center;"> <div id="scrolling-credits" style="width: 80%; max-width: 600px; text-align: center; color: #ffffff; font-family: serif; position: absolute; bottom: -300vh; animation: scrollUp 120s linear forwards;"> <div style="margin-bottom: 110px;"> <h1 style="color: #ffd700; font-size: 3em; text-shadow: 2px 2px 8px rgba(255,215,0,0.5); margin-bottom: 40px; font-weight: bold;"> ✨ Special Thanks ✨ </h1> <p style="font-size: 1.3em; color: #e6e6fa; line-height: 1.8; margin-bottom: 60px; text-shadow: 1px 1px 3px rgba(0,0,0,0.7);"> The following patrons make<br/> <strong style="color: #ffd700;">Bonds Defiled</strong><br/> possible through their generous support </p> </div> <div style="margin-bottom: 110px;"> <h2 style="color: #da70d6; font-size: 2em; text-shadow: 2px 2px 6px rgba(218,112,214,0.6); margin-bottom: 30px; font-weight: bold;"> 🌑 Corruptors 🌑 </h2> <div style="font-size: 1.3em; color: #ffffff; line-height: 2; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);"> <<displayPatronsCredits "Corruptors">> </div> </div> <div style="margin-bottom: 110px;"> <h2 style="color: #ba55d3; font-size: 1.9em; text-shadow: 2px 2px 6px rgba(186,85,211,0.6); margin-bottom: 30px; font-weight: bold;"> 🎭 Manipulators 🎭 </h2> <div style="font-size: 1.25em; color: #ffffff; line-height: 1.9; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);"> <<displayPatronsCredits "Manipulators">> </div> </div> <div style="margin-bottom: 110px;"> <h2 style="color: #60a5fa; font-size: 1.6em; text-shadow: 2px 2px 6px rgba(96,165,250,0.6); margin-bottom: 30px; font-weight: bold;">
⭐ Initiates ⭐ </h2> <div style="font-size: 1.1em; color: #ffffff; line-height: 1.6; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);"> <<displayPatronsCredits "Initiates">> </div> </div> <div style="margin-bottom: 110px;"> <h2 style="color: #9ca3af; font-size: 1.4em; text-shadow: 2px 2px 6px rgba(156,163,175,0.6); margin-bottom: 30px; font-weight: bold;"> 👁️ Watchers 👁️ </h2> <div style="font-size: 1em; color: #ffffff; line-height: 1.5; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);"> <<displayPatronsCredits "Watchers">> </div> </div> <div style="margin-bottom: 100px;"> <h2 style="color: #ffd700; font-size: 2em; text-shadow: 2px 2px 6px rgba(255,215,0,0.6); margin-bottom: 40px; font-weight: bold;"> 💝 Thank You 💝 </h2> <p style="font-size: 1.3em; color: #e6e6fa; line-height: 2; text-shadow: 1px 1px 3px rgba(0,0,0,0.7); margin-bottom: 40px;"> Your support enables the complex systems,<br/> detailed character development,<br/> and rich storytelling that define<br/> <strong style="color: #ffd700;">Bonds Defiled</strong> </p> <p style="font-size: 1.1em; color: #dda0dd; line-height: 1.8; text-shadow: 1px 1px 3px rgba(0,0,0,0.7);"> Every patron contributes to the soul of this project.<br/> From the smallest pledge to the largest donation,<br/> you make this ambitious vision possible. </p> </div> <div style="margin-bottom: 150px;"> <p style="font-size: 1.4em; color: #ffd700; text-shadow: 2px 2px 6px rgba(255,215,0,0.6); font-weight: bold;"> The story continues... </p> </div> </div> </div>
<style>
@keyframes scrollUp {
0% {
bottom: -300vh;
opacity: 0;
}
15% {
opacity: 1;
}
85% {
opacity: 1;
}
100% {
bottom: 150vh;
opacity: 0;
}
}
#skip-credits:hover {
background: rgba(255,215,0,0.2);
transform: scale(1.05);
box-shadow: 0 4px 15px rgba(255,215,0,0.3);
}
.credits-slow #scrolling-credits {
animation-duration: 45s !important;
}
.credits-fast #scrolling-credits {
animation-duration: 20s !important;
}
</style>
<<script>>
var duration = State.temporary.duration || 120;
var creditsElement = document.getElementById('scrolling-credits');
if (creditsElement) {
creditsElement.style.animationDuration = duration + 's';
}
setTimeout(function() {
var container = document.getElementById('scrolling-credits-container');
if (container) {
container.style.display = 'none';
}
}, (duration + 2) * 1000);
<</script>>
<</widget>>
/* ========== DUNGEON EXPLORATION SYSTEM ========== */
<<widget "generateDungeonCards">><<nobr>>
<<if not $blightwoodEventsSeen>><<set $blightwoodEventsSeen = []>><</if>>
<<set _cardTypes = ["event", "event", "event", "battle", "item", "gold", "crystal", "mystery", "random", "random"]>>
<<set _choiceRoll = random(1, 100)>>
<<if _choiceRoll <= 55>>
<<set _numChoices = 1>>
<<elseif _choiceRoll <= 85>>
<<set _numChoices = 2>>
<<else>>
<<set _numChoices = 3>>
<</if>>
<<set _card1 = either(_cardTypes)>>
<<set _card2 = either(_cardTypes)>>
<<set _card3 = either(_cardTypes)>>
<div style="display: flex; gap: 20px; margin: 30px 0; justify-content: center; flex-wrap: wrap;">
<div class="dungeon-card" style="background: rgba(255,255,255,0.1); border: 2px solid rgba(255,215,0,0.5); border-radius: 12px; padding: 20px; text-align: center; flex: 1; min-width: 150px; max-width: 200px;">
<<switch _card1>>
<<case "event">><h3 style="color: #FFD700; margin-bottom: 10px;">🎭 Event</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Mysterious encounter awaits</p>[[Choose this path|DungeonEventCard]]
<<case "battle">><h3 style="color: #FF6347; margin-bottom: 10px;">⚔️ Battle</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Combat encounter ahead</p>[[Choose this path|DungeonBattleCard]]
<<case "item">><h3 style="color: #9370DB; margin-bottom: 10px;">✨ Training</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Ancient knowledge to gain</p>[[Choose this path|DungeonItemCard]]
<<case "gold">><h3 style="color: #FFD700; margin-bottom: 10px;">💰 Treasure</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Golden opportunity</p>[[Choose this path|DungeonGoldCard]]
<<case "crystal">><h3 style="color: #87CEEB; margin-bottom: 10px;">💎 Crystal</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Mystical energy source</p>[[Choose this path|DungeonCrystalCard]]
<<case "mystery">><h3 style="color: #DA70D6; margin-bottom: 10px;">🔮 Mana Resonance</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">You sense magical energy</p>[[Choose this path|DungeonMysteryCard]]
<<case "random">><h3 style="color: #FF1493; margin-bottom: 10px;">🎲 Random</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Fate decides your path</p>[[Choose this path|DungeonRandomCard]]
<</switch>></div>
<<if _numChoices >= 2>>
<div class="dungeon-card" style="background: rgba(255,255,255,0.1); border: 2px solid rgba(255,215,0,0.5); border-radius: 12px; padding: 20px; text-align: center; flex: 1; min-width: 150px; max-width: 200px;">
<<switch _card2>>
<<case "event">><h3 style="color: #FFD700; margin-bottom: 10px;">🎭 Event</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Mysterious encounter awaits</p>[[Choose this path|DungeonEventCard]]
<<case "battle">><h3 style="color: #FF6347; margin-bottom: 10px;">⚔️ Battle</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Combat encounter ahead</p>[[Choose this path|DungeonBattleCard]]
<<case "item">><h3 style="color: #9370DB; margin-bottom: 10px;">✨ Training</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Ancient knowledge to gain</p>[[Choose this path|DungeonItemCard]]
<<case "gold">><h3 style="color: #FFD700; margin-bottom: 10px;">💰 Treasure</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Golden opportunity</p>[[Choose this path|DungeonGoldCard]]
<<case "crystal">><h3 style="color: #87CEEB; margin-bottom: 10px;">💎 Crystal</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Mystical energy source</p>[[Choose this path|DungeonCrystalCard]]
<<case "mystery">><h3 style="color: #DA70D6; margin-bottom: 10px;">🔮 Mana Resonance</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">You sense magical energy</p>[[Choose this path|DungeonMysteryCard]]
<<case "random">><h3 style="color: #FF1493; margin-bottom: 10px;">🎲 Random</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Fate decides your path</p>[[Choose this path|DungeonRandomCard]]
<</switch>></div>
<</if>>
<<if _numChoices >= 3>>
<div class="dungeon-card" style="background: rgba(255,255,255,0.1); border: 2px solid rgba(255,215,0,0.5); border-radius: 12px; padding: 20px; text-align: center; flex: 1; min-width: 150px; max-width: 200px;">
<<switch _card3>>
<<case "event">><h3 style="color: #FFD700; margin-bottom: 10px;">🎭 Event</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Mysterious encounter awaits</p>[[Choose this path|DungeonEventCard]]
<<case "battle">><h3 style="color: #FF6347; margin-bottom: 10px;">⚔️ Battle</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Combat encounter ahead</p>[[Choose this path|DungeonBattleCard]]
<<case "item">><h3 style="color: #9370DB; margin-bottom: 10px;">✨ Training</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Ancient knowledge to gain</p>[[Choose this path|DungeonItemCard]]
<<case "gold">><h3 style="color: #FFD700; margin-bottom: 10px;">💰 Treasure</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Golden opportunity</p>[[Choose this path|DungeonGoldCard]]
<<case "crystal">><h3 style="color: #87CEEB; margin-bottom: 10px;">💎 Crystal</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Mystical energy source</p>[[Choose this path|DungeonCrystalCard]]
<<case "mystery">><h3 style="color: #DA70D6; margin-bottom: 10px;">🔮 Mana Resonance</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">You sense magical energy</p>[[Choose this path|DungeonMysteryCard]]
<<case "random">><h3 style="color: #FF1493; margin-bottom: 10px;">🎲 Random</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Fate decides your path</p>[[Choose this path|DungeonRandomCard]]
<</switch>></div>
<</if>>
</div>
<</nobr>><</widget>>
<<widget "generateLustDungeonCards">><<nobr>>
<<if not $lustdungeonEventsSeen>><<set $lustdungeonEventsSeen = []>><</if>>
<<set _cardTypes = ["event", "event", "event", "battle", "item", "gold", "crystal", "mystery", "random", "random"]>>
<<set _choiceRoll = random(1, 100)>>
<<if _choiceRoll <= 55>>
<<set _numChoices = 1>>
<<elseif _choiceRoll <= 85>>
<<set _numChoices = 2>>
<<else>>
<<set _numChoices = 3>>
<</if>>
<<set _card1 = either(_cardTypes)>>
<<set _card2 = either(_cardTypes)>>
<<set _card3 = either(_cardTypes)>>
<div style="display: flex; gap: 20px; margin: 30px 0; justify-content: center; flex-wrap: wrap;">
<div class="dungeon-card" style="background: rgba(255,255,255,0.1); border: 2px solid rgba(255,215,0,0.5); border-radius: 12px; padding: 20px; text-align: center; flex: 1; min-width: 150px; max-width: 200px;">
<<switch _card1>>
<<case "event">><h3 style="color: #FFD700; margin-bottom: 10px;">🎭 Event</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Mysterious encounter awaits</p>[[Choose this path|LustDungeonEventCard]]
<<case "battle">><h3 style="color: #FF6347; margin-bottom: 10px;">⚔️ Battle</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Combat encounter ahead</p>[[Choose this path|LustDungeonBattleCard]]
<<case "item">><h3 style="color: #9370DB; margin-bottom: 10px;">✨ Training</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Ancient knowledge to gain</p>[[Choose this path|LustDungeonItemCard]]
<<case "gold">><h3 style="color: #FFD700; margin-bottom: 10px;">💰 Treasure</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Golden opportunity</p>[[Choose this path|LustDungeonGoldCard]]
<<case "crystal">><h3 style="color: #87CEEB; margin-bottom: 10px;">💎 Crystal</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Mystical energy source</p>[[Choose this path|LustDungeonCrystalCard]]
<<case "mystery">><h3 style="color: #DA70D6; margin-bottom: 10px;">🔮 Mana Resonance</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">You sense magical energy</p>[[Choose this path|LustDungeonMysteryCard]]
<<case "random">><h3 style="color: #FF1493; margin-bottom: 10px;">🎲 Random</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Fate decides your path</p>[[Choose this path|LustDungeonRandomCard]]
<</switch>></div>
<<if _numChoices >= 2>>
<div class="dungeon-card" style="background: rgba(255,255,255,0.1); border: 2px solid rgba(255,215,0,0.5); border-radius: 12px; padding: 20px; text-align: center; flex: 1; min-width: 150px; max-width: 200px;">
<<switch _card2>>
<<case "event">><h3 style="color: #FFD700; margin-bottom: 10px;">🎭 Event</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Mysterious encounter awaits</p>[[Choose this path|LustDungeonEventCard]]
<<case "battle">><h3 style="color: #FF6347; margin-bottom: 10px;">⚔️ Battle</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Combat encounter ahead</p>[[Choose this path|LustDungeonBattleCard]]
<<case "item">><h3 style="color: #9370DB; margin-bottom: 10px;">✨ Training</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Ancient knowledge to gain</p>[[Choose this path|LustDungeonItemCard]]
<<case "gold">><h3 style="color: #FFD700; margin-bottom: 10px;">💰 Treasure</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Golden opportunity</p>[[Choose this path|LustDungeonGoldCard]]
<<case "crystal">><h3 style="color: #87CEEB; margin-bottom: 10px;">💎 Crystal</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Mystical energy source</p>[[Choose this path|LustDungeonCrystalCard]]
<<case "mystery">><h3 style="color: #DA70D6; margin-bottom: 10px;">🔮 Mana Resonance</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">You sense magical energy</p>[[Choose this path|LustDungeonMysteryCard]]
<<case "random">><h3 style="color: #FF1493; margin-bottom: 10px;">🎲 Random</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Fate decides your path</p>[[Choose this path|LustDungeonRandomCard]]
<</switch>></div>
<</if>>
<<if _numChoices >= 3>>
<div class="dungeon-card" style="background: rgba(255,255,255,0.1); border: 2px solid rgba(255,215,0,0.5); border-radius: 12px; padding: 20px; text-align: center; flex: 1; min-width: 150px; max-width: 200px;">
<<switch _card3>>
<<case "event">><h3 style="color: #FFD700; margin-bottom: 10px;">🎭 Event</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Mysterious encounter awaits</p>[[Choose this path|LustDungeonEventCard]]
<<case "battle">><h3 style="color: #FF6347; margin-bottom: 10px;">⚔️ Battle</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Combat encounter ahead</p>[[Choose this path|LustDungeonBattleCard]]
<<case "item">><h3 style="color: #9370DB; margin-bottom: 10px;">✨ Training</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Ancient knowledge to gain</p>[[Choose this path|LustDungeonItemCard]]
<<case "gold">><h3 style="color: #FFD700; margin-bottom: 10px;">💰 Treasure</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Golden opportunity</p>[[Choose this path|LustDungeonGoldCard]]
<<case "crystal">><h3 style="color: #87CEEB; margin-bottom: 10px;">💎 Crystal</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Mystical energy source</p>[[Choose this path|LustDungeonCrystalCard]]
<<case "mystery">><h3 style="color: #DA70D6; margin-bottom: 10px;">🔮 Mana Resonance</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">You sense magical energy</p>[[Choose this path|LustDungeonMysteryCard]]
<<case "random">><h3 style="color: #FF1493; margin-bottom: 10px;">🎲 Random</h3><p style="color: white; font-size: 0.9em; margin-bottom: 15px;">Fate decides your path</p>[[Choose this path|LustDungeonRandomCard]]
<</switch>></div>
<</if>>
</div>
<</nobr>><</widget>>
<<widget "dungeonEffectCheck">><<nobr>>
<<if $dungeonEffect === "poisonDamage">>
<<set _totalPoisonDamage = Math.ceil($partyMaxHP * 0.1)>>
<<set $partyCurrentHP = Math.max(0, $partyCurrentHP - _totalPoisonDamage)>>
<div style="background: rgba(138, 43, 226, 0.3); border: 1px solid rgba(138, 43, 226, 0.6); border-radius: 8px; padding: 15px; margin: 15px 0; text-align: center;">
<p style="color: #DA70D6; font-size: 1.1em; margin: 0;"><span style="font-size: 1.2em;">☠️</span> The toxic atmosphere drains everyone's health (-_totalPoisonDamage HP) <span style="font-size: 1.2em;">☠️</span></p></div>
<<elseif $dungeonEffect === "lustIncrease">>
<<changeLust "Rylan" 2>><<changeLust "Liora" 2>><<changeLust "Serin" 2>><<changeLust "Mariel" 2>><<changeLust "Seryk" 2>><<changeLust "Nimeria" 2>>
<div class="dungeon-effect" style="background: rgba(255,20,147,0.3); border: 1px solid rgba(255,20,147,0.5); border-radius: 8px; padding: 15px; margin-bottom: 15px; text-align: center;">
<p style="color: #FF1493; font-size: 0.9em; margin: 0;">💗 The charged atmosphere increases everyone's lust (+2) 💗</p></div>
<</if>>
<</nobr>><</widget>>
<<widget "battleRollDisplay">><<nobr>>
<<set _roll = $args[0]>><<set _threshold = $args[1]>><<set _partyPower = $args[2]>>
<<set _uniqueId = "roll_" + random(1, 999999)>>
<div class="battle-roll-display" style="background: rgba(25,25,25,0.9); border: 2px solid rgba(255,215,0,0.6); border-radius: 12px; padding: 20px; margin: 20px 0; text-align: center;">
<h3 style="color: #FFD700; margin-bottom: 15px;">🎲 Battle Roll 🎲</h3>
<div id="<<print _uniqueId>>" style="display: flex; justify-content: space-around; align-items: center; margin: 15px 0;">
<div style="background: rgba(255,255,255,0.1); border-radius: 8px; padding: 10px; min-width: 110px;">
<p style="color: white; margin: 0; font-size: 0.9em;">Roll</p>
<p class="roll-number" style="color: #FFD700; margin: 5px 0 0 0; font-size: 1.4em; font-weight: bold;">Rolling...</p></div>
<div style="color: white; font-size: 1.2em;">vs</div>
<div style="background: rgba(255,255,255,0.1); border-radius: 8px; padding: 10px; min-width: 110px;">
<p style="color: white; margin: 0; font-size: 0.9em;">Power</p>
<p style="color: #87CEEB; margin: 5px 0 0 0; font-size: 1.4em; font-weight: bold;"><<print Math.round(_partyPower)>></p></div></div>
<div class="roll-result" style="">
<p style="color: #FFD700; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Rolling...</p></div></div>
<<timed 3s>>
<<run $(".roll-number").last().text(_roll)>>
<<if _roll >= 80>>
<<run $(".roll-result").last().html('<p style="color: #90EE90; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Perfect Execution!</p>')>>
<<elseif _roll >= 40>>
<<run $(".roll-result").last().html('<p style="color: #FFD700; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Standard Victory</p>')>>
<<else>>
<<run $(".roll-result").last().html('<p style="color: #FF6347; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Difficult Fight</p>')>>
<</if>>
<</timed>>
<</nobr>><</widget>>
<<widget "applyBattleDamage">><<nobr>>
<<set _damageMultiplier = $args[0]>>
<<set _baseDamage = 48>>
<<set _actualDamage = Math.round(_baseDamage * _damageMultiplier)>>
<<set _totalVitality = (($rylan_combatStats.vitality || 10) + ($serin_combatStats.vitality || 12) + ($liora_combatStats.vitality || 12) + ($mariel_combatStats.vitality || 10) + ($seryk_combatStats.vitality || 16) + ($nimeria_combatStats.vitality || 14) + ($thalor_combatStats.vitality || 18))>>
<<set _averageVitality = _totalVitality / 7>>
<<set _vitalityReduction = Math.floor(_averageVitality * 0.3)>>
<<set _damageAfterVitality = Math.max(1, Math.round(_actualDamage - _vitalityReduction))>>
<<set $partyCurrentHP = Math.max(0, $partyCurrentHP - _damageAfterVitality)>>
<div style="background: rgba(255,69,0,0.2); border: 1px solid rgba(255,69,0,0.5); border-radius: 8px; padding: 15px; margin: 15px 0; text-align: center;">
<p style="color: #FF6347; font-size: 0.9em; margin: 0;">⚔️ The party takes _damageAfterVitality damage from the battle ⚔️</p>
<<if _vitalityReduction > 0>>
<p style="color: #90EE90; font-size: 0.8em; margin: 5px 0 0 0;">🛡️ Vitality reduced damage by _vitalityReduction points 🛡️</p>
<</if>>
</div>
<</nobr>><</widget>>
<<widget "autoHealCheck">><<nobr>>
<<set _needsHealing = false>>
<<if ($partyCurrentHP / $partyMaxHP) < 0.6>><<set _needsHealing = true>><</if>>
<<if _needsHealing>>
<<if ($liora_combatStats.currentStamina || 0) >= 30>>
<<set _healAmount = 150>>
<<set $partyCurrentHP = Math.min($partyCurrentHP + _healAmount, $partyMaxHP)>>
<<if $liora_combatStats>><<set $liora_combatStats.currentStamina -= 30>><</if>>
<div style="background: rgba(144,238,144,0.2); border: 1px solid rgba(144,238,144,0.5); border-radius: 8px; padding: 15px; margin: 15px 0; text-align: center;">
<p style="color: #90EE90; font-size: 0.9em; margin: 0;">💚 Liora heals everyone (+_healAmount HP, -30 MP) 💚</p></div>
<<else>>
<<set _healAmount = Math.round($partyMaxHP * 0.3)>>
<<set $partyCurrentHP = Math.min($partyCurrentHP + _healAmount, $partyMaxHP)>>
<div style="background: rgba(147,112,219,0.2); border: 1px solid rgba(147,112,219,0.5); border-radius: 8px; padding: 15px; margin: 15px 0; text-align: center;">
<p style="color: #9370DB; font-size: 0.9em; margin: 0;">💜 Nimeria uses healing potions on everyone (+_healAmount HP) 💜</p></div>
<</if>>
<</if>>
<</nobr>><</widget>>
<<widget "dungeonRewardChallenge">><<nobr>>
<<set _rewardType = $args[0]>><<set _baseReward = $args[1]>>
<<set _challengeRoll = random(1, 100)>>
<<set _partyAvgStat = (($rylan_technique || 10) + ($serin_agility || 12) + ($seryk_physicalPower || 16) + ($liora_willpower || 8) + ($nimeria_perception || 14)) / 5>>
<<set _challengeThreshold = 50>>
<div class="reward-challenge-container" style="background: linear-gradient(to bottom, rgba(255, 215, 0, 0.85), rgba(255, 165, 0, 0.9)); min-height: 500px; padding: 30px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.3);">
<div class="scene-header" style="background: rgba(45,45,50,0.9); border: 1px solid rgba(100,100,100,0.4); border-radius: 8px; padding: 20px; margin-bottom: 25px; text-align: center;">
<<if _rewardType === "gold">><p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">💰 Golden Opportunity 💰</p>
<<else>><p style="color: white; font-size: 1.4em; font-weight: bold; margin-bottom: 10px;">💎 Crystal Discovery 💎</p><</if>>
<p style="color: white; font-size: 1.1em;">Team Challenge</p></div>
<<battleRollDisplay _challengeRoll _challengeThreshold _partyAvgStat>>
<div class="challenge-result" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 25px; margin-bottom: 25px;">
<<if _rewardType === "gold">>
<center><img src="images/items/goldchest.webp" style="max-width: 200px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<p style="color: white; line-height: 1.6; margin: 20px 0; text-align: center; font-style: italic;">*You discover an ancient treasure chest, but it requires teamwork to unlock safely.*</p>
<<else>>
<center><img src="images/items/crystalnode.webp" style="max-width: 200px; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3);"></center>
<p style="color: white; line-height: 1.6; margin: 20px 0; text-align: center; font-style: italic;">*A cluster of magical crystals pulses with energy, but extracting them requires careful coordination.*</p>
<</if>>
<<if _challengeRoll >= 80>>
<<set _finalReward = _baseReward * 2>>
<<if _rewardType === "gold">><<set $gold += _finalReward>><<else>><<set $crystals += _finalReward>><</if>>
<p style="color: #90EE90; text-align: center; font-size: 1.2em; margin-bottom: 15px;">🎯 Perfect Execution! 🎯</p>
<p style="color: white; line-height: 1.6; margin-bottom: 20px; text-align: center;">*Your teamwork is flawless! You obtain double the reward.*</p>
<<if _rewardType === "gold">><p style="color: #FFD700; text-align: center; font-size: 1.1em;">Gained: _finalReward Gold</p>
<<else>><p style="color: #87CEEB; text-align: center; font-size: 1.1em;">Gained: _finalReward Crystals</p><</if>>
<<elseif _challengeRoll >= 40>>
<<set _finalReward = _baseReward>>
<<if _rewardType === "gold">><<set $gold += _finalReward>><<else>><<set $crystals += _finalReward>><</if>>
<p style="color: #FFD700; text-align: center; font-size: 1.2em; margin-bottom: 15px;">✅ Success! ✅</p>
<p style="color: white; line-height: 1.6; margin-bottom: 20px; text-align: center;">*You successfully obtain the full reward through steady teamwork.*</p>
<<if _rewardType === "gold">><p style="color: #FFD700; text-align: center; font-size: 1.1em;">Gained: _finalReward Gold</p>
<<else>><p style="color: #87CEEB; text-align: center; font-size: 1.1em;">Gained: _finalReward Crystals</p><</if>>
<<else>>
<<set _finalReward = Math.round(_baseReward * 0.5)>>
<<if _rewardType === "gold">><<set $gold += _finalReward>><<else>><<set $crystals += _finalReward>><</if>>
<p style="color: #FF6347; text-align: center; font-size: 1.2em; margin-bottom: 15px;">⚠️ Partial Success ⚠️</p>
<p style="color: white; line-height: 1.6; margin-bottom: 20px; text-align: center;">*Your coordination falters, but you still manage to salvage some reward.*</p>
<<if _rewardType === "gold">><p style="color: #FFD700; text-align: center; font-size: 1.1em;">Gained: _finalReward Gold</p>
<<else>><p style="color: #87CEEB; text-align: center; font-size: 1.1em;">Gained: _finalReward Crystals</p><</if>>
<</if>></div></div>
[[Continue exploring|BlightwoodContinue]]
<</nobr>><</widget>>
<<widget "restAreaEvents">><<nobr>>
<<set _anyEventTriggered = false>>
<<set _lioraMaxSP = $liora_combatStats.maxStamina || 80>>
<<set _lioraCurrentSP = $liora_combatStats.currentStamina || 0>>
<<set _lioraSPPercent = (_lioraCurrentSP / _lioraMaxSP) * 100>>
<<set _serykEventChance = random(1, 100)>>
<<if ($serykxliorantr === true || $serykxliorantr === "stage1") && _lioraSPPercent <= 60 && _serykEventChance <= 100>>
<<goto "SerykLioraSecretTransition">>
<</if>>
<<if $rylanxserincontent && ($serin_Lust || 0) > 101>>
<div class="rest-event" style="background: rgba(255,182,193,0.3); border: 1px solid rgba(255,20,147,0.5); border-radius: 8px; padding: 20px; margin: 15px 0;">
<img src="images/serin/facewet.webp" style="width: 110px; height: 110px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 20px 15px 0; clear: left;">
<p style="color: white; line-height: 1.6; margin-bottom: 15px;"><span class="dialog-serin">$humanName... I need your help with something. Now.</span></p>
<p style="color: white; line-height: 1.6; margin-bottom: 20px; font-style: italic;">*Serin's breathing is heavy, her face flushed. The dungeon atmosphere seems to have affected her strongly...*</p>
<div style="clear: left;"></div>
<div style="text-align: center; margin-top: 15px;">
<<link "Help Serin relieve herself" "SerinRestAreaRelief">><</link>> | <<link "Try to ignore her needs" "RestAreaContinue">><</link>></div></div>
<<set _anyEventTriggered = true>>
<</if>>
<<if ($rylan_Lust || 0) >= 50>>
<<choiceBox "Rest Area Decision" "Find privacy to relieve yourself" "RylanRestAreaMasturbation" "" "Try to endure the discomfort" "RestAreaContinue" "">>
<<set _anyEventTriggered = true>>
<</if>>
<<if not _anyEventTriggered>>
<div class="rest-normal" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 20px; margin: 15px 0; text-align: center;">
<p style="color: white; line-height: 1.6; margin-bottom: 20px; font-style: italic;">*Everyone takes a moment to rest and recover their strength. The protective stones seem to cleanse the worst effects of the blight.*</p>
<<if not $serykxliorantr && $liora_combatStats>><<set $liora_combatStats.currentStamina = Math.min($liora_combatStats.currentStamina + 20, $liora_combatStats.maxStamina || 80)>><</if>>
<<if not $serykxliorantr>><p style="color: #87CEEB; font-size: 0.9em; margin: 0;">Everyone feels refreshed. Liora recovers 20 MP.</p><<else>><p style="color: #FFB6C1; font-size: 0.9em; margin: 0;">Everyone feels refreshed. Liora seems distracted.</p><</if>></div>
<</if>>
<</nobr>><</widget>>
<<widget "lustDungeonRestAreaEvents">><<nobr>>
<<set _anyEventTriggered = false>>
<<set _lioraMaxSP = $liora_combatStats.maxStamina || 80>>
<<set _lioraCurrentSP = $liora_combatStats.currentStamina || 0>>
<<set _lioraSPPercent = (_lioraCurrentSP / _lioraMaxSP) * 100>>
<<set _serykEventChance = random(1, 100)>>
<<if ($serykxliorantr === true || $serykxliorantr === "stage1") && _lioraSPPercent <= 60 && _serykEventChance <= 100>>
<<goto "LustDungeonSerykLioraSecretTransition">>
<</if>>
<<if $rylanxserincontent && ($serin_Lust || 0) > 101>>
<div class="rest-event" style="background: rgba(255,182,193,0.3); border: 1px solid rgba(255,20,147,0.5); border-radius: 8px; padding: 20px; margin: 15px 0;">
<img src="images/serin/facewet.webp" style="width: 110px; height: 110px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.3); float: left; margin: 0 20px 15px 0; clear: left;">
<p style="color: white; line-height: 1.6; margin-bottom: 15px;"><span class="dialog-serin">$humanName... I need your help with something. Now.</span></p>
<p style="color: white; line-height: 1.6; margin-bottom: 20px; font-style: italic;">*Serin's breathing is heavy, her face flushed. The dungeon atmosphere seems to have affected her strongly...*</p>
<div style="clear: left;"></div>
<div style="text-align: center; margin-top: 15px;">
<<link "Help Serin relieve herself" "LustDungeonSerinRestAreaRelief">><</link>> | <<link "Try to ignore her needs" "LustDungeonRestAreaContinue">><</link>></div></div>
<<set _anyEventTriggered = true>>
<</if>>
<<if ($rylan_Lust || 0) >= 50>>
<<choiceBox "Rest Area Decision" "Find privacy to relieve yourself" "LustDungeonRylanRestAreaMasturbation" "" "Try to endure the discomfort" "LustDungeonRestAreaContinue" "">>
<<set _anyEventTriggered = true>>
<</if>>
<<if not _anyEventTriggered>>
<div class="rest-normal" style="background: rgba(45,45,50,0.8); border: 1px solid rgba(100,100,100,0.3); border-radius: 8px; padding: 20px; margin: 15px 0; text-align: center;">
<p style="color: white; line-height: 1.6; margin-bottom: 20px; font-style: italic;">*Everyone takes a moment to rest and recover their strength. The protective stones seem to cleanse the worst effects of the traps.*</p>
<<if not $serykxliorantr && $liora_combatStats>><<set $liora_combatStats.currentStamina = Math.min($liora_combatStats.currentStamina + 20, $liora_combatStats.maxStamina || 80)>><</if>>
<<if not $serykxliorantr>><p style="color: #87CEEB; font-size: 0.9em; margin: 0;">Everyone feels refreshed. Liora recovers 20 MP.</p><<else>><p style="color: #FFB6C1; font-size: 0.9em; margin: 0;">Everyone feels refreshed. Liora seems distracted.</p><</if>></div>
<</if>>
<</nobr>><</widget>>
<<widget "treasureRollDisplay">><<nobr>>
<<set _roll = $args[0]>><<set _threshold = $args[1]>><<set _partySkill = $args[2]>>
<div class="treasure-roll-display" style="background: rgba(25,25,25,0.9); border: 2px solid rgba(255,215,0,0.6); border-radius: 12px; padding: 20px; margin: 20px 0; text-align: center;">
<h3 style="color: #FFD700; margin-bottom: 15px;">💰 Treasure Roll 💰</h3>
<div style="display: flex; justify-content: space-around; align-items: center; margin: 15px 0;">
<div style="background: rgba(255,255,255,0.1); border-radius: 8px; padding: 10px; min-width: 110px;">
<p style="color: white; margin: 0; font-size: 0.9em;">Roll</p>
<p class="roll-number" style="color: #FFD700; margin: 5px 0 0 0; font-size: 1.4em; font-weight: bold;">Rolling...</p></div>
<div style="color: white; font-size: 1.2em;">vs</div>
<div style="background: rgba(255,255,255,0.1); border-radius: 8px; padding: 10px; min-width: 110px;">
<p style="color: white; margin: 0; font-size: 0.9em;">Skill</p>
<p style="color: #87CEEB; margin: 5px 0 0 0; font-size: 1.4em; font-weight: bold;"><<print Math.round(_partySkill)>></p></div></div>
<div class="roll-result" style="">
<p style="color: #FFD700; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Rolling...</p></div></div>
<<timed 3s>>
<<run $(".roll-number").last().text(_roll)>>
<<if _roll >= 80>>
<<run $(".roll-result").last().html('<p style="color: #90EE90; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Perfect Discovery!</p>')>>
<<elseif _roll >= 40>>
<<run $(".roll-result").last().html('<p style="color: #FFD700; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Successful Find</p>')>>
<<else>>
<<run $(".roll-result").last().html('<p style="color: #FF6347; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Partial Success</p>')>>
<</if>>
<</timed>>
<</nobr>><</widget>>
<<widget "crystalRollDisplay">><<nobr>>
<<set _roll = $args[0]>><<set _threshold = $args[1]>><<set _partyMagic = $args[2]>>
<div class="crystal-roll-display" style="background: rgba(25,25,25,0.9); border: 2px solid rgba(135,206,235,0.6); border-radius: 12px; padding: 20px; margin: 20px 0; text-align: center;">
<h3 style="color: #87CEEB; margin-bottom: 15px;">💎 Crystal Roll 💎</h3>
<div style="display: flex; justify-content: space-around; align-items: center; margin: 15px 0;">
<div style="background: rgba(255,255,255,0.1); border-radius: 8px; padding: 10px; min-width: 110px;">
<p style="color: white; margin: 0; font-size: 0.9em;">Roll</p>
<p class="roll-number" style="color: #87CEEB; margin: 5px 0 0 0; font-size: 1.4em; font-weight: bold;">Rolling...</p></div>
<div style="color: white; font-size: 1.2em;">vs</div>
<div style="background: rgba(255,255,255,0.1); border-radius: 8px; padding: 10px; min-width: 110px;">
<p style="color: white; margin: 0; font-size: 0.9em;">Magic</p>
<p style="color: #DA70D6; margin: 5px 0 0 0; font-size: 1.4em; font-weight: bold;"><<print Math.round(_partyMagic)>></p></div></div>
<div class="roll-result" style="">
<p style="color: #87CEEB; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Rolling...</p></div></div>
<<timed 3s>>
<<run $(".roll-number").last().text(_roll)>>
<<if _roll >= 80>>
<<run $(".roll-result").last().html('<p style="color: #90EE90; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Perfect Extraction!</p>')>>
<<elseif _roll >= 40>>
<<run $(".roll-result").last().html('<p style="color: #87CEEB; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Successful Harvest</p>')>>
<<else>>
<<run $(".roll-result").last().html('<p style="color: #FF6347; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Partial Harvest</p>')>>
<</if>>
<</timed>>
<</nobr>><</widget>>
<<widget "pov">>
<<set _character = $args[0] || "rylan">>
<<set _bgm = $args[1] || "defaultch5.mp3">>
<<set $currentFace = _character + "/face.webp">>
<<run window.AudioSystem.playBGM(_bgm)>>
<<changeFace $currentFace>>
<<statSummary>>
<</widget>>
<<widget "narrative">><<nobr>>
<div class="narrative-container" style="margin: 30px 0; position: relative; animation: narrativeFadeIn 0.7s ease-out;">
<div class="narrative-content" style="background: linear-gradient(145deg, rgba(15, 15, 25, 0.9), rgba(25, 25, 35, 0.95)); border: 2px solid rgba(120, 120, 140, 0.3); border-radius: 20px; padding: 30px; position: relative; box-shadow: 0 15px 40px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.1); backdrop-filter: blur(5px);">
<!-- Decorative Elements -->
<div class="narrative-decoration" style="position: absolute; top: 15px; left: 15px; right: 15px; height: 2px; background: linear-gradient(90deg, transparent, rgba(200, 200, 220, 0.3), transparent);"></div>
<div class="narrative-decoration" style="position: absolute; bottom: 15px; left: 15px; right: 15px; height: 2px; background: linear-gradient(90deg, transparent, rgba(200, 200, 220, 0.3), transparent);"></div>
<!-- Content with Beautiful Typography -->
<div class="narrative-text" style="position: relative; z-index: 2;">
<p style="color: #E8E8F0; font-style: italic; margin: 0; line-height: 1.8; font-size: 1.1em; text-align: center; text-shadow: 0 2px 4px rgba(0,0,0,0.3); font-weight: 400; letter-spacing: 0.5px;">*<<print $args[0]>>*</p>
</div>
<!-- Subtle Inner Glow -->
<div class="narrative-glow" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(ellipse at center, rgba(200, 200, 220, 0.05), transparent 70%); border-radius: 20px; pointer-events: none;"></div>
</div>
</div>
<</nobr>><</widget>>
<<widget "dialog">><<nobr>>
<<set _character = $args[0]>>
<<set _expression = $args[1] || "">>
<<set _spoken1 = $args[2]>>
<<set _action = $args[3]>>
<<set _spoken2 = $args[4]>>
<<set _dialogClass = "dialog-" + _character.toLowerCase()>>
<<set _characterColor = "">>
<<switch _character.toLowerCase()>>
<<case "rylan">><<set _characterColor = "#66bb6a">>
<<case "mariel">><<set _characterColor = "#fff176">>
<<case "thalor">><<set _characterColor = "#cd853f">>
<<case "liora">><<set _characterColor = "#ffb74d">>
<<case "serin">><<set _characterColor = "#ff6b6b">>
<<case "seryk">><<set _characterColor = "#87CEEB">>
<<case "gairos">><<set _characterColor = "#87CEEB">>
<<case "nimeria">><<set _characterColor = "#DDA0DD">>
<<case "veloria">><<set _characterColor = "#9370DB">>
<<case "sora">><<set _characterColor = "#FF69B4">>
<<case "mira">><<set _characterColor = "#FFB6C1">>
<<default>><<set _characterColor = "#E6E6FA">>
<</switch>>
<<set _face = "">>
<<if _expression === "">><<set _face = "face.webp">>
<<elseif _expression === "angry">><<set _face = "faceangry.webp">>
<<elseif _expression === "sad">><<set _face = "facesad.webp">>
<<elseif _expression === "happy">><<set _face = "facehappy.webp">>
<<elseif _expression === "excited">><<set _face = "faceexcited.webp">>
<<elseif _expression === "embarrassed">><<set _face = "faceembarrassed.webp">>
<<elseif _expression === "worried">><<set _face = "faceworried.webp">>
<<elseif _expression === "smile">><<set _face = "facesmile.webp">>
<<elseif _expression === "curious">><<set _face = "facecurious.webp">>
<<elseif _expression === "laugh">><<set _face = "facelaugh.webp">>
<<elseif _expression === "shy">><<set _face = "faceshy.webp">>
<<elseif _expression === "wet">><<set _face = "facewet.webp">>
<<else>><<set _face = _expression + ".webp">><</if>>
<<if _face.includes(".webp")>><<set _face = _face.replace(".webp", "")>><</if>>
<<if _character.toLowerCase() === "rylan" && $rylanMasculine>>
<<set _imagePath = "images/" + _character + "/male/faces/" + _face>>
<<elseif _character.toLowerCase() === "rylan" && $rylanMasculinity30Triggered && !_face.includes("female/")>>
<<set _imagePath = "images/" + _character + "/femboy/faces/" + _face>>
<<else>>
<<set _imagePath = "images/" + _character + "/" + _face>>
<</if>>
<div class="dialog-container" style="margin: 25px 0; position: relative;">
<!-- Character Portrait -->
<div class="character-portrait-container" style="position: relative; float: left; margin: -40px 20px 15px 0; clear: left;">
<img @src="_imagePath" class="character-portrait" style="width: 120px; height: 120px; border-radius: 50%; border: 3px solid <<print _characterColor>>; position: relative; z-index: 2; box-shadow: 0 6px 20px rgba(0,0,0,0.3), 0 0 10px <<print _characterColor>>20; transition: all 0.3s ease;" alt="_character">
</div>
<!-- Speech Bubble -->
<div class="speech-bubble" style="background: linear-gradient(145deg, rgba(20, 20, 30, 0.95), rgba(30, 30, 45, 0.98)); border: 2px solid <<print _characterColor>>; border-radius: 20px; padding: 20px; margin-left: 140px; position: relative; box-shadow: 0 8px 25px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.1);">
<!-- Speech Tail -->
<div class="speech-tail" style="position: absolute; left: -15px; top: 25px; width: 0; height: 0; border-top: 12px solid transparent; border-bottom: 12px solid transparent; border-right: 15px solid <<print _characterColor>>;"></div>
<div class="speech-tail-inner" style="position: absolute; left: -13px; top: 27px; width: 0; height: 0; border-top: 10px solid transparent; border-bottom: 10px solid transparent; border-right: 13px solid rgba(20, 20, 30, 0.95);"></div>
<!-- Content -->
<div class="speech-content" style="position: relative; z-index: 2;">
<span @class="_dialogClass" style="font-size: 1.1em; line-height: 1.5; font-weight: 500;">"_spoken1"</span><<if _action>> <span style="color: #C0C0C0; font-style: italic; margin: 0 8px; font-size: 0.9em;">_action</span><</if>><<if _spoken2>> <span @class="_dialogClass" style="font-size: 1.1em; line-height: 1.5; font-weight: 500;">"_spoken2"</span><</if>>
</div>
</div>
<div style="clear: left;"></div>
</div>
<</nobr>><</widget>>
<<widget "thought">><<nobr>>
<<set _character = $args[0]>>
<<set _face = $args[1] || "face.webp">>
<<set _thought1 = $args[2]>>
<<set _action = $args[3]>>
<<set _thought2 = $args[4]>>
<<set _dialogClass = "dialog-" + _character.toLowerCase()>>
<<if _character.toLowerCase() === "rylan" && $rylanMasculine>>
<<set _imagePath = "images/" + _character + "/male/faces/" + _face>>
<<elseif _character.toLowerCase() === "rylan" && $rylanMasculinity30Triggered && !_face.includes("female/")>>
<<set _imagePath = "images/" + _character + "/femboy/faces/" + _face>>
<<else>>
<<set _imagePath = "images/" + _character + "/" + _face>>
<</if>>
<<set _characterColor = "">>
<<switch _character.toLowerCase()>>
<<case "rylan">><<set _characterColor = "#66bb6a">>
<<case "mariel">><<set _characterColor = "#fff176">>
<<case "thalor">><<set _characterColor = "#cd853f">>
<<case "liora">><<set _characterColor = "#ffb74d">>
<<case "serin">><<set _characterColor = "#ff6b6b">>
<<case "seryk">><<set _characterColor = "#87CEEB">>
<<case "gairos">><<set _characterColor = "#87CEEB">>
<<case "nimeria">><<set _characterColor = "#DDA0DD">>
<<case "veloria">><<set _characterColor = "#9370DB">>
<<case "sora">><<set _characterColor = "#FF69B4">>
<<case "mira">><<set _characterColor = "#FFB6C1">>
<<default>><<set _characterColor = "#E6E6FA">>
<</switch>>
<div class="thought-container" style="margin: 25px 0; position: relative;">
<!-- Character Portrait -->
<div class="character-portrait-container" style="position: relative; float: left; margin: -30px 20px 15px 0; clear: left;">
<img @src="_imagePath" class="character-portrait" style="width: 120px; height: 120px; border-radius: 50%; border: 3px dashed <<print _characterColor>>; position: relative; z-index: 2; box-shadow: 0 6px 20px rgba(0,0,0,0.3), 0 0 8px <<print _characterColor>>20; opacity: 0.85; transition: all 0.3s ease;" alt="_character">
</div>
<!-- Thought Bubble -->
<div class="thought-bubble" style="background: linear-gradient(145deg, rgba(25, 25, 35, 0.9), rgba(40, 40, 55, 0.95)); border: 2px dashed <<print _characterColor>>; border-radius: 25px; padding: 20px; margin-left: 140px; position: relative; box-shadow: 0 8px 25px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.05);">
<!-- Static Thought Dots -->
<div class="thought-dots" style="position: absolute; left: -10px; top: 20px; display: flex; flex-direction: column; gap: 2px;">
<div style="width: 5px; height: 5px; background: <<print _characterColor>>; border-radius: 50%; opacity: 0.7;"></div>
<div style="width: 4px; height: 4px; background: <<print _characterColor>>; border-radius: 50%; opacity: 0.5;"></div>
<div style="width: 3px; height: 3px; background: <<print _characterColor>>; border-radius: 50%; opacity: 0.3;"></div>
</div>
<!-- Content -->
<div class="thought-content" style="position: relative; z-index: 2;">
<span @class="_dialogClass" style="font-size: 1.05em; line-height: 1.5; font-style: italic; opacity: 0.9;">**_thought1**</span><<if _action>> <span style="color: #B0B0B0; font-style: italic; margin: 0 8px; font-size: 0.85em; opacity: 0.8;">_action</span><</if>><<if _thought2>> <span @class="_dialogClass" style="font-size: 1.05em; line-height: 1.5; font-style: italic; opacity: 0.9;">**_thought2**</span><</if>>
</div>
</div>
<div style="clear: left;"></div>
</div>
<</nobr>><</widget>>
<<widget "continueBox">><<nobr>>
<<set _nextPassage = $args[0] || "Chapter5MirasEnd">>
<<set _title = $args[1] || "Continue?">>
<<set _subtitle = $args[2] || "">>
<div class="continue-container" style="text-align: center; margin: 50px 0; position: relative; animation: continueSlideUp 0.6s ease-out;">
<div class="continue-box" style="background: linear-gradient(145deg, rgba(20, 20, 30, 0.95), rgba(30, 30, 45, 0.98)); border: 3px solid rgba(138, 43, 226, 0.8); border-radius: 25px; padding: 35px; min-width: 320px; box-shadow: 0 20px 50px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.1); position: relative; backdrop-filter: blur(8px);">
<!-- Content -->
<div class="continue-content" style="position: relative; z-index: 2;">
<h4 class="continue-title" style="color: #F0F0FF; margin: 0 0 25px 0; font-size: 1.6em; text-shadow: 0 3px 6px rgba(0,0,0,0.8); font-weight: 600; letter-spacing: 1px;"><<print _title>></h4>
<<if _subtitle>><p class="continue-subtitle" style="color: #C8A8D8; margin: 0 0 25px 0; font-size: 1em; font-style: italic; opacity: 0.9; text-shadow: 0 1px 3px rgba(0,0,0,0.5);"><<print _subtitle>></p><</if>>
<!-- Continue Button with Amazing Effects -->
<div class="continue-button-container" style="position: relative;">
<<link "Continue" _nextPassage "background: linear-gradient(145deg, rgba(138, 43, 226, 0.8), rgba(75, 0, 130, 0.9)); border: 2px solid rgba(200, 200, 255, 0.3); border-radius: 15px; padding: 18px 35px; display: inline-block; min-width: 180px; cursor: pointer; transition: all 0.4s ease; color: #FFFFFF; text-decoration: none; font-size: 1.1em; font-weight: 600; text-shadow: 0 2px 4px rgba(0,0,0,0.5); box-shadow: 0 8px 25px rgba(138, 43, 226, 0.3), inset 0 1px 0 rgba(255,255,255,0.2); position: relative;">><</link>>
</div>
</div>
</div>
</div>
<</nobr>><</widget>>
<<widget "choiceBox">><<nobr>>
<<set _title = $args[0] || "Choose">>
<<set _choice1 = $args[1] || "">>
<<set _passage1 = $args[2] || "ChoiceResult">>
<<set _var1 = $args[3] || "">>
<<set _choice2 = $args[4] || "">>
<<set _passage2 = $args[5] || "ChoiceResult">>
<<set _var2 = $args[6] || "">>
<<set _choice3 = $args[7] || "">>
<<set _passage3 = $args[8] || "ChoiceResult">>
<<set _var3 = $args[9] || "">>
<<set _choice4 = $args[10] || "">>
<<set _passage4 = $args[11] || "ChoiceResult">>
<<set _var4 = $args[12] || "">>
<div class="choice-container" style="text-align: center; margin: 50px 0; position: relative; animation: choiceSlideUp 0.7s ease-out;">
<div class="choice-box" style="background: linear-gradient(145deg, rgba(20, 20, 30, 0.95), rgba(30, 30, 45, 0.98)); border: 3px solid rgba(138, 43, 226, 0.8); border-radius: 25px; padding: 35px; min-width: 350px; box-shadow: 0 20px 50px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.1); position: relative; backdrop-filter: blur(8px);">
<!-- Content -->
<div class="choice-content" style="position: relative; z-index: 2;">
<h4 class="choice-title" style="color: #F0F0FF; margin: 0 0 30px 0; font-size: 1.8em; text-shadow: 0 3px 6px rgba(0,0,0,0.8); font-weight: 700; letter-spacing: 1px; text-transform: uppercase;"><<print _title>></h4>
<!-- Choice Buttons with Amazing Effects -->
<div class="choice-buttons" style="display: flex; flex-direction: column; gap: 18px; align-items: center;">
<<if _choice1>><div class="choice-button-wrapper" style="position: relative; animation: choiceButtonAppear 0.5s ease-out 0.1s both;">
<<link _choice1 _passage1 "background: linear-gradient(145deg, rgba(138, 43, 226, 0.7), rgba(75, 0, 130, 0.8)); border: 2px solid rgba(200, 200, 255, 0.4); border-radius: 20px; padding: 20px 30px; display: inline-block; min-width: 250px; cursor: pointer; transition: all 0.4s ease; color: #FFFFFF; text-decoration: none; font-size: 1.1em; font-weight: 600; text-shadow: 0 2px 4px rgba(0,0,0,0.5); box-shadow: 0 10px 30px rgba(138, 43, 226, 0.3), inset 0 1px 0 rgba(255,255,255,0.2); position: relative;">><<if _var1>><<set _tempVar1 = _var1.split("=")[0]>><<set _tempVal1 = _var1.split("=")[1]>><<if _tempVal1 === "true">><<run State.variables[_tempVar1] = true>><<elseif _tempVal1 === "false">><<run State.variables[_tempVar1] = false>><<elseif !isNaN(_tempVal1)>>><<run State.variables[_tempVar1] = Number(_tempVal1)>><<else>><<run State.variables[_tempVar1] = _tempVal1>><</if>><</if>><</link>>
</div><</if>>
<<if _choice2>><div class="choice-button-wrapper" style="position: relative; animation: choiceButtonAppear 0.5s ease-out 0.2s both;">
<<link _choice2 _passage2 "background: linear-gradient(145deg, rgba(138, 43, 226, 0.7), rgba(75, 0, 130, 0.8)); border: 2px solid rgba(200, 200, 255, 0.4); border-radius: 20px; padding: 20px 30px; display: inline-block; min-width: 250px; cursor: pointer; transition: all 0.4s ease; color: #FFFFFF; text-decoration: none; font-size: 1.1em; font-weight: 600; text-shadow: 0 2px 4px rgba(0,0,0,0.5); box-shadow: 0 10px 30px rgba(138, 43, 226, 0.3), inset 0 1px 0 rgba(255,255,255,0.2); position: relative;">><<if _var2>><<set _tempVar2 = _var2.split("=")[0]>><<set _tempVal2 = _var2.split("=")[1]>><<if _tempVal2 === "true">><<run State.variables[_tempVar2] = true>><<elseif _tempVal2 === "false">><<run State.variables[_tempVar2] = false>><<elseif !isNaN(_tempVal2)>>><<run State.variables[_tempVar2] = Number(_tempVal2)>><<else>><<run State.variables[_tempVar2] = _tempVal2>><</if>><</if>><</link>>
</div><</if>>
<<if _choice3>><div class="choice-button-wrapper" style="position: relative; animation: choiceButtonAppear 0.5s ease-out 0.3s both;">
<<link _choice3 _passage3 "background: linear-gradient(145deg, rgba(138, 43, 226, 0.7), rgba(75, 0, 130, 0.8)); border: 2px solid rgba(200, 200, 255, 0.4); border-radius: 20px; padding: 20px 30px; display: inline-block; min-width: 250px; cursor: pointer; transition: all 0.4s ease; color: #FFFFFF; text-decoration: none; font-size: 1.1em; font-weight: 600; text-shadow: 0 2px 4px rgba(0,0,0,0.5); box-shadow: 0 10px 30px rgba(138, 43, 226, 0.3), inset 0 1px 0 rgba(255,255,255,0.2); position: relative;">><<if _var3>><<set _tempVar3 = _var3.split("=")[0]>><<set _tempVal3 = _var3.split("=")[1]>><<if _tempVal3 === "true">><<run State.variables[_tempVar3] = true>><<elseif _tempVal3 === "false">><<run State.variables[_tempVar3] = false>><<elseif !isNaN(_tempVal3)>>><<run State.variables[_tempVar3] = Number(_tempVal3)>><<else>><<run State.variables[_tempVar3] = _tempVal3>><</if>><</if>><</link>>
</div><</if>>
<<if _choice4>><div class="choice-button-wrapper" style="position: relative; animation: choiceButtonAppear 0.5s ease-out 0.4s both;">
<<link _choice4 _passage4 "background: linear-gradient(145deg, rgba(138, 43, 226, 0.7), rgba(75, 0, 130, 0.8)); border: 2px solid rgba(200, 200, 255, 0.4); border-radius: 20px; padding: 20px 30px; display: inline-block; min-width: 250px; cursor: pointer; transition: all 0.4s ease; color: #FFFFFF; text-decoration: none; font-size: 1.1em; font-weight: 600; text-shadow: 0 2px 4px rgba(0,0,0,0.5); box-shadow: 0 10px 30px rgba(138, 43, 226, 0.3), inset 0 1px 0 rgba(255,255,255,0.2); position: relative;">><<if _var4>><<set _tempVar4 = _var4.split("=")[0]>><<set _tempVal4 = _var4.split("=")[1]>><<if _tempVal4 === "true">><<run State.variables[_tempVar4] = true>><<elseif _tempVal4 === "false">><<run State.variables[_tempVar4] = false>><<elseif !isNaN(_tempVal4)>>><<run State.variables[_tempVar4] = Number(_tempVal4)>><<else>><<run State.variables[_tempVar4] = _tempVal4>><</if>><</if>><</link>>
</div><</if>>
</div>
</div>
</div>
</div>
<</nobr>><</widget>>
<<widget "mysteryRollDisplay">><<nobr>>
<<set _roll = $args[0]>><<set _threshold = $args[1]>><<set _partyWisdom = $args[2]>>
<div class="mystery-roll-display" style="background: rgba(25,25,25,0.9); border: 2px solid rgba(218,112,214,0.6); border-radius: 12px; padding: 20px; margin: 20px 0; text-align: center;">
<h3 style="color: #DA70D6; margin-bottom: 15px;">❓ Mystery Roll ❓</h3>
<div style="display: flex; justify-content: space-around; align-items: center; margin: 15px 0;">
<div style="background: rgba(255,255,255,0.1); border-radius: 8px; padding: 10px; min-width: 110px;">
<p style="color: white; margin: 0; font-size: 0.9em;">Roll</p>
<p class="roll-number" style="color: #DA70D6; margin: 5px 0 0 0; font-size: 1.4em; font-weight: bold;">Rolling...</p></div>
<div style="color: white; font-size: 1.2em;">vs</div>
<div style="background: rgba(255,255,255,0.1); border-radius: 8px; padding: 10px; min-width: 110px;">
<p style="color: white; margin: 0; font-size: 0.9em;">Wisdom</p>
<p style="color: #9370DB; margin: 5px 0 0 0; font-size: 1.4em; font-weight: bold;"><<print Math.round(_partyWisdom)>></p></div></div>
<div class="roll-result" style="">
<p style="color: #DA70D6; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Rolling...</p></div></div>
<<timed 3s>>
<<run $(".roll-number").last().text(_roll)>>
<<if _roll >= 80>>
<<run $(".roll-result").last().html('<p style="color: #90EE90; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Enlightening Discovery!</p>')>>
<<elseif _roll >= 40>>
<<run $(".roll-result").last().html('<p style="color: #DA70D6; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Interesting Find</p>')>>
<<else>>
<<run $(".roll-result").last().html('<p style="color: #FF6347; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Confusing Outcome</p>')>>
<</if>>
<</timed>>
<</nobr>><</widget>>
<<widget "trainingRollDisplay">><<nobr>>
<<set _roll = $args[0]>><<set _threshold = $args[1]>><<set _partyFocus = $args[2]>>
<div class="training-roll-display" style="background: rgba(25,25,25,0.9); border: 2px solid rgba(147,112,219,0.6); border-radius: 12px; padding: 20px; margin: 20px 0; text-align: center;">
<h3 style="color: #9370DB; margin-bottom: 15px;">✨ Training Roll ✨</h3>
<div style="display: flex; justify-content: space-around; align-items: center; margin: 15px 0;">
<div style="background: rgba(255,255,255,0.1); border-radius: 8px; padding: 10px; min-width: 110px;">
<p style="color: white; margin: 0; font-size: 0.9em;">Roll</p>
<p class="roll-number" style="color: #9370DB; margin: 5px 0 0 0; font-size: 1.4em; font-weight: bold;">Rolling...</p></div>
<div style="color: white; font-size: 1.2em;">vs</div>
<div style="background: rgba(255,255,255,0.1); border-radius: 8px; padding: 10px; min-width: 110px;">
<p style="color: white; margin: 0; font-size: 0.9em;">Focus</p>
<p style="color: #8A2BE2; margin: 5px 0 0 0; font-size: 1.4em; font-weight: bold;"><<print Math.round(_partyFocus)>></p></div></div>
<div class="roll-result" style="">
<p style="color: #9370DB; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Rolling...</p></div></div>
<<timed 3s>>
<<run $(".roll-number").last().text(_roll)>>
<<if _roll >= 80>>
<<run $(".roll-result").last().html('<p style="color: #90EE90; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Perfect Learning!</p>')>>
<<elseif _roll >= 40>>
<<run $(".roll-result").last().html('<p style="color: #9370DB; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Good Progress</p>')>>
<<else>>
<<run $(".roll-result").last().html('<p style="color: #FF6347; font-size: 1.1em; margin: 10px 0 0 0; font-weight: bold;">Slow Learning</p>')>>
<</if>>
<</timed>>
<</nobr>><</widget>>
<<script>>
// Time progression macro
Macro.add('advanceTime', {
handler: function() {
const timeIncrease = this.args[0] || 1;
// Initialize time variables if not set
if (!State.variables.gameDay) {
State.variables.gameDay = 1;
}
if (!State.variables.timeOfDay) {
State.variables.timeOfDay = 'morning';
}
if (!State.variables.currentChapter) {
State.variables.currentChapter = 6; // Default to Chapter 6
}
if (!State.variables.crystals) {
State.variables.crystals = 0;
}
if (!State.variables.gold) {
State.variables.gold = 0;
}
// Time names array
const timeNames = ['morning', 'noon', 'afternoon', 'evening', 'night'];
// Get current time index
let currentTimeIndex = timeNames.indexOf(State.variables.timeOfDay);
if (currentTimeIndex === -1) {
currentTimeIndex = 0; // Default to morning if invalid
}
// Calculate new time
let newTimeIndex = currentTimeIndex + timeIncrease;
let dayIncrease = 0;
// Handle day progression
while (newTimeIndex >= 5) {
newTimeIndex -= 5;
dayIncrease++;
}
// Update time and day
State.variables.timeOfDay = timeNames[newTimeIndex];
State.variables.gameDay += dayIncrease;
// CumNeed increase system (replaces automatic passage updates)
if (window.CumAddictionSystem && State.variables.cumNeedAutoUpdateDisabled) {
window.CumAddictionSystem.updateAllCharacters();
}
// Masculinity system
if (State.variables.masculinityPathUnlocked && State.variables.humanTransformationFeminine === false) {
// Masculinity increase system (when path is unlocked AND male transformation was chosen)
const masculinityIncrease = 2 * timeIncrease;
if (masculinityIncrease > 0) {
const currentMasculinity = State.variables.rylan_masculinity || 100;
const newMasculinity = Math.min(currentMasculinity + masculinityIncrease, 100);
const actualIncrease = newMasculinity - currentMasculinity;
// Update masculinity
State.variables.rylan_masculinity = newMasculinity;
// Track the change
if (actualIncrease > 0) {
State.variables.trackOthers = (State.variables.trackOthers || []);
State.variables.trackOthers.push({
character: 'Rylan',
stat: 'masculinity',
change: actualIncrease,
newValue: newMasculinity,
timestamp: Date.now()
});
}
// Store masculinity change info
State.temporary.masculinityIncrease = actualIncrease;
State.temporary.newMasculinity = newMasculinity;
}
} else if (State.variables.rylan_wearingPanties || State.variables.rylan_wearingBra) {
// Masculinity decrease system (original system)
// Initialize masculinity decrease amount if not set
if (!State.variables.masculinityDecreaseAmount) {
State.variables.masculinityDecreaseAmount = 1;
}
// Calculate total decrease for this time advancement
const totalDecrease = State.variables.masculinityDecreaseAmount * timeIncrease;
// Apply masculinity reduction
if (totalDecrease > 0) {
// Get current masculinity and stage
const currentMasculinity = State.variables.rylan_masculinity || 100;
const currentStage = State.variables.rylan_masculinityStage || 1;
// Calculate minimum masculinity based on stage and triggers
let minMasculinity = 100;
// Check if 30 trigger is active (overrides stage check)
if (State.variables.rylanMasculinity30Triggered) {
minMasculinity = 30;
} else {
switch(currentStage) {
case 1:
minMasculinity = 30;
break;
case 2:
minMasculinity = 20;
break;
case 3:
minMasculinity = 10;
break;
case 4:
minMasculinity = 0;
break;
default:
minMasculinity = 30;
}
}
// Calculate new masculinity value
const newMasculinity = Math.max(currentMasculinity - totalDecrease, minMasculinity);
const actualDecrease = currentMasculinity - newMasculinity;
// Update masculinity
State.variables.rylan_masculinity = newMasculinity;
// Track the change
if (actualDecrease > 0) {
State.variables.trackOthers = (State.variables.trackOthers || []);
State.variables.trackOthers.push({
character: 'Rylan',
stat: 'masculinity',
change: -actualDecrease,
newValue: newMasculinity,
timestamp: Date.now()
});
}
// Store masculinity change info
State.temporary.masculinityDecrease = actualDecrease;
State.temporary.newMasculinity = newMasculinity;
State.temporary.masculinityStage = currentStage;
State.temporary.minMasculinity = minMasculinity;
}
}
// Store results for display
State.temporary.timeAdvancement = {
oldTime: timeNames[currentTimeIndex],
newTime: timeNames[newTimeIndex],
timeIncrease: timeIncrease,
dayIncrease: dayIncrease,
newDay: State.variables.gameDay
};
// Display time change
if (dayIncrease > 0) {
State.temporary.timeChangeText = `Time advanced to ${timeNames[newTimeIndex]} (Day ${State.variables.gameDay})`;
} else {
State.temporary.timeChangeText = `Time advanced to ${timeNames[newTimeIndex]}`;
}
}
});
<</script>>
<<include "Widgets">>
<<include "DailyRewardsMacros">>
<<include "EventScheduler">>
<<include "Chapter0Events">>
<<include "Chapter1Events">>
<<include "Chapter2Events">>
<<include "Chapter3Events">>
<<include "Chapter4Events">>
<<include "Chapter5Events">>
<<include "Chapter6Events">>
<<include "Chapter7Events">>
<<include "Chapter7NTREvents">>
<<include "Chapter8Events">>
<<include "Chapter9Events">>
<<include "Chapter10Events">>
<<include "EventDebugWidget">>
<<include "LustDungeonDynamicFetishEvents">>
<<include "DynamicFetishEvents">>
<<widget "initializeTooltips">>
<<script>>
if (typeof State === 'undefined') {
State = {};
}
if (typeof State.variables === 'undefined') {
State.variables = {};
}
if (!State.variables.tooltipInitialized) {
$(document.body).append('<div id="global-tooltip"></div>');
State.variables.tooltipInitialized = true;
}
$(document).ready(function() {
$('.character-portrait').on('mouseenter', function(e) {
const tooltip = $('#global-tooltip');
const content = $(this).closest('.character-card').find('.tooltip-content').html();
tooltip.html(content).show();
tooltip.css({
left: e.pageX + 10,
top: e.pageY + 10
});
});
$('.character-portrait').on('mouseleave', function() {
$('#global-tooltip').hide();
});
$(document).on('mousemove', function(e) {
if ($('#global-tooltip').is(':visible')) {
$('#global-tooltip').css({
left: e.pageX + 10,
top: e.pageY + 10
});
}
});
});
<</script>>
<</widget>><<nobr>>
<div class="currency-display">
<div class="currency-item gold">
<div class="currency-icon">💰</div>
<div class="currency-value"><<print $gold || 0>></div>
</div>
<div class="currency-item energy">
<div class="currency-icon">⚡</div>
<div class="currency-value"><<print $dungeonEnergy || 0>></div>
</div>
<div class="currency-item crystals">
<div class="currency-icon">💎</div>
<div class="currency-value"><<print $crystals || 0>></div>
</div>
</div>
<div class="sidebar-portraits"><div class="sidebar-title">Inactive<button class="toggle-portraits" type="button" onclick="this.textContent=this.textContent.includes('👁️')?'🙈':'👁️';document.getElementById('portraitGrid').style.display=document.getElementById('portraitGrid').style.display==='none'?'grid':'none';">👁️</button></div><div class="portrait-grid" id="portraitGrid"><<set _activeCharacter = $currentFace ? $currentFace.split('/')[0] : "">><<set _activeCharacterLower = _activeCharacter.toLowerCase()>><<if $metRylan && _activeCharacterLower != "rylan">><div class="portrait-item" data-character="Rylan"><<set _rylanImagePath = "images/rylan/face.webp">><<set _rylanWetImagePath = "images/rylan/facewet.webp">><<if $rylanMasculine>><<set _rylanImagePath = "images/rylan/male/faces/face.webp">><<set _rylanWetImagePath = "images/rylan/male/faces/facewet.webp">><<elseif $rylanMasculinity30Triggered>><<set _rylanImagePath = "images/rylan/femboy/faces/face.webp">><<set _rylanWetImagePath = "images/rylan/femboy/faces/facewet.webp">><<elseif $characterStages && $characterStages.rylan >= 2>><<set _rylanImagePath = "images/rylan/stage2/face.webp">><<set _rylanWetImagePath = "images/rylan/stage2/facewet.webp">><</if>><<if $activeSidebarTransformations && $activeSidebarTransformations.rylan && $sidebarTransformations && $sidebarTransformations.rylan && $sidebarTransformations.rylan[$activeSidebarTransformations.rylan]>><<set _rylanImagePath = $sidebarTransformations.rylan[$activeSidebarTransformations.rylan].normal>><<set _rylanWetImagePath = $sidebarTransformations.rylan[$activeSidebarTransformations.rylan].wet>><<elseif $sidebarImages && $sidebarImages.rylan>><<set _rylanImagePath = $sidebarImages.rylan.normal>><<set _rylanWetImagePath = $sidebarImages.rylan.wet>><</if>><<if $rylan_Lust >= 50>><img @src="_rylanWetImagePath" alt="<<print $humanName>>"><<else>><img @src="_rylanImagePath" alt="<<print $humanName>>"><</if>>
<div class="character-name"><<print $humanName>></div>
<div class="tooltip-content">
<<switch _activeCharacterLower>>
<<case "mariel">>❤️ Affection: <<print ($rylan_MarielAffection || 0).toFixed(1)>><br>💕 Attraction: <<print ($rylan_MarielAttraction || 0).toFixed(1)>><br><<case "thalor">>❤️ Affection: <<print ($rylan_ThalorAffection || 0).toFixed(1)>><br>💕 Attraction: <<print ($rylan_ThalorAttraction || 0).toFixed(1)>><br><<case "liora">>❤️ Affection: <<print ($rylan_LioraAffection || 0).toFixed(1)>><br>💕 Attraction: <<print ($rylan_LioraAttraction || 0).toFixed(1)>><br><<case "serin">>❤️ Affection: <<print ($rylan_SerinAffection || 0).toFixed(1)>><br>💕 Attraction: <<print ($rylan_SerinAttraction || 0).toFixed(1)>><br><<case "seryk">>❤️ Affection: <<print ($rylan_SerykAffection || 0).toFixed(1)>><br>💕 Attraction: <<print ($rylan_SerykAttraction || 0).toFixed(1)>><br><<case "nimeria">>❤️ Affection: <<print ($rylan_NimeriaAffection || 0).toFixed(1)>><br>💕 Attraction: <<print ($rylan_NimeriaAttraction || 0).toFixed(1)>><br><</switch>>💀 Corruption: <<print ($rylan_corruption || 0).toFixed(1)>><br>🔥 Lust: <<print ($rylan_Lust || 0).toFixed(1)>><br>💦 Cum Need: <<print ($rylan_CumNeed || 0).toFixed(1)>></div>
</div>
<</if>>
<<if $metMariel && _activeCharacterLower != "mariel">>
<div class="portrait-item" data-character="Mariel">
<<set _marielImagePath = "images/mariel/face.webp">>
<<set _marielWetImagePath = "images/mariel/facewet.webp">>
<<if $characterStages && $characterStages.mariel >= 2>>
<<set _marielImagePath = "images/mariel/stage2/face.webp">>
<<set _marielWetImagePath = "images/mariel/stage2/facewet.webp">>
<</if>>
<<if $activeSidebarTransformations && $activeSidebarTransformations.mariel && $sidebarTransformations && $sidebarTransformations.mariel && $sidebarTransformations.mariel[$activeSidebarTransformations.mariel]>>
<<set _marielImagePath = $sidebarTransformations.mariel[$activeSidebarTransformations.mariel].normal>>
<<set _marielWetImagePath = $sidebarTransformations.mariel[$activeSidebarTransformations.mariel].wet>>
<<elseif $sidebarImages && $sidebarImages.mariel>>
<<set _marielImagePath = $sidebarImages.mariel.normal>>
<<set _marielWetImagePath = $sidebarImages.mariel.wet>>
<</if>>
<<if $mariel_Lust >= 50>>
<img @src="_marielWetImagePath" alt="Mariel">
<<else>>
<img @src="_marielImagePath" alt="Mariel">
<</if>>
<div class="character-name">Mariel</div>
<div class="tooltip-content">
<<switch _activeCharacterLower>>
<<case "rylan">>
❤️ Affection: <<print ($mariel_RylanAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($mariel_RylanAttraction || 0).toFixed(1)>><br>
<<case "thalor">>
❤️ Affection: <<print ($mariel_ThalorAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($mariel_ThalorAttraction || 0).toFixed(1)>><br>
<<case "liora">>
❤️ Affection: <<print ($mariel_LioraAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($mariel_LioraAttraction || 0).toFixed(1)>><br>
<<case "serin">>
❤️ Affection: <<print ($mariel_SerinAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($mariel_SerinAttraction || 0).toFixed(1)>><br>
<<case "seryk">>
❤️ Affection: <<print ($mariel_SerykAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($mariel_SerykAttraction || 0).toFixed(1)>><br>
<<case "nimeria">>
❤️ Affection: <<print ($mariel_NimeriaAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($mariel_NimeriaAttraction || 0).toFixed(1)>><br>
<</switch>>
💀 Corruption: <<print ($mariel_corruption || 0).toFixed(1)>><br>
🔥 Lust: <<print ($mariel_Lust || 0).toFixed(1)>><br>
💦 Cum Need: <<print ($mariel_CumNeed || 0).toFixed(1)>>
</div>
</div>
<</if>>
<<if $metThalor && _activeCharacterLower != "thalor">>
<div class="portrait-item" data-character="Thalor">
<<set _thalorImagePath = "images/thalor/face.webp">>
<<set _thalorWetImagePath = "images/thalor/facewet.webp">>
<<if $characterStages && $characterStages.thalor >= 2>>
<<set _thalorImagePath = "images/thalor/stage2/face.webp">>
<<set _thalorWetImagePath = "images/thalor/stage2/facewet.webp">>
<</if>>
<<if $activeSidebarTransformations && $activeSidebarTransformations.thalor && $sidebarTransformations && $sidebarTransformations.thalor && $sidebarTransformations.thalor[$activeSidebarTransformations.thalor]>>
<<set _thalorImagePath = $sidebarTransformations.thalor[$activeSidebarTransformations.thalor].normal>>
<<set _thalorWetImagePath = $sidebarTransformations.thalor[$activeSidebarTransformations.thalor].wet>>
<<elseif $sidebarImages && $sidebarImages.thalor>>
<<set _thalorImagePath = $sidebarImages.thalor.normal>>
<<set _thalorWetImagePath = $sidebarImages.thalor.wet>>
<</if>>
<<if $thalor_Lust >= 50>>
<img @src="_thalorWetImagePath" alt="Thalor">
<<else>>
<img @src="_thalorImagePath" alt="Thalor">
<</if>>
<div class="character-name">Thalor</div>
<div class="tooltip-content">
<<switch _activeCharacterLower>>
<<case "rylan">>
❤️ Affection: <<print ($thalor_RylanAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($thalor_RylanAttraction || 0).toFixed(1)>><br>
<<case "mariel">>
❤️ Affection: <<print ($thalor_MarielAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($thalor_MarielAttraction || 0).toFixed(1)>><br>
<<case "liora">>
❤️ Affection: <<print ($thalor_LioraAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($thalor_LioraAttraction || 0).toFixed(1)>><br>
<<case "serin">>
❤️ Affection: <<print ($thalor_SerinAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($thalor_SerinAttraction || 0).toFixed(1)>><br>
<<case "seryk">>
❤️ Affection: <<print ($thalor_SerykAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($thalor_SerykAttraction || 0).toFixed(1)>><br>
<<case "nimeria">>
❤️ Affection: <<print ($thalor_NimeriaAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($thalor_NimeriaAttraction || 0).toFixed(1)>><br>
<</switch>>
💀 Corruption: <<print ($thalor_corruption || 0).toFixed(1)>><br>
🔥 Lust: <<print ($thalor_Lust || 0).toFixed(1)>><br>
💦 Cum Need: <<print ($thalor_CumNeed || 0).toFixed(1)>>
</div>
</div>
<</if>>
<<if $metLiora && _activeCharacterLower != "liora">>
<div class="portrait-item" data-character="Liora">
<<set _lioraImagePath = "images/liora/face.webp">>
<<set _lioraWetImagePath = "images/liora/facewet.webp">>
<<if $characterStages && $characterStages.liora >= 2>>
<<set _lioraImagePath = "images/liora/stage2/face.webp">>
<<set _lioraWetImagePath = "images/liora/stage2/facewet.webp">>
<</if>>
<<if $activeSidebarTransformations && $activeSidebarTransformations.liora && $sidebarTransformations && $sidebarTransformations.liora && $sidebarTransformations.liora[$activeSidebarTransformations.liora]>>
<<set _lioraImagePath = $sidebarTransformations.liora[$activeSidebarTransformations.liora].normal>>
<<set _lioraWetImagePath = $sidebarTransformations.liora[$activeSidebarTransformations.liora].wet>>
<<elseif $sidebarImages && $sidebarImages.liora>>
<<set _lioraImagePath = $sidebarImages.liora.normal>>
<<set _lioraWetImagePath = $sidebarImages.liora.wet>>
<</if>>
<<if $liora_Lust >= 50>>
<img @src="_lioraWetImagePath" alt="Liora">
<<else>>
<img @src="_lioraImagePath" alt="Liora">
<</if>>
<div class="character-name">Liora</div>
<div class="tooltip-content">
<<switch _activeCharacterLower>>
<<case "rylan">>
❤️ Affection: <<print ($liora_RylanAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($liora_RylanAttraction || 0).toFixed(1)>><br>
<<case "mariel">>
❤️ Affection: <<print ($liora_MarielAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($liora_MarielAttraction || 0).toFixed(1)>><br>
<<case "thalor">>
❤️ Affection: <<print ($liora_ThalorAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($liora_ThalorAttraction || 0).toFixed(1)>><br>
<<case "serin">>
❤️ Affection: <<print ($liora_SerinAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($liora_SerinAttraction || 0).toFixed(1)>><br>
<<case "seryk">>
❤️ Affection: <<print ($liora_SerykAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($liora_SerykAttraction || 0).toFixed(1)>><br>
<<case "nimeria">>
❤️ Affection: <<print ($liora_NimeriaAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($liora_NimeriaAttraction || 0).toFixed(1)>><br>
<</switch>>
💀 Corruption: <<print ($liora_corruption || 0).toFixed(1)>><br>
🔥 Lust: <<print ($liora_Lust || 0).toFixed(1)>><br>
💦 Cum Need: <<print ($liora_CumNeed || 0).toFixed(1)>>
</div>
</div>
<</if>>
<<if $metSerin && _activeCharacterLower != "serin">>
<div class="portrait-item" data-character="Serin">
<<set _serinImagePath = "images/serin/face.webp">>
<<set _serinWetImagePath = "images/serin/facewet.webp">>
<<if $characterStages && $characterStages.serin >= 2>>
<<set _serinImagePath = "images/serin/stage2/face.webp">>
<<set _serinWetImagePath = "images/serin/stage2/facewet.webp">>
<</if>>
<<if $activeSidebarTransformations && $activeSidebarTransformations.serin && $sidebarTransformations && $sidebarTransformations.serin && $sidebarTransformations.serin[$activeSidebarTransformations.serin]>>
<<set _serinImagePath = $sidebarTransformations.serin[$activeSidebarTransformations.serin].normal>>
<<set _serinWetImagePath = $sidebarTransformations.serin[$activeSidebarTransformations.serin].wet>>
<<elseif $sidebarImages && $sidebarImages.serin>>
<<set _serinImagePath = $sidebarImages.serin.normal>>
<<set _serinWetImagePath = $sidebarImages.serin.wet>>
<</if>>
<<if $serin_Lust >= 50>>
<img @src="_serinWetImagePath" alt="Serin">
<<else>>
<img @src="_serinImagePath" alt="Serin">
<</if>>
<div class="character-name">Serin</div>
<div class="tooltip-content">
<<switch _activeCharacterLower>>
<<case "rylan">>
❤️ Affection: <<print ($serin_RylanAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($serin_RylanAttraction || 0).toFixed(1)>><br>
<<case "mariel">>
❤️ Affection: <<print ($serin_MarielAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($serin_MarielAttraction || 0).toFixed(1)>><br>
<<case "thalor">>
❤️ Affection: <<print ($serin_ThalorAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($serin_ThalorAttraction || 0).toFixed(1)>><br>
<<case "liora">>
❤️ Affection: <<print ($serin_LioraAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($serin_LioraAttraction || 0).toFixed(1)>><br>
<<case "seryk">>
❤️ Affection: <<print ($serin_SerykAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($serin_SerykAttraction || 0).toFixed(1)>><br>
<<case "nimeria">>
❤️ Affection: <<print ($serin_NimeriaAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($serin_NimeriaAttraction || 0).toFixed(1)>><br>
<</switch>>
💀 Corruption: <<print ($serin_corruption || 0).toFixed(1)>><br>
🔥 Lust: <<print ($serin_Lust || 0).toFixed(1)>><br>
💦 Cum Need: <<print ($serin_CumNeed || 0).toFixed(1)>>
</div>
</div>
<</if>>
<<if $metSeryk && _activeCharacterLower != "seryk">>
<div class="portrait-item" data-character="Seryk">
<<set _serykImagePath = "images/seryk/face.webp">>
<<set _serykWetImagePath = "images/seryk/facewet.webp">>
<<if $characterStages && $characterStages.seryk >= 2>>
<<set _serykImagePath = "images/seryk/stage2/face.webp">>
<<set _serykWetImagePath = "images/seryk/stage2/facewet.webp">>
<</if>>
<<if $activeSidebarTransformations && $activeSidebarTransformations.seryk && $sidebarTransformations && $sidebarTransformations.seryk && $sidebarTransformations.seryk[$activeSidebarTransformations.seryk]>>
<<set _serykImagePath = $sidebarTransformations.seryk[$activeSidebarTransformations.seryk].normal>>
<<set _serykWetImagePath = $sidebarTransformations.seryk[$activeSidebarTransformations.seryk].wet>>
<<elseif $sidebarImages && $sidebarImages.seryk>>
<<set _serykImagePath = $sidebarImages.seryk.normal>>
<<set _serykWetImagePath = $sidebarImages.seryk.wet>>
<</if>>
<<if $seryk_Lust >= 50>>
<img @src="_serykWetImagePath" alt="Seryk">
<<else>>
<img @src="_serykImagePath" alt="Seryk">
<</if>>
<div class="character-name">Seryk</div>
<div class="tooltip-content">
<<switch _activeCharacterLower>>
<<case "rylan">>
❤️ Affection: <<print ($seryk_RylanAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($seryk_RylanAttraction || 0).toFixed(1)>><br>
<<case "mariel">>
❤️ Affection: <<print ($seryk_MarielAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($seryk_MarielAttraction || 0).toFixed(1)>><br>
<<case "thalor">>
❤️ Affection: <<print ($seryk_ThalorAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($seryk_ThalorAttraction || 0).toFixed(1)>><br>
<<case "liora">>
❤️ Affection: <<print ($seryk_LioraAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($seryk_LioraAttraction || 0).toFixed(1)>><br>
<<case "serin">>
❤️ Affection: <<print ($seryk_SerinAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($seryk_SerinAttraction || 0).toFixed(1)>><br>
<<case "nimeria">>
❤️ Affection: <<print ($seryk_NimeriaAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($seryk_NimeriaAttraction || 0).toFixed(1)>><br>
<</switch>>
💀 Corruption: <<print ($seryk_corruption || 0).toFixed(1)>><br>
🔥 Lust: <<print ($seryk_Lust || 0).toFixed(1)>><br>
💦 Cum Need: <<print ($seryk_CumNeed || 0).toFixed(1)>>
</div>
</div>
<</if>>
<<if $metNimeria && _activeCharacterLower != "nimeria">>
<div class="portrait-item" data-character="Nimeria">
<<set _nimeriaImagePath = "images/nimeria/face.webp">>
<<set _nimeriaWetImagePath = "images/nimeria/facewet.webp">>
<<if $characterStages && $characterStages.nimeria >= 2>>
<<set _nimeriaImagePath = "images/nimeria/stage2/face.webp">>
<<set _nimeriaWetImagePath = "images/nimeria/stage2/facewet.webp">>
<</if>>
<<if $activeSidebarTransformations && $activeSidebarTransformations.nimeria && $sidebarTransformations && $sidebarTransformations.nimeria && $sidebarTransformations.nimeria[$activeSidebarTransformations.nimeria]>>
<<set _nimeriaImagePath = $sidebarTransformations.nimeria[$activeSidebarTransformations.nimeria].normal>>
<<set _nimeriaWetImagePath = $sidebarTransformations.nimeria[$activeSidebarTransformations.nimeria].wet>>
<<elseif $sidebarImages && $sidebarImages.nimeria>>
<<set _nimeriaImagePath = $sidebarImages.nimeria.normal>>
<<set _nimeriaWetImagePath = $sidebarImages.nimeria.wet>>
<</if>>
<<if $nimeria_Lust >= 50>>
<img @src="_nimeriaWetImagePath" alt="Nimeria">
<<else>>
<img @src="_nimeriaImagePath" alt="Nimeria">
<</if>>
<div class="character-name">Nimeria</div>
<div class="tooltip-content">
<<switch _activeCharacterLower>>
<<case "rylan">>
❤️ Affection: <<print ($nimeria_RylanAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($nimeria_RylanAttraction || 0).toFixed(1)>><br>
<<case "mariel">>
❤️ Affection: <<print ($nimeria_MarielAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($nimeria_MarielAttraction || 0).toFixed(1)>><br>
<<case "thalor">>
❤️ Affection: <<print ($nimeria_ThalorAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($nimeria_ThalorAttraction || 0).toFixed(1)>><br>
<<case "liora">>
❤️ Affection: <<print ($nimeria_LioraAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($nimeria_LioraAttraction || 0).toFixed(1)>><br>
<<case "serin">>
❤️ Affection: <<print ($nimeria_SerinAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($nimeria_SerinAttraction || 0).toFixed(1)>><br>
<<case "seryk">>
❤️ Affection: <<print ($nimeria_SerykAffection || 0).toFixed(1)>><br>
💕 Attraction: <<print ($nimeria_SerykAttraction || 0).toFixed(1)>><br>
<</switch>>
💀 Corruption: <<print ($nimeria_corruption || 0).toFixed(1)>><br>
🔥 Lust: <<print ($nimeria_Lust || 0).toFixed(1)>><br>
💦 Cum Need: <<print ($nimeria_CumNeed || 0).toFixed(1)>>
</div>
</div>
<</if>>
</div>
</div>
<</nobr>>
<style>
/* Currency Display */
.currency-display {
display: flex;
justify-content: space-between;
gap: 0.5em;
padding: 0.5em;
margin-top: 45px;
margin-bottom: 0.5em;
background: rgba(0, 0, 0, 0.3);
border-radius: 8px;
border: 1px solid rgba(255, 255, 255, 0.1);
}
.currency-item {
display: flex;
align-items: center;
gap: 0.3em;
padding: 0.3em 0.5em;
background: rgba(0, 0, 0, 0.2);
border-radius: 6px;
border: 1px solid rgba(255, 255, 255, 0.05);
transition: all 0.2s ease;
flex: 1;
justify-content: center;
}
.currency-item:hover {
background: rgba(0, 0, 0, 0.4);
transform: translateY(-1px);
}
.currency-item.gold {
border-color: rgba(255, 215, 0, 0.3);
}
.currency-item.gold:hover {
background: rgba(255, 215, 0, 0.1);
border-color: rgba(255, 215, 0, 0.5);
}
.currency-item.energy {
border-color: rgba(0, 255, 127, 0.3);
}
.currency-item.energy:hover {
background: rgba(0, 255, 127, 0.1);
border-color: rgba(0, 255, 127, 0.5);
}
.currency-item.crystals {
border-color: rgba(224, 163, 255, 0.3);
}
.currency-item.crystals:hover {
background: rgba(224, 163, 255, 0.1);
border-color: rgba(224, 163, 255, 0.5);
}
.currency-icon {
font-size: 1.2em;
transition: transform 0.2s ease;
}
.currency-item:hover .currency-icon {
transform: scale(1.1);
}
.currency-value {
font-size: 1em;
font-weight: bold;
color: #fff;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}
.currency-item.gold .currency-value {
color: #ffd700;
text-shadow: 0 0 3px rgba(255, 215, 0, 0.5);
}
.currency-item.energy .currency-value {
color: #00ff7f;
text-shadow: 0 0 3px rgba(0, 255, 127, 0.5);
}
.currency-item.crystals .currency-value {
color: #e0a3ff;
text-shadow: 0 0 3px rgba(224, 163, 255, 0.5);
}
/* Sidebar layout */
.sidebar-portraits {
padding: 0.5em;
max-width: 300px;
margin: 0 auto;
}
/* Title styles */
.sidebar-title {
text-align: center;
color: white;
font-size: 1.2em;
margin-bottom: 0.8em;
padding: 0.3em 0.3em 0.3em 110px;
background: rgba(0, 0, 0, 0.5);
border-radius: 4px;
position: relative;
}
.toggle-portraits {
position: absolute;
left: 8px;
top: 50%;
transform: translateY(-50%);
cursor: pointer;
font-size: 0.8em;
padding: 3px 6px;
border-radius: 4px;
background: rgba(255, 255, 255, 0.2);
border: 1px solid rgba(255, 255, 255, 0.3);
color: white;
transition: all 0.3s ease;
user-select: none;
z-index: 999;
white-space: nowrap;
}
.toggle-portraits:hover {
background: rgba(255, 255, 255, 0.3);
border-color: rgba(255, 255, 255, 0.5);
transform: translateY(-50%) scale(1.05);
}
.toggle-portraits:active {
background: rgba(255, 255, 255, 0.4);
transform: translateY(-50%) scale(0.95);
}
.toggle-portraits.hidden {
opacity: 0.5;
}
.portrait-grid.hidden {
display: none;
}
/* Portrait grid styles */
.portrait-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1em;
}
.portrait-item {
position: relative;
cursor: pointer;
width: 105px;
height: 105px;
}
/* Aura system */
.portrait-item.aura-healing {
box-shadow: 0 0 15px rgba(255, 215, 0, 0.8), 0 0 30px rgba(255, 215, 0, 0.4);
animation: healingPulse 2s infinite ease-in-out;
}
.portrait-item.aura-danger {
box-shadow: 0 0 15px rgba(255, 0, 0, 0.8), 0 0 30px rgba(255, 0, 0, 0.4);
animation: dangerPulse 1.5s infinite ease-in-out;
}
.portrait-item.aura-magic {
box-shadow: 0 0 15px rgba(138, 43, 226, 0.8), 0 0 30px rgba(138, 43, 226, 0.4);
animation: magicPulse 2.5s infinite ease-in-out;
}
.portrait-item.aura-corruption {
box-shadow: 0 0 15px rgba(139, 0, 139, 0.8), 0 0 30px rgba(139, 0, 139, 0.4);
animation: corruptionPulse 3s infinite ease-in-out;
}
.portrait-item.aura-blue {
box-shadow: 0 0 15px rgba(0, 123, 255, 0.8), 0 0 30px rgba(0, 123, 255, 0.4);
animation: bluePulse 2s infinite ease-in-out;
}
/* Chibi overlay */
.chibi-overlay {
position: absolute;
top: -5px;
right: -5px;
width: 35px;
height: 35px;
background: rgba(0, 0, 0, 0.8);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
z-index: 10;
border: 2px solid rgba(255, 255, 255, 0.7);
overflow: hidden;
}
.chibi-overlay img {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 50%;
}
/* Aura animations */
@keyframes healingPulse {
0%, 100% { box-shadow: 0 0 15px rgba(255, 215, 0, 0.8), 0 0 30px rgba(255, 215, 0, 0.4); }
50% { box-shadow: 0 0 25px rgba(255, 215, 0, 1), 0 0 40px rgba(255, 215, 0, 0.6); }
}
@keyframes dangerPulse {
0%, 100% { box-shadow: 0 0 15px rgba(255, 0, 0, 0.8), 0 0 30px rgba(255, 0, 0, 0.4); }
50% { box-shadow: 0 0 25px rgba(255, 0, 0, 1), 0 0 40px rgba(255, 0, 0, 0.6); }
}
@keyframes magicPulse {
0%, 100% { box-shadow: 0 0 15px rgba(138, 43, 226, 0.8), 0 0 30px rgba(138, 43, 226, 0.4); }
50% { box-shadow: 0 0 25px rgba(138, 43, 226, 1), 0 0 40px rgba(138, 43, 226, 0.6); }
}
@keyframes corruptionPulse {
0%, 100% { box-shadow: 0 0 15px rgba(139, 0, 139, 0.8), 0 0 30px rgba(139, 0, 139, 0.4); }
50% { box-shadow: 0 0 25px rgba(139, 0, 139, 1), 0 0 40px rgba(139, 0, 139, 0.6); }
}
@keyframes bluePulse {
0%, 100% { box-shadow: 0 0 15px rgba(0, 123, 255, 0.8), 0 0 30px rgba(0, 123, 255, 0.4); }
50% { box-shadow: 0 0 25px rgba(0, 123, 255, 1), 0 0 40px rgba(0, 123, 255, 0.6); }
}
.portrait-item img {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 4px;
}
.character-name {
text-align: center;
margin-top: 0.2em;
font-size: 0.8em;
color: white;
}
.tooltip-content {
display: none;
position: fixed;
background: rgba(0, 0, 0, 0.95);
color: white;
padding: 8px;
border-radius: 4px;
font-size: 1.2em;
white-space: nowrap;
z-index: 1000;
border: 1px solid rgba(255, 255, 255, 0.3);
line-height: 1.3;
}
.tooltip-content br {
line-height: 1.2;
content: "";
margin: 1px 0;
display: block;
}
.portrait-item:hover .tooltip-content {
display: block;
}
</style>
<<script>>
console.log('StoryLeftSidebar script starting...');
// Portrait toggle functionality
window.togglePortraits = function() {
console.log('togglePortraits function called!');
try {
const grid = document.getElementById('portraitGrid');
const toggle = document.querySelector('.toggle-portraits');
console.log('Grid element:', grid);
console.log('Toggle element:', toggle);
if (!grid || !toggle) {
console.log('Portrait elements not found - grid:', !!grid, 'toggle:', !!toggle);
return;
}
if (typeof State === 'undefined' || !State.variables) {
console.log('State not available');
return;
}
if (typeof State.variables.portraitsVisible === 'undefined') {
State.variables.portraitsVisible = true;
}
const isHidden = grid.classList.contains('hidden');
console.log('Current state - isHidden:', isHidden, 'portraitsVisible:', State.variables.portraitsVisible);
if (isHidden) {
// Show portraits
console.log('Showing portraits');
grid.classList.remove('hidden');
toggle.textContent = '👁️';
toggle.classList.remove('hidden');
State.variables.portraitsVisible = true;
} else {
// Hide portraits
console.log('Hiding portraits');
grid.classList.add('hidden');
toggle.textContent = '🙈';
toggle.classList.add('hidden');
State.variables.portraitsVisible = false;
}
console.log('New state - hidden class:', grid.classList.contains('hidden'), 'portraitsVisible:', State.variables.portraitsVisible);
// Save preference to session storage
sessionStorage.setItem('portraitsVisible', State.variables.portraitsVisible);
} catch (error) {
console.error('Error in togglePortraits:', error);
}
};
// Initialize portrait visibility on page load
window.initPortraitVisibility = function() {
try {
// Check saved preference
const saved = sessionStorage.getItem('portraitsVisible');
const shouldShow = saved !== null ? (saved === 'true') : true; // Default to visible
const grid = document.getElementById('portraitGrid');
const toggle = document.querySelector('.toggle-portraits');
if (grid && toggle && typeof State !== 'undefined' && State.variables) {
State.variables.portraitsVisible = shouldShow;
if (shouldShow) {
grid.classList.remove('hidden');
toggle.textContent = '👁️';
toggle.classList.remove('hidden');
} else {
grid.classList.add('hidden');
toggle.textContent = '🙈';
toggle.classList.add('hidden');
}
}
} catch (error) {
console.error('Error in initPortraitVisibility:', error);
}
};
// Aura and Chibi management functions
window.SidebarEffects = {
// Add aura to character
addAura: function(characterName, auraType) {
const character = characterName.toLowerCase();
if (!State.variables.characterAuras) {
State.variables.characterAuras = {};
}
State.variables.characterAuras[character] = auraType;
this.refreshPortraits();
},
// Remove aura from character
removeAura: function(characterName) {
const character = characterName.toLowerCase();
if (State.variables.characterAuras) {
delete State.variables.characterAuras[character];
}
this.refreshPortraits();
},
// Add chibi to character
addChibi: function(characterName, chibiEmoji) {
const character = characterName.toLowerCase();
if (!State.variables.characterChibis) {
State.variables.characterChibis = {};
}
State.variables.characterChibis[character] = chibiEmoji;
this.refreshPortraits();
},
// Remove chibi from character
removeChibi: function(characterName) {
const character = characterName.toLowerCase();
if (State.variables.characterChibis) {
delete State.variables.characterChibis[character];
}
this.refreshPortraits();
},
// Clear all effects
clearAll: function() {
State.variables.characterAuras = {};
State.variables.characterChibis = {};
this.refreshPortraits();
},
// Refresh all portraits with current effects
refreshPortraits: function() {
$('.portrait-item').each(function() {
const character = $(this).data('character').toLowerCase();
const $this = $(this);
// Remove all aura classes
$this.removeClass('aura-healing aura-danger aura-magic aura-corruption aura-blue');
// Add current aura if exists
if (State.variables.characterAuras && State.variables.characterAuras[character]) {
$this.addClass('aura-' + State.variables.characterAuras[character]);
}
// Remove existing chibi
$this.find('.chibi-overlay').remove();
// Add current chibi if exists
if (State.variables.characterChibis && State.variables.characterChibis[character]) {
const chibiValue = State.variables.characterChibis[character];
let chibiHtml;
// Check if it's an image path or emoji/text
if (chibiValue.includes('.webp') || chibiValue.includes('.png') || chibiValue.includes('.jpg')) {
chibiHtml = '<div class="chibi-overlay"><img src="' + chibiValue + '" alt="chibi"></div>';
} else {
chibiHtml = '<div class="chibi-overlay">' + chibiValue + '</div>';
}
$this.append(chibiHtml);
}
});
}
};
// Function to refresh sidebar stats
function refreshSidebarStats() {
// Cap all lust values at 100 and floor at 0
const characters = ['rylan', 'mariel', 'thalor', 'liora', 'serin', 'seryk', 'nimeria'];
characters.forEach(char => {
const lustVar = `${char}_Lust`;
if (State.variables[lustVar] !== undefined) {
const currentValue = State.variables[lustVar];
const cappedValue = Math.min(100, Math.max(0, currentValue));
if (currentValue !== cappedValue) {
console.log(`Capping ${lustVar} from ${currentValue} to ${cappedValue}`);
State.variables[lustVar] = cappedValue;
}
}
});
$('.portrait-item').each(function() {
const character = $(this).data('character');
const tooltip = $(this).find('.tooltip-content');
const activeCharacter = State.variables.currentFace ? State.variables.currentFace.split('/')[0] : "";
// Get fresh stats from State.variables
let affection = 0;
let attraction = 0;
let corruption = 0;
let lust = 0;
let cumNeed = 0;
// Get character-specific stats
const charLower = character.toLowerCase();
const activeLower = activeCharacter.toLowerCase();
affection = State.variables[`${activeLower}_${character}Affection`] || 0;
attraction = State.variables[`${activeLower}_${character}Attraction`] || 0;
corruption = State.variables[`${charLower}_corruption`] || 0;
lust = State.variables[`${charLower}_Lust`] || 0;
cumNeed = State.variables[`${charLower}_CumNeed`] || 0;
// Update tooltip content with rounded values
tooltip.html(`❤️ Affection: ${affection.toFixed(1)}<br>💕 Attraction: ${attraction.toFixed(1)}<br>💀 Corruption: ${corruption.toFixed(1)}<br>🔥 Lust: ${lust.toFixed(1)}<br>💦 Cum Need: ${cumNeed.toFixed(1)}`);
// Update portrait based on lust and transformations
const img = $(this).find('img');
let imagePath = `images/${character}/face.webp`;
let wetImagePath = `images/${character}/facewet.webp`;
// Check for Rylan's masculine/femboy transformations first
if (charLower === 'rylan') {
if (State.variables.rylanMasculine) {
imagePath = 'images/rylan/male/faces/face.webp';
wetImagePath = 'images/rylan/male/faces/facewet.webp';
} else if (State.variables.rylanMasculinity30Triggered) {
imagePath = 'images/rylan/femboy/faces/face.webp';
wetImagePath = 'images/rylan/femboy/faces/facewet.webp';
}
}
// Check for active transformations first
if (State.variables.activeSidebarTransformations && State.variables.activeSidebarTransformations[charLower]) {
const activeTransformation = State.variables.activeSidebarTransformations[charLower];
if (State.variables.sidebarTransformations &&
State.variables.sidebarTransformations[charLower] &&
State.variables.sidebarTransformations[charLower][activeTransformation]) {
const transformation = State.variables.sidebarTransformations[charLower][activeTransformation];
imagePath = transformation.normal;
wetImagePath = transformation.wet;
}
}
// Check for custom sidebar images
else if (State.variables.sidebarImages && State.variables.sidebarImages[charLower]) {
const customImages = State.variables.sidebarImages[charLower];
imagePath = customImages.normal;
wetImagePath = customImages.wet;
}
// Apply the appropriate image based on lust
if (lust >= 50) {
img.attr('src', wetImagePath);
} else {
img.attr('src', imagePath);
}
});
// Also refresh aura and chibi effects
window.SidebarEffects.refreshPortraits();
}
// Refresh stats when showing tooltip
$(document).on('mouseenter', '.portrait-item', function(e) {
refreshSidebarStats();
const tooltip = $(this).find('.tooltip-content');
tooltip.css({
display: 'block',
left: e.pageX + 10,
top: e.pageY + 10
});
}).on('mouseleave', '.portrait-item', function() {
$(this).find('.tooltip-content').css('display', 'none');
}).on('mousemove', '.portrait-item', function(e) {
const tooltip = $(this).find('.tooltip-content');
tooltip.css({
left: e.pageX + 10,
top: e.pageY + 10
});
});
// Immediate fix for existing high lust values
console.log("Running immediate lust value fix...");
const characters = ['rylan', 'mariel', 'thalor', 'liora', 'serin', 'seryk', 'nimeria'];
characters.forEach(char => {
const lustVar = `${char}_Lust`;
if (State.variables[lustVar] !== undefined && State.variables[lustVar] > 100) {
console.log(`Fixing ${lustVar} from ${State.variables[lustVar]} to 100`);
State.variables[lustVar] = 100;
}
});
// One-time fix for existing high lust values
$(document).ready(function() {
console.log("Running document ready lust value fix...");
characters.forEach(char => {
const lustVar = `${char}_Lust`;
if (State.variables[lustVar] !== undefined && State.variables[lustVar] > 100) {
console.log(`Document ready fixing ${lustVar} from ${State.variables[lustVar]} to 100`);
State.variables[lustVar] = 100;
}
});
refreshSidebarStats();
// Initialize portrait visibility
window.initPortraitVisibility();
});
// Refresh stats when passage is shown
$(document).on(':passagerender', function() {
refreshSidebarStats();
// Reinitialize portrait visibility after passage render
setTimeout(function() {
window.initPortraitVisibility();
}, 100);
});
// Refresh stats when variables change
$(document).on(':variableupdate', refreshSidebarStats);
// Refresh stats periodically to catch any missed updates
setInterval(refreshSidebarStats, 1000);
// Portrait click handler
$(document).on('click', '.portrait-item', function() {
const character = $(this).data('character');
State.variables.currentFace = State.variables[`current${character}Face`];
Engine.show();
});
// Simple toggle function for manual use
window.simpleTogglePortraits = function() {
const grid = document.getElementById('portraitGrid');
const toggle = document.querySelector('.toggle-portraits');
if (grid) {
const isHidden = grid.style.display === 'none';
grid.style.display = isHidden ? 'grid' : 'none';
if (toggle) {
toggle.textContent = isHidden ? '👁️' : '🙈';
}
console.log('Portraits', isHidden ? 'shown' : 'hidden');
}
};
// Test function for manual calling
window.testToggle = function() {
console.log('Manual test called');
const grid = $('#portraitGrid');
if (grid.length) {
grid.toggleClass('hidden');
console.log('Grid toggled, now hidden:', grid.hasClass('hidden'));
} else {
console.log('Grid not found');
}
};
<</script>><<link "📖 Tools & Diaries ⚙️">>
<<set $storyPassage = passage()>>
<<goto "DiaryMenu">>
<</link>>
<!--<<link "Test dungeonCombat ⚙️">><<set $storyPassage = passage()>><<goto "DungeonCore">><</link>>-->
<a href="https://patreon.com/BondsDefiled" target="_blank">💖 Patreon</a><<nobr>>
<div class="sidebar-title"></div>
<div class="date-info">
<span class="month"><<print $monthNames[$gameMonth - 1]>> <<print $gameDay>> </span>
<span class="year"><<print $gameYear>></span>
</div>
<div class="time-info">
<span class="time-icon">
<<switch $timeOfDay>>
<<case "morning">>🌅
<<case "noon">>🌞
<<case "afternoon">>☀️
<<case "evening">>🌆
<<case "night">>🌙
<</switch>>
</span>
<span class="time-text"><<print $timeOfDay.charAt(0).toUpperCase() + $timeOfDay.slice(1)>></span>
</div>
<div id="character-effects-overlay" class="effects-overlay"><div class="sidebar-effects-grid" id="sidebar-effects-grid"></div>
</div>
<div class="active-character-stats">
<<if $currentFace>>
<<set _activeCharacter = $currentFace ? $currentFace.split('/')[0] : "">>
<<set _activeCharacterLower = _activeCharacter.toLowerCase()>>
<<switch _activeCharacterLower>>
<<case "rylan">><<set _characterName = $humanName || 'Rylan'>><<set _lust = $rylan_Lust || 0>><<set _cumNeed = $rylan_CumNeed || 0>><<set _corruption = $rylan_corruption || 0>>
<<case "mariel">><<set _characterName = 'Mariel'>><<set _lust = $mariel_Lust || 0>><<set _cumNeed = $mariel_CumNeed || 0>><<set _corruption = $mariel_corruption || 0>>
<<case "thalor">><<set _characterName = 'Thalor'>><<set _lust = $thalor_Lust || 0>><<set _cumNeed = $thalor_CumNeed || 0>><<set _corruption = $thalor_corruption || 0>>
<<case "liora">><<set _characterName = 'Liora'>><<set _lust = $liora_Lust || 0>><<set _cumNeed = $liora_CumNeed || 0>><<set _corruption = $liora_corruption || 0>>
<<case "serin">><<set _characterName = 'Serin'>><<set _lust = $serin_Lust || 0>><<set _cumNeed = $serin_CumNeed || 0>><<set _corruption = $serin_corruption || 0>>
<<case "seryk">><<set _characterName = 'Seryk'>><<set _lust = $seryk_Lust || 0>><<set _cumNeed = $seryk_CumNeed || 0>><<set _corruption = $seryk_corruption || 0>>
<<case "nimeria">><<set _characterName = 'Nimeria'>><<set _lust = $nimeria_Lust || 0>><<set _cumNeed = $nimeria_CumNeed || 0>><<set _corruption = $nimeria_corruption || 0>>
<<default>><<set _characterName = _activeCharacter>><<set _lust = 0>><<set _cumNeed = 0>><<set _corruption = 0>>
<</switch>>
<div class="active-character-name"><<print _characterName>></div>
<div class="active-character-stats-grid">
<div class="active-stat-item lust">
<div class="active-stat-icon">💗</div>
<div class="active-stat-value"><<print Math.round(Math.min(_lust, 100))>></div>
</div>
<div class="active-stat-item cum-need">
<div class="active-stat-icon">💦</div>
<div class="active-stat-value"><<print Math.min(_cumNeed || 0, 100).toFixed(1)>></div>
</div>
<div class="active-stat-item corruption">
<div class="active-stat-icon">🌑</div>
<div class="active-stat-value"><<print _corruption>></div>
</div>
</div>
<</if>>
</div>
<<if $currentFace>>
<div class="sidebar-portrait">
<<set _activeCharacter = $currentFace ? $currentFace.split('/')[0].toLowerCase() : "">>
<<if _activeCharacter === "" && $currentFace>>
<<set _activeCharacter = $currentFace.toLowerCase()>>
<</if>>
<<set _portraitLust = 0>>
<<switch _activeCharacter>>
<<case "rylan">><<set _portraitLust = $rylan_Lust || 0>>
<<case "mariel">><<set _portraitLust = $mariel_Lust || 0>>
<<case "thalor">><<set _portraitLust = $thalor_Lust || 0>>
<<case "liora">><<set _portraitLust = $liora_Lust || 0>>
<<case "serin">><<set _portraitLust = $serin_Lust || 0>>
<<case "seryk">><<set _portraitLust = $seryk_Lust || 0>>
<<case "nimeria">><<set _portraitLust = $nimeria_Lust || 0>>
<</switch>>
<<if _portraitLust >= 50>>
<<if _activeCharacter === "mariel" && $characterStages && $characterStages.mariel >= 2>>
<<set _portraitPath = 'images/mariel/stage2/facewet.webp'>>
<<elseif _activeCharacter === "rylan" && $rylanMasculine>>
<<set _portraitPath = 'images/rylan/male/faces/facewet.webp'>>
<<elseif _activeCharacter === "rylan" && $rylanMasculinity30Triggered>>
<<set _portraitPath = 'images/rylan/femboy/faces/facewet.webp'>>
<<else>>
<<set _portraitPath = 'images/' + _activeCharacter.charAt(0).toUpperCase() + _activeCharacter.slice(1) + '/facewet.webp'>>
<</if>>
<<else>>
<<if $currentFace.includes('/')>>
<<if _activeCharacter === "rylan" && $rylanMasculine>>
<<set _portraitPath = 'images/rylan/male/faces/face.webp'>>
<<elseif _activeCharacter === "rylan" && $rylanMasculinity30Triggered>>
<<set _portraitPath = 'images/rylan/femboy/faces/face.webp'>>
<<else>>
<<set _portraitPath = 'images/' + $currentFace>>
<</if>>
<<else>>
<<if _activeCharacter === "mariel" && $characterStages && $characterStages.mariel >= 2>>
<<set _portraitPath = 'images/mariel/stage2/face.webp'>>
<<elseif _activeCharacter === "rylan" && $rylanMasculine>>
<<set _portraitPath = 'images/rylan/male/faces/face.webp'>>
<<elseif _activeCharacter === "rylan" && $rylanMasculinity30Triggered>>
<<set _portraitPath = 'images/rylan/femboy/faces/face.webp'>>
<<else>>
<<set _portraitPath = 'images/' + _activeCharacter.charAt(0).toUpperCase() + _activeCharacter.slice(1) + '/face.webp'>>
<</if>>
<</if>>
<</if>>
<img @src="_portraitPath">
</div>
<</if>>
<div class="diary-menu-button">
<<if $currentFace>>
<<set _activeCharacter = $currentFace ? $currentFace.split('/')[0].toLowerCase() : "">>
<div class="stat-bars">
<<if _activeCharacter>>
<<switch _activeCharacter>>
<<case "rylan">>
<<set _characterName = $humanName || 'Rylan'>>
<<set _imagePath = 'Rylan'>>
<<set _lustVar = $rylan_Lust>>
<<case "mariel">>
<<set _characterName = 'Mariel'>>
<<set _imagePath = ($characterStages && $characterStages.mariel >= 2) ? 'Mariel/stage2' : 'Mariel'>>
<<set _lustVar = $mariel_Lust>>
<<case "liora">>
<<set _characterName = 'Liora'>>
<<set _imagePath = 'Liora'>>
<<set _lustVar = $liora_Lust>>
<<case "serin">>
<<set _characterName = 'Serin'>>
<<set _imagePath = 'Serin'>>
<<set _lustVar = $serin_Lust>>
<<case "seryk">>
<<set _characterName = 'Seryk'>>
<<set _imagePath = 'Seryk'>>
<<set _lustVar = $seryk_Lust>>
<<case "nimeria">>
<<set _characterName = 'Nimeria'>>
<<set _imagePath = 'Nimeria'>>
<<set _lustVar = $nimeria_Lust>>
<<case "thalor">>
<<set _characterName = 'Thalor'>>
<<set _imagePath = 'Thalor'>>
<<set _lustVar = $thalor_Lust>>
<<default>>
<<set _characterName = _activeCharacter>>
<<set _imagePath = _activeCharacter>>
<<set _lustVar = 0>>
<</switch>>
<div class="clothing-section">
<div class="clothing-header" data-target="clothing">
<span class="fold-arrow">▼</span> Underwear
</div>
<div class="clothing-content">
<<set _isWet = (_lustVar || 0) >= 50>>
<<set _baseImagePath = 'images/' + _imagePath + '/'>>
<<if $wardrobe && $wardrobe[_imagePath] && $wardrobe[_imagePath].outfit && $wardrobe[_imagePath].outfit !== "normal">>
<<set _baseImagePath += $wardrobe[_imagePath].outfit + '/'>>
<<else>>
<<set _baseImagePath += ''>>
<</if>>
<<set _braPath = window.WardrobeSystem.getClothingImage(_activeCharacter, 'bra', _isWet)>>
<<set _pantiesPath = window.WardrobeSystem.getClothingImage(_activeCharacter, 'panties', _isWet)>>
<<set _legwearPath = window.WardrobeSystem.getClothingImage(_activeCharacter, 'legwear', _isWet)>>
<<if $wardrobe && $wardrobe[_activeCharacter] && $wardrobe[_activeCharacter].nailPolish>>
<<set _braPath = _braPath.replace('.webp', 'rednails.webp')>>
<<set _pantiesPath = _pantiesPath.replace('.webp', 'rednails.webp')>>
<<set _legwearPath = _legwearPath.replace('.webp', 'rednails.webp')>>
<</if>>
<<if $wardrobe && $wardrobe[_activeCharacter] && $wardrobe[_activeCharacter].lipstick>>
<<set _braPath = _braPath.replace('.webp', 'lipstick.webp')>>
<<set _pantiesPath = _pantiesPath.replace('.webp', 'lipstick.webp')>>
<<set _legwearPath = _legwearPath.replace('.webp', 'lipstick.webp')>>
<</if>>
<div class="bra-display">
<img @src="_braPath" alt="<<if _isWet>>Wet <</if>>Bra">
</div>
<div class="panties-display">
<img @src="_pantiesPath" alt="<<if _isWet>>Wet <</if>>Panties & Underwear">
</div>
<<if _activeCharacter === "rylan" && $rylan_wearingSocks === true>>
<div class="legwear-display">
<img @src="_legwearPath" alt="<<if _isWet>>Wet <</if>>Socks">
</div>
<<else>>
<div class="legwear-display">
<img @src="_legwearPath" alt="<<if _isWet>>Wet <</if>>Legwear">
</div>
<</if>>
</div>
</div>
<div class="quest-section">
<div class="section-header">📜 Active Quests</div>
<div class="quest-list">
<<if $currentLocation && $quests && $quests.active>>
<<set _locationQuests = QuestSystem.getQuestsForLocation($currentLocation)>>
<<for _quest range _locationQuests>>
<div class="quest-item">
<div class="quest-title"><<print _quest.title>></div>
<div class="quest-description"><<print _quest.description>></div>
<<for _objKey, _required range _quest.objectives>>
<div class="quest-objective">
<div class="objective-progress"><<print _quest.progress[_objKey]>>/<<print _required>></div>
<div class="progress-bar">
<div class="progress-fill" style="width: <<print Math.min(Math.max((_quest.progress[_objKey] / _required * 100), 0), 100)>>%"></div>
</div>
</div>
<</for>>
</div>
<</for>>
<</if>>
</div>
</div>
<</if>>
</div>
<</if>>
<div class="sidebar-buttons">
<div class="sidebar-button">
<<link "📖 Character Diaries">><<set $storyPassage = passage()>><<goto "DiaryMenu">><</link>>
</div>
</div>
<</nobr>>
<style>
.stat-bars {
margin: 1em 0;
}
.clothing-section {
margin-bottom: 1em;
}
.clothing-header {
display: flex;
align-items: center;
gap: 0.5em;
padding: 0.5em;
background: rgba(0, 0, 0, 0.2);
border-radius: 4px;
cursor: pointer;
user-select: none;
margin-bottom: 0.5em;
}
.clothing-header:hover {
background: rgba(0, 0, 0, 0.3);
}
.fold-arrow {
display: inline-block;
transition: transform 0.2s ease;
}
.clothing-header.folded .fold-arrow {
transform: rotate(-90deg);
}
.clothing-content {
transition: max-height 0.5s ease, opacity 0.3s ease;
max-height: 600px;
opacity: 1;
overflow: hidden;
}
.clothing-header.folded + .clothing-content {
max-height: 0;
opacity: 0;
margin: 0;
}
.bra-display,
.panties-display,
.legwear-display,
.socks-display {
text-align: center;
margin-bottom: 1em;
}
.bra-display img,
.panties-display img,
.legwear-display img,
.socks-display img {
max-width: 150px;
height: auto;
border-radius: 5px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
transition: transform 0.2s ease;
}
.bra-display img:hover,
.panties-display img:hover,
.legwear-display img:hover,
.socks-display img:hover {
transform: scale(1.05);
}
.stat-bar {
display: flex;
align-items: center;
gap: 0.4em;
padding: 0.4em;
background: rgba(0, 0, 0, 0.15);
border-radius: 4px;
transition: all 0.2s ease;
border: 1px solid rgba(255, 255, 255, 0.05);
}
.stat-bar:hover {
transform: translateX(2px);
background: rgba(0, 0, 0, 0.25);
border-color: rgba(255, 255, 255, 0.1);
}
.stat-icon {
font-size: 1em;
width: 1.2em;
text-align: center;
transition: transform 0.2s ease;
}
.stat-info {
flex-grow: 1;
min-width: 0;
}
.stat-label {
font-size: 0.7em;
color: #ccc;
margin-bottom: 0.2em;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.lust-value {
font-size: 1em;
font-weight: bold;
color: #ff6b6b;
text-shadow: 0 0 3px rgba(255, 107, 107, 0.5);
text-align: right;
}
.cum-value {
font-size: 1em;
font-weight: bold;
color: #74c0fc;
text-shadow: 0 0 3px rgba(116, 192, 252, 0.5);
text-align: right;
}
.progress-bar {
height: 8px;
background: rgba(0, 0, 0, 0.3);
border-radius: 4px;
overflow: hidden;
position: relative;
border: 1px solid rgba(255, 255, 255, 0.1);
}
.progress-fill {
height: 100%;
transition: width 0.3s ease;
position: relative;
}
.cum-fill {
background: linear-gradient(to right, #74c0fc, #4dabf7);
box-shadow: 0 0 5px rgba(116, 192, 252, 0.3);
}
.progress-text {
position: absolute;
right: 3px;
top: 50%;
transform: translateY(-50%);
font-size: 0.65em;
color: white;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
}
.corruption-meter {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
padding: 0.3em 0;
min-height: 2.5em;
}
.corruption-value {
font-size: 1em;
font-weight: bold;
color: #9b4dca;
text-shadow: 0 0 3px rgba(155, 77, 202, 0.5);
}
.corruption-stage {
font-size: 0.7em;
padding: 0.3em 0.6em;
border-radius: 4px;
background: rgba(155, 77, 202, 0.2);
color: #d0a9e5;
text-transform: uppercase;
letter-spacing: 0.05em;
border: 1px solid rgba(155, 77, 202, 0.3);
font-weight: bold;
}
/* Hover Animations */
.stat-bar.lust:hover .stat-icon {
animation: pulse 1s infinite;
}
.stat-bar.cum-need:hover .stat-icon {
animation: bounce 1s infinite;
}
.stat-bar.corruption:hover .stat-icon {
animation: rotate 2s infinite;
}
@keyframes pulse {
0% { transform: scale(1); }
50% { transform: scale(1.2); }
100% { transform: scale(1); }
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-3px); }
}
@keyframes rotate {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
/* Active Character Stats */
.active-character-stats {
background: rgba(0, 0, 0, 0.3);
border-radius: 8px;
padding: 0.5em;
margin-bottom: 0.5em;
border: 1px solid rgba(255, 255, 255, 0.1);
}
.active-character-name {
text-align: center;
color: white;
font-size: 1.1em;
font-weight: bold;
margin-bottom: 0.5em;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}
.active-character-stats-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 0.3em;
}
.active-stat-item {
display: flex;
align-items: center;
gap: 0.3em;
padding: 0.3em 0.4em;
background: rgba(0, 0, 0, 0.2);
border-radius: 6px;
border: 1px solid rgba(255, 255, 255, 0.05);
transition: all 0.2s ease;
justify-content: center;
}
.active-stat-item:hover {
background: rgba(0, 0, 0, 0.4);
transform: translateY(-1px);
}
.active-stat-item.lust {
border-color: rgba(255, 107, 107, 0.3);
}
.active-stat-item.lust:hover {
background: rgba(255, 107, 107, 0.1);
border-color: rgba(255, 107, 107, 0.5);
}
.active-stat-item.cum-need {
border-color: rgba(116, 192, 252, 0.3);
}
.active-stat-item.cum-need:hover {
background: rgba(116, 192, 252, 0.1);
border-color: rgba(116, 192, 252, 0.5);
}
.active-stat-item.corruption {
border-color: rgba(155, 77, 202, 0.3);
}
.active-stat-item.corruption:hover {
background: rgba(155, 77, 202, 0.1);
border-color: rgba(155, 77, 202, 0.5);
}
.active-stat-icon {
font-size: 1em;
transition: transform 0.2s ease;
}
.active-stat-item:hover .active-stat-icon {
transform: scale(1.1);
}
.active-stat-value {
font-size: 0.9em;
font-weight: bold;
color: #fff;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}
.active-stat-item.lust .active-stat-value {
color: #ff6b6b;
text-shadow: 0 0 3px rgba(255, 107, 107, 0.5);
}
.active-stat-item.cum-need .active-stat-value {
color: #74c0fc;
text-shadow: 0 0 3px rgba(116, 192, 252, 0.5);
}
.active-stat-item.corruption .active-stat-value {
color: #9b4dca;
text-shadow: 0 0 3px rgba(155, 77, 202, 0.5);
}
/* Specific styles for the sidebar portrait */
.sidebar-portrait {
margin: 1em 0;
text-align: center;
}
.sidebar-portrait img {
width: 200px;
height: 200px;
object-fit: cover;
border-radius: 10px;
border: 2px solid rgba(255, 255, 255, 0.1);
box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
transition: transform 0.2s ease;
}
.sidebar-portrait img:hover {
transform: scale(1.05);
}
/* Add custom tooltip styles */
[data-tooltip] {
position: relative;
}
[data-tooltip]:hover::before {
content: attr(data-tooltip);
position: absolute;
left: -10px;
top: -25px;
background: rgba(0, 0, 0, 0.8);
color: white;
padding: 4px 8px;
border-radius: 4px;
font-size: 12px;
white-space: nowrap;
z-index: 1000;
}
[data-tooltip]:hover::after {
content: '';
position: absolute;
left: 5px;
top: -8px;
border: 5px solid transparent;
border-top-color: rgba(0, 0, 0, 0.8);
z-index: 1000;
}
.gold-display {
display: flex;
align-items: center;
justify-content: flex-end;
padding: 0.2em 0;
}
.gold-value {
font-size: 1em;
font-weight: bold;
color: #ffd700;
text-shadow: 0 0 3px rgba(255, 215, 0, 0.5);
}
.stat-bar.gold:hover {
background: rgba(255, 215, 0, 0.15);
border-color: rgba(255, 215, 0, 0.3);
}
.stat-bar.gold:hover .stat-icon {
animation: coinFlip 1s infinite;
}
.crystals-display {
display: flex;
align-items: center;
justify-content: flex-end;
padding: 0.2em 0;
}
.crystals-value {
font-size: 1em;
font-weight: bold;
color: #e0a3ff;
text-shadow: 0 0 3px rgba(224, 163, 255, 0.5);
}
.stat-bar.crystals:hover {
background: rgba(224, 163, 255, 0.15);
border-color: rgba(224, 163, 255, 0.3);
}
.stat-bar.crystals:hover .stat-icon {
animation: crystalGlow 1s infinite;
}
@keyframes coinFlip {
0% { transform: rotateY(0deg); }
50% { transform: rotateY(180deg); }
100% { transform: rotateY(360deg); }
}
@keyframes crystalGlow {
0% { filter: brightness(1); }
50% { filter: brightness(1.5); }
100% { filter: brightness(1); }
}
/* Quest Display Styles */
.quest-section {
background: rgba(0, 0, 0, 0.2);
border-radius: 6px;
padding: 0.5em;
margin: 0.5em 0;
}
.section-header {
font-size: 1.1em;
color: #ffd700;
margin-bottom: 0.5em;
text-shadow: 0 0 3px rgba(255, 215, 0, 0.5);
}
.quest-list {
display: flex;
flex-direction: column;
gap: 0.5em;
}
.quest-item {
background: rgba(0, 0, 0, 0.15);
border-radius: 4px;
padding: 0.5em;
border: 1px solid rgba(255, 255, 255, 0.05);
}
.quest-title {
font-size: 0.9em;
color: #fff;
margin-bottom: 0.3em;
}
.quest-description {
font-size: 0.8em;
color: #ccc;
margin-bottom: 0.5em;
}
.quest-objective {
display: flex;
align-items: center;
gap: 0.5em;
margin: 0.2em 0;
}
.objective-progress {
font-size: 0.8em;
color: #ccc;
min-width: 4em;
}
.progress-bar {
flex-grow: 1;
height: 6px;
background: rgba(0, 0, 0, 0.3);
border-radius: 3px;
overflow: hidden;
}
.progress-fill {
height: 100%;
background: linear-gradient(to right, #4dabf7, #74c0fc);
transition: width 0.3s ease;
}
/* Sidebar Button Styles */
.sidebar-buttons {
margin: 1em 0;
display: flex;
flex-direction: column;
gap: 0.5em;
}
.sidebar-button {
background: linear-gradient(135deg, rgba(74, 144, 226, 0.8), rgba(116, 192, 252, 0.6));
border: 1px solid rgba(74, 144, 226, 0.4);
border-radius: 8px;
padding: 0.8em 1em;
text-align: center;
transition: all 0.3s ease;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
position: relative;
overflow: hidden;
}
.sidebar-button::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
transition: left 0.5s ease;
}
.sidebar-button:hover::before {
left: 100%;
}
.sidebar-button:hover {
background: linear-gradient(135deg, rgba(74, 144, 226, 1), rgba(116, 192, 252, 0.8));
border-color: rgba(74, 144, 226, 0.8);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(74, 144, 226, 0.3);
}
.sidebar-button:active {
transform: translateY(0);
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
.sidebar-button a {
color: #ffffff !important;
text-decoration: none !important;
font-weight: bold;
font-size: 0.9em;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
display: block;
width: 100%;
height: 100%;
position: relative;
z-index: 1;
}
.sidebar-button a:hover {
color: #ffffff !important;
}
/* Soul Forge Button Special Styling */
.soul-forge-button {
background: linear-gradient(135deg, rgba(138, 43, 226, 0.8), rgba(147, 112, 219, 0.6)) !important;
border: 1px solid rgba(138, 43, 226, 0.6) !important;
box-shadow: 0 2px 8px rgba(138, 43, 226, 0.3) !important;
}
.soul-forge-button:hover {
background: linear-gradient(135deg, rgba(138, 43, 226, 1), rgba(147, 112, 219, 0.8)) !important;
border-color: rgba(138, 43, 226, 0.8) !important;
box-shadow: 0 4px 12px rgba(138, 43, 226, 0.5) !important;
transform: translateY(-2px);
}
.soul-forge-button::before {
background: linear-gradient(90deg, transparent, rgba(221, 160, 221, 0.3), transparent) !important;
}
/* Calendar Button Special Styling */
.calendar-button {
background: linear-gradient(135deg, rgba(255, 193, 7, 0.8), rgba(255, 152, 0, 0.6)) !important;
border: 1px solid rgba(255, 193, 7, 0.6) !important;
box-shadow: 0 2px 8px rgba(255, 193, 7, 0.3) !important;
}
.calendar-button:hover {
background: linear-gradient(135deg, rgba(255, 193, 7, 1), rgba(255, 152, 0, 0.8)) !important;
border-color: rgba(255, 193, 7, 0.8) !important;
box-shadow: 0 4px 12px rgba(255, 193, 7, 0.5) !important;
transform: translateY(-2px);
}
.calendar-button::before {
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent) !important;
}
/* Wardrobe Button Special Styling */
.wardrobe-button {
background: linear-gradient(135deg, rgba(255, 182, 193, 0.8), rgba(255, 105, 180, 0.6)) !important;
border: 1px solid rgba(255, 182, 193, 0.6) !important;
box-shadow: 0 2px 8px rgba(255, 182, 193, 0.3) !important;
}
.wardrobe-button:hover {
background: linear-gradient(135deg, rgba(255, 182, 193, 1), rgba(255, 105, 180, 0.8)) !important;
border-color: rgba(255, 182, 193, 0.8) !important;
box-shadow: 0 4px 12px rgba(255, 182, 193, 0.5) !important;
transform: translateY(-2px);
}
.wardrobe-button::before {
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent) !important;
}
/* Debug Button Special Styling */
.debug-button {
background: linear-gradient(135deg, rgba(255, 140, 0, 0.8), rgba(255, 165, 0, 0.6)) !important;
border: 1px solid rgba(255, 140, 0, 0.6) !important;
box-shadow: 0 2px 8px rgba(255, 140, 0, 0.3) !important;
}
.debug-button:hover {
background: linear-gradient(135deg, rgba(255, 140, 0, 1), rgba(255, 165, 0, 0.8)) !important;
border-color: rgba(255, 140, 0, 0.8) !important;
box-shadow: 0 4px 12px rgba(255, 140, 0, 0.5) !important;
transform: translateY(-2px);
}
.debug-button::before {
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent) !important;
}
/* Debug Section Styles */
.debug-section {
margin-bottom: 1em;
}
.debug-header {
display: flex;
align-items: center;
gap: 0.5em;
padding: 0.5em;
background: rgba(255, 140, 0, 0.2);
border: 1px solid rgba(255, 140, 0, 0.3);
border-radius: 4px;
cursor: pointer;
user-select: none;
margin-bottom: 0.5em;
color: #ffb366;
}
.debug-header:hover {
background: rgba(255, 140, 0, 0.3);
}
.debug-header.folded .fold-arrow {
transform: rotate(-90deg);
}
.debug-content {
transition: max-height 0.5s ease, opacity 0.3s ease;
max-height: 400px;
opacity: 1;
overflow-y: auto;
overflow-x: hidden;
background: rgba(0, 0, 0, 0.1);
border-radius: 4px;
padding: 0.3em;
}
.debug-header.folded + .debug-content {
max-height: 0;
opacity: 0;
margin: 0;
padding: 0;
}
.debug-subsection {
margin-bottom: 0.5em;
padding: 0.3em;
background: rgba(0, 0, 0, 0.1);
border-radius: 3px;
border: 1px solid rgba(255, 255, 255, 0.1);
}
.debug-subtitle {
font-size: 0.75em;
font-weight: bold;
color: #ffd700;
margin-bottom: 0.3em;
text-shadow: 0 0 2px rgba(255, 215, 0, 0.5);
border-bottom: 1px solid rgba(255, 215, 0, 0.3);
padding-bottom: 0.2em;
}
.debug-section .debug-item {
display: flex;
align-items: center;
justify-content: space-between;
margin: 0.2em 0;
padding: 0.2em 0.3em;
background: rgba(0, 0, 0, 0.1);
border-radius: 2px;
}
.debug-section .debug-item label {
font-size: 0.7em;
color: #ccc;
flex-grow: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.debug-toggle {
background: rgba(100, 100, 100, 0.2);
border: 1px solid rgba(100, 100, 100, 0.4);
border-radius: 3px;
padding: 0.1em 0.3em;
cursor: pointer;
font-size: 0.7em;
color: white;
transition: all 0.2s ease;
min-width: 2em;
text-align: center;
}
.debug-toggle:hover {
background: rgba(100, 100, 100, 0.4);
border-color: rgba(100, 100, 100, 0.6);
transform: scale(1.05);
}
.debug-input {
background: rgba(50, 50, 50, 0.8);
border: 1px solid rgba(100, 100, 100, 0.4);
border-radius: 2px;
padding: 0.1em 0.3em;
color: white;
font-size: 0.7em;
text-align: center;
width: 60px;
}
.debug-input:focus {
outline: none;
border-color: rgba(74, 144, 226, 0.8);
box-shadow: 0 0 5px rgba(74, 144, 226, 0.3);
}
/* Custom scrollbar for debug content */
.debug-content::-webkit-scrollbar {
width: 6px;
}
.debug-content::-webkit-scrollbar-track {
background: rgba(0, 0, 0, 0.2);
border-radius: 3px;
}
.debug-content::-webkit-scrollbar-thumb {
background: rgba(255, 140, 0, 0.5);
border-radius: 3px;
}
.debug-content::-webkit-scrollbar-thumb:hover {
background: rgba(255, 140, 0, 0.7);
}
/* Character Effects Overlay Styles */
.effects-overlay {
position: fixed;
top: 120px;
right: 20px;
width: 250px;
max-height: 400px;
z-index: 1000;
background: rgba(0, 0, 0, 0.85);
border: 2px solid rgba(255, 255, 255, 0.2);
border-radius: 12px;
padding: 15px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
backdrop-filter: blur(5px);
transition: all 0.3s ease;
}
.effects-overlay:empty {
display: none;
}
.sidebar-effects-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(60px, 1fr));
gap: 10px;
align-items: center;
}
.floating-effect-item {
display: flex;
flex-direction: column;
align-items: center;
padding: 8px;
background: rgba(255, 255, 255, 0.1);
border-radius: 8px;
border: 1px solid rgba(255, 255, 255, 0.2);
transition: all 0.3s ease;
position: relative;
min-height: 110px;
justify-content: center;
}
.floating-effect-item:hover {
background: rgba(255, 255, 255, 0.2);
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.effect-portrait {
width: 50px;
height: 50px;
border-radius: 50%;
object-fit: cover;
border: 2px solid rgba(255, 255, 255, 0.3);
margin-bottom: 5px;
position: relative;
}
.effect-name {
font-size: 0.7em;
color: #fff;
text-align: center;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
font-weight: bold;
}
.effect-chibi {
position: absolute;
top: -8px;
right: -8px;
width: 25px;
height: 25px;
background: rgba(0, 0, 0, 0.8);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
z-index: 10;
border: 2px solid rgba(255, 255, 255, 0.7);
overflow: hidden;
}
.effect-chibi img {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 50%;
}
/* Aura effects for the floating overlay - Base styles */
.floating-effect-item.aura-blue .effect-portrait {
box-shadow: 0 0 15px rgba(0, 123, 255, 0.8), 0 0 30px rgba(0, 123, 255, 0.4);
animation: bluePulse 2s infinite ease-in-out;
}
.floating-effect-item.aura-healing .effect-portrait {
box-shadow: 0 0 15px rgba(255, 215, 0, 0.8), 0 0 30px rgba(255, 215, 0, 0.4);
animation: healingPulse 2s infinite ease-in-out;
}
.floating-effect-item.aura-danger .effect-portrait {
box-shadow: 0 0 15px rgba(255, 0, 0, 0.8), 0 0 30px rgba(255, 0, 0, 0.4);
animation: dangerPulse 1.5s infinite ease-in-out;
}
.floating-effect-item.aura-magic .effect-portrait {
box-shadow: 0 0 15px rgba(138, 43, 226, 0.8), 0 0 30px rgba(138, 43, 226, 0.4);
animation: magicPulse 2.5s infinite ease-in-out;
}
.floating-effect-item.aura-corruption .effect-portrait {
box-shadow: 0 0 15px rgba(139, 0, 139, 0.8), 0 0 30px rgba(139, 0, 139, 0.4);
animation: corruptionPulse 3s infinite ease-in-out;
}
/* Intensity variations */
.floating-effect-item.intensity-weak .effect-portrait {
animation-duration: 3s !important;
opacity: 0.7;
}
.floating-effect-item.intensity-strong .effect-portrait {
animation-duration: 1s !important;
transform: scale(1.1);
}
.floating-effect-item.intensity-intense .effect-portrait {
animation-duration: 0.8s !important;
transform: scale(1.15);
filter: brightness(1.2);
}
/* Animation keyframes - now dynamically adjustable via CSS custom properties */
@keyframes bluePulse {
0%, 100% {
box-shadow:
0 0 var(--aura-radius-1, 15px) rgba(0, 123, 255, var(--aura-opacity-1, 0.8)),
0 0 var(--aura-radius-2, 30px) rgba(0, 123, 255, var(--aura-opacity-2, 0.4));
}
50% {
box-shadow:
0 0 var(--aura-radius-1-peak, 25px) rgba(0, 123, 255, var(--aura-opacity-1-peak, 1)),
0 0 var(--aura-radius-2-peak, 40px) rgba(0, 123, 255, var(--aura-opacity-2-peak, 0.6));
}
}
@keyframes healingPulse {
0%, 100% {
box-shadow:
0 0 var(--aura-radius-1, 15px) rgba(255, 215, 0, var(--aura-opacity-1, 0.8)),
0 0 var(--aura-radius-2, 30px) rgba(255, 215, 0, var(--aura-opacity-2, 0.4));
}
50% {
box-shadow:
0 0 var(--aura-radius-1-peak, 25px) rgba(255, 215, 0, var(--aura-opacity-1-peak, 1)),
0 0 var(--aura-radius-2-peak, 40px) rgba(255, 215, 0, var(--aura-opacity-2-peak, 0.6));
}
}
@keyframes dangerPulse {
0%, 100% {
box-shadow:
0 0 var(--aura-radius-1, 15px) rgba(255, 0, 0, var(--aura-opacity-1, 0.8)),
0 0 var(--aura-radius-2, 30px) rgba(255, 0, 0, var(--aura-opacity-2, 0.4));
}
50% {
box-shadow:
0 0 var(--aura-radius-1-peak, 25px) rgba(255, 0, 0, var(--aura-opacity-1-peak, 1)),
0 0 var(--aura-radius-2-peak, 40px) rgba(255, 0, 0, var(--aura-opacity-2-peak, 0.6));
}
}
@keyframes magicPulse {
0%, 100% {
box-shadow:
0 0 var(--aura-radius-1, 15px) rgba(138, 43, 226, var(--aura-opacity-1, 0.8)),
0 0 var(--aura-radius-2, 30px) rgba(138, 43, 226, var(--aura-opacity-2, 0.4));
}
50% {
box-shadow:
0 0 var(--aura-radius-1-peak, 25px) rgba(138, 43, 226, var(--aura-opacity-1-peak, 1)),
0 0 var(--aura-radius-2-peak, 40px) rgba(138, 43, 226, var(--aura-opacity-2-peak, 0.6));
}
}
@keyframes corruptionPulse {
0%, 100% {
box-shadow:
0 0 var(--aura-radius-1, 15px) rgba(139, 0, 139, var(--aura-opacity-1, 0.8)),
0 0 var(--aura-radius-2, 30px) rgba(139, 0, 139, var(--aura-opacity-2, 0.4));
}
50% {
box-shadow:
0 0 var(--aura-radius-1-peak, 25px) rgba(139, 0, 139, var(--aura-opacity-1-peak, 1)),
0 0 var(--aura-radius-2-peak, 40px) rgba(139, 0, 139, var(--aura-opacity-2-peak, 0.6));
}
}
</style>
<<script>>
$(document).ready(function() {
// Load saved fold state
const loadFoldState = () => {
try {
const savedState = localStorage.getItem('clothingFoldState') === 'true';
if (savedState) {
$('.clothing-header').addClass('folded');
}
} catch (e) {
console.error('Error loading fold state:', e);
}
};
// Save fold state
const saveFoldState = () => {
const isFolded = $('.clothing-header').hasClass('folded');
localStorage.setItem('clothingFoldState', isFolded);
};
// Click handler for clothing header
$('.clothing-header').on('click', function() {
$(this).toggleClass('folded');
saveFoldState();
});
// Click handler for debug header
$('.debug-header').on('click', function() {
$(this).toggleClass('folded');
try {
const isFolded = $(this).hasClass('folded');
localStorage.setItem('debugFoldState', isFolded);
} catch (e) {
console.error('Error saving debug fold state:', e);
}
});
// Load debug fold state
try {
const debugFoldState = localStorage.getItem('debugFoldState') === 'true';
if (debugFoldState) {
$('.debug-header').addClass('folded');
}
} catch (e) {
console.error('Error loading debug fold state:', e);
}
// Debug toggle button handlers
$('.debug-toggle').on('click', function() {
const varName = $(this).data('var');
if (varName && State && State.variables) {
State.variables[varName] = !State.variables[varName];
$(this).text(State.variables[varName] ? '✅' : '❌');
}
});
// Debug input field handlers
$('.debug-input').on('change', function() {
const varName = $(this).data('var');
const value = $(this).val();
if (varName && State && State.variables) {
if (value === 'true') {
State.variables[varName] = true;
} else if (value === 'false') {
State.variables[varName] = false;
} else if (!isNaN(value) && value !== '') {
State.variables[varName] = Number(value);
} else {
State.variables[varName] = value;
}
}
});
// Debug transformation toggle handlers
$('.debug-toggle-transformation').on('click', function() {
const charName = $(this).data('char');
const bodyPart = $(this).data('part');
if (charName && bodyPart && State && State.variables) {
if (!State.variables.characterTransformations) {
State.variables.characterTransformations = {};
}
if (!State.variables.characterTransformations[charName]) {
State.variables.characterTransformations[charName] = {
panties: false, bra: false, face: false, body: false,
clothes: false, hair: false, makeup: false
};
}
State.variables.characterTransformations[charName][bodyPart] =
!State.variables.characterTransformations[charName][bodyPart];
$(this).text(State.variables.characterTransformations[charName][bodyPart] ? '✅' : '❌');
}
});
// Load initial state
loadFoldState();
// Initialize floating effects system
if (typeof window.FloatingEffects === 'undefined') {
window.FloatingEffects = {
addEffect: function(characterName, auraType, chibiModel, options = {}) {
const character = characterName.toLowerCase();
if (!State.variables.floatingEffects) {
State.variables.floatingEffects = {};
}
State.variables.floatingEffects[character] = {
aura: auraType,
chibi: chibiModel,
intensity: options.intensity || 'normal', // weak, normal, strong, intense
radius: options.radius || 1.0, // multiplier for base radius
opacity: options.opacity || 1.0, // multiplier for base opacity
speed: options.speed || 1.0 // multiplier for animation speed
};
this.refreshEffects();
},
removeEffect: function(characterName) {
const character = characterName.toLowerCase();
if (State.variables.floatingEffects) {
delete State.variables.floatingEffects[character];
}
this.refreshEffects();
},
clearAll: function() {
State.variables.floatingEffects = {};
this.refreshEffects();
},
refreshEffects: function() {
const effectsGrid = $('#sidebar-effects-grid');
effectsGrid.empty();
if (!State.variables.floatingEffects || Object.keys(State.variables.floatingEffects).length === 0) {
$('#character-effects-overlay').hide();
return;
}
$('#character-effects-overlay').show();
for (const [character, effects] of Object.entries(State.variables.floatingEffects)) {
const characterDisplayName = character.charAt(0).toUpperCase() + character.slice(1);
const portraitPath = `images/${characterDisplayName}/face.webp`;
// Build class list for dynamic styling
let classes = 'floating-effect-item';
if (effects.aura) {
classes += ` aura-${effects.aura}`;
}
if (effects.intensity && effects.intensity !== 'normal') {
classes += ` intensity-${effects.intensity}`;
}
// Calculate dynamic CSS custom properties
const radius = effects.radius || 1.0;
const opacity = effects.opacity || 1.0;
const speed = effects.speed || 1.0;
const baseRadius1 = 15, baseRadius2 = 30;
const peakRadius1 = 25, peakRadius2 = 40;
const baseOpacity1 = 0.8, baseOpacity2 = 0.4;
const peakOpacity1 = 1.0, peakOpacity2 = 0.6;
const customProperties = `
--aura-radius-1: ${Math.round(baseRadius1 * radius)}px;
--aura-radius-2: ${Math.round(baseRadius2 * radius)}px;
--aura-radius-1-peak: ${Math.round(peakRadius1 * radius)}px;
--aura-radius-2-peak: ${Math.round(peakRadius2 * radius)}px;
--aura-opacity-1: ${(baseOpacity1 * opacity).toFixed(2)};
--aura-opacity-2: ${(baseOpacity2 * opacity).toFixed(2)};
--aura-opacity-1-peak: ${(peakOpacity1 * opacity).toFixed(2)};
--aura-opacity-2-peak: ${(peakOpacity2 * opacity).toFixed(2)};
--aura-speed: ${(2 / speed).toFixed(1)}s;
`;
let effectHtml = `
<div class="${classes}" data-character="${character}" style="${customProperties}">
<img src="${portraitPath}" class="effect-portrait" alt="${characterDisplayName}" style="animation-duration: var(--aura-speed);">
<div class="effect-name">${characterDisplayName}</div>
`;
if (effects.chibi) {
if (effects.chibi.includes('.webp') || effects.chibi.includes('.png') || effects.chibi.includes('.jpg')) {
effectHtml += `<div class="effect-chibi"><img src="${effects.chibi}" alt="chibi"></div>`;
} else {
effectHtml += `<div class="effect-chibi">${effects.chibi}</div>`;
}
}
effectHtml += '</div>';
effectsGrid.append(effectHtml);
}
}
};
}
// Refresh effects on page load
if (window.FloatingEffects) {
window.FloatingEffects.refreshEffects();
}
});
<</script>><<script>>window.AudioSystem.playBGM('mystical.mp3');<</script>><<set $currentFace = $currentRylanFace>>
<script>
function purchaseBook(bookType, cost, fetishType, amount, bookTitle, bookDescription) {
if (SugarCube.State.variables.gold < cost) {
alert("You don't have enough gold!");
return;
}
SugarCube.State.variables.gold -= cost;
const character = "Rylan";
try {
const macroContext = new SugarCube.Macro.Context('changeFetish');
SugarCube.Macro.get('changeFetish').handler.call(macroContext, character, fetishType, amount);
} catch (error) {
console.log("changeFetish macro error:", error);
const varName = character.toLowerCase() + '_' + fetishType;
if (!SugarCube.State.variables[varName]) {
SugarCube.State.variables[varName] = 0;
}
SugarCube.State.variables[varName] += amount;
}
let resultMessage = `<div style="background: linear-gradient(135deg, rgba(255,182,193,0.3), rgba(255,105,180,0.3)); border: 2px solid rgba(255,182,193,0.8); border-radius: 15px; padding: 25px; margin: 20px 0; text-align: center;">
<h3 style="color: #FFB6C1; font-size: 1.4em; margin: 0 0 10px 0;">${bookTitle} Purchased!</h3>
<p style="color: white; margin: 10px 0;">${bookDescription}</p>
<p style="color: #FFB6C1; font-size: 1.2em; font-weight: bold;">${amount > 0 ? '+' : ''}${amount} ${fetishType}!</p>
<p style="color: #FFD700;">Gold: ${SugarCube.State.variables.gold}</p>
</div>`;
let resultDiv = document.getElementById('purchase-result');
if (!resultDiv) {
resultDiv = document.createElement('div');
resultDiv.id = 'purchase-result';
const shopContent = document.querySelector('.shop-content');
shopContent.insertBefore(resultDiv, shopContent.firstChild);
}
resultDiv.innerHTML = resultMessage;
const goldDisplay = document.querySelector('.shop-header p[style*="color: #FFD700"]');
if (goldDisplay) {
goldDisplay.innerHTML = `💰 Current Gold: ${SugarCube.State.variables.gold}`;
}
resultDiv.scrollIntoView({ behavior: 'smooth', block: 'center' });
}
</script>
<<nobr>>
<div class="modern-bookshop-container" style="background: linear-gradient(135deg, rgba(72, 61, 139, 0.95), rgba(106, 90, 205, 0.95), rgba(139, 69, 19, 0.95)); min-height: 100vh; padding: 0; margin: 0; position: relative; overflow: hidden;"> <div class="floating-particles" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none; z-index: 1;"> <div style="position: absolute; width: 6px; height: 6px; background: radial-gradient(circle, rgba(255,255,255,0.8), rgba(255,255,255,0.2)); border-radius: 50%; animation: float 12s infinite ease-in-out; top: 10%; left: 15%;"></div> <div style="position: absolute; width: 4px; height: 4px; background: radial-gradient(circle, rgba(221,160,221,0.8), rgba(221,160,221,0.2)); border-radius: 50%; animation: float 8s infinite ease-in-out 2s; top: 30%; left: 80%;"></div> <div style="position: absolute; width: 8px; height: 8px; background: radial-gradient(circle, rgba(135,206,235,0.8), rgba(135,206,235,0.2)); border-radius: 50%; animation: float 15s infinite ease-in-out 4s; top: 70%; left: 20%;"></div> <div style="position: absolute; width: 5px; height: 5px; background: radial-gradient(circle, rgba(255,182,193,0.8), rgba(255,182,193,0.2)); border-radius: 50%; animation: float 10s infinite ease-in-out 6s; top: 50%; left: 70%;"></div> <div style="position: absolute; width: 7px; height: 7px; background: radial-gradient(circle, rgba(255,255,255,0.6), rgba(255,255,255,0.1)); border-radius: 50%; animation: float 18s infinite ease-in-out 8s; top: 80%; left: 50%;"></div> </div> <div class="shop-header" style="position: relative; z-index: 2; background: linear-gradient(90deg, rgba(45,45,50,0.95), rgba(75,75,85,0.95), rgba(45,45,50,0.95)); border-bottom: 3px solid rgba(221,160,221,0.8); padding: 30px; text-align: center; box-shadow: 0 8px 32px rgba(0,0,0,0.3);"> <h1 style="color: #DDA0DD; font-size: 2.8em; font-weight: bold; margin: 0; text-shadow: 3px 3px 8px rgba(0,0,0,0.8); font-family: 'Cinzel', serif; letter-spacing: 3px;">📚 WHISPERS & WISDOM 📚</h1> <p style="color: rgba(255,255,255,0.9); font-size: 1.4em; margin: 15px 0 0 0; font-style: italic; text-shadow: 2px 2px 4px rgba(0,0,0,0.6);">Madame Veloria's Mystical Emporium</p> <div style="background: rgba(221,160,221,0.2); border: 1px solid rgba(221,160,221,0.5); border-radius: 25px; padding: 15px; margin: 25px auto 0 auto; max-width: 600px;"> <p style="color: #FFD700; font-size: 1.3em; font-weight: bold; margin: 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">💰 Current Gold: $gold</p> </div> </div> <div class="shop-content" style="position: relative; z-index: 2; padding: 40px; max-width: 1400px; margin: 0 auto;"> <div class="book-categories" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(600px, 1fr)); gap: 40px; margin: 40px 0;"> <div class="awakening-section" style="background: linear-gradient(135deg, rgba(255,182,193,0.15), rgba(255,105,180,0.15)); border: 2px solid rgba(255,182,193,0.6); border-radius: 20px; padding: 30px; box-shadow: 0 15px 35px rgba(255,182,193,0.2); position: relative; overflow: hidden;"> <div style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at 30% 20%, rgba(255,182,193,0.1), transparent 50%), radial-gradient(circle at 70% 80%, rgba(255,105,180,0.1), transparent 50%); pointer-events: none;"></div> <div style="position: relative; z-index: 3;"> <h2 style="color: #FFB6C1; font-size: 2.2em; font-weight: bold; margin: 0 0 20px 0; text-align: center; text-shadow: 3px 3px 6px rgba(0,0,0,0.7); font-family: 'Cinzel', serif;">📖 Awakening Desires</h2> <p style="color: rgba(255,255,255,0.9); font-size: 1.1em; text-align: center; margin-bottom: 30px; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Books to enhance and develop new interests</p> <div class="book-grid" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px;"> <<if $gold >= 50>> <div class="book-item" style="background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,182,193,0.1)); border: 1px solid rgba(255,182,193,0.4); border-radius: 15px; padding: 20px; transition: all 0.3s ease; cursor: pointer; text-align: center;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 10px 25px rgba(255,182,193,0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='none'" onclick="purchaseBook('feetIncrease', 50, 'FeetFetish', 1.0, '🦶 Feet Focus', 'The Art of Appreciation: A Study in Lower Extremities')"> <span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 2px 2px 4px rgba(0,0,0,0.9);">🦶 Feet Focus</span><br> <span style="color: #FFB6C1; font-size: 0.9em; font-weight: bold; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">+1.0 Feet Fetish</span> </div> <div class="book-item" style="background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,182,193,0.1)); border: 1px solid rgba(255,182,193,0.4); border-radius: 15px; padding: 20px; transition: all 0.3s ease; cursor: pointer; text-align: center;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 10px 25px rgba(255,182,193,0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='none'" onclick="purchaseBook('smellIncrease', 50, 'SmellFetish', 1.0, '👃 Scent Sensitivity', 'The Language of Scent: Understanding Pheromones')"> <span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 2px 2px 4px rgba(0,0,0,0.9);">👃 Scent Sensitivity</span><br> <span style="color: #FFB6C1; font-size: 0.9em; font-weight: bold; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">+1.0 Smell Fetish</span> </div> <div class="book-item" style="background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,182,193,0.1)); border: 1px solid rgba(255,182,193,0.4); border-radius: 15px; padding: 20px; transition: all 0.3s ease; cursor: pointer; text-align: center;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 10px 25px rgba(255,182,193,0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='none'" onclick="purchaseBook('armpitIncrease', 50, 'ArmpitFetish', 1.0, '💪 Armpit Allure', 'Hidden Valleys: An Intimate Study')"> <span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 2px 2px 4px rgba(0,0,0,0.9);">💪 Armpit Allure</span><br> <span style="color: #FFB6C1; font-size: 0.9em; font-weight: bold; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">+1.0 Armpit Fetish</span> </div> <div class="book-item" style="background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,182,193,0.1)); border: 1px solid rgba(255,182,193,0.4); border-radius: 15px; padding: 20px; transition: all 0.3s ease; cursor: pointer; text-align: center;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 10px 25px rgba(255,182,193,0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='none'" onclick="purchaseBook('salivaIncrease', 50, 'SalivaFetish', 1.0, '💧 Saliva Fascination', 'Liquid Connections: The Intimacy of Exchange')"> <span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 2px 2px 4px rgba(0,0,0,0.9);">💧 Saliva Fascination</span><br> <span style="color: #FFB6C1; font-size: 0.9em; font-weight: bold; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">+1.0 Saliva Fetish</span> </div> <div class="book-item" style="background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,182,193,0.1)); border: 1px solid rgba(255,182,193,0.4); border-radius: 15px; padding: 20px; transition: all 0.3s ease; cursor: pointer; text-align: center;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 10px 25px rgba(255,182,193,0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='none'" onclick="purchaseBook('breastIncrease', 50, 'BreastFetish', 1.0, '🍒 Breast Appreciation', 'Curves of Beauty: An Aesthetic Appreciation')"> <span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 2px 2px 4px rgba(0,0,0,0.9);">🍒 Breast Appreciation</span><br> <span style="color: #FFB6C1; font-size: 0.9em; font-weight: bold; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">+1.0 Breast Fetish</span> </div> <div class="book-item" style="background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,182,193,0.1)); border: 1px solid rgba(255,182,193,0.4); border-radius: 15px; padding: 20px; transition: all 0.3s ease; cursor: pointer; text-align: center;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 10px 25px rgba(255,182,193,0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='none'" onclick="purchaseBook('submissionIncrease', 50, 'SubmissionFetish', 1.0, '🙇 Submission Studies', 'The Art of Yielding: Finding Peace in Surrender')"> <span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 2px 2px 4px rgba(0,0,0,0.9);">🙇 Submission Studies</span><br> <span style="color: #FFB6C1; font-size: 0.9em; font-weight: bold; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">+1.0 Submission Fetish</span> </div> <div class="book-item" style="background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,182,193,0.1)); border: 1px solid rgba(255,182,193,0.4); border-radius: 15px; padding: 20px; transition: all 0.3s ease; cursor: pointer; text-align: center;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 10px 25px rgba(255,182,193,0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='none'" onclick="purchaseBook('gayIncrease', 50, 'GayValue', 1.0, '💪 Masculine Appeal', 'Masculine Appreciation: Understanding Male Beauty')"> <span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 2px 2px 4px rgba(0,0,0,0.9);">💪 Masculine Appeal</span><br> <span style="color: #FFB6C1; font-size: 0.9em; font-weight: bold; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">+1.0 Gay Value</span> </div> <<else>> <div style="grid-column: 1 / -1; text-align: center; padding: 40px;"> <p style="color: rgba(255,255,255,0.6); font-size: 1.3em; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">💰 Insufficient Gold for Awakening Books</p> <p style="color: rgba(255,255,255,0.4); font-size: 1.1em;">You need 50 gold per book</p> </div> <</if>> </div> </div> </div> <div class="overcoming-section" style="background: linear-gradient(135deg, rgba(135,206,235,0.15), rgba(70,130,180,0.15)); border: 2px solid rgba(135,206,235,0.6); border-radius: 20px; padding: 30px; box-shadow: 0 15px 35px rgba(135,206,235,0.2); position: relative; overflow: hidden;"> <div style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at 30% 20%, rgba(135,206,235,0.1), transparent 50%), radial-gradient(circle at 70% 80%, rgba(70,130,180,0.1), transparent 50%); pointer-events: none;"></div> <div style="position: relative; z-index: 3;"> <h2 style="color: #87CEEB; font-size: 2.2em; font-weight: bold; margin: 0 0 20px 0; text-align: center; text-shadow: 3px 3px 6px rgba(0,0,0,0.7); font-family: 'Cinzel', serif;">📘 Overcoming Compulsions</h2> <p style="color: rgba(255,255,255,0.9); font-size: 1.1em; text-align: center; margin-bottom: 30px; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">Books to reduce and control unwanted urges</p> <div class="book-grid" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px;"> <<if $gold >= 50>> <div class="book-item" style="background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(135,206,235,0.1)); border: 1px solid rgba(135,206,235,0.4); border-radius: 15px; padding: 20px; transition: all 0.3s ease; cursor: pointer; text-align: center;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 10px 25px rgba(135,206,235,0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='none'" onclick="purchaseBook('feetDecrease', 50, 'FeetFetish', -1.0, '🚫 Foot Independence', 'Grounding Yourself: Overcoming Foot Obsessions')"> <span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 2px 2px 4px rgba(0,0,0,0.9);">🚫 Foot Independence</span><br> <span style="color: #87CEEB; font-size: 0.9em; font-weight: bold; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">-1.0 Feet Fetish</span> </div> <div class="book-item" style="background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(135,206,235,0.1)); border: 1px solid rgba(135,206,235,0.4); border-radius: 15px; padding: 20px; transition: all 0.3s ease; cursor: pointer; text-align: center;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 10px 25px rgba(135,206,235,0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='none'" onclick="purchaseBook('smellDecrease', 50, 'SmellFetish', -1.0, '🌬️ Scent Clarity', 'Clearing the Air: Overcoming Scent Sensitivity')"> <span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 2px 2px 4px rgba(0,0,0,0.9);">🌬️ Scent Clarity</span><br> <span style="color: #87CEEB; font-size: 0.9em; font-weight: bold; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">-1.0 Smell Fetish</span> </div> <div class="book-item" style="background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(135,206,235,0.1)); border: 1px solid rgba(135,206,235,0.4); border-radius: 15px; padding: 20px; transition: all 0.3s ease; cursor: pointer; text-align: center;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 10px 25px rgba(135,206,235,0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='none'" onclick="purchaseBook('armpitDecrease', 50, 'ArmpitFetish', -1.0, '🚷 Armpit Avoidance', 'Professional Distance: Maintaining Boundaries')"> <span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 2px 2px 4px rgba(0,0,0,0.9);">🚷 Armpit Avoidance</span><br> <span style="color: #87CEEB; font-size: 0.9em; font-weight: bold; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">-1.0 Armpit Fetish</span> </div> <div class="book-item" style="background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(135,206,235,0.1)); border: 1px solid rgba(135,206,235,0.4); border-radius: 15px; padding: 20px; transition: all 0.3s ease; cursor: pointer; text-align: center;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 10px 25px rgba(135,206,235,0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='none'" onclick="purchaseBook('salivaDecrease', 50, 'SalivaFetish', -1.0, '🛡️ Saliva Resistance', 'Personal Hygiene and Boundaries')"> <span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 2px 2px 4px rgba(0,0,0,0.9);">🛡️ Saliva Resistance</span><br> <span style="color: #87CEEB; font-size: 0.9em; font-weight: bold; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">-1.0 Saliva Fetish</span> </div> <div class="book-item" style="background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(135,206,235,0.1)); border: 1px solid rgba(135,206,235,0.4); border-radius: 15px; padding: 20px; transition: all 0.3s ease; cursor: pointer; text-align: center;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 10px 25px rgba(135,206,235,0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='none'" onclick="purchaseBook('breastDecrease', 50, 'BreastFetish', -1.0, '👁️ Breast Indifference', 'Respectful Interaction: Professional Relationships')"> <span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 2px 2px 4px rgba(0,0,0,0.9);">👁️ Breast Indifference</span><br> <span style="color: #87CEEB; font-size: 0.9em; font-weight: bold; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">-1.0 Breast Fetish</span> </div> <div class="book-item" style="background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(135,206,235,0.1)); border: 1px solid rgba(135,206,235,0.4); border-radius: 15px; padding: 20px; transition: all 0.3s ease; cursor: pointer; text-align: center;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 10px 25px rgba(135,206,235,0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='none'" onclick="purchaseBook('submissionDecrease', 50, 'SubmissionFetish', -1.0, '🗽 Independence Mindset', 'Standing Your Ground: Personal Autonomy')"> <span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 2px 2px 4px rgba(0,0,0,0.9);">🗽 Independence Mindset</span><br> <span style="color: #87CEEB; font-size: 0.9em; font-weight: bold; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">-1.0 Submission Fetish</span> </div> <div class="book-item" style="background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(135,206,235,0.1)); border: 1px solid rgba(135,206,235,0.4); border-radius: 15px; padding: 20px; transition: all 0.3s ease; cursor: pointer; text-align: center;" onmouseover="this.style.transform='translateY(-5px)'; this.style.boxShadow='0 10px 25px rgba(135,206,235,0.4)'" onmouseout="this.style.transform='translateY(0)'; this.style.boxShadow='none'" onclick="purchaseBook('gayDecrease', 50, 'GayValue', -1.0, '👩 Heterosexual Focus', 'Heterosexual Focus: Feminine Attraction')"> <span style="color: white; font-weight: bold; font-size: 1.1em; text-shadow: 2px 2px 4px rgba(0,0,0,0.9);">👩 Heterosexual Focus</span><br> <span style="color: #87CEEB; font-size: 0.9em; font-weight: bold; text-shadow: 1px 1px 3px rgba(0,0,0,0.8);">-1.0 Gay Value</span> </div> <<else>> <div style="grid-column: 1 / -1; text-align: center; padding: 40px;"> <p style="color: rgba(255,255,255,0.6); font-size: 1.3em; font-style: italic; text-shadow: 1px 1px 3px rgba(0,0,0,0.6);">💰 Insufficient Gold for Overcoming Books</p> <p style="color: rgba(255,255,255,0.4); font-size: 1.1em;">You need 50 gold per book</p> </div> <</if>> </div> </div> </div> </div> <div class="shop-footer" style="position: relative; z-index: 2; background: linear-gradient(90deg, rgba(45,45,50,0.95), rgba(75,75,85,0.95), rgba(45,45,50,0.95)); border-top: 3px solid rgba(221,160,221,0.8); padding: 40px; text-align: center; box-shadow: 0 -8px 32px rgba(0,0,0,0.3);"> <div style="background: rgba(221,160,221,0.1); border: 2px solid rgba(221,160,221,0.4); border-radius: 20px; padding: 25px; margin: 0 auto; max-width: 800px;"> <p style="color: #DDA0DD; font-size: 1.4em; font-weight: bold; margin: 0 0 15px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">✨ Each book costs 50 gold ✨</p> <p style="color: rgba(255,255,255,0.8); font-size: 1.1em; margin: 0; text-shadow: 1px 1px 3px rgba(0,0,0,0.6); font-style: italic;">"Choose wisely, young seeker."</p> </div> <div style="margin-top: 40px;"> <div style="text-align: center;"> [[🚪 Leave the Shop|ExitMysteriousBookshop]] </div> </div> </div> </div>
<</nobr>>
<style>
@keyframes float {
0%, 100% {
transform: translateY(0px) rotate(0deg);
opacity: 0.4;
}
25% {
transform: translateY(-15px) rotate(90deg);
opacity: 0.8;
}
50% {
transform: translateY(-30px) rotate(180deg);
opacity: 1;
}
75% {
transform: translateY(-15px) rotate(270deg);
opacity: 0.8;
}
}
.book-item:hover {
transform: translateY(-5px) !important;
box-shadow: 0 10px 25px rgba(255,255,255,0.2) !important;
}
</style>
<<changeFace $currentRylanFace>>
<<statSummary>><<set $previousPassage = previous()>>
<script>
function purchaseBook(bookType, cost, fetishType, amount, bookTitle, bookDescription) {
if (SugarCube.State.variables.gold < cost) {
alert("You don't have enough gold!");
return;
}
SugarCube.State.variables.gold -= cost;
const character = "Rylan";
try {
const macroContext = new SugarCube.Macro.Context('changeFetish');
SugarCube.Macro.get('changeFetish').handler.call(macroContext, character, fetishType, amount);
} catch (error) {
console.log("changeFetish macro error:", error);
const varName = character.toLowerCase() + '_' + fetishType;
if (!SugarCube.State.variables[varName]) {
SugarCube.State.variables[varName] = 0;
}
SugarCube.State.variables[varName] += amount;
}
let resultMessage = `<div style="background: linear-gradient(135deg, rgba(255,182,193,0.3), rgba(255,105,180,0.3)); border: 2px solid rgba(255,182,193,0.8); border-radius: 15px; padding: 25px; margin: 20px 0; text-align: center;">
<h3 style="color: #FFB6C1; font-size: 1.4em; margin: 0 0 10px 0;">${bookTitle} Purchased!</h3>
<p style="color: white; margin: 10px 0;">${bookDescription}</p>
<p style="color: #FFB6C1; font-size: 1.2em; font-weight: bold;">${amount > 0 ? '+' : ''}${amount} ${fetishType}!</p>
<p style="color: #FFD700;">Gold: ${SugarCube.State.variables.gold}</p>
</div>`;
let resultDiv = document.getElementById('purchase-result');
if (!resultDiv) {
resultDiv = document.createElement('div');
resultDiv.id = 'purchase-result';
const shopContent = document.querySelector('.shop-content');
shopContent.insertBefore(resultDiv, shopContent.firstChild);
}
resultDiv.innerHTML = resultMessage;
const goldDisplay = document.querySelector('.shop-header p[style*="color: #FFD700"]');
if (goldDisplay) {
goldDisplay.innerHTML = `💰 Current Gold: ${SugarCube.State.variables.gold}`;
}
resultDiv.scrollIntoView({ behavior: 'smooth', block: 'center' });
}
</script>
<<nobr>>
<div class="modern-bookshop-container" style="background: linear-gradient(135deg, rgba(72, 61, 139, 0.8), rgba(106, 90, 205, 0.8), rgba(139, 69, 19, 0.8)); min-height: 100vh; padding: 20px; margin: 0;">
<div class="shop-header" style="background: rgba(45,45,50,0.9); border-bottom: 2px solid rgba(221,160,221,0.6); padding: 25px; text-align: center; border-radius: 10px; margin-bottom: 20px;">
<h1 style="color: #DDA0DD; font-size: 2.5em; font-weight: bold; margin: 0; text-shadow: 2px 2px 6px rgba(0,0,0,0.8);">📚 WHISPERS & WISDOM 📚</h1>
<p style="color: rgba(255,255,255,0.9); font-size: 1.2em; margin: 10px 0 0 0; font-style: italic;">Madame Veloria's Mystical Emporium</p>
<div style="background: rgba(221,160,221,0.2); border: 1px solid rgba(221,160,221,0.4); border-radius: 15px; padding: 12px; margin: 20px auto 0 auto; max-width: 500px;">
<p style="color: #FFD700; font-size: 1.2em; font-weight: bold; margin: 0;">💰 Current Gold: $gold</p>
</div>
</div>
<div class="shop-content" style="max-width: 1200px; margin: 0 auto;">
<div class="book-categories" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(500px, 1fr)); gap: 30px; margin: 30px 0;">
<div class="awakening-section" style="background: rgba(255,182,193,0.15); border: 2px solid rgba(255,182,193,0.5); border-radius: 15px; padding: 25px;">
<h2 style="color: #FFB6C1; font-size: 2em; font-weight: bold; margin: 0 0 15px 0; text-align: center;">📖 Awakening Desires</h2>
<p style="color: rgba(255,255,255,0.9); font-size: 1em; text-align: center; margin-bottom: 25px; font-style: italic;">Books to enhance and develop new interests</p>
<div class="book-grid" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px;">
<<if $gold >= 50>>
<!-- Physical Fetishes -->
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('feetIncrease', 50, 'FeetFetish', 1.0, '🦶 Feet Focus', 'The Art of Appreciation: A Study in Lower Extremities')">
<span style="color: white; font-weight: bold; font-size: 1em;">🦶 Feet Focus</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Feet Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('smellIncrease', 50, 'SmellFetish', 1.0, '👃 Scent Sensitivity', 'The Language of Scent: Understanding Pheromones')">
<span style="color: white; font-weight: bold; font-size: 1em;">👃 Scent Sensitivity</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Smell Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('armpitIncrease', 50, 'ArmpitFetish', 1.0, '💪 Armpit Allure', 'Hidden Valleys: An Intimate Study')">
<span style="color: white; font-weight: bold; font-size: 1em;">💪 Armpit Allure</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Armpit Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('muscleIncrease', 50, 'MuscleFetish', 1.0, '💪 Muscle Appreciation', 'The Power of Form: Understanding Physical Strength')">
<span style="color: white; font-weight: bold; font-size: 1em;">💪 Muscle Appreciation</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Muscle Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('thighIncrease', 50, 'ThighFetish', 1.0, '🦵 Thigh Fascination', 'The Strength Within: Appreciating Powerful Legs')">
<span style="color: white; font-weight: bold; font-size: 1em;">🦵 Thigh Fascination</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Thigh Fetish</span>
</div>
<!-- Body Parts -->
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('breastIncrease', 50, 'BreastFetish', 1.0, '🍒 Breast Appreciation', 'Curves of Beauty: An Aesthetic Appreciation')">
<span style="color: white; font-weight: bold; font-size: 1em;">🍒 Breast Appreciation</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Breast Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('assIncrease', 50, 'AssFetish', 1.0, '🍑 Ass Appreciation', 'The Art of the Curve: Understanding Beauty')">
<span style="color: white; font-weight: bold; font-size: 1em;">🍑 Ass Appreciation</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Ass Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('penisIncrease', 50, 'PenisFetish', 1.0, '🍆 Penis Fascination', 'Male Anatomy: Understanding the Form')">
<span style="color: white; font-weight: bold; font-size: 1em;">🍆 Penis Fascination</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Penis Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('vaginaIncrease', 50, 'VaginaFetish', 1.0, '🌸 Vagina Appreciation', 'Feminine Mysteries: Understanding Beauty')">
<span style="color: white; font-weight: bold; font-size: 1em;">🌸 Vagina Appreciation</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Vagina Fetish</span>
</div>
<!-- Fluids -->
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('salivaIncrease', 50, 'SalivaFetish', 1.0, '💧 Saliva Fascination', 'Liquid Connections: The Intimacy of Exchange')">
<span style="color: white; font-weight: bold; font-size: 1em;">💧 Saliva Fascination</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Saliva Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('cumIncrease', 50, 'CumAddiction', 1.0, '💦 Cum Fascination', 'The Essence of Life: Understanding Fertility')">
<span style="color: white; font-weight: bold; font-size: 1em;">💦 Cum Fascination</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Cum Addiction</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('sweatIncrease', 50, 'SweatFetish', 1.0, '💧 Sweat Appreciation', 'The Glow of Effort: Understanding Physical Exertion')">
<span style="color: white; font-weight: bold; font-size: 1em;">💧 Sweat Appreciation</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Sweat Fetish</span>
</div>
<!-- Behavioral -->
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('submissionIncrease', 50, 'SubmissionFetish', 1.0, '🙇 Submission Studies', 'The Art of Yielding: Finding Peace in Surrender')">
<span style="color: white; font-weight: bold; font-size: 1em;">🙇 Submission Studies</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Submission Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('dominanceIncrease', 50, 'DominanceFetish', 1.0, '👑 Dominance Training', 'Taking Control: The Art of Leadership')">
<span style="color: white; font-weight: bold; font-size: 1em;">👑 Dominance Training</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Dominance Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('exhibitionismIncrease', 50, 'ExhibitionismFetish', 1.0, '🎭 Exhibitionism Studies', 'The Thrill of Being Seen: Understanding Display')">
<span style="color: white; font-weight: bold; font-size: 1em;">🎭 Exhibitionism Studies</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Exhibitionism Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('voyeurismIncrease', 50, 'VoyeurismFetish', 1.0, '👁️ Voyeurism Studies', 'The Art of Observation: Understanding Watching')">
<span style="color: white; font-weight: bold; font-size: 1em;">👁️ Voyeurism Studies</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Voyeurism Fetish</span>
</div>
<!-- Kinks -->
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('bondageIncrease', 50, 'BondageFetish', 1.0, '🔗 Bondage Studies', 'The Art of Restraint: Understanding Control')">
<span style="color: white; font-weight: bold; font-size: 1em;">🔗 Bondage Studies</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Bondage Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('crossdressingIncrease', 50, 'CrossdressingFetish', 1.0, '👗 Cross-Dressing Studies', 'Fashion Freedom: Understanding Gender Expression')">
<span style="color: white; font-weight: bold; font-size: 1em;">👗 Cross-Dressing Studies</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Cross-Dressing Fetish</span>
</div>
<!-- Orientation -->
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('gayIncrease', 50, 'GayValue', 1.0, '💪 Masculine Appeal', 'Masculine Appreciation: Understanding Male Beauty')">
<span style="color: white; font-weight: bold; font-size: 1em;">💪 Masculine Appeal</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Gay Value</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(255,182,193,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('lesbianIncrease', 50, 'LesbianValue', 1.0, '👭 Feminine Appeal', 'Feminine Appreciation: Understanding Female Beauty')">
<span style="color: white; font-weight: bold; font-size: 1em;">👭 Feminine Appeal</span><br>
<span style="color: #FFB6C1; font-size: 0.8em; font-weight: bold;">+1.0 Lesbian Value</span>
</div>
<<else>>
<div style="grid-column: 1 / -1; text-align: center; padding: 30px;">
<p style="color: rgba(255,255,255,0.6); font-size: 1.2em; font-style: italic;">💰 Insufficient Gold for Awakening Books</p>
<p style="color: rgba(255,255,255,0.4); font-size: 1em;">You need 50 gold per book</p>
</div>
<</if>>
</div>
</div>
<div class="overcoming-section" style="background: rgba(135,206,235,0.15); border: 2px solid rgba(135,206,235,0.5); border-radius: 15px; padding: 25px;">
<h2 style="color: #87CEEB; font-size: 2em; font-weight: bold; margin: 0 0 15px 0; text-align: center;">📘 Overcoming Compulsions</h2>
<p style="color: rgba(255,255,255,0.9); font-size: 1em; text-align: center; margin-bottom: 25px; font-style: italic;">Books to reduce and control unwanted urges</p>
<div class="book-grid" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px;">
<<if $gold >= 50>>
<!-- Physical Fetishes -->
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('feetDecrease', 50, 'FeetFetish', -1.0, '🚫 Foot Independence', 'Grounding Yourself: Overcoming Foot Obsessions')">
<span style="color: white; font-weight: bold; font-size: 1em;">🚫 Foot Independence</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Feet Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('smellDecrease', 50, 'SmellFetish', -1.0, '🌬️ Scent Clarity', 'Clearing the Air: Overcoming Scent Sensitivity')">
<span style="color: white; font-weight: bold; font-size: 1em;">🌬️ Scent Clarity</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Smell Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('armpitDecrease', 50, 'ArmpitFetish', -1.0, '🚷 Armpit Avoidance', 'Professional Distance: Maintaining Boundaries')">
<span style="color: white; font-weight: bold; font-size: 1em;">🚷 Armpit Avoidance</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Armpit Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('muscleDecrease', 50, 'MuscleFetish', -1.0, '🚫 Muscle Indifference', 'Beyond the Surface: Seeing Inner Beauty')">
<span style="color: white; font-weight: bold; font-size: 1em;">🚫 Muscle Indifference</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Muscle Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('thighDecrease', 50, 'ThighFetish', -1.0, '🚫 Thigh Independence', 'Moving Forward: Overcoming Leg Obsessions')">
<span style="color: white; font-weight: bold; font-size: 1em;">🚫 Thigh Independence</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Thigh Fetish</span>
</div>
<!-- Body Parts -->
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('breastDecrease', 50, 'BreastFetish', -1.0, '👁️ Breast Indifference', 'Respectful Interaction: Professional Relationships')">
<span style="color: white; font-weight: bold; font-size: 1em;">👁️ Breast Indifference</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Breast Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('assDecrease', 50, 'AssFetish', -1.0, '🚫 Ass Indifference', 'Respectful Boundaries: Professional Distance')">
<span style="color: white; font-weight: bold; font-size: 1em;">🚫 Ass Indifference</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Ass Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('penisDecrease', 50, 'PenisFetish', -1.0, '🚫 Penis Indifference', 'Professional Focus: Beyond Physical Form')">
<span style="color: white; font-weight: bold; font-size: 1em;">🚫 Penis Indifference</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Penis Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('vaginaDecrease', 50, 'VaginaFetish', -1.0, '🚫 Vagina Indifference', 'Respectful Distance: Professional Boundaries')">
<span style="color: white; font-weight: bold; font-size: 1em;">🚫 Vagina Indifference</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Vagina Fetish</span>
</div>
<!-- Fluids -->
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('salivaDecrease', 50, 'SalivaFetish', -1.0, '🛡️ Saliva Resistance', 'Personal Hygiene and Boundaries')">
<span style="color: white; font-weight: bold; font-size: 1em;">🛡️ Saliva Resistance</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Saliva Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('cumDecrease', 50, 'CumAddiction', -1.0, '🚫 Cum Independence', 'Breaking the Cycle: Overcoming Addiction')">
<span style="color: white; font-weight: bold; font-size: 1em;">🚫 Cum Independence</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Cum Addiction</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('sweatDecrease', 50, 'SweatFetish', -1.0, '🚫 Sweat Independence', 'Clean Living: Overcoming Sweat Obsessions')">
<span style="color: white; font-weight: bold; font-size: 1em;">🚫 Sweat Independence</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Sweat Fetish</span>
</div>
<!-- Behavioral -->
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('submissionDecrease', 50, 'SubmissionFetish', -1.0, '🗽 Independence Mindset', 'Standing Your Ground: Personal Autonomy')">
<span style="color: white; font-weight: bold; font-size: 1em;">🗽 Independence Mindset</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Submission Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('dominanceDecrease', 50, 'DominanceFetish', -1.0, '🤝 Equality Mindset', 'Partnership: Building Equal Relationships')">
<span style="color: white; font-weight: bold; font-size: 1em;">🤝 Equality Mindset</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Dominance Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('exhibitionismDecrease', 50, 'ExhibitionismFetish', -1.0, '🚫 Privacy Mindset', 'Personal Space: Respecting Boundaries')">
<span style="color: white; font-weight: bold; font-size: 1em;">🚫 Privacy Mindset</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Exhibitionism Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('voyeurismDecrease', 50, 'VoyeurismFetish', -1.0, '🚫 Respect Mindset', 'Privacy Respect: Overcoming Watching Urges')">
<span style="color: white; font-weight: bold; font-size: 1em;">🚫 Respect Mindset</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Voyeurism Fetish</span>
</div>
<!-- Kinks -->
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('bondageDecrease', 50, 'BondageFetish', -1.0, '🔓 Freedom Mindset', 'Personal Liberty: Overcoming Restraint Desires')">
<span style="color: white; font-weight: bold; font-size: 1em;">🔓 Freedom Mindset</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Bondage Fetish</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('crossdressingDecrease', 50, 'CrossdressingFetish', -1.0, '👔 Traditional Style', 'Authentic Expression: Embracing Natural Form')">
<span style="color: white; font-weight: bold; font-size: 1em;">👔 Traditional Style</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Cross-Dressing Fetish</span>
</div>
<!-- Orientation -->
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('gayDecrease', 50, 'GayValue', -1.0, '👩 Heterosexual Focus', 'Heterosexual Focus: Feminine Attraction')">
<span style="color: white; font-weight: bold; font-size: 1em;">👩 Heterosexual Focus</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Gay Value</span>
</div>
<div class="book-item" style="background: rgba(255,255,255,0.1); border: 1px solid rgba(135,206,235,0.4); border-radius: 10px; padding: 15px; cursor: pointer; text-align: center;" onclick="purchaseBook('lesbianDecrease', 50, 'LesbianValue', -1.0, '👨 Heterosexual Focus', 'Heterosexual Focus: Masculine Attraction')">
<span style="color: white; font-weight: bold; font-size: 1em;">👨 Heterosexual Focus</span><br>
<span style="color: #87CEEB; font-size: 0.8em; font-weight: bold;">-1.0 Lesbian Value</span>
</div>
<<else>>
<div style="grid-column: 1 / -1; text-align: center; padding: 30px;">
<p style="color: rgba(255,255,255,0.6); font-size: 1.2em; font-style: italic;">💰 Insufficient Gold for Overcoming Books</p>
<p style="color: rgba(255,255,255,0.4); font-size: 1em;">You need 50 gold per book</p>
</div>
<</if>>
</div>
</div>
</div>
</div>
<div class="shop-footer" style="background: rgba(45,45,50,0.9); border-top: 2px solid rgba(221,160,221,0.6); padding: 30px; text-align: center; border-radius: 10px; margin-top: 20px;">
<div style="background: rgba(221,160,221,0.1); border: 1px solid rgba(221,160,221,0.4); border-radius: 15px; padding: 20px; margin: 0 auto; max-width: 600px;">
<p style="color: #DDA0DD; font-size: 1.2em; font-weight: bold; margin: 0 0 10px 0;">✨ Each book costs 50 gold ✨</p>
<p style="color: rgba(255,255,255,0.8); font-size: 1em; margin: 0; font-style: italic;">"Choose wisely, young seeker."</p>
</div>
<div style="margin-top: 30px;">
<div style="text-align: center;">
<<link "🚪 Leave the Shop">><<goto $previousPassage>><</link>>
</div>
</div>
</div>
</div>
<<changeFace $currentRylanFace>>
<<statSummary>>
<</nobr>><<widget "dungeonManagementSystem">>
<<script>>
// Dungeon Management System Widget
window.DungeonManagement = {
// Initialize dungeon data
init: function() {
if (!State.variables.dungeonTiles) {
State.variables.dungeonTiles = [];
}
if (!State.variables.dungeonEnergy) {
State.variables.dungeonEnergy = 500; // Starting energy
}
// Calculate available tiles based on core level: 3 * core level
const coreLevel = State.variables.dungeonCoreLevel || 1;
State.variables.availableTiles = 3 * coreLevel;
if (!State.variables.dungeonBuildings) {
State.variables.dungeonBuildings = {};
}
if (!State.variables.dungeonEnergyGeneration) {
State.variables.dungeonEnergyGeneration = 0; // Energy generated per turn
}
if (!State.variables.dungeonLastEnergyGeneration) {
State.variables.dungeonLastEnergyGeneration = 0; // Last time energy was generated
}
if (!State.variables.gold) {
State.variables.gold = 1000; // Starting gold
}
if (!State.variables.crystals) {
State.variables.crystals = 50; // Starting crystals
}
if (!State.variables.dungeonGoldGeneration) {
State.variables.dungeonGoldGeneration = 0; // Gold generated per day
}
if (!State.variables.dungeonCrystalGeneration) {
State.variables.dungeonCrystalGeneration = 0; // Crystals generated per day
}
if (!State.variables.dungeonMana) {
State.variables.dungeonMana = 100; // Starting mana
}
if (!State.variables.dungeonManaGeneration) {
State.variables.dungeonManaGeneration = 0; // Mana generated per day
}
if (!State.variables.dungeonCoreLevel) {
State.variables.dungeonCoreLevel = 1; // Core level (1, 2, 3)
}
if (!State.variables.goldIncrease) {
State.variables.goldIncrease = 0; // Gold increase from buildings
}
if (!State.variables.manaIncrease) {
State.variables.manaIncrease = 0; // Crystal increase from buildings
}
},
// Get building upgrade data
getBuildingUpgradeData: function(buildingType, currentLevel) {
const buildingData = this.getBuildingData(buildingType);
if (!buildingData) return null;
const nextLevel = currentLevel + 1;
const coreLevel = State.variables.dungeonCoreLevel || 1;
// Can't upgrade beyond core level
if (nextLevel > coreLevel) return null;
// Handle special upgrade cost structures for prison and goblin-mansion
let upgradeCost = 0;
let upgradeGoldCost = 0;
let upgradeCrystalCost = 0;
if (buildingData.upgradeCosts && buildingData.upgradeCosts[currentLevel - 1] !== undefined) {
// Use predefined upgrade costs (for prison and goblin-mansion)
upgradeCost = buildingData.upgradeCosts[currentLevel - 1];
upgradeGoldCost = buildingData.upgradeGoldCosts ? (buildingData.upgradeGoldCosts[currentLevel - 1] || 0) : 0;
upgradeCrystalCost = buildingData.upgradeCrystalCosts ? (buildingData.upgradeCrystalCosts[currentLevel - 1] || 0) : 0;
} else {
// Use default calculation (quadruple each level: 1x, 4x, 16x)
upgradeCost = buildingData.cost * Math.pow(4, currentLevel);
upgradeGoldCost = buildingData.goldCost ? buildingData.goldCost * Math.pow(4, currentLevel) : 0;
upgradeCrystalCost = buildingData.crystalCost ? buildingData.crystalCost * Math.pow(4, currentLevel) : 0;
}
// Calculate upgrade effects (additive: +1x, +2x, +3x total)
const upgradeEffects = {};
Object.keys(buildingData.effects).forEach(effect => {
if (effect === 'population') {
// Population increases by base amount per upgrade for goblin-mansion and cat-house
if (buildingType === 'goblin-mansion' || buildingType === 'cat-house') {
upgradeEffects[effect] = buildingData.effects[effect] * (currentLevel + 1);
} else {
// Population doesn't increase on upgrades for other buildings
upgradeEffects[effect] = buildingData.effects[effect];
}
} else if (effect === 'prisonerLove') {
// PrisonerLove increases by 1 per upgrade
upgradeEffects[effect] = buildingData.effects[effect] * (currentLevel + 1);
} else {
// Other effects scale additively with level: Level 1 = 1x, Level 2 = 2x, Level 3 = 3x
upgradeEffects[effect] = buildingData.effects[effect] * (currentLevel + 1);
}
});
return {
level: nextLevel,
cost: upgradeCost,
goldCost: upgradeGoldCost,
crystalCost: upgradeCrystalCost,
effects: upgradeEffects,
maxLevel: buildingData.maxLevel
};
},
// Upgrade building
upgradeBuilding: function(x, y) {
const tile = State.variables.dungeonTiles.find(t => t.x === x && t.y === y);
if (!tile || !tile.building) return { success: false, message: 'No building found' };
const currentLevel = tile.level || 1;
const upgradeData = this.getBuildingUpgradeData(tile.building, currentLevel);
if (!upgradeData) {
return { success: false, message: 'Cannot upgrade this building further' };
}
// Check if we have enough resources
if (State.variables.dungeonEnergy < upgradeData.cost) {
return { success: false, message: `Not enough energy! Need ${upgradeData.cost}, have ${State.variables.dungeonEnergy}` };
}
if (upgradeData.goldCost && State.variables.gold < upgradeData.goldCost) {
return { success: false, message: `Not enough gold! Need ${upgradeData.goldCost}, have ${State.variables.gold}` };
}
if (upgradeData.crystalCost && State.variables.crystals < upgradeData.crystalCost) {
return { success: false, message: `Not enough crystals! Need ${upgradeData.crystalCost}, have ${State.variables.crystals}` };
}
// Spend resources
State.variables.dungeonEnergy -= upgradeData.cost;
if (upgradeData.goldCost) State.variables.gold -= upgradeData.goldCost;
if (upgradeData.crystalCost) State.variables.crystals -= upgradeData.crystalCost;
// Upgrade building
tile.level = upgradeData.level;
// Update stats
this.calculateStats();
this.updateDisplay();
return {
success: true,
message: `Building upgraded to level ${upgradeData.level}!`,
level: upgradeData.level
};
},
// Get building data
getBuildingData: function(buildingType) {
const buildings = {
'mansion': {
name: 'Mansion',
icon: '🏰',
cost: 350,
description: 'A grand mansion that houses all 7 residents. Generates 35 energy, 70 gold, and 14 crystals per day.',
effects: { population: 7, energyGeneration: 35, goldGeneration: 70, crystalGeneration: 14 },
maxLevel: 3
},
'energy-generator': {
name: 'Energy Generator',
icon: '🔮',
cost: 30,
description: 'Generates magical energy for the dungeon',
effects: { energyGeneration: 2 },
maxLevel: 3
},
'goldmine': {
name: 'Gold Mine',
icon: '⛏️',
cost: 30,
goldCost: 100,
description: 'Extracts precious gold from the earth',
effects: { goldGeneration: 5 },
maxLevel: 3
},
'crystal-mine': {
name: 'Crystal Mine',
icon: '💎',
cost: 30,
crystalCost: 8,
description: 'Mines magical crystals from deep underground',
effects: { crystalGeneration: 2 },
maxLevel: 3
},
'kitchen': {
name: 'Kitchen',
icon: '🍳',
cost: 60,
description: 'Food preparation and cooking',
effects: { food: 3, morale: 1 }
},
'training-ground': {
name: 'Training Ground',
icon: '⚔️',
cost: 120,
description: 'Combat training and exercise',
effects: { combat: 2, fitness: 2 }
},
'garden': {
name: 'Garden',
icon: '🌱',
cost: 80,
description: 'Growing herbs and plants',
effects: { herbs: 2, beauty: 1 }
},
'throne-room': {
name: 'Throne Room',
icon: '👑',
cost: 300,
description: 'Royal audience chamber',
effects: { authority: 5, luxury: 3 }
},
'goblin-tavern': {
name: 'Goblin Tavern',
icon: '🍺',
cost: 0,
upgradeCosts: [400, 800], // Level 2: 400, Level 3: 800
description: 'A lively tavern where goblins gather to drink and celebrate',
effects: { goldGeneration: -20, combat: 2 },
maxLevel: 3
},
'goblin-barracks': {
name: 'Goblin Barracks',
icon: '🛡️',
cost: 0,
upgradeCosts: [600, 1200], // Level 2: 600, Level 3: 1200
description: 'Military quarters for goblin warriors',
effects: { goldGeneration: -30, combat: 3 },
maxLevel: 3
},
'prison': {
name: 'Prison',
icon: '🔒',
cost: 0,
upgradeCosts: [500, 1000, 2000], // Level 2: 500, Level 3: 1000, Level 4: 2000
upgradeCrystalCosts: [60, 120, 240], // Level 2: 60, Level 3: 120, Level 4: 240
description: 'A secure prison for captured enemies',
effects: { goldGeneration: -25, prisonerLove: 1 },
maxLevel: 4
},
'goblin-mansion': {
name: 'Goblin Mansion',
icon: '🏰',
cost: 0,
upgradeCosts: [500, 1000, 2000], // Level 2: 500, Level 3: 1000, Level 4: 2000
upgradeCrystalCosts: [60, 120, 240], // Level 2: 60, Level 3: 120, Level 4: 240
description: 'A grand mansion for goblin nobility',
effects: { population: 5, goldGeneration: -50 },
maxLevel: 4
},
'cat-house': {
name: 'Cat House',
icon: '🐱',
cost: 0,
upgradeCosts: [500, 1000, 2000], // Level 2: 500, Level 3: 1000, Level 4: 2000
upgradeCrystalCosts: [60, 120, 240], // Level 2: 60, Level 3: 120, Level 4: 240
description: 'A cozy home for feline residents',
effects: { population: 5, goldGeneration: -50 },
maxLevel: 4
},
'fashion-boutique': {
name: 'Fashion Boutique',
icon: '👗',
cost: 0,
upgradeCosts: [600, 1200], // Level 2: 600, Level 3: 1200
description: 'A stylish boutique selling fashionable clothing',
effects: { goldGeneration: -30, combat: 3 },
maxLevel: 3
}
};
return buildings[buildingType] || null;
},
// Calculate total dungeon stats
calculateStats: function() {
const stats = {
population: 0,
storage: 0,
crafting: 0,
research: 0,
food: 0,
combat: 0,
herbs: 0,
authority: 0,
security: 0,
repair: 0,
magic: 0,
morale: 0,
fitness: 0,
beauty: 0,
luxury: 0,
prisonerLove: 0,
energyGeneration: 0,
goldGeneration: 0,
crystalGeneration: 0
};
State.variables.dungeonTiles.forEach(tile => {
if (tile.building) {
const buildingData = this.getBuildingData(tile.building);
if (buildingData && buildingData.effects) {
const level = tile.level || 1;
console.log(`Processing building: ${tile.building}, level: ${level}, effects:`, buildingData.effects);
Object.keys(buildingData.effects).forEach(stat => {
if (stat === 'population') {
// Population scaling depends on building type
if (tile.building === 'goblin-mansion' || tile.building === 'cat-house') {
// Goblin mansion and cat house population scales with level: Level 1 = 5, Level 2 = 10, Level 3 = 15, Level 4 = 20
stats[stat] += buildingData.effects[stat] * level;
} else {
// Other buildings: Population is always the base amount per building, regardless of level
stats[stat] += buildingData.effects[stat];
}
} else {
// Other effects scale additively with level: Level 1 = 1x, Level 2 = 2x, Level 3 = 3x
const multiplier = level; // Level 1 = 1x, Level 2 = 2x, Level 3 = 3x
stats[stat] += buildingData.effects[stat] * multiplier;
}
});
}
}
});
// Add recruited prisoners to population
if (State.variables.recruitedPrisoners && Array.isArray(State.variables.recruitedPrisoners)) {
stats.population += State.variables.recruitedPrisoners.length;
}
// Calculate population-based resource generation: 5 energy, 3 gold, 1 crystal per population
const populationEnergy = stats.population * 5;
const populationGold = stats.population * 3;
const populationCrystals = stats.population * 1;
// Calculate population-based Eros bonus: rounded population / 10
const populationEros = Math.round(stats.population / 10);
stats.combat += populationEros;
// Calculate total generation (population + building-based)
stats.energyGeneration = populationEnergy + stats.energyGeneration;
stats.goldGeneration = populationGold + stats.goldGeneration;
stats.crystalGeneration = populationCrystals + stats.crystalGeneration;
// Update the global generation variables
State.variables.dungeonPopulation = stats.population;
State.variables.dungeonEnergyGeneration = stats.energyGeneration;
State.variables.dungeonGoldGeneration = stats.goldGeneration;
State.variables.dungeonCrystalGeneration = stats.crystalGeneration;
return stats;
},
// Generate resources based on population and buildings
generateResources: function() {
const stats = this.calculateStats();
const energyToAdd = stats.energyGeneration;
const goldToAdd = stats.goldGeneration;
const crystalsToAdd = stats.crystalGeneration;
let totalGenerated = 0;
if (energyToAdd !== 0) {
State.variables.dungeonEnergy += energyToAdd;
totalGenerated += Math.abs(energyToAdd);
}
if (goldToAdd !== 0) {
// Add to goldIncrease instead of directly to gold
State.variables.goldIncrease += goldToAdd;
totalGenerated += Math.abs(goldToAdd);
}
if (crystalsToAdd !== 0) {
// Add to crystalIncrease instead of directly to crystals
State.variables.crystalIncrease += crystalsToAdd;
totalGenerated += Math.abs(crystalsToAdd);
}
if (totalGenerated > 0) {
State.variables.dungeonLastEnergyGeneration = Date.now();
this.updateDisplay();
}
return {
energy: energyToAdd,
gold: goldToAdd,
crystals: crystalsToAdd,
total: totalGenerated
};
},
// Generate energy based on population (legacy function for compatibility)
generateEnergy: function() {
const resources = this.generateResources();
return resources.energy;
},
// Check if resources should be generated (called periodically)
checkResourceGeneration: function() {
const now = Date.now();
const timeSinceLastGeneration = now - State.variables.dungeonLastEnergyGeneration;
// Generate resources every 24 hours (86400000 ms) or when first visiting
if (timeSinceLastGeneration >= 86400000 || State.variables.dungeonLastEnergyGeneration === 0) {
return this.generateResources();
}
return { energy: 0, gold: 0, crystals: 0, total: 0 };
},
// Check if energy should be generated (legacy function for compatibility)
checkEnergyGeneration: function() {
const resources = this.checkResourceGeneration();
return resources.energy;
},
// Spend energy
spendEnergy: function(amount) {
if (State.variables.dungeonEnergy >= amount) {
State.variables.dungeonEnergy -= amount;
return true;
}
return false;
},
// Add new tile
addTile: function(x, y, isMainTile = false) {
// For normal tiles, check if we've reached the limit based on core level
if (!isMainTile) {
const coreLevel = State.variables.dungeonCoreLevel || 1;
const maxNormalTiles = 3 * coreLevel;
const currentNormalTiles = State.variables.dungeonTiles.filter(t => !t.isMainTile).length;
if (currentNormalTiles >= maxNormalTiles) return false;
}
State.variables.dungeonTiles.push({
x: x,
y: y,
type: 'empty',
building: null,
isMainTile: isMainTile,
id: Date.now() + Math.random()
});
return true;
},
// Remove building from tile
removeBuilding: function(x, y) {
const tile = State.variables.dungeonTiles.find(t => t.x === x && t.y === y);
if (!tile || !tile.building) {
console.log('Remove building failed: No tile or building found at', x, y);
return false;
}
console.log('Found tile with building:', tile.building, 'isMainTile:', tile.isMainTile);
// Check if it's a main tile (main buildings cannot be removed)
if (tile.isMainTile) {
console.log('Remove building failed: Main tile cannot be removed');
return false;
}
const buildingData = this.getBuildingData(tile.building);
console.log('Building data for', tile.building, ':', buildingData);
if (!buildingData) {
console.log('Remove building failed: Building data not found for', tile.building);
return false;
}
// Calculate total investment including all upgrades
const buildingLevel = tile.level || 1;
let totalInvestment = buildingData.cost; // Base cost
let totalGoldInvestment = buildingData.goldCost || 0;
let totalCrystalInvestment = buildingData.crystalCost || 0;
// Add upgrade costs for each level
for (let level = 1; level < buildingLevel; level++) {
if (buildingData.upgradeCosts && buildingData.upgradeCosts[level - 1] !== undefined) {
// Use predefined upgrade costs (for prison and goblin-mansion)
totalInvestment += buildingData.upgradeCosts[level - 1];
totalGoldInvestment += buildingData.upgradeGoldCosts ? (buildingData.upgradeGoldCosts[level - 1] || 0) : 0;
totalCrystalInvestment += buildingData.upgradeCrystalCosts ? (buildingData.upgradeCrystalCosts[level - 1] || 0) : 0;
} else {
// Use default calculation (quadruple each level)
totalInvestment += buildingData.cost * Math.pow(4, level);
totalGoldInvestment += buildingData.goldCost ? buildingData.goldCost * Math.pow(4, level) : 0;
totalCrystalInvestment += buildingData.crystalCost ? buildingData.crystalCost * Math.pow(4, level) : 0;
}
}
// Refund 50% of total investment
const energyRefund = Math.floor(totalInvestment / 2);
const goldRefund = Math.floor(totalGoldInvestment / 2);
const crystalRefund = Math.floor(totalCrystalInvestment / 2);
// Add refunds
State.variables.dungeonEnergy += energyRefund;
State.variables.gold += goldRefund;
State.variables.crystals += crystalRefund;
// Remove building from tile and reset level to 1
tile.building = null;
tile.level = 1;
// Build refund message
let message = `Building removed! Refunded ${energyRefund} energy`;
if (goldRefund > 0) message += `, ${goldRefund} gold`;
if (crystalRefund > 0) message += `, ${crystalRefund} crystals`;
message += '.';
return {
success: true,
message: message,
energyRefund: energyRefund,
goldRefund: goldRefund,
crystalRefund: crystalRefund
};
},
// Place building on tile
placeBuilding: function(x, y, buildingType) {
const buildingData = this.getBuildingData(buildingType);
if (!buildingData) return false;
// Check mansion limit
if (buildingType === 'mansion') {
const currentMansions = State.variables.dungeonTiles.filter(t => t.building === 'mansion').length;
if (currentMansions >= 1) {
return false; // Max 1 mansion allowed
}
}
// Skip energy cost for free buildings
if (buildingData.cost > 0 && !this.spendEnergy(buildingData.cost)) return false;
// Spend additional resources
if (buildingData.goldCost) {
if (State.variables.gold < buildingData.goldCost) return false;
State.variables.gold -= buildingData.goldCost;
}
if (buildingData.crystalCost) {
if (State.variables.crystals < buildingData.crystalCost) return false;
State.variables.crystals -= buildingData.crystalCost;
}
const tile = State.variables.dungeonTiles.find(t => t.x === x && t.y === y);
if (!tile) return false;
tile.building = buildingType;
tile.buildingId = Date.now() + Math.random();
return true;
},
// Find empty position for new tile
findEmptyPosition: function(isMainTile = false) {
const existingPositions = State.variables.dungeonTiles.map(t => `${t.x},${t.y}`);
const corePositions = ['0,0'];
const allUsed = [...existingPositions, ...corePositions];
if (isMainTile) {
// Main tiles go next to the core (left and right)
const mainTilePositions = [
{x: -1, y: 0}, // Left of core
{x: 1, y: 0} // Right of core
];
for (let pos of mainTilePositions) {
const posStr = `${pos.x},${pos.y}`;
if (!allUsed.includes(posStr)) {
return pos;
}
}
} else {
// Normal tiles go below the main tiles (y = 1, but prioritize positions below main tiles)
// First try positions below main tiles (y = 1, x = -1 and x = 1)
const belowMainTilePositions = [
{x: -1, y: 1}, // Below left main tile
{x: 1, y: 1} // Below right main tile
];
for (let pos of belowMainTilePositions) {
const posStr = `${pos.x},${pos.y}`;
if (!allUsed.includes(posStr)) {
return pos;
}
}
// If no space below main tiles, try other positions below the core
const normalTilePositions = [
{x: -2, y: 1}, {x: 0, y: 1}, {x: 2, y: 1},
{x: -3, y: 1}, {x: 3, y: 1}, {x: -4, y: 1}, {x: 4, y: 1}
];
for (let pos of normalTilePositions) {
const posStr = `${pos.x},${pos.y}`;
if (!allUsed.includes(posStr)) {
return pos;
}
}
// If no space below core, try other positions
for (let radius = 2; radius <= 10; radius++) {
for (let x = -radius; x <= radius; x++) {
for (let y = -radius; y <= radius; y++) {
if (Math.abs(x) === radius || Math.abs(y) === radius) {
const pos = `${x},${y}`;
if (!allUsed.includes(pos)) {
return {x, y};
}
}
}
}
}
}
return null; // No space available
},
// Get tile at position
getTile: function(x, y) {
return State.variables.dungeonTiles.find(t => t.x === x && t.y === y);
},
// Update display (called by UI)
updateDisplay: function() {
if (typeof updateEnergyDisplay === 'function') {
updateEnergyDisplay();
}
},
// Save dungeon state
saveState: function() {
State.variables.dungeonLastSaved = Date.now();
},
// Load dungeon state
loadState: function() {
this.init();
},
// Get core upgrade data
getCoreUpgradeData: function(level) {
const upgrades = {
2: {
cost: 300,
tilesAdded: 3,
description: 'Expands the dungeon core, adding 3 new tiles'
},
3: {
cost: 500,
tilesAdded: 3,
description: 'Further expands the dungeon core, adding 3 more tiles'
}
};
return upgrades[level] || null;
},
// Upgrade core to next level
upgradeCore: function() {
const currentLevel = State.variables.dungeonCoreLevel;
const nextLevel = currentLevel + 1;
if (nextLevel > 3) {
return { success: false, message: 'Core is already at maximum level!' };
}
const upgradeData = this.getCoreUpgradeData(nextLevel);
if (!upgradeData) {
return { success: false, message: 'Invalid upgrade level!' };
}
if (State.variables.dungeonEnergy < upgradeData.cost) {
return {
success: false,
message: `Not enough energy! Need ${upgradeData.cost}, have ${State.variables.dungeonEnergy}`
};
}
// Spend energy
State.variables.dungeonEnergy -= upgradeData.cost;
// Upgrade core level
State.variables.dungeonCoreLevel = nextLevel;
// Recalculate available tiles based on new core level
State.variables.availableTiles = 3 * nextLevel;
const tilesAdded = (3 * nextLevel) - (3 * (nextLevel - 1));
return {
success: true,
message: `Core upgraded to level ${nextLevel}! Now you can place ${3 * nextLevel} normal tiles total.`,
newLevel: nextLevel,
tilesAdded: tilesAdded
};
},
// Check if core can be upgraded
canUpgradeCore: function() {
const currentLevel = State.variables.dungeonCoreLevel;
if (currentLevel >= 3) return false;
const nextLevel = currentLevel + 1;
const upgradeData = this.getCoreUpgradeData(nextLevel);
if (!upgradeData) return false;
return State.variables.dungeonEnergy >= upgradeData.cost;
}
};
// Initialize when widget loads
window.DungeonManagement.init();
<</script>>
<</widget>><<widget "showNotification">>
<<run
// Get the notification message and type from arguments
const message = $args[0] || "Notification";
const type = $args[1] || "default";
// Call the notification system
window.showNotification(message, type);
>>
<</widget>>
<<widget "tattoo">>
<<set _character = $args[0] || "serin">>
<<set _intensity = $args[1] || 1>>
<<set _scale = 1 + (_intensity * 0.05)>>
<<set _glow = _intensity * 10>>
<<set _opacity = 0.3 + (_intensity * 0.2)>>
<center><div style="background: linear-gradient(145deg, rgba(0, 0, 0, 0.9), rgba(20, 20, 20, 0.95)); border-radius: 50%; padding: 20px; margin: 20px 0; display: inline-block; animation: pulse_<<print _character>> 2s ease-in-out infinite;"><img src="images/<<print _character>>/tattoo/sin.webp" style="width: 500px; max-width: 100%; height: auto; border-radius: 50%; display: block;" alt="<<print _character>>'s dark side"></div></center>
<style>
@keyframes pulse_<<print _character>> {
0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 20, 147, 0.7); }
50% { transform: scale(<<print _scale>>); box-shadow: 0 0 <<print _glow>>px <<print _glow/2>>px rgba(255, 20, 147, <<print _opacity>>); }
100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 20, 147, 0.7); }
}
</style>
<</widget>><<widget "addAura">>
<<run
if (window.SidebarEffects) {
window.SidebarEffects.addAura($args[0], $args[1]);
} else {
$(document).ready(function() {
if (window.SidebarEffects) {
window.SidebarEffects.addAura($args[0], $args[1]);
}
});
}
>>
<</widget>>
<<widget "removeAura">>
<<run
if (window.SidebarEffects) {
window.SidebarEffects.removeAura($args[0]);
} else {
$(document).ready(function() {
if (window.SidebarEffects) {
window.SidebarEffects.removeAura($args[0]);
}
});
}
>>
<</widget>>
<<widget "addChibi">>
<<run
if (window.SidebarEffects) {
window.SidebarEffects.addChibi($args[0], $args[1]);
} else {
$(document).ready(function() {
if (window.SidebarEffects) {
window.SidebarEffects.addChibi($args[0], $args[1]);
}
});
}
>>
<</widget>>
<<widget "removeChibi">>
<<run
if (window.SidebarEffects) {
window.SidebarEffects.removeChibi($args[0]);
} else {
$(document).ready(function() {
if (window.SidebarEffects) {
window.SidebarEffects.removeChibi($args[0]);
}
});
}
>>
<</widget>>
<<widget "calculateEros">>
<<run
// Calculate Eros stat: Dungeon Combat + (All Fetish Values Combined / 7 / 50) + Troop Eros
const characters = ["Rylan", "Mariel", "Thalor", "Liora", "Serin", "Seryk", "Nimeria"];
const fetishCategories = [
"SmellFetish", "MuscleFetish", "ThighFetish", "FeetFetish", "ArmpitFetish",
"BreastFetish", "AssFetish", "PenisFetish", "VaginaFetish", "CumAddiction",
"SweatFetish", "SalivaFetish", "SubmissionFetish", "DominanceFetish",
"ExhibitionismFetish", "VoyeurismFetish", "BondageFetish", "CrossdressingFetish",
"GayValue", "LesbianValue"
];
let totalFetishValues = 0;
// Sum all fetish values from all characters
characters.forEach(character => {
fetishCategories.forEach(fetish => {
totalFetishValues += setup.getStat(character, "fetishes", fetish) || 0;
});
});
// Get troop Eros (goblin troops contribute 1 Eros per level, Sora's elite forces contribute 2 Eros per level)
const goblinTroopEros = (State.variables.goblinTroopLevel || 1) * 1;
const soraTroopEros = (State.variables.soraTroopLevel || 1) * 2;
const troopEros = goblinTroopEros + soraTroopEros;
// Calculate dungeon combat dynamically using DungeonManagement widget
const dungeonStats = window.DungeonManagement ? window.DungeonManagement.calculateStats() : { combat: 0 };
const dungeonCombat = dungeonStats.combat || 0;
// Calculate population Eros bonus
const populationEros = Math.round(dungeonStats.population / 10);
// Calculate underwear Eros bonus based on currently worn items
let underwearEros = 0;
// Check currently worn wardrobe items (all characters) - exclude white/default items
if (State.variables.wardrobe) {
const characters = ["rylan", "liora", "serin", "mariel", "seryk", "nimeria", "thalor"];
characters.forEach(character => {
if (State.variables.wardrobe[character]) {
const charWardrobe = State.variables.wardrobe[character];
// Check bra
if (charWardrobe.bra) {
let braEros = 1; // Default Eros bonus
// Male Rylan gets 3x Eros bonus for bras
if (character === 'rylan' && (!State.variables.rylanFemboy || State.variables.rylanMasculine)) {
braEros = 3;
}
// Seryk gets 3x Eros bonus for bras
if (character === 'seryk') {
braEros = 3;
}
if (charWardrobe.bra === 'normalblack') underwearEros += braEros;
if (charWardrobe.bra === 'normalpink') underwearEros += braEros;
if (charWardrobe.bra === 'normalpurple') underwearEros += braEros * 2; // Purple gives 2x Eros (2 for femboy, 6 for male)
// Note: normalwhite (default) does not add Eros
}
// Check panties
if (charWardrobe.panties) {
let pantyEros = 1; // Default Eros bonus
// Male Rylan gets 3x Eros bonus for panties
if (character === 'rylan' && (!State.variables.rylanFemboy || State.variables.rylanMasculine)) {
pantyEros = 3;
}
// Seryk gets 3x Eros bonus for panties
if (character === 'seryk') {
pantyEros = 3;
}
// Boxers
if (charWardrobe.panties === 'normalblack') underwearEros += pantyEros;
if (charWardrobe.panties === 'normalpink') underwearEros += pantyEros;
if (charWardrobe.panties === 'normalpurple') underwearEros += pantyEros * 2; // Purple gives 2x Eros (2 for femboy, 6 for male)
// Briefs
if (charWardrobe.panties === 'briefswhite') underwearEros += 0; // White briefs = 0 Eros (same as normalwhite)
if (charWardrobe.panties === 'briefsblack') underwearEros += pantyEros;
if (charWardrobe.panties === 'briefspink') underwearEros += pantyEros;
if (charWardrobe.panties === 'briefspurple') underwearEros += pantyEros * 2; // Purple gives 2x Eros (2 for femboy, 6 for male)
// Note: normalwhite (default) does not add Eros
}
// Check legwear
if (charWardrobe.legwear) {
let legwearEros = 1; // Default Eros bonus
// Male Rylan gets 3x Eros bonus for legwear
if (character === 'rylan' && (!State.variables.rylanFemboy || State.variables.rylanMasculine)) {
legwearEros = 3;
}
// Seryk gets 3x Eros bonus for legwear
if (character === 'seryk') {
legwearEros = 3;
}
if (charWardrobe.legwear === 'knittedsocks') underwearEros += legwearEros;
if (charWardrobe.legwear === 'normalblack') underwearEros += legwearEros;
if (charWardrobe.legwear === 'normalpink') underwearEros += legwearEros;
if (charWardrobe.legwear === 'normalpurple') underwearEros += legwearEros * 2; // Purple gives 2x Eros (2 for femboy, 6 for male)
// Note: normalwhite (default) does not add Eros
}
// Check briefs (only for male Rylan)
if (charWardrobe.briefs && character === 'rylan' && !State.variables.rylanFemboy) {
let briefsEros = 1; // Default Eros bonus
// Male Rylan gets 3x Eros bonus for briefs
briefsEros = 3;
// Base briefs Eros
if (charWardrobe.briefs === 'briefswhite') underwearEros += briefsEros;
if (charWardrobe.briefs === 'briefsblack') underwearEros += briefsEros;
if (charWardrobe.briefs === 'briefspink') underwearEros += briefsEros;
if (charWardrobe.briefs === 'briefspurple') underwearEros += briefsEros * 2; // Purple gives 2x Eros (6 for male)
// Wet bonus (based on lust level, not separate items)
const lustVar = State.variables[`${character}_Lust`] || 0;
if (lustVar >= 50) {
if (charWardrobe.briefs === 'briefswhite') underwearEros += 2; // Wet white: 3 + 2 = 5
if (charWardrobe.briefs === 'briefsblack') underwearEros += 2; // Wet black: 3 + 2 = 5
if (charWardrobe.briefs === 'briefspink') underwearEros += 2; // Wet pink: 3 + 2 = 5
if (charWardrobe.briefs === 'briefspurple') underwearEros += 2; // Wet purple: 6 + 2 = 8
}
}
}
});
}
// Store prisoner love for daily rewards
State.temporary.dungeonPrisonerLoveGeneration = dungeonStats.prisonerLove || 0;
// Get permanent Eros bonus (from special rewards like Sora's Knitting Kit)
const permanentBonus = State.variables.erosPermanentBonus || 0;
// Calculate Eros: Dungeon Combat + (Total Fetishes / 7 / 50) + Troop Eros + Population Eros + Underwear Eros + Permanent Bonus
const erosValue = Math.round(dungeonCombat + (totalFetishValues / 7 / 50) + troopEros + populationEros + underwearEros + permanentBonus);
// Store the calculated value
State.variables.erosStat = erosValue;
>>
<</widget>>
<<widget "clearSidebarEffects">>
<<run
if (window.SidebarEffects) {
window.SidebarEffects.clearAll();
} else {
$(document).ready(function() {
if (window.SidebarEffects) {
window.SidebarEffects.clearAll();
}
});
}
>>
<</widget>>
<<widget "addFloatingEffect">>
<<run
// $args[0] = character name, $args[1] = aura type, $args[2] = chibi model
// $args[3] = options object: {intensity, radius, opacity, speed}
const options = $args[3] || {};
if (window.FloatingEffects) {
window.FloatingEffects.addEffect($args[0], $args[1], $args[2], options);
} else {
$(document).ready(function() {
if (window.FloatingEffects) {
window.FloatingEffects.addEffect($args[0], $args[1], $args[2], options);
}
});
}
>>
<</widget>>
<<widget "removeFloatingEffect">>
<<run
if (window.FloatingEffects) {
window.FloatingEffects.removeEffect($args[0]);
} else {
$(document).ready(function() {
if (window.FloatingEffects) {
window.FloatingEffects.removeEffect($args[0]);
}
});
}
>>
<</widget>>
<<widget "clearFloatingEffects">>
<<run
if (window.FloatingEffects) {
window.FloatingEffects.clearAll();
} else {
$(document).ready(function() {
if (window.FloatingEffects) {
window.FloatingEffects.clearAll();
}
});
}
>>
<</widget>>
<<widget "setSidebarImage">>
<<run
// $args[0] = character name, $args[1] = image path, $args[2] = wet image path (optional)
const character = $args[0].toLowerCase();
const imagePath = $args[1];
const wetImagePath = $args[2] || imagePath;
if (!State.variables.sidebarImages) {
State.variables.sidebarImages = {};
}
State.variables.sidebarImages[character] = {
normal: imagePath,
wet: wetImagePath
};
if (window.SidebarEffects) {
window.SidebarEffects.refreshPortraits();
} else {
$(document).ready(function() {
if (window.SidebarEffects) {
window.SidebarEffects.refreshPortraits();
}
});
}
>>
<</widget>>
<<widget "setSidebarTransformation">>
<<run
// $args[0] = character name, $args[1] = transformation type, $args[2] = image path, $args[3] = wet image path (optional)
const character = $args[0].toLowerCase();
const transformationType = $args[1];
const imagePath = $args[2];
const wetImagePath = $args[3] || imagePath;
if (!State.variables.sidebarTransformations) {
State.variables.sidebarTransformations = {};
}
if (!State.variables.sidebarTransformations[character]) {
State.variables.sidebarTransformations[character] = {};
}
State.variables.sidebarTransformations[character][transformationType] = {
normal: imagePath,
wet: wetImagePath
};
if (window.SidebarEffects) {
window.SidebarEffects.refreshPortraits();
} else {
$(document).ready(function() {
if (window.SidebarEffects) {
window.SidebarEffects.refreshPortraits();
}
});
}
>>
<</widget>>
<<widget "activateSidebarTransformation">>
<<run
// $args[0] = character name, $args[1] = transformation type
const character = $args[0].toLowerCase();
const transformationType = $args[1];
if (!State.variables.activeSidebarTransformations) {
State.variables.activeSidebarTransformations = {};
}
State.variables.activeSidebarTransformations[character] = transformationType;
if (window.SidebarEffects) {
window.SidebarEffects.refreshPortraits();
} else {
$(document).ready(function() {
if (window.SidebarEffects) {
window.SidebarEffects.refreshPortraits();
}
});
}
>>
<</widget>>
<<widget "serinFuta">>
<<set _amount = $args[0] || 1>>
<<run
const amount = State.temporary.amount;
const currentLevel = State.variables.serinFutanarity || 0;
const newLevel = Math.min(currentLevel + amount, 30);
const actualIncrease = newLevel - currentLevel;
if (actualIncrease > 0) {
State.variables.serinFutanarity = newLevel;
if (window.StatSystem) {
window.StatSystem.showStatChange("Serin", null, "transformation", actualIncrease);
}
if (newLevel >= 1) {
State.variables.serinFutanari = true;
}
console.log(`Serin futanari level: ${currentLevel} -> ${newLevel}`);
}
>>
<<trackOther "Serin" "Futanarity" _amount>>
<</widget>>
<<widget "deactivateSidebarTransformation">>
<<run
// $args[0] = character name
const character = $args[0].toLowerCase();
if (State.variables.activeSidebarTransformations) {
delete State.variables.activeSidebarTransformations[character];
}
if (window.SidebarEffects) {
window.SidebarEffects.refreshPortraits();
} else {
$(document).ready(function() {
if (window.SidebarEffects) {
window.SidebarEffects.refreshPortraits();
}
});
}
>>
<</widget>>
<<widget "resetSidebarImage">>
<<run
// $args[0] = character name
const character = $args[0].toLowerCase();
if (State.variables.sidebarImages) {
delete State.variables.sidebarImages[character];
}
if (State.variables.activeSidebarTransformations) {
delete State.variables.activeSidebarTransformations[character];
}
if (window.SidebarEffects) {
window.SidebarEffects.refreshPortraits();
} else {
$(document).ready(function() {
if (window.SidebarEffects) {
window.SidebarEffects.refreshPortraits();
}
});
}
>>
<</widget>>
<<widget "resistanceRoll">>
<<nobr>>
<<set _tempCharacter = $args[0]>>
<<set _tempRollValue = $args[1]>>
<<set _tempThresholdValue = $args[2]>>
<<set _tempRollName = $args[3] ? $args[3] : "RESISTANCE ROLL">>
<<set _tempIsSuccess = _tempRollValue > _tempThresholdValue>>
<<set _tempRollId = "resistanceRoll_" + Date.now() + "_" + Math.floor(Math.random() * 10000)>>
<div id="_tempRollId" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; background: linear-gradient(145deg, rgba(25, 25, 35, 0.95), rgba(45, 45, 55, 0.98)); border: 3px solid rgba(255, 182, 193, 0.8); border-radius: 20px; padding: 30px; box-shadow: 0 0 50px rgba(255, 182, 193, 0.5); text-align: center; min-width: 400px; animation: rollPulse 2s ease-in-out;">
<div style="color: #FFB6C1; font-size: 1.8em; font-weight: bold; margin-bottom: 20px; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">🎲 _tempRollName 🎲</div>
<div style="color: #E6E6FA; font-size: 1.2em; margin: 10px 0; line-height: 1.6;">
<div style="margin: 8px 0;">Roll: <span style="color: #FFD700; font-weight: bold;">_tempRollValue%</span></div>
<div style="margin: 8px 0;">Threshold: <span style="color: #87CEEB; font-weight: bold;">_tempThresholdValue%</span></div>
</div>
<div style="margin: 20px 0; font-size: 1.4em; color: #F0E68C; font-weight: bold;">Rolling...</div>
<div style="margin: 15px 0; font-size: 2em; color: #FFD700; font-weight: bold; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">_tempRollValue%</div>
<<if _tempIsSuccess>>
<div style="margin: 15px 0; font-size: 1.3em; font-weight: bold; color: #87CEEB;">✅ RESISTANCE SUCCESS ✅<br>You resist the temptation!</div>
<<else>>
<div style="margin: 15px 0; font-size: 1.3em; font-weight: bold; color: #FF69B4;">❌ RESISTANCE FAILED ❌<br>You give in to temptation!</div>
<</if>>
</div>
<</nobr>>
<style>
@keyframes rollPulse {
0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
20% { transform: translate(-50%, -50%) scale(1.05); opacity: 1; }
80% { transform: translate(-50%, -50%) scale(1.05); opacity: 1; }
100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
}
</style>
<<script>>
setTimeout(function() {
const animation = document.getElementById('_tempRollId');
if (animation) {
animation.style.animation = 'rollPulse 0.5s ease-in-out reverse';
setTimeout(function() {
if (animation) {
animation.style.display = 'none';
}
}, 500);
}
}, 3000);
<</script>>
<</widget>>
<<widget "soulBlessingAnimation">>
<<nobr>>
<<set _tempAnimationId = "soulBlessing_" + Date.now() + "_" + Math.floor(Math.random() * 10000)>>
<<set _tempCharacterList = "">>
<<if $args.length >= 2>>
<<addSoulBlessing $args[0] $args[1]>>
<<set _tempDisplayName = ($args[0] === "Rylan" or $args[0] === "rylan") ? State.variables.humanName : $args[0]>>
<<set _tempCharacterList = _tempCharacterList + _tempDisplayName + " +" + $args[1] + "<br>">>
<</if>>
<<if $args.length >= 4>>
<<addSoulBlessing $args[2] $args[3]>>
<<set _tempDisplayName = ($args[2] === "Rylan" or $args[2] === "rylan") ? State.variables.humanName : $args[2]>>
<<set _tempCharacterList = _tempCharacterList + _tempDisplayName + " +" + $args[3] + "<br>">>
<</if>>
<<if $args.length >= 6>>
<<addSoulBlessing $args[4] $args[5]>>
<<set _tempDisplayName = ($args[4] === "Rylan" or $args[4] === "rylan") ? State.variables.humanName : $args[4]>>
<<set _tempCharacterList = _tempCharacterList + _tempDisplayName + " +" + $args[5] + "<br>">>
<</if>>
<<if $args.length >= 8>>
<<addSoulBlessing $args[6] $args[7]>>
<<set _tempDisplayName = ($args[6] === "Rylan" or $args[6] === "rylan") ? State.variables.humanName : $args[6]>>
<<set _tempCharacterList = _tempCharacterList + _tempDisplayName + " +" + $args[7] + "<br>">>
<</if>>
<<if $args.length >= 10>>
<<addSoulBlessing $args[8] $args[9]>>
<<set _tempDisplayName = ($args[8] === "Rylan" or $args[8] === "rylan") ? State.variables.humanName : $args[8]>>
<<set _tempCharacterList = _tempCharacterList + _tempDisplayName + " +" + $args[9] + "<br>">>
<</if>>
<div id="_tempAnimationId" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; display: none;">
<div style="background: radial-gradient(circle, rgba(255, 215, 0, 0.9), rgba(255, 165, 0, 0.8)); border-radius: 50%; width: 200px; height: 200px; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 50px rgba(255, 215, 0, 0.6); animation: pulse 2s ease-in-out;">
<div style="text-align: center; color: white; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
<h3 style="margin: 0; font-size: 1.5em;">✨ Soul Blessing ✨</h3>
<div style="margin: 5px 0; font-size: 1.1em;">_tempCharacterList</div>
</div></div></div>
<style>
@keyframes pulse {
0% { transform: scale(0.5); opacity: 0; }
50% { transform: scale(1.1); opacity: 1; }
100% { transform: scale(1); opacity: 0.8; }
}
</style>
<<script>>
setTimeout(() => {
const animation = document.getElementById('_tempAnimationId');
if (animation) {
animation.style.display = 'block';
setTimeout(() => {
if (animation) {
animation.style.display = 'none';
}
}, 3000);
}
}, 500);
<</script>>
<</nobr>>
<</widget>>
<<widget "soulCorruptionAnimation">>
<<nobr>>
<<set _tempAnimationId = "soulCorruption_" + Date.now() + "_" + Math.floor(Math.random() * 10000)>>
<<set _tempCharacterList = "">>
<<if $args.length >= 2>>
<<addSoulCorruption $args[0] $args[1]>>
<<set _tempDisplayName = ($args[0] === "Rylan" or $args[0] === "rylan") ? State.variables.humanName : $args[0]>>
<<set _tempCharacterList = _tempCharacterList + _tempDisplayName + " +" + $args[1] + "<br>">>
<</if>>
<<if $args.length >= 4>>
<<addSoulCorruption $args[2] $args[3]>>
<<set _tempDisplayName = ($args[2] === "Rylan" or $args[2] === "rylan") ? State.variables.humanName : $args[2]>>
<<set _tempCharacterList = _tempCharacterList + _tempDisplayName + " +" + $args[3] + "<br>">>
<</if>>
<<if $args.length >= 6>>
<<addSoulCorruption $args[4] $args[5]>>
<<set _tempDisplayName = ($args[4] === "Rylan" or $args[4] === "rylan") ? State.variables.humanName : $args[4]>>
<<set _tempCharacterList = _tempCharacterList + _tempDisplayName + " +" + $args[5] + "<br>">>
<</if>>
<<if $args.length >= 8>>
<<addSoulCorruption $args[6] $args[7]>>
<<set _tempDisplayName = ($args[6] === "Rylan" or $args[6] === "rylan") ? State.variables.humanName : $args[6]>>
<<set _tempCharacterList = _tempCharacterList + _tempDisplayName + " +" + $args[7] + "<br>">>
<</if>>
<<if $args.length >= 10>>
<<addSoulCorruption $args[8] $args[9]>>
<<set _tempDisplayName = ($args[8] === "Rylan" or $args[8] === "rylan") ? State.variables.humanName : $args[8]>>
<<set _tempCharacterList = _tempCharacterList + _tempDisplayName + " +" + $args[9] + "<br>">>
<</if>>
<div id="_tempAnimationId" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999; display: none;">
<div style="background: radial-gradient(circle, rgba(139, 0, 139, 0.9), rgba(75, 0, 130, 0.8)); border-radius: 50%; width: 200px; height: 200px; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 50px rgba(139, 0, 139, 0.6); animation: corruptionPulse 2s ease-in-out;">
<div style="text-align: center; color: white; text-shadow: 2px 2px 4px rgba(0,0,0,0.8);">
<h3 style="margin: 0; font-size: 1.5em;">💀 Soul Corruption 💀</h3>
<div style="margin: 5px 0; font-size: 1.1em;">_tempCharacterList</div>
</div></div></div>
<style>
@keyframes corruptionPulse {
0% { transform: scale(0.5); opacity: 0; }
50% { transform: scale(1.1); opacity: 1; }
100% { transform: scale(1); opacity: 0.8; }
}
</style>
<<script>>
setTimeout(() => {
const animation = document.getElementById('_tempAnimationId');
if (animation) {
animation.style.display = 'block';
setTimeout(() => {
if (animation) {
animation.style.display = 'none';
}
}, 3000);
}
}, 500);
<</script>>
<</nobr>>
<</widget>>
<<widget "changeCrystals">>
<<run
const amount = $args[0] || 0;
if (!State.variables.crystals) {
State.variables.crystals = 0;
}
State.variables.crystals += amount;
// Show visual feedback
if (amount > 0) {
console.log(`+${amount} Crystals (Total: ${State.variables.crystals})`);
} else if (amount < 0) {
console.log(`${amount} Crystals (Total: ${State.variables.crystals})`);
}
>>
<</widget>>
<<widget "changeGold">>
<<run
const amount = $args[0] || 0;
if (!State.variables.gold) {
State.variables.gold = 0;
}
State.variables.gold += amount;
// Show visual feedback
if (amount > 0) {
console.log(`+${amount} Gold (Total: ${State.variables.gold})`);
} else if (amount < 0) {
console.log(`${amount} Gold (Total: ${State.variables.gold})`);
}
>>
<</widget>>
<<widget "setCrystals">>
<<run
const amount = $args[0] || 0;
State.variables.crystals = amount;
console.log(`Crystals set to: ${State.variables.crystals}`);
>>
<</widget>>
<<widget "setGold">>
<<run
const amount = $args[0] || 0;
State.variables.gold = amount;
console.log(`Gold set to: ${State.variables.gold}`);
>>
<</widget>>
<<widget "generatePrisonerName">>
<<run
// Initialize name pools if they don't exist
if (!State.variables.prisonerNames) {
State.variables.prisonerNames = {
beastman: {
male: {
first: [
"Gorak", "Thrak", "Borg", "Krag", "Zog", "Gruk", "Thok", "Brak", "Korg", "Zug",
"Grim", "Thorn", "Bone", "Vork", "Nark", "Grak", "Thuk", "Bolk", "Kurk", "Zark",
"Gor", "Thar", "Bor", "Kor", "Zor", "Gur", "Thur", "Bur", "Kur", "Zur",
"Gash", "Thash", "Bash", "Kash", "Zash", "Gush", "Thush", "Bush", "Kush", "Zush",
"Morg", "Drak", "Frok", "Hork", "Jark", "Lork", "Mork", "Nork", "Pork", "Qark",
"Rork", "Sark", "Tork", "Vark", "Wark", "Xork", "Yark", "Zork", "Arak", "Brak",
"Crak", "Dork", "Eork", "Fark", "Gark", "Hark", "Iork", "Jork", "Kark", "Lark",
"Mark", "Nark", "Orak", "Park", "Qork", "Rark", "Sork", "Tark", "Urak", "Vork",
"Wrak", "Xark", "York", "Zark", "Agak", "Bogak", "Cogak", "Dogak", "Egak", "Fgak",
"Ggak", "Hgak", "Igak", "Jgak", "Kgak", "Lgak", "Mgak", "Ngak", "Ogak", "Pgak",
"Qgak", "Rgak", "Sgak", "Tgak", "Ugak", "Vgak", "Wgak", "Xgak", "Ygak", "Zgak",
"Agor", "Bgor", "Cgor", "Dgor", "Egor", "Fgor", "Ggor", "Hgor", "Igor", "Jgor",
"Kgor", "Lgor", "Mgor", "Ngor", "Ogor", "Pgor", "Qgor", "Rgor", "Sgor", "Tgor",
"Ugor", "Vgor", "Wgor", "Xgor", "Ygor", "Zgor", "Aruk", "Bruk", "Cruk", "Druk",
"Eruk", "Fruk", "Gruk", "Hruk", "Iruk", "Jruk", "Kruk", "Lruk", "Mruk", "Nruk",
"Oruk", "Pruk", "Qruk", "Rruk", "Sruk", "Truk", "Uruk", "Vruk", "Wruk", "Xruk",
"Yruk", "Zruk", "Athak", "Bthak", "Cthak", "Dthak", "Ethak", "Fthak", "Gthak", "Hthak"
],
last: [
"Skullcrusher", "Bonebreaker", "Ironjaw", "Bloodfang", "Goreclaw", "Deathgrip", "Skullsplitter", "Bonegnawer", "Ironhide", "Bloodclaw",
"Gorefang", "Deathjaw", "Skullgnawer", "Boneclaw", "Ironfang", "Bloodhide", "Gorejaw", "Deathclaw", "Skullhide", "Bonefang",
"Ironclaw", "Bloodjaw", "Gorehide", "Deathfang", "Skullclaw", "Bonejaw", "Soulbreaker", "Doomhammer", "Warbringer", "Flesheater",
"Skullfang", "Bonehide", "Ironhide", "Bloodfang", "Gorehide", "Deathjaw", "Skulljaw", "Boneclaw", "Ironclaw", "Bloodhide",
"Gutripper", "Spinecrusher", "Heartseeker", "Limbtearer", "Neckbreaker", "Skulldrinker", "Bonedevourer", "Ironbiter", "Blooddrinker", "Goretaster",
"Deathbringer", "Soulcrusher", "Doomslayer", "Warmonger", "Fleshrender", "Skullchewer", "Bonebreaker", "Ironrend", "Bloodspiller", "Gorespiller",
"Deathdealer", "Souldrinker", "Doomcaller", "Warbringer", "Fleshdestroyer", "Skullhunter", "Bonesmasher", "Ironshredder", "Bloodhound", "Gorehound",
"Deathstalker", "Soulhunter", "Doomstriker", "Warfury", "Fleshgrinder", "Skullbasher", "Bonegrinder", "Ironbasher", "Bloodbasher", "Gorebasher",
"Deathbasher", "Soulbasher", "Doombasher", "Warbasher", "Fleshbasher", "Skullripper", "Boneripper", "Ironripper", "Bloodripper", "Goreripper",
"Deathripper", "Soulripper", "Doomripper", "Warripper", "Fleshripper", "Skullslayer", "Boneslayer", "Ironslayer", "Bloodslayer", "Goreslayer",
"Deathslayer", "Soulslayer", "Doomslayer", "Warslayer", "Fleshslayer", "Skullkiller", "Bonekiller", "Ironkiller", "Bloodkiller", "Gorekiller",
"Deathkiller", "Soulkiller", "Doomkiller", "Warkiller", "Fleshkiller", "Skullwrecker", "Bonewrecker", "Ironwrecker", "Bloodwrecker", "Gorewrecker",
"Deathwrecker", "Soulwrecker", "Doomwrecker", "Warwrecker", "Fleshwrecker", "Skulltaker", "Bonetaker", "Irontaker", "Bloodtaker", "Goretaker",
"Deathtaker", "Soultaker", "Doomtaker", "Wartaker", "Fleshtaker", "Skullbreaker", "Bonebreaker", "Ironbreaker", "Bloodbreaker", "Gorebreaker",
"Deathbreaker", "Soulbreaker", "Doombreaker", "Warbreaker", "Fleshbreaker", "Skullchopper", "Bonechopper", "Ironchopper", "Bloodchopper", "Gorechopper",
"Deathchopper", "Soulchopper", "Doomchopper", "Warchopper", "Fleshchopper", "Skullcutter", "Bonecutter", "Ironcutter", "Bloodcutter", "Gorecutter",
"Deathcutter", "Soulcutter", "Doomcutter", "Warcutter", "Fleshcutter", "Skullsmasher", "Bonesmasher", "Ironsmasher", "Bloodsmasher", "Goresmasher",
"Deathsmasher", "Soulsmasher", "Doomsmasher", "Warsmasher", "Fleshsmasher", "Skullcruncher", "Bonecruncher", "Ironcruncher", "Bloodcruncher", "Gorecruncher"
]
},
female: {
first: [
"Gora", "Thra", "Bora", "Kora", "Zora", "Gura", "Thura", "Bura", "Kura", "Zura",
"Grima", "Thorna", "Bona", "Kra", "Zoga", "Gruka", "Thoka", "Braka", "Korga", "Zuga",
"Gasha", "Thasha", "Basha", "Kasha", "Zasha", "Gusha", "Thusha", "Busha", "Kusha", "Zusha",
"Morga", "Drakka", "Froka", "Horka", "Jarka", "Lorka", "Morka", "Norka", "Porka", "Qarka",
"Rorka", "Sarka", "Torka", "Varka", "Warka", "Xorka", "Yarka", "Zorka", "Araka", "Braka",
"Craka", "Dorka", "Eorka", "Farka", "Garka", "Harka", "Iorka", "Jorka", "Karka", "Larka",
"Marka", "Narka", "Oraka", "Parka", "Qorka", "Rarka", "Sorka", "Tarka", "Uraka", "Vorka",
"Wraka", "Xarka", "Yorka", "Zarka", "Agaka", "Bogaka", "Cogaka", "Dogaka", "Egaka", "Fgaka",
"Ggaka", "Hgaka", "Igaka", "Jgaka", "Kgaka", "Lgaka", "Mgaka", "Ngaka", "Ogaka", "Pgaka",
"Qgaka", "Rgaka", "Sgaka", "Tgaka", "Ugaka", "Vgaka", "Wgaka", "Xgaka", "Ygaka", "Zgaka",
"Agora", "Bgora", "Cgora", "Dgora", "Egora", "Fgora", "Ggora", "Hgora", "Igora", "Jgora",
"Kgora", "Lgora", "Mgora", "Ngora", "Ogora", "Pgora", "Qgora", "Rgora", "Sgora", "Tgora",
"Ugora", "Vgora", "Wgora", "Xgora", "Ygora", "Zgora", "Aruka", "Bruka", "Cruka", "Druka",
"Eruka", "Fruka", "Gruka", "Hruka", "Iruka", "Jruka", "Kruka", "Lruka", "Mruka", "Nruka",
"Oruka", "Pruka", "Qruka", "Rruka", "Sruka", "Truka", "Uruka", "Vruka", "Wruka", "Xruka",
"Yruka", "Zruka", "Athaka", "Bthaka", "Cthaka", "Dthaka", "Ethaka", "Fthaka", "Gthaka", "Hthaka",
"Ithaka", "Jthaka", "Kthaka", "Lthaka", "Mthaka", "Nthaka", "Othaka", "Pthaka", "Qthaka", "Rthaka",
"Sthaka", "Tthaka", "Uthaka", "Vthaka", "Wthaka", "Xthaka", "Ythaka", "Zthaka", "Aneka", "Bneka"
],
last: [
"Skullcrusher", "Bonebreaker", "Ironjaw", "Bloodfang", "Goreclaw", "Deathgrip", "Skullsplitter", "Bonegnawer", "Ironhide", "Bloodclaw",
"Gorefang", "Deathjaw", "Skullgnawer", "Boneclaw", "Ironfang", "Bloodhide", "Gorejaw", "Deathclaw", "Skullhide", "Bonefang",
"Ironclaw", "Bloodjaw", "Gorehide", "Deathfang", "Skullclaw", "Bonejaw", "Soulbreaker", "Doomhammer", "Warbringer", "Flesheater",
"Skullfang", "Bonehide", "Ironhide", "Bloodfang", "Gorehide", "Deathjaw", "Skulljaw", "Boneclaw", "Ironclaw", "Bloodhide",
"Gutripper", "Spinecrusher", "Heartseeker", "Limbtearer", "Neckbreaker", "Skulldrinker", "Bonedevourer", "Ironbiter", "Blooddrinker", "Goretaster",
"Deathbringer", "Soulcrusher", "Doomslayer", "Warmonger", "Fleshrender", "Skullchewer", "Bonebreaker", "Ironrend", "Bloodspiller", "Gorespiller",
"Deathdealer", "Souldrinker", "Doomcaller", "Warbringer", "Fleshdestroyer", "Skullhunter", "Bonesmasher", "Ironshredder", "Bloodhound", "Gorehound",
"Deathstalker", "Soulhunter", "Doomstriker", "Warfury", "Fleshgrinder", "Skullbasher", "Bonegrinder", "Ironbasher", "Bloodbasher", "Gorebasher",
"Deathbasher", "Soulbasher", "Doombasher", "Warbasher", "Fleshbasher", "Skullripper", "Boneripper", "Ironripper", "Bloodripper", "Goreripper",
"Deathripper", "Soulripper", "Doomripper", "Warripper", "Fleshripper", "Skullslayer", "Boneslayer", "Ironslayer", "Bloodslayer", "Goreslayer",
"Deathslayer", "Soulslayer", "Doomslayer", "Warslayer", "Fleshslayer", "Skullkiller", "Bonekiller", "Ironkiller", "Bloodkiller", "Gorekiller",
"Deathkiller", "Soulkiller", "Doomkiller", "Warkiller", "Fleshkiller", "Skullwrecker", "Bonewrecker", "Ironwrecker", "Bloodwrecker", "Gorewrecker",
"Deathwrecker", "Soulwrecker", "Doomwrecker", "Warwrecker", "Fleshwrecker", "Skulltaker", "Bonetaker", "Irontaker", "Bloodtaker", "Goretaker",
"Deathtaker", "Soultaker", "Doomtaker", "Wartaker", "Fleshtaker", "Skullbreaker", "Bonebreaker", "Ironbreaker", "Bloodbreaker", "Gorebreaker",
"Deathbreaker", "Soulbreaker", "Doombreaker", "Warbreaker", "Fleshbreaker", "Skullchopper", "Bonechopper", "Ironchopper", "Bloodchopper", "Gorechopper",
"Deathchopper", "Soulchopper", "Doomchopper", "Warchopper", "Fleshchopper", "Skullcutter", "Bonecutter", "Ironcutter", "Bloodcutter", "Gorecutter",
"Deathcutter", "Soulcutter", "Doomcutter", "Warcutter", "Fleshcutter", "Skullsmasher", "Bonesmasher", "Ironsmasher", "Bloodsmasher", "Goresmasher",
"Deathsmasher", "Soulsmasher", "Doomsmasher", "Warsmasher", "Fleshsmasher", "Skullcruncher", "Bonecruncher", "Ironcruncher", "Bloodcruncher", "Gorecruncher"
]
}
},
goblin: {
male: {
first: [
"Grik", "Snag", "Bog", "Kog", "Zog", "Gug", "Snug", "Bug", "Kug", "Zug",
"Grim", "Snim", "Bim", "Kim", "Zim", "Gum", "Snim", "Bum", "Kum", "Zum",
"Grak", "Snak", "Bak", "Kak", "Zak", "Guk", "Snuk", "Buk", "Kuk", "Zuk",
"Gash", "Snash", "Bash", "Kash", "Zash", "Gush", "Snush", "Bush", "Kush", "Zush",
"Nikk", "Pikk", "Sikk", "Tikk", "Vikk", "Wikk", "Xikk", "Yikk", "Zikk", "Agik",
"Bogik", "Cogik", "Dogik", "Egik", "Fgik", "Ggik", "Hgik", "Igik", "Jgik", "Kgik",
"Lgik", "Mgik", "Ngik", "Ogik", "Pgik", "Qgik", "Rgik", "Sgik", "Tgik", "Ugik",
"Vgik", "Wgik", "Xgik", "Ygik", "Zgik", "Anik", "Bnik", "Cnik", "Dnik", "Enik",
"Fnik", "Gnik", "Hnik", "Inik", "Jnik", "Knik", "Lnik", "Mnik", "Nnik", "Onik",
"Pnik", "Qnik", "Rnik", "Snik", "Tnik", "Unik", "Vnik", "Wnik", "Xnik", "Ynik",
"Znik", "Grik", "Hrik", "Irik", "Jrik", "Krik", "Lrik", "Mrik", "Nrik", "Orik",
"Prik", "Qrik", "Rrik", "Srik", "Trik", "Urik", "Vrik", "Wrik", "Xrik", "Yrik",
"Zrik", "Snak", "Tnak", "Unak", "Vnak", "Wnak", "Xnak", "Ynak", "Znak", "Anek",
"Bnek", "Cnek", "Dnek", "Enek", "Fnek", "Gnek", "Hnek", "Inek", "Jnek", "Knek",
"Lnek", "Mnek", "Nnek", "Onek", "Pnek", "Qnek", "Rnek", "Snek", "Tnek", "Unek",
"Vnek", "Wnek", "Xnek", "Ynek", "Znek", "Bik", "Cik", "Dik", "Eik", "Fik",
"Hik", "Iik", "Jik", "Kik", "Lik", "Mik", "Nik", "Oik", "Pik", "Qik"
],
last: [
"Sneak", "Stab", "Poke", "Jab", "Snip", "Cut", "Slice", "Dice", "Chop", "Hack",
"Pick", "Peek", "Stalk", "Lurk", "Hide", "Spy", "Watch", "Scout", "Track", "Trick",
"Trap", "Snare", "Lure", "Bait", "Hook", "Grab", "Snatch", "Steal", "Swipe", "Pilfer",
"Pluck", "Pinch", "Pocket", "Paw", "Take", "Seize", "Catch", "Dart", "Dash", "Scurry",
"Scramble", "Scuttle", "Sprint", "Run", "Flee", "Escape", "Vanish", "Slink", "Slip", "Slide",
"Creep", "Crawl", "Tiptoe", "Shadow", "Skulk", "Prowl", "Patrol", "Guard", "Observe", "Monitor",
"Survey", "Inspect", "Probe", "Prod", "Thrust", "Pierce", "Puncture", "Prick", "Sting", "Strike",
"Hit", "Slap", "Punch", "Kick", "Beat", "Smack", "Whack", "Thump", "Bash", "Crush",
"Squash", "Squeeze", "Compress", "Press", "Push", "Shove", "Nudge", "Bump", "Jolt", "Jar",
"Shake", "Rattle", "Vibrate", "Tremble", "Quake", "Shiver", "Shudder", "Quiver", "Tremor", "Cleave",
"Sever", "Split", "Rend", "Tear", "Rip", "Shred", "Tatter", "Fragment", "Shatter", "Break",
"Crack", "Fracture", "Splinter", "Sunder", "Divide", "Slash", "Gash", "Lacerate", "Mangle", "Mutilate",
"Disfigure", "Deform", "Distort", "Warp", "Bend", "Twist", "Curve", "Arc", "Bow", "Curl",
"Coil", "Spiral", "Wind", "Turn", "Rotate", "Clip", "Trim", "Prune", "Lop", "Crop",
"Shear", "Shave", "Scrape", "Scratch", "Dig", "Burrow", "Tunnel", "Mine", "Excavate", "Hollow",
"Scoop", "Gouge", "Groove", "Channel", "Carve", "Engrave", "Etch", "Inscribe", "Mark", "Brand",
"Stamp", "Imprint", "Impress", "Indent", "Perforate", "Drill", "Bore", "Prod", "Thrust", "Pierce"
]
},
female: {
first: [
"Grika", "Snaga", "Boga", "Koga", "Zoga", "Guga", "Snuga", "Buga", "Kuga", "Zuga",
"Grima", "Snima", "Bima", "Kima", "Zima", "Guma", "Snima", "Buma", "Kuma", "Zuma",
"Graka", "Snaka", "Baka", "Kaka", "Zaka", "Guka", "Snuka", "Buka", "Kuka", "Zuka",
"Gasha", "Snasha", "Basha", "Kasha", "Zasha", "Gusha", "Snusha", "Busha", "Kusha", "Zusha",
"Nikka", "Pikka", "Sikka", "Tikka", "Vikka", "Wikka", "Xikka", "Yikka", "Zikka", "Agika",
"Bogika", "Cogika", "Dogika", "Egika", "Fgika", "Ggika", "Hgika", "Igika", "Jgika", "Kgika",
"Lgika", "Mgika", "Ngika", "Ogika", "Pgika", "Qgika", "Rgika", "Sgika", "Tgika", "Ugika",
"Vgika", "Wgika", "Xgika", "Ygika", "Zgika", "Anika", "Bnika", "Cnika", "Dnika", "Enika",
"Fnika", "Gnika", "Hnika", "Inika", "Jnika", "Knika", "Lnika", "Mnika", "Nnika", "Onika",
"Pnika", "Qnika", "Rnika", "Snika", "Tnika", "Unika", "Vnika", "Wnika", "Xnika", "Ynika",
"Znika", "Grika", "Hrika", "Irika", "Jrika", "Krika", "Lrika", "Mrika", "Nrika", "Orika",
"Prika", "Qrika", "Rrika", "Srika", "Trika", "Urika", "Vrika", "Wrika", "Xrika", "Yrika",
"Zrika", "Snaka", "Tnika", "Unika", "Vnika", "Wnika", "Xnika", "Ynika", "Znika", "Aneka",
"Bneka", "Cneka", "Dneka", "Eneka", "Fneka", "Gneka", "Hneka", "Ineka", "Jneka", "Kneka",
"Lneka", "Mneka", "Nneka", "Oneka", "Pneka", "Qneka", "Rneka", "Sneka", "Tneka", "Uneka",
"Vneka", "Wneka", "Xneka", "Yneka", "Zneka", "Bika", "Cika", "Dika", "Eika", "Fika",
"Hika", "Iika", "Jika", "Kika", "Lika", "Mika", "Nika", "Oika", "Pika", "Qika"
],
last: [
"Sneak", "Stab", "Poke", "Jab", "Snip", "Cut", "Slice", "Dice", "Chop", "Hack",
"Pick", "Peek", "Stalk", "Lurk", "Hide", "Spy", "Watch", "Scout", "Track", "Trick",
"Trap", "Snare", "Lure", "Bait", "Hook", "Grab", "Snatch", "Steal", "Swipe", "Pilfer",
"Pluck", "Pinch", "Pocket", "Paw", "Take", "Seize", "Catch", "Dart", "Dash", "Scurry",
"Scramble", "Scuttle", "Sprint", "Run", "Flee", "Escape", "Vanish", "Slink", "Slip", "Slide",
"Creep", "Crawl", "Tiptoe", "Shadow", "Skulk", "Prowl", "Patrol", "Guard", "Observe", "Monitor",
"Survey", "Inspect", "Probe", "Prod", "Thrust", "Pierce", "Puncture", "Prick", "Sting", "Strike",
"Hit", "Slap", "Punch", "Kick", "Beat", "Smack", "Whack", "Thump", "Bash", "Crush",
"Squash", "Squeeze", "Compress", "Press", "Push", "Shove", "Nudge", "Bump", "Jolt", "Jar",
"Shake", "Rattle", "Vibrate", "Tremble", "Quake", "Shiver", "Shudder", "Quiver", "Tremor", "Cleave",
"Sever", "Split", "Rend", "Tear", "Rip", "Shred", "Tatter", "Fragment", "Shatter", "Break",
"Crack", "Fracture", "Splinter", "Sunder", "Divide", "Slash", "Gash", "Lacerate", "Mangle", "Mutilate",
"Disfigure", "Deform", "Distort", "Warp", "Bend", "Twist", "Curve", "Arc", "Bow", "Curl",
"Coil", "Spiral", "Wind", "Turn", "Rotate", "Clip", "Trim", "Prune", "Lop", "Crop",
"Shear", "Shave", "Scrape", "Scratch", "Dig", "Burrow", "Tunnel", "Mine", "Excavate", "Hollow",
"Scoop", "Gouge", "Groove", "Channel", "Carve", "Engrave", "Etch", "Inscribe", "Mark", "Brand",
"Stamp", "Imprint", "Impress", "Indent", "Perforate", "Drill", "Bore", "Prod", "Thrust", "Pierce"
]
}
},
orc: {
male: {
first: [
"Gor", "Thar", "Bor", "Kor", "Zor", "Gur", "Thur", "Bur", "Kur", "Zur",
"Gash", "Thash", "Bash", "Kash", "Zash", "Gush", "Thush", "Bush", "Kush", "Zush",
"Morg", "Drak", "Frok", "Hork", "Jark", "Lork", "Mork", "Nork", "Pork", "Qark",
"Rork", "Sark", "Tork", "Vark", "Wark", "Xork", "Yark", "Zork", "Arak", "Crak",
"Dork", "Eork", "Fark", "Gark", "Hark", "Iork", "Jork", "Kark", "Lark", "Mark",
"Nark", "Orak", "Park", "Qork", "Rark", "Sork", "Tark", "Urak", "Vork", "Wrak",
"Xark", "York", "Zark", "Agak", "Bogak", "Cogak", "Dogak", "Egak", "Fgak", "Ggak",
"Hgak", "Igak", "Jgak", "Kgak", "Lgak", "Mgak", "Ngak", "Ogak", "Pgak", "Qgak",
"Rgak", "Sgak", "Tgak", "Ugak", "Vgak", "Wgak", "Xgak", "Ygak", "Zgak", "Agor",
"Bgor", "Cgor", "Dgor", "Egor", "Fgor", "Ggor", "Hgor", "Igor", "Jgor", "Kgor",
"Lgor", "Mgor", "Ngor", "Ogor", "Pgor", "Qgor", "Rgor", "Sgor", "Tgor", "Ugor",
"Vgor", "Wgor", "Xgor", "Ygor", "Zgor", "Aruk", "Bruk", "Cruk", "Druk", "Eruk",
"Fruk", "Gruk", "Hruk", "Iruk", "Jruk", "Kruk", "Lruk", "Mruk", "Nruk", "Oruk",
"Pruk", "Qruk", "Rruk", "Sruk", "Truk", "Uruk", "Vruk", "Wruk", "Xruk", "Yruk",
"Zruk", "Athak", "Bthak", "Cthak", "Dthak", "Ethak", "Fthak", "Gthak", "Hthak", "Ithak",
"Jthak", "Kthak", "Lthak", "Mthak", "Nthak", "Othak", "Pthak", "Qthak", "Rthak", "Sthak",
"Tthak", "Uthak", "Vthak", "Wthak", "Xthak", "Ythak", "Zthak", "Azog", "Bzog", "Czog"
],
last: [
"Skullcrusher", "Bonebreaker", "Ironjaw", "Bloodfang", "Goreclaw", "Deathgrip", "Skullsplitter", "Bonegnawer", "Ironhide", "Bloodclaw",
"Gorefang", "Deathjaw", "Skullgnawer", "Boneclaw", "Ironfang", "Bloodhide", "Gorejaw", "Deathclaw", "Skullhide", "Bonefang",
"Ironclaw", "Bloodjaw", "Gorehide", "Deathfang", "Skullclaw", "Bonejaw", "Soulbreaker", "Doomhammer", "Warbringer", "Flesheater",
"Skullfang", "Bonehide", "Ironhide", "Bloodfang", "Gorehide", "Deathjaw", "Skulljaw", "Boneclaw", "Ironclaw", "Bloodhide",
"Gutripper", "Spinecrusher", "Heartseeker", "Limbtearer", "Neckbreaker", "Skulldrinker", "Bonedevourer", "Ironbiter", "Blooddrinker", "Goretaster",
"Deathbringer", "Soulcrusher", "Doomslayer", "Warmonger", "Fleshrender", "Skullchewer", "Bonebreaker", "Ironrend", "Bloodspiller", "Gorespiller",
"Deathdealer", "Souldrinker", "Doomcaller", "Warbringer", "Fleshdestroyer", "Skullhunter", "Bonesmasher", "Ironshredder", "Bloodhound", "Gorehound",
"Deathstalker", "Soulhunter", "Doomstriker", "Warfury", "Fleshgrinder", "Skullbasher", "Bonegrinder", "Ironbasher", "Bloodbasher", "Gorebasher",
"Deathbasher", "Soulbasher", "Doombasher", "Warbasher", "Fleshbasher", "Skullripper", "Boneripper", "Ironripper", "Bloodripper", "Goreripper",
"Deathripper", "Soulripper", "Doomripper", "Warripper", "Fleshripper", "Skullslayer", "Boneslayer", "Ironslayer", "Bloodslayer", "Goreslayer",
"Deathslayer", "Soulslayer", "Doomslayer", "Warslayer", "Fleshslayer", "Skullkiller", "Bonekiller", "Ironkiller", "Bloodkiller", "Gorekiller",
"Deathkiller", "Soulkiller", "Doomkiller", "Warkiller", "Fleshkiller", "Skullwrecker", "Bonewrecker", "Ironwrecker", "Bloodwrecker", "Gorewrecker",
"Deathwrecker", "Soulwrecker", "Doomwrecker", "Warwrecker", "Fleshwrecker", "Skulltaker", "Bonetaker", "Irontaker", "Bloodtaker", "Goretaker",
"Deathtaker", "Soultaker", "Doomtaker", "Wartaker", "Fleshtaker", "Skullbreaker", "Bonebreaker", "Ironbreaker", "Bloodbreaker", "Gorebreaker",
"Deathbreaker", "Soulbreaker", "Doombreaker", "Warbreaker", "Fleshbreaker", "Skullchopper", "Bonechopper", "Ironchopper", "Bloodchopper", "Gorechopper",
"Deathchopper", "Soulchopper", "Doomchopper", "Warchopper", "Fleshchopper", "Skullcutter", "Bonecutter", "Ironcutter", "Bloodcutter", "Gorecutter",
"Deathcutter", "Soulcutter", "Doomcutter", "Warcutter", "Fleshcutter", "Skullsmasher", "Bonesmasher", "Ironsmasher", "Bloodsmasher", "Goresmasher",
"Deathsmasher", "Soulsmasher", "Doomsmasher", "Warsmasher", "Fleshsmasher", "Skullcruncher", "Bonecruncher", "Ironcruncher", "Bloodcruncher", "Gorecruncher",
"Warmaster", "Battleglory", "Warlord", "Warhammer", "Battleaxe", "Champion", "Conqueror", "Destroyer", "Annihilator", "Obliterator",
"Eradicator", "Exterminator", "Terminator", "Dominator", "Subjugator", "Enslavement", "Oppressor", "Tyrant", "Dictator", "Ruler"
]
},
female: {
first: [
"Gora", "Thara", "Bora", "Kora", "Zora", "Gura", "Thura", "Bura", "Kura", "Zura",
"Gasha", "Thasha", "Basha", "Kasha", "Zasha", "Gusha", "Thusha", "Busha", "Kusha", "Zusha",
"Morga", "Drakka", "Froka", "Horka", "Jarka", "Lorka", "Morka", "Norka", "Porka", "Qarka",
"Rorka", "Sarka", "Torka", "Varka", "Warka", "Xorka", "Yarka", "Zorka", "Araka", "Craka",
"Dorka", "Eorka", "Farka", "Garka", "Harka", "Iorka", "Jorka", "Karka", "Larka", "Marka",
"Narka", "Oraka", "Parka", "Qorka", "Rarka", "Sorka", "Tarka", "Uraka", "Vorka", "Wraka",
"Xarka", "Yorka", "Zarka", "Agaka", "Bogaka", "Cogaka", "Dogaka", "Egaka", "Fgaka", "Ggaka",
"Hgaka", "Igaka", "Jgaka", "Kgaka", "Lgaka", "Mgaka", "Ngaka", "Ogaka", "Pgaka", "Qgaka",
"Rgaka", "Sgaka", "Tgaka", "Ugaka", "Vgaka", "Wgaka", "Xgaka", "Ygaka", "Zgaka", "Agora",
"Bgora", "Cgora", "Dgora", "Egora", "Fgora", "Ggora", "Hgora", "Igora", "Jgora", "Kgora",
"Lgora", "Mgora", "Ngora", "Ogora", "Pgora", "Qgora", "Rgora", "Sgora", "Tgora", "Ugora",
"Vgora", "Wgora", "Xgora", "Ygora", "Zgora", "Aruka", "Bruka", "Cruka", "Druka", "Eruka",
"Fruka", "Gruka", "Hruka", "Iruka", "Jruka", "Kruka", "Lruka", "Mruka", "Nruka", "Oruka",
"Pruka", "Qruka", "Rruka", "Sruka", "Truka", "Uruka", "Vruka", "Wruka", "Xruka", "Yruka",
"Zruka", "Athaka", "Bthaka", "Cthaka", "Dthaka", "Ethaka", "Fthaka", "Gthaka", "Hthaka", "Ithaka",
"Jthaka", "Kthaka", "Lthaka", "Mthaka", "Nthaka", "Othaka", "Pthaka", "Qthaka", "Rthaka", "Sthaka",
"Tthaka", "Uthaka", "Vthaka", "Wthaka", "Xthaka", "Ythaka", "Zthaka", "Azoga", "Bzoga", "Czoga"
],
last: [
"Skullcrusher", "Bonebreaker", "Ironjaw", "Bloodfang", "Goreclaw", "Deathgrip", "Skullsplitter", "Bonegnawer", "Ironhide", "Bloodclaw",
"Gorefang", "Deathjaw", "Skullgnawer", "Boneclaw", "Ironfang", "Bloodhide", "Gorejaw", "Deathclaw", "Skullhide", "Bonefang",
"Ironclaw", "Bloodjaw", "Gorehide", "Deathfang", "Skullclaw", "Bonejaw", "Soulbreaker", "Doomhammer", "Warbringer", "Flesheater",
"Skullfang", "Bonehide", "Ironhide", "Bloodfang", "Gorehide", "Deathjaw", "Skulljaw", "Boneclaw", "Ironclaw", "Bloodhide",
"Gutripper", "Spinecrusher", "Heartseeker", "Limbtearer", "Neckbreaker", "Skulldrinker", "Bonedevourer", "Ironbiter", "Blooddrinker", "Goretaster",
"Deathbringer", "Soulcrusher", "Doomslayer", "Warmonger", "Fleshrender", "Skullchewer", "Bonebreaker", "Ironrend", "Bloodspiller", "Gorespiller",
"Deathdealer", "Souldrinker", "Doomcaller", "Warbringer", "Fleshdestroyer", "Skullhunter", "Bonesmasher", "Ironshredder", "Bloodhound", "Gorehound",
"Deathstalker", "Soulhunter", "Doomstriker", "Warfury", "Fleshgrinder", "Skullbasher", "Bonegrinder", "Ironbasher", "Bloodbasher", "Gorebasher",
"Deathbasher", "Soulbasher", "Doombasher", "Warbasher", "Fleshbasher", "Skullripper", "Boneripper", "Ironripper", "Bloodripper", "Goreripper",
"Deathripper", "Soulripper", "Doomripper", "Warripper", "Fleshripper", "Skullslayer", "Boneslayer", "Ironslayer", "Bloodslayer", "Goreslayer",
"Deathslayer", "Soulslayer", "Doomslayer", "Warslayer", "Fleshslayer", "Skullkiller", "Bonekiller", "Ironkiller", "Bloodkiller", "Gorekiller",
"Deathkiller", "Soulkiller", "Doomkiller", "Warkiller", "Fleshkiller", "Skullwrecker", "Bonewrecker", "Ironwrecker", "Bloodwrecker", "Gorewrecker",
"Deathwrecker", "Soulwrecker", "Doomwrecker", "Warwrecker", "Fleshwrecker", "Skulltaker", "Bonetaker", "Irontaker", "Bloodtaker", "Goretaker",
"Deathtaker", "Soultaker", "Doomtaker", "Wartaker", "Fleshtaker", "Skullbreaker", "Bonebreaker", "Ironbreaker", "Bloodbreaker", "Gorebreaker",
"Deathbreaker", "Soulbreaker", "Doombreaker", "Warbreaker", "Fleshbreaker", "Skullchopper", "Bonechopper", "Ironchopper", "Bloodchopper", "Gorechopper",
"Deathchopper", "Soulchopper", "Doomchopper", "Warchopper", "Fleshchopper", "Skullcutter", "Bonecutter", "Ironcutter", "Bloodcutter", "Gorecutter",
"Deathcutter", "Soulcutter", "Doomcutter", "Warcutter", "Fleshcutter", "Skullsmasher", "Bonesmasher", "Ironsmasher", "Bloodsmasher", "Goresmasher",
"Deathsmasher", "Soulsmasher", "Doomsmasher", "Warsmasher", "Fleshsmasher", "Skullcruncher", "Bonecruncher", "Ironcruncher", "Bloodcruncher", "Gorecruncher",
"Warmaster", "Battleglory", "Warlord", "Warhammer", "Battleaxe", "Champion", "Conqueror", "Destroyer", "Annihilator", "Obliterator",
"Eradicator", "Exterminator", "Terminator", "Dominator", "Subjugator", "Enslavement", "Oppressor", "Tyrant", "Dictator", "Ruler"
]
}
},
troll: {
male: {
first: [
"Grok", "Throk", "Brok", "Krok", "Zrok", "Gruk", "Thruk", "Bruk", "Kruk", "Zruk",
"Grak", "Thrak", "Brak", "Krak", "Zrak", "Guk", "Thuk", "Buk", "Kuk", "Zuk",
"Mrok", "Drok", "Frok", "Hrok", "Jrok", "Lrok", "Mrok", "Nrok", "Prok", "Qrok",
"Rrok", "Srok", "Trok", "Vrok", "Wrok", "Xrok", "Yrok", "Zrok", "Arok", "Crok",
"Drok", "Erok", "Frok", "Grok", "Hrok", "Irok", "Jrok", "Krok", "Lrok", "Mrok",
"Nrok", "Orok", "Prok", "Qrok", "Rrok", "Srok", "Trok", "Urok", "Vrok", "Wrok",
"Xrok", "Yrok", "Zrok", "Agok", "Bogok", "Cogok", "Dogok", "Egok", "Fgok", "Ggok",
"Hgok", "Igok", "Jgok", "Kgok", "Lgok", "Mgok", "Ngok", "Ogok", "Pgok", "Qgok",
"Rgok", "Sgok", "Tgok", "Ugok", "Vgok", "Wgok", "Xgok", "Ygok", "Zgok", "Agor",
"Bgor", "Cgor", "Dgor", "Egor", "Fgor", "Ggor", "Hgor", "Igor", "Jgor", "Kgor",
"Lgor", "Mgor", "Ngor", "Ogor", "Pgor", "Qgor", "Rgor", "Sgor", "Tgor", "Ugor",
"Vgor", "Wgor", "Xgor", "Ygor", "Zgor", "Aruk", "Bruk", "Cruk", "Druk", "Eruk",
"Fruk", "Gruk", "Hruk", "Iruk", "Jruk", "Kruk", "Lruk", "Mruk", "Nruk", "Oruk",
"Pruk", "Qruk", "Rruk", "Sruk", "Truk", "Uruk", "Vruk", "Wruk", "Xruk", "Yruk",
"Zruk", "Athak", "Bthak", "Cthak", "Dthak", "Ethak", "Fthak", "Gthak", "Hthak", "Ithak",
"Jthak", "Kthak", "Lthak", "Mthak", "Nthak", "Othak", "Pthak", "Qthak", "Rthak", "Sthak",
"Tthak", "Uthak", "Vthak", "Wthak", "Xthak", "Ythak", "Zthak", "Azog", "Bzog", "Czog"
],
last: [
"Rockchewer", "Stonecrusher", "Boulderbreaker", "Mountaincrusher", "Cliffbreaker", "Rockgnawer", "Stonechewer", "Boulderchewer", "Mountainchewer", "Cliffchewer",
"Rockcrusher", "Stonebreaker", "Bouldercrusher", "Mountainbreaker", "Cliffcrusher", "Stonegnawer", "Bouldergnawer", "Mountaingnawer", "Cliffgnawer", "Rockbreaker",
"Stonebasher", "Boulderbasher", "Mountainbasher", "Cliffbasher", "Rockbasher", "Stoneripper", "Boulderripper", "Mountainripper", "Cliffripper", "Rockripper",
"Stoneslayer", "Boulderslayer", "Mountainslayer", "Cliffslayer", "Rockslayer", "Stonekiller", "Boulderkiller", "Mountainkiller", "Cliffkiller", "Rockkiller",
"Stonewrecker", "Boulderwrecker", "Mountainwrecker", "Cliffwrecker", "Rockwrecker", "Stonetaker", "Bouldertaker", "Mountaintaker", "Clifftaker", "Rocktaker",
"Stonebreaker", "Boulderbreaker", "Mountainbreaker", "Cliffbreaker", "Rockbreaker", "Stonechopper", "Boulderchopper", "Mountainchopper", "Cliffchopper", "Rockchopper",
"Stonecutter", "Bouldercutter", "Mountaincutter", "Cliffcutter", "Rockcutter", "Stonesmasher", "Bouldersmasher", "Mountainsmasher", "Cliffsmasher", "Rocksmasher",
"Stonecruncher", "Bouldercruncher", "Mountaincruncher", "Cliffcruncher", "Rockcruncher", "Stonedemolisher", "Boulderdemolisher", "Mountaindemolisher", "Cliffdemolisher", "Rockdemolisher",
"Stonegrinder", "Bouldergrinder", "Mountaingrinder", "Cliffgrinder", "Rockgrinder", "Stoneshredder", "Bouldershredder", "Mountainshredder", "Cliffshredder", "Rockshredder",
"Stonepounder", "Boulderpounder", "Mountainpounder", "Cliffpounder", "Rockpounder", "Stonedestroyer", "Boulderdestroyer", "Mountaindestroyer", "Cliffdestroyer", "Rockdestroyer",
"Stoneannihilator", "Boulderannihilator", "Mountainannihilator", "Cliffannihilator", "Rockannihilator", "Stoneobliterator", "Boulderobliterator", "Mountainobliterator", "Cliffobliterator", "Rockobliterator",
"Stonedevastator", "Boulderdevastator", "Mountaindevastator", "Cliffdevastator", "Rockdevastator", "Stoneexterminator", "Bolderexterminator", "Mountainsxterminator", "Cliffexterminator", "Rockexterminator",
"Stoneravager", "Boldersavager", "Mountainravager", "Cliffravager", "Rockravager", "Stoneruiner", "Boldersuiner", "Mountainruiner", "Cliffruiner", "Rockruiner",
"Stonequeller", "Boulderqueller", "Mountainqueller", "Cliffqueller", "Rockqueller", "Stonesuppressor", "Bouldersuppressor", "Mountainsuppressor", "Cliffsuppressor", "Rocksuppressor",
"Stoneconqueror", "Boulderconqueror", "Mountainconqueror", "Cliffconqueror", "Rockconqueror", "Stonedominator", "Boulderdominator", "Mountainsominator", "Cliffdominator", "Rockdominator",
"Stonetamer", "Bouldertamer", "Mountaintamer", "Clifftamer", "Rocktamer", "Stonebender", "Boulderbender", "Mountainbender", "Cliffbender", "Rockbender"
]
},
female: {
first: [
"Groka", "Throka", "Broka", "Kroka", "Zroka", "Gruka", "Thruka", "Bruka", "Kruka", "Zruka",
"Graka", "Thraka", "Braka", "Kraka", "Zraka", "Guka", "Thuka", "Buka", "Kuka", "Zuka",
"Mroka", "Droka", "Froka", "Hroka", "Jroka", "Lroka", "Mroka", "Nroka", "Proka", "Qroka",
"Rroka", "Sroka", "Troka", "Vroka", "Wroka", "Xroka", "Yroka", "Zroka", "Aroka", "Croka",
"Droka", "Eroka", "Froka", "Groka", "Hroka", "Iroka", "Jroka", "Kroka", "Lroka", "Mroka",
"Nroka", "Oroka", "Proka", "Qroka", "Rroka", "Sroka", "Troka", "Uroka", "Vroka", "Wroka",
"Xroka", "Yroka", "Zroka", "Agoka", "Bogoka", "Cogoka", "Dogoka", "Egoka", "Fgoka", "Ggoka",
"Hgoka", "Igoka", "Jgoka", "Kgoka", "Lgoka", "Mgoka", "Ngoka", "Ogoka", "Pgoka", "Qgoka",
"Rgoka", "Sgoka", "Tgoka", "Ugoka", "Vgoka", "Wgoka", "Xgoka", "Ygoka", "Zgoka", "Agora",
"Bgora", "Cgora", "Dgora", "Egora", "Fgora", "Ggora", "Hgora", "Igora", "Jgora", "Kgora",
"Lgora", "Mgora", "Ngora", "Ogora", "Pgora", "Qgora", "Rgora", "Sgora", "Tgora", "Ugora",
"Vgora", "Wgora", "Xgora", "Ygora", "Zgora", "Aruka", "Bruka", "Cruka", "Druka", "Eruka",
"Fruka", "Gruka", "Hruka", "Iruka", "Jruka", "Kruka", "Lruka", "Mruka", "Nruka", "Oruka",
"Pruka", "Qruka", "Rruka", "Sruka", "Truka", "Uruka", "Vruka", "Wruka", "Xruka", "Yruka",
"Zruka", "Athaka", "Bthaka", "Cthaka", "Dthaka", "Ethaka", "Fthaka", "Gthaka", "Hthaka", "Ithaka",
"Jthaka", "Kthaka", "Lthaka", "Mthaka", "Nthaka", "Othaka", "Pthaka", "Qthaka", "Rthaka", "Sthaka",
"Tthaka", "Uthaka", "Vthaka", "Wthaka", "Xthaka", "Ythaka", "Zthaka", "Azoga", "Bzoga", "Czoga"
],
last: [
"Rockchewer", "Stonecrusher", "Boulderbreaker", "Mountaincrusher", "Cliffbreaker", "Rockgnawer", "Stonechewer", "Boulderchewer", "Mountainchewer", "Cliffchewer",
"Rockcrusher", "Stonebreaker", "Bouldercrusher", "Mountainbreaker", "Cliffcrusher", "Stonegnawer", "Bouldergnawer", "Mountaingnawer", "Cliffgnawer", "Rockbreaker",
"Stonebasher", "Boulderbasher", "Mountainbasher", "Cliffbasher", "Rockbasher", "Stoneripper", "Boulderripper", "Mountainripper", "Cliffripper", "Rockripper",
"Stoneslayer", "Boulderslayer", "Mountainslayer", "Cliffslayer", "Rockslayer", "Stonekiller", "Boulderkiller", "Mountainkiller", "Cliffkiller", "Rockkiller",
"Stonewrecker", "Boulderwrecker", "Mountainwrecker", "Cliffwrecker", "Rockwrecker", "Stonetaker", "Bouldertaker", "Mountaintaker", "Clifftaker", "Rocktaker",
"Stonebreaker", "Boulderbreaker", "Mountainbreaker", "Cliffbreaker", "Rockbreaker", "Stonechopper", "Boulderchopper", "Mountainchopper", "Cliffchopper", "Rockchopper",
"Stonecutter", "Bouldercutter", "Mountaincutter", "Cliffcutter", "Rockcutter", "Stonesmasher", "Bouldersmasher", "Mountainsmasher", "Cliffsmasher", "Rocksmasher",
"Stonecruncher", "Bouldercruncher", "Mountaincruncher", "Cliffcruncher", "Rockcruncher", "Stonedemolisher", "Boulderdemolisher", "Mountaindemolisher", "Cliffdemolisher", "Rockdemolisher",
"Stonegrinder", "Bouldergrinder", "Mountaingrinder", "Cliffgrinder", "Rockgrinder", "Stoneshredder", "Bouldershredder", "Mountainshredder", "Cliffshredder", "Rockshredder",
"Stonepounder", "Boulderpounder", "Mountainpounder", "Cliffpounder", "Rockpounder", "Stonedestroyer", "Boulderdestroyer", "Mountaindestroyer", "Cliffdestroyer", "Rockdestroyer",
"Stoneannihilator", "Boulderannihilator", "Mountainannihilator", "Cliffannihilator", "Rockannihilator", "Stoneobliterator", "Boulderobliterator", "Mountainobliterator", "Cliffobliterator", "Rockobliterator",
"Stonedevastator", "Boulderdevastator", "Mountaindevastator", "Cliffdevastator", "Rockdevastator", "Stoneexterminator", "Bolderexterminator", "Mountainsxterminator", "Cliffexterminator", "Rockexterminator",
"Stoneravager", "Boldersavager", "Mountainravager", "Cliffravager", "Rockravager", "Stoneruiner", "Boldersuiner", "Mountainruiner", "Cliffruiner", "Rockruiner",
"Stonequeller", "Boulderqueller", "Mountainqueller", "Cliffqueller", "Rockqueller", "Stonesuppressor", "Bouldersuppressor", "Mountainsuppressor", "Cliffsuppressor", "Rocksuppressor",
"Stoneconqueror", "Boulderconqueror", "Mountainconqueror", "Cliffconqueror", "Rockconqueror", "Stonedominator", "Boulderdominator", "Mountainsominator", "Cliffdominator", "Rockdominator",
"Stonetamer", "Bouldertamer", "Mountaintamer", "Clifftamer", "Rocktamer", "Stonebender", "Boulderbender", "Mountainbender", "Cliffbender", "Rockbender"
]
}
}
};
}
// Function to generate a random name
function generatePrisonerName(prisonerType, gender) {
const names = State.variables.prisonerNames[prisonerType];
if (!names || !names[gender]) {
// Fallback to beastman names if type not found
const fallbackNames = State.variables.prisonerNames.beastman[gender];
const firstName = fallbackNames.first[Math.floor(Math.random() * fallbackNames.first.length)];
const lastName = fallbackNames.last[Math.floor(Math.random() * fallbackNames.last.length)];
return firstName + " " + lastName;
}
const firstName = names[gender].first[Math.floor(Math.random() * names[gender].first.length)];
const lastName = names[gender].last[Math.floor(Math.random() * names[gender].last.length)];
return firstName + " " + lastName;
}
// Generate and return the name
const prisonerType = $args[0] || "beastman";
const gender = $args[1] || "male";
const generatedName = generatePrisonerName(prisonerType, gender);
// Store the generated name in a temporary variable
State.temporary.generatedPrisonerName = generatedName;
>>
<</widget>>
<<include "MarielMotherhoodWidget">>
<<include "NotificationWidget">>
<<include "DungeonManagement">>
<<widget "calculateDungeonDefense">>
<<set _allMembers = ["rylan", "liora", "serin", "mariel", "seryk", "nimeria", "thalor"]>>
<<set _allStats = ["physicalPower", "agility", "willpower", "technique", "perception", "focus", "vitality"]>>
<<set _totalStats = 0>>
<<set _statCount = 0>>
<<for _i = 0; _i < _allMembers.length; _i++>>
<<set _member = _allMembers[_i]>>
<<set _memberCombatStats = State.variables[_member + "_combatStats"]>>
<<for _j = 0; _j < _allStats.length; _j++>>
<<set _stat = _allStats[_j]>>
<<set _memberStat = _memberCombatStats ? _memberCombatStats[_stat] : 0>>
<<set _totalStats += _memberStat>>
<<set _statCount += 1>>
<</for>>
<</for>>
<<set _averageStats = _totalStats / _statCount>>
<<set _dungeonDefense = Math.round(_averageStats / 2)>>
<<set $dungeonDefense = _dungeonDefense>>
<<run console.log("Dungeon Defense Calculation:");
console.log("- Total Stats:", _totalStats);
console.log("- Stat Count:", _statCount);
console.log("- Average Stats:", _averageStats);
console.log("- Dungeon Defense:", _dungeonDefense);>>
<</widget>>
<<include "DungeonDefenseSystem">>